Kaydet (Commit) 9e838399 authored tarafından Caolán McNamara's avatar Caolán McNamara

weld SvxMultiPathDialog

Change-Id: I9a509654d72bbe5b346002a3b23793bf69330720
Reviewed-on: https://gerrit.libreoffice.org/67297
Tested-by: Jenkins
Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst a52f5a7f
This diff is collapsed.
......@@ -206,7 +206,10 @@ short AbstractSvxObjectTitleDescDialog_Impl::Execute()
return m_xDlg->run();
}
IMPL_ABSTDLG_BASE(AbstractSvxMultiPathDialog_Impl);
short AbstractSvxMultiPathDialog_Impl::Execute()
{
return m_xDlg->run();
}
short AbstractSvxPathSelectDialog_Impl::Execute()
{
......@@ -751,17 +754,17 @@ void AbstractSvxObjectTitleDescDialog_Impl::GetDescription(OUString& rDescriptio
OUString AbstractSvxMultiPathDialog_Impl::GetPath() const
{
return pDlg->GetPath();
return m_xDlg->GetPath();
}
void AbstractSvxMultiPathDialog_Impl::SetPath( const OUString& rPath )
{
pDlg->SetPath( rPath );
m_xDlg->SetPath( rPath );
}
void AbstractSvxMultiPathDialog_Impl::SetTitle( const OUString& rNewTitle )
{
pDlg->SetText( rNewTitle );
m_xDlg->SetTitle(rNewTitle);
}
OUString AbstractSvxPathSelectDialog_Impl::GetPath() const
......@@ -1230,10 +1233,9 @@ VclPtr<AbstractSvxObjectTitleDescDialog> AbstractDialogFactory_Impl::CreateSvxOb
return VclPtr<AbstractSvxObjectTitleDescDialog_Impl>::Create(std::make_unique<SvxObjectTitleDescDialog>(pParent, rTitle, rDescription));
}
VclPtr<AbstractSvxMultiPathDialog> AbstractDialogFactory_Impl::CreateSvxMultiPathDialog(vcl::Window* pParent)
VclPtr<AbstractSvxMultiPathDialog> AbstractDialogFactory_Impl::CreateSvxMultiPathDialog(weld::Window* pParent)
{
VclPtrInstance<SvxMultiPathDialog> pDlg(pParent);
return VclPtr<AbstractSvxMultiPathDialog_Impl>::Create( pDlg );
return VclPtr<AbstractSvxMultiPathDialog_Impl>::Create(std::make_unique<SvxMultiPathDialog>(pParent));
}
VclPtr<AbstractSvxMultiPathDialog> AbstractDialogFactory_Impl::CreateSvxPathSelectDialog(weld::Window* pParent)
......
......@@ -463,10 +463,16 @@ public:
virtual void GetDescription(OUString& rName) override;
};
class SvxMultiPathDialog;
class AbstractSvxMultiPathDialog_Impl : public AbstractSvxMultiPathDialog
{
DECL_ABSTDLG_BASE(AbstractSvxMultiPathDialog_Impl,SvxMultiPathDialog)
protected:
std::unique_ptr<SvxMultiPathDialog> m_xDlg;
public:
explicit AbstractSvxMultiPathDialog_Impl(std::unique_ptr<SvxMultiPathDialog> p)
: m_xDlg(std::move(p))
{
}
virtual short Execute() override;
virtual OUString GetPath() const override;
virtual void SetPath( const OUString& rPath ) override;
virtual void SetTitle( const OUString& rNewTitle ) override;
......@@ -774,7 +780,7 @@ public:
virtual VclPtr<AbstractSvxObjectNameDialog> CreateSvxObjectNameDialog(weld::Window* pParent, const OUString& rName) override;
virtual VclPtr<AbstractSvxObjectTitleDescDialog> CreateSvxObjectTitleDescDialog(weld::Window* pParent, const OUString& rTitle, const OUString& rDescription) override;
virtual VclPtr<AbstractSvxMultiPathDialog> CreateSvxMultiPathDialog(vcl::Window* pParent) override;
virtual VclPtr<AbstractSvxMultiPathDialog> CreateSvxMultiPathDialog(weld::Window* pParent) override;
virtual VclPtr<AbstractSvxMultiPathDialog> CreateSvxPathSelectDialog(weld::Window* pParent) override;
virtual VclPtr<AbstractSvxHpLinkDlg> CreateSvxHpLinkDlg(vcl::Window* pParent, SfxBindings* pBindings) override;
virtual VclPtr<AbstractFmSearchDialog> CreateFmSearchDialog(vcl::Window* pParent,
......
......@@ -19,10 +19,7 @@
#ifndef INCLUDED_CUI_SOURCE_INC_MULTIPAT_HXX
#define INCLUDED_CUI_SOURCE_INC_MULTIPAT_HXX
#include <vcl/dialog.hxx>
#include <vcl/button.hxx>
#include <vcl/fixed.hxx>
#include <vcl/weld.hxx>
#include "radiobtnbox.hxx"
// define ----------------------------------------------------------------
......@@ -35,25 +32,29 @@
#define CLASSPATH_DELIMITER ';'
#endif
class SvxMultiPathDialog : public ModalDialog
class SvxMultiPathDialog : public weld::GenericDialogController
{
private:
VclPtr<svx::SvxRadioButtonListBox> m_pRadioLB;
VclPtr<PushButton> m_pAddBtn;
VclPtr<PushButton> m_pDelBtn;
std::unique_ptr<weld::TreeView> m_xRadioLB;
std::unique_ptr<weld::Button> m_xAddBtn;
std::unique_ptr<weld::Button> m_xDelBtn;
DECL_LINK(AddHdl_Impl, Button*, void);
DECL_LINK(DelHdl_Impl, Button*, void);
DECL_LINK(SelectHdl_Impl, SvTreeListBox*, void);
DECL_LINK(CheckHdl_Impl, SvTreeListBox*, void);
void AppendEntry(const OUString& rText, const OUString& rId);
void HandleEntryChecked(int nRow);
DECL_LINK(AddHdl_Impl, weld::Button&, void);
DECL_LINK(DelHdl_Impl, weld::Button&, void);
DECL_LINK(SelectHdl_Impl, weld::TreeView&, void);
typedef std::pair<int, int> row_col;
DECL_LINK(CheckHdl_Impl, const row_col&, void);
public:
SvxMultiPathDialog(vcl::Window* pParent);
SvxMultiPathDialog(weld::Window* pParent);
virtual ~SvxMultiPathDialog() override;
virtual void dispose() override;
OUString GetPath() const;
void SetPath( const OUString& rPath );
void SetPath(const OUString& rPath);
void SetTitle(const OUString& rTitle) { m_xDialog->set_title(rTitle); }
};
class SvxPathSelectDialog : public weld::GenericDialogController
......
......@@ -558,7 +558,7 @@ IMPL_LINK_NOARG(SvxPathTabPage, PathHdl_Impl, Button*, void)
{
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
ScopedVclPtr<AbstractSvxMultiPathDialog> pMultiDlg(
pFact->CreateSvxMultiPathDialog( this ));
pFact->CreateSvxMultiPathDialog(GetDialogFrameWeld()));
OUString sPath( sUser );
if ( !sPath.isEmpty() )
......
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.18.3 -->
<!-- Generated with glade 3.22.1 -->
<interface domain="cui">
<requires lib="gtk+" version="3.18"/>
<requires lib="LibreOffice" version="1.0"/>
<object class="GtkTreeStore" id="liststore1">
<columns>
<!-- column-name check1 -->
<column type="gboolean"/>
<!-- column-name text -->
<column type="gchararray"/>
<!-- column-name id -->
<column type="gchararray"/>
<!-- column-name checkvis1 -->
<column type="gboolean"/>
</columns>
</object>
<object class="GtkDialog" id="MultiPathDialog">
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="title" translatable="yes" context="multipathdialog|MultiPathDialog">Select Paths</property>
<property name="resizable">False</property>
<property name="type_hint">normal</property>
<child>
<placeholder/>
</child>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1">
<property name="can_focus">False</property>
......@@ -140,29 +154,59 @@
<object class="GtkGrid" id="grid2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<child>
<object class="svtlo-SvSimpleTableContainer" id="paths">
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="search_column">0</property>
<child internal-child="selection">
<object class="GtkTreeSelection" id="Simple Table Container-selection"/>
<property name="shadow_type">in</property>
<child>
<object class="GtkTreeView" id="paths">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="vexpand">True</property>
<property name="model">liststore1</property>
<property name="search_column">0</property>
<property name="show_expanders">False</property>
<child internal-child="selection">
<object class="GtkTreeSelection" id="Macro Library List-selection2"/>
</child>
<child>
<object class="GtkTreeViewColumn" id="treeviewcolumn4">
<property name="resizable">True</property>
<property name="spacing">6</property>
<property name="alignment">0.5</property>
<child>
<object class="GtkCellRendererToggle" id="cellrenderer5">
<property name="radio">True</property>
</object>
<attributes>
<attribute name="visible">3</attribute>
<attribute name="active">0</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="treeviewcolumn5">
<property name="resizable">True</property>
<property name="spacing">6</property>
<property name="title" translatable="yes" context="multipathdialog|pathlist">Path list</property>
<child>
<object class="GtkCellRendererText" id="cellrenderer4"/>
<attributes>
<attribute name="text">1</attribute>
</attributes>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="pathlist">
<property name="can_focus">False</property>
<property name="no_show_all">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes" context="multipathdialog|pathlist">Path list:</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
......
......@@ -392,7 +392,7 @@ public:
virtual VclPtr<AbstractSvxObjectNameDialog> CreateSvxObjectNameDialog(weld::Window* pParent, const OUString& rName) = 0;
virtual VclPtr<AbstractSvxObjectTitleDescDialog> CreateSvxObjectTitleDescDialog(weld::Window* pParent, const OUString& rTitle, const OUString& rDescription) = 0;
virtual VclPtr<AbstractSvxMultiPathDialog> CreateSvxMultiPathDialog(vcl::Window* pParent) = 0 ;
virtual VclPtr<AbstractSvxMultiPathDialog> CreateSvxMultiPathDialog(weld::Window* pParent) = 0 ;
virtual VclPtr<AbstractSvxMultiPathDialog> CreateSvxPathSelectDialog(weld::Window* pParent) = 0 ;
virtual VclPtr<AbstractSvxHpLinkDlg> CreateSvxHpLinkDlg(vcl::Window* pParent, SfxBindings* pBindings)=0;
virtual VclPtr<AbstractFmSearchDialog> CreateFmSearchDialog(vcl::Window* pParent,
......
......@@ -5261,7 +5261,7 @@ public:
virtual int find_text(const OUString& rText) const override
{
Search aSearch(rText, 0);
Search aSearch(rText, m_nTextCol);
gtk_tree_model_foreach(GTK_TREE_MODEL(m_pTreeStore), foreach_find, &aSearch);
return aSearch.index;
}
......@@ -7185,7 +7185,8 @@ public:
virtual int find_id(const OUString& rId) const override
{
return find(rId, 1);
gint id_column = gtk_combo_box_get_id_column(m_pComboBox);
return find(rId, id_column);
}
virtual void clear() override
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment