[Libreoffice-commits] core.git: include/sfx2 include/vcl sfx2/source sw/inc sw/source sw/uiconfig vcl/source vcl/unx
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Mon Nov 5 12:22:29 UTC 2018
include/sfx2/basedlgs.hxx | 1
include/vcl/weld.hxx | 4
sfx2/source/dialog/basedlgs.cxx | 1
sw/inc/swabstdlg.hxx | 8
sw/source/ui/dialog/swdlgfact.cxx | 40 -
sw/source/ui/dialog/swdlgfact.hxx | 32 -
sw/source/ui/index/swuiidxmrk.cxx | 998 +++++++++++------------------------
sw/source/uibase/inc/idxmrk.hxx | 16
sw/source/uibase/inc/swuiidxmrk.hxx | 201 ++-----
sw/source/uibase/index/idxmrk.cxx | 18
sw/source/uibase/shells/textidx.cxx | 2
sw/uiconfig/swriter/ui/indexentry.ui | 13
vcl/source/app/salvtables.cxx | 5
vcl/unx/gtk3/gtk3gtkinst.cxx | 5
14 files changed, 480 insertions(+), 864 deletions(-)
New commits:
commit e3c6c89588fc6b85663444d701f782e73bb572c1
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Fri Nov 2 09:50:31 2018 +0000
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Mon Nov 5 13:21:29 2018 +0100
weld SwIndexMarkModalDlg cluster
Change-Id: Iff45d9deb5409cf0dbb35723da6bad886379531f
Reviewed-on: https://gerrit.libreoffice.org/62775
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/include/sfx2/basedlgs.hxx b/include/sfx2/basedlgs.hxx
index 703998b3644a..28bf55a93f2a 100644
--- a/include/sfx2/basedlgs.hxx
+++ b/include/sfx2/basedlgs.hxx
@@ -135,6 +135,7 @@ protected:
public:
virtual void FillInfo(SfxChildWinInfo&) const;
+ virtual void Activate() {}
void Initialize (SfxChildWinInfo const * pInfo);
void Close();
void DeInit();
diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx
index 7ec022e13c39..14b06007c3f1 100644
--- a/include/vcl/weld.hxx
+++ b/include/vcl/weld.hxx
@@ -355,6 +355,8 @@ public:
virtual bool get_entry_selection_bounds(int& rStartPos, int& rEndPos) = 0;
virtual void set_entry_completion(bool bEnable) = 0;
+ virtual bool get_popup_shown() const = 0;
+
void connect_entry_activate(const Link<ComboBox&, void>& rLink) { m_aEntryActivateHdl = rLink; }
void save_value() { m_sSavedValue = get_active_text(); }
@@ -783,6 +785,8 @@ public:
m_xTreeView->connect_row_activated(rLink);
}
+ virtual bool get_popup_shown() const override { return false; }
+
void set_height_request_by_rows(int nRows);
};
diff --git a/sfx2/source/dialog/basedlgs.cxx b/sfx2/source/dialog/basedlgs.cxx
index 8fcb0cb1137f..f3b35c63071d 100644
--- a/sfx2/source/dialog/basedlgs.cxx
+++ b/sfx2/source/dialog/basedlgs.cxx
@@ -449,6 +449,7 @@ IMPL_LINK_NOARG(SfxModelessDialogController, FocusInHdl, weld::Widget&, void)
return;
m_pBindings->SetActiveFrame(m_xImpl->pMgr->GetFrame());
m_xImpl->pMgr->Activate_Impl();
+ Activate();
}
IMPL_LINK_NOARG(SfxModelessDialogController, FocusOutHdl, weld::Widget&, void)
diff --git a/sw/inc/swabstdlg.hxx b/sw/inc/swabstdlg.hxx
index 99d55a84dfb5..e8f67f2cdaa1 100644
--- a/sw/inc/swabstdlg.hxx
+++ b/sw/inc/swabstdlg.hxx
@@ -335,7 +335,7 @@ protected:
virtual ~AbstractMarkFloatDlg() override = default;
public:
virtual void ReInitDlg(SwWrtShell& rWrtShell) = 0;
- virtual vcl::Window * GetWindow() = 0; //this method is added for return a Window type pointer
+ virtual std::shared_ptr<SfxModelessDialogController> GetController() = 0;
};
#define RET_LOAD_DOC 100
@@ -479,15 +479,15 @@ public:
virtual VclPtr<AbstractMarkFloatDlg> CreateIndexMarkFloatDlg(
SfxBindings* pBindings,
SfxChildWindow* pChild,
- vcl::Window *pParent,
+ weld::Window *pParent,
SfxChildWinInfo* pInfo) = 0;
virtual VclPtr<AbstractMarkFloatDlg> CreateAuthMarkFloatDlg(
SfxBindings* pBindings,
SfxChildWindow* pChild,
- vcl::Window *pParent,
+ weld::Window *pParent,
SfxChildWinInfo* pInfo) = 0;
virtual VclPtr<VclAbstractDialog> CreateIndexMarkModalDlg(
- vcl::Window *pParent, SwWrtShell& rSh, SwTOXMark* pCurTOXMark) = 0;
+ weld::Window *pParent, SwWrtShell& rSh, SwTOXMark* pCurTOXMark) = 0;
virtual VclPtr<AbstractMailMergeWizard> CreateMailMergeWizard(SwView& rView, std::shared_ptr<SwMailMergeConfigItem>& rConfigItem) = 0;
diff --git a/sw/source/ui/dialog/swdlgfact.cxx b/sw/source/ui/dialog/swdlgfact.cxx
index 84a3b5400b91..c773d98038ac 100644
--- a/sw/source/ui/dialog/swdlgfact.cxx
+++ b/sw/source/ui/dialog/swdlgfact.cxx
@@ -233,8 +233,16 @@ short AbstractMailMergeFieldConnectionsDlg_Impl::Execute()
IMPL_ABSTDLG_BASE(AbstractMultiTOXTabDialog_Impl);
IMPL_ABSTDLG_BASE(AbstractEditRegionDlg_Impl);
IMPL_ABSTDLG_BASE(AbstractInsertSectionTabDialog_Impl);
-IMPL_ABSTDLG_BASE(AbstractIndexMarkFloatDlg_Impl);
-IMPL_ABSTDLG_BASE(AbstractAuthMarkFloatDlg_Impl);
+
+short AbstractIndexMarkFloatDlg_Impl::Execute()
+{
+ return m_xDlg->run();
+}
+
+short AbstractAuthMarkFloatDlg_Impl::Execute()
+{
+ return m_xDlg->run();
+}
void AbstractTabDialog_Impl::SetCurPageId( const OString &rName )
{
@@ -690,22 +698,22 @@ AbstractInsertSectionTabDialog_Impl::SetSectionData(SwSectionData const& rSect)
void AbstractIndexMarkFloatDlg_Impl::ReInitDlg(SwWrtShell& rWrtShell)
{
- pDlg->ReInitDlg( rWrtShell);
+ m_xDlg->ReInitDlg( rWrtShell);
}
-vcl::Window* AbstractIndexMarkFloatDlg_Impl::GetWindow()
+std::shared_ptr<SfxModelessDialogController> AbstractIndexMarkFloatDlg_Impl::GetController()
{
- return static_cast<vcl::Window*>(pDlg);
+ return m_xDlg;
}
void AbstractAuthMarkFloatDlg_Impl::ReInitDlg(SwWrtShell& rWrtShell)
{
- pDlg->ReInitDlg( rWrtShell);
+ m_xDlg->ReInitDlg(rWrtShell);
}
-vcl::Window* AbstractAuthMarkFloatDlg_Impl::GetWindow()
+std::shared_ptr<SfxModelessDialogController> AbstractAuthMarkFloatDlg_Impl::GetController()
{
- return static_cast<vcl::Window*>(pDlg);
+ return m_xDlg;
}
std::shared_ptr<SfxModelessDialogController> AbstractSwWordCountFloatDlg_Impl::GetController()
@@ -1115,21 +1123,19 @@ VclPtr<AbstractInsertSectionTabDialog> SwAbstractDialogFactory_Impl::CreateInser
VclPtr<AbstractMarkFloatDlg> SwAbstractDialogFactory_Impl::CreateIndexMarkFloatDlg(
SfxBindings* pBindings,
SfxChildWindow* pChild,
- vcl::Window *pParent,
+ weld::Window *pParent,
SfxChildWinInfo* pInfo )
{
- VclPtr<SwIndexMarkFloatDlg> pDlg = VclPtr<SwIndexMarkFloatDlg>::Create(pBindings, pChild, pParent, pInfo, true/*bNew*/);
- return VclPtr<AbstractIndexMarkFloatDlg_Impl>::Create(pDlg);
+ return VclPtr<AbstractIndexMarkFloatDlg_Impl>::Create(o3tl::make_unique<SwIndexMarkFloatDlg>(pBindings, pChild, pParent, pInfo, true/*bNew*/));
}
VclPtr<AbstractMarkFloatDlg> SwAbstractDialogFactory_Impl::CreateAuthMarkFloatDlg(
SfxBindings* pBindings,
SfxChildWindow* pChild,
- vcl::Window *pParent,
+ weld::Window *pParent,
SfxChildWinInfo* pInfo)
{
- VclPtr<SwAuthMarkFloatDlg> pDlg = VclPtr<SwAuthMarkFloatDlg>::Create( pBindings, pChild, pParent, pInfo, true/*bNew*/ );
- return VclPtr<AbstractAuthMarkFloatDlg_Impl>::Create( pDlg );
+ return VclPtr<AbstractAuthMarkFloatDlg_Impl>::Create(o3tl::make_unique<SwAuthMarkFloatDlg>(pBindings, pChild, pParent, pInfo, true/*bNew*/));
}
VclPtr<AbstractSwWordCountFloatDlg> SwAbstractDialogFactory_Impl::CreateSwWordCountDialog(
@@ -1141,11 +1147,9 @@ VclPtr<AbstractSwWordCountFloatDlg> SwAbstractDialogFactory_Impl::CreateSwWordCo
return VclPtr<AbstractSwWordCountFloatDlg_Impl>::Create(o3tl::make_unique<SwWordCountFloatDlg>(pBindings, pChild, pParent, pInfo));
}
-VclPtr<VclAbstractDialog> SwAbstractDialogFactory_Impl::CreateIndexMarkModalDlg(
- vcl::Window *pParent, SwWrtShell& rSh, SwTOXMark* pCurTOXMark )
+VclPtr<VclAbstractDialog> SwAbstractDialogFactory_Impl::CreateIndexMarkModalDlg(weld::Window *pParent, SwWrtShell& rSh, SwTOXMark* pCurTOXMark )
{
- VclPtr<Dialog> pDlg = VclPtr<SwIndexMarkModalDlg>::Create( pParent, rSh, pCurTOXMark );
- return VclPtr<VclAbstractDialog_Impl>::Create( pDlg );
+ return VclPtr<AbstractGenericDialog_Impl>::Create(o3tl::make_unique<SwIndexMarkModalDlg>(pParent, rSh, pCurTOXMark));
}
VclPtr<AbstractMailMergeWizard> SwAbstractDialogFactory_Impl::CreateMailMergeWizard(
diff --git a/sw/source/ui/dialog/swdlgfact.hxx b/sw/source/ui/dialog/swdlgfact.hxx
index 14b802ef7e2d..0959581dd8b2 100644
--- a/sw/source/ui/dialog/swdlgfact.hxx
+++ b/sw/source/ui/dialog/swdlgfact.hxx
@@ -560,17 +560,31 @@ class AbstractInsertSectionTabDialog_Impl : public AbstractInsertSectionTabDialo
class SwIndexMarkFloatDlg;
class AbstractIndexMarkFloatDlg_Impl : public AbstractMarkFloatDlg
{
- DECL_ABSTDLG_BASE(AbstractIndexMarkFloatDlg_Impl,SwIndexMarkFloatDlg)
- virtual void ReInitDlg(SwWrtShell& rWrtShell) override;
- virtual vcl::Window * GetWindow() override; //this method is added for return a Window type pointer
+protected:
+ std::shared_ptr<SwIndexMarkFloatDlg> m_xDlg;
+public:
+ explicit AbstractIndexMarkFloatDlg_Impl(std::unique_ptr<SwIndexMarkFloatDlg> p)
+ : m_xDlg(std::move(p))
+ {
+ }
+ virtual short Execute() override;
+ virtual void ReInitDlg(SwWrtShell& rWrtShell) override;
+ virtual std::shared_ptr<SfxModelessDialogController> GetController() override;
};
class SwAuthMarkFloatDlg;
class AbstractAuthMarkFloatDlg_Impl : public AbstractMarkFloatDlg
{
- DECL_ABSTDLG_BASE(AbstractAuthMarkFloatDlg_Impl,SwAuthMarkFloatDlg)
- virtual void ReInitDlg(SwWrtShell& rWrtShell) override;
- virtual vcl::Window * GetWindow() override; //this method is added for return a Window type pointer
+protected:
+ std::shared_ptr<SwAuthMarkFloatDlg> m_xDlg;
+public:
+ explicit AbstractAuthMarkFloatDlg_Impl(std::unique_ptr<SwAuthMarkFloatDlg> p)
+ : m_xDlg(std::move(p))
+ {
+ }
+ virtual short Execute() override;
+ virtual void ReInitDlg(SwWrtShell& rWrtShell) override;
+ virtual std::shared_ptr<SfxModelessDialogController> GetController() override;
};
class SwMailMergeWizard;
@@ -707,15 +721,15 @@ public:
virtual VclPtr<AbstractMarkFloatDlg> CreateIndexMarkFloatDlg(
SfxBindings* pBindings,
SfxChildWindow* pChild,
- vcl::Window *pParent,
+ weld::Window *pParent,
SfxChildWinInfo* pInfo) override;
virtual VclPtr<AbstractMarkFloatDlg> CreateAuthMarkFloatDlg(
SfxBindings* pBindings,
SfxChildWindow* pChild,
- vcl::Window *pParent,
+ weld::Window *pParent,
SfxChildWinInfo* pInfo) override;
virtual VclPtr<VclAbstractDialog> CreateIndexMarkModalDlg(
- vcl::Window *pParent, SwWrtShell& rSh, SwTOXMark* pCurTOXMark ) override;
+ weld::Window *pParent, SwWrtShell& rSh, SwTOXMark* pCurTOXMark ) override;
virtual VclPtr<AbstractMailMergeWizard> CreateMailMergeWizard(SwView& rView, std::shared_ptr<SwMailMergeConfigItem>& rConfigItem) override;
diff --git a/sw/source/ui/index/swuiidxmrk.cxx b/sw/source/ui/index/swuiidxmrk.cxx
index 5da40144df6d..29b440daa1b3 100644
--- a/sw/source/ui/index/swuiidxmrk.cxx
+++ b/sw/source/ui/index/swuiidxmrk.cxx
@@ -74,9 +74,9 @@ using namespace com::sun::star::util;
using namespace ::comphelper;
// dialog to insert a directory selection
-SwIndexMarkPane::SwIndexMarkPane(Dialog &rDialog, bool bNewDlg,
+SwIndexMarkPane::SwIndexMarkPane(const std::shared_ptr<weld::Dialog>& rDialog, weld::Builder& rBuilder, bool bNewDlg,
SwWrtShell& rWrtShell)
- : m_rDialog(rDialog)
+ : m_xDialog(rDialog)
, m_bDel(false)
, m_bNewMark(bNewDlg)
, m_bSelected(false)
@@ -86,36 +86,37 @@ SwIndexMarkPane::SwIndexMarkPane(Dialog &rDialog, bool bNewDlg,
, m_nLangForPhoneticReading(LANGUAGE_CHINESE_SIMPLIFIED)
, m_bIsPhoneticReadingEnabled(false)
, m_pSh(&rWrtShell)
+ , m_xFrame(rBuilder.weld_widget("frame"))
+ , m_xTypeFT(rBuilder.weld_label("typeft"))
+ , m_xTypeDCB(rBuilder.weld_combo_box("typecb"))
+ , m_xNewBT(rBuilder.weld_button("new"))
+ , m_xEntryED(rBuilder.weld_entry("entryed"))
+ , m_xSyncED(rBuilder.weld_button("sync"))
+ , m_xPhoneticFT0(rBuilder.weld_label("phonetic0ft"))
+ , m_xPhoneticED0(rBuilder.weld_entry("phonetic0ed"))
+ , m_xKey1FT(rBuilder.weld_label("key1ft"))
+ , m_xKey1DCB(rBuilder.weld_combo_box("key1cb"))
+ , m_xPhoneticFT1(rBuilder.weld_label("phonetic1ft"))
+ , m_xPhoneticED1(rBuilder.weld_entry("phonetic1ed"))
+ , m_xKey2FT(rBuilder.weld_label("key2ft"))
+ , m_xKey2DCB(rBuilder.weld_combo_box("key2cb"))
+ , m_xPhoneticFT2(rBuilder.weld_label("phonetic2ft"))
+ , m_xPhoneticED2(rBuilder.weld_entry("phonetic2ed"))
+ , m_xLevelFT(rBuilder.weld_label("levelft"))
+ , m_xLevelNF(rBuilder.weld_spin_button("levelnf"))
+ , m_xMainEntryCB(rBuilder.weld_check_button("mainentrycb"))
+ , m_xApplyToAllCB(rBuilder.weld_check_button("applytoallcb"))
+ , m_xSearchCaseSensitiveCB(rBuilder.weld_check_button("searchcasesensitivecb"))
+ , m_xSearchCaseWordOnlyCB(rBuilder.weld_check_button("searchcasewordonlycb"))
+ , m_xOKBT(bNewDlg ? rBuilder.weld_button("insert") : rBuilder.weld_button("ok"))
+ , m_xCloseBT(rBuilder.weld_button("close"))
+ , m_xDelBT(rBuilder.weld_button("delete"))
+ , m_xPrevSameBT(rBuilder.weld_button("first"))
+ , m_xNextSameBT(rBuilder.weld_button("last"))
+ , m_xPrevBT(rBuilder.weld_button("previous"))
+ , m_xNextBT(rBuilder.weld_button("next"))
{
- rDialog.get(m_pFrame, "frame");
- rDialog.get(m_pTypeFT, "typeft");
- rDialog.get(m_pTypeDCB, "typecb");
- rDialog.get(m_pNewBT, "new");
- rDialog.get(m_pEntryED, "entryed");
- rDialog.get(m_pSyncED, "sync");
- m_pSyncED->Show();
- rDialog.get(m_pPhoneticFT0, "phonetic0ft");
- rDialog.get(m_pPhoneticED0, "phonetic0ed");
- rDialog.get(m_pKey1FT, "key1ft");
- rDialog.get(m_pKey1DCB, "key1cb");
- rDialog.get(m_pPhoneticFT1, "phonetic1ft");
- rDialog.get(m_pPhoneticED1, "phonetic1ed");
- rDialog.get(m_pKey2FT, "key2ft");
- rDialog.get(m_pKey2DCB, "key2cb");
- rDialog.get(m_pPhoneticFT2, "phonetic2ft");
- rDialog.get(m_pPhoneticED2, "phonetic2ed");
- rDialog.get(m_pLevelFT, "levelft");
- rDialog.get(m_pLevelNF, "levelnf");
- rDialog.get(m_pMainEntryCB, "mainentrycb");
- rDialog.get(m_pApplyToAllCB, "applytoallcb");
- rDialog.get(m_pSearchCaseSensitiveCB, "searchcasesensitivecb");
- rDialog.get(m_pSearchCaseWordOnlyCB, "searchcasewordonlycb");
- rDialog.get(m_pCloseBT, "close");
- rDialog.get(m_pDelBT, "delete");
- rDialog.get(m_pPrevSameBT, "first");
- rDialog.get(m_pNextSameBT, "last");
- rDialog.get(m_pPrevBT, "previous");
- rDialog.get(m_pNextBT, "next");
+ m_xSyncED->show();
if (SvtCJKOptions().IsCJKFontEnabled())
{
@@ -123,71 +124,65 @@ SwIndexMarkPane::SwIndexMarkPane(Dialog &rDialog, bool bNewDlg,
m_xExtendedIndexEntrySupplier = i18n::IndexEntrySupplier::create(xContext);
- m_pPhoneticFT0->Show();
- m_pPhoneticED0->Show();
- m_pPhoneticFT1->Show();
- m_pPhoneticED1->Show();
- m_pPhoneticFT2->Show();
- m_pPhoneticED2->Show();
- }
+ m_xPhoneticFT0->show();
+ m_xPhoneticED0->show();
+ m_xPhoneticFT1->show();
+ m_xPhoneticED1->show();
+ m_xPhoneticFT2->show();
+ m_xPhoneticED2->show();
+ }
+
+ m_xDialog->set_title(SwResId(m_bNewMark ? STR_IDXMRK_INSERT : STR_IDXMRK_EDIT));
+
+ m_xDelBT->connect_clicked(LINK(this,SwIndexMarkPane, DelHdl));
+ m_xPrevBT->connect_clicked(LINK(this,SwIndexMarkPane, PrevHdl));
+ m_xPrevSameBT->connect_clicked(LINK(this,SwIndexMarkPane, PrevSameHdl));
+ m_xNextBT->connect_clicked(LINK(this,SwIndexMarkPane, NextHdl));
+ m_xNextSameBT->connect_clicked(LINK(this,SwIndexMarkPane, NextSameHdl));
+ m_xTypeDCB->connect_changed(LINK(this,SwIndexMarkPane, ModifyListBoxHdl));
+ m_xKey1DCB->connect_changed(LINK(this,SwIndexMarkPane, KeyDCBModifyHdl));
+ m_xKey2DCB->connect_changed(LINK(this,SwIndexMarkPane, KeyDCBModifyHdl));
+ m_xCloseBT->connect_clicked(LINK(this,SwIndexMarkPane, CloseHdl));
+ m_xEntryED->connect_changed(LINK(this,SwIndexMarkPane, ModifyEditHdl));
+ m_xNewBT->connect_clicked(LINK(this, SwIndexMarkPane, NewUserIdxHdl));
+ m_xApplyToAllCB->connect_toggled(LINK(this, SwIndexMarkPane, SearchTypeHdl));
+ m_xPhoneticED0->connect_changed(LINK(this,SwIndexMarkPane, PhoneticEDModifyHdl));
+ m_xPhoneticED1->connect_changed(LINK(this,SwIndexMarkPane, PhoneticEDModifyHdl));
+ m_xPhoneticED2->connect_changed(LINK(this,SwIndexMarkPane, PhoneticEDModifyHdl));
+ m_xSyncED->connect_clicked(LINK(this, SwIndexMarkPane, SyncSelectionHdl));
- rDialog.SetText( SwResId( m_bNewMark ? STR_IDXMRK_INSERT : STR_IDXMRK_EDIT));
-
- m_pDelBT->SetClickHdl(LINK(this,SwIndexMarkPane, DelHdl));
- m_pPrevBT->SetClickHdl(LINK(this,SwIndexMarkPane, PrevHdl));
- m_pPrevSameBT->SetClickHdl(LINK(this,SwIndexMarkPane, PrevSameHdl));
- m_pNextBT->SetClickHdl(LINK(this,SwIndexMarkPane, NextHdl));
- m_pNextSameBT->SetClickHdl(LINK(this,SwIndexMarkPane, NextSameHdl));
- m_pTypeDCB->SetSelectHdl(LINK(this,SwIndexMarkPane, ModifyListBoxHdl));
- m_pKey1DCB->SetModifyHdl(LINK(this,SwIndexMarkPane, KeyDCBModifyHdl));
- m_pKey2DCB->SetModifyHdl(LINK(this,SwIndexMarkPane, KeyDCBModifyHdl));
- m_pCloseBT->SetClickHdl(LINK(this,SwIndexMarkPane, CloseHdl));
- m_pEntryED->SetModifyHdl(LINK(this,SwIndexMarkPane, ModifyEditHdl));
- m_pNewBT->SetClickHdl(LINK(this, SwIndexMarkPane, NewUserIdxHdl));
- m_pApplyToAllCB->SetClickHdl(LINK(this, SwIndexMarkPane, SearchTypeHdl));
- m_pPhoneticED0->SetModifyHdl(LINK(this,SwIndexMarkPane, PhoneticEDModifyHdl));
- m_pPhoneticED1->SetModifyHdl(LINK(this,SwIndexMarkPane, PhoneticEDModifyHdl));
- m_pPhoneticED2->SetModifyHdl(LINK(this,SwIndexMarkPane, PhoneticEDModifyHdl));
- m_pSyncED->SetClickHdl(LINK(this, SwIndexMarkPane, SyncSelectionHdl));
-
- if(m_bNewMark)
- {
- m_pDelBT->Hide();
- rDialog.get(m_pOKBT, "insert");
- }
+ if (m_bNewMark)
+ m_xDelBT->hide();
else
- {
- m_pNewBT->Hide();
- rDialog.get(m_pOKBT, "ok");
- }
- m_pOKBT->Show();
- m_pOKBT->SetClickHdl(LINK(this, SwIndexMarkPane, InsertHdl));
+ m_xNewBT->hide();
+ m_xOKBT->show();
+ m_xOKBT->connect_clicked(LINK(this, SwIndexMarkPane, InsertHdl));
- m_pEntryED->GrabFocus();
+ m_xEntryED->grab_focus();
}
// Newly initialise controls with the new selection
void SwIndexMarkPane::InitControls()
{
- OSL_ENSURE(m_pSh && m_pTOXMgr, "no shell?");
+ assert(m_pSh && m_pTOXMgr && "no shell?");
// contents index
const SwTOXType* pType = m_pTOXMgr->GetTOXType(TOX_CONTENT);
- OSL_ENSURE(pType, "No directory type !!");
+ assert(pType && "No directory type !!");
OUString sTmpTypeSelection;
- if(m_pTypeDCB->GetSelectedEntryCount())
- sTmpTypeSelection = m_pTypeDCB->GetSelectedEntry();
- m_pTypeDCB->Clear();
- m_pTypeDCB->InsertEntry(pType->GetTypeName());
+ if (m_xTypeDCB->get_active() != -1)
+ sTmpTypeSelection = m_xTypeDCB->get_active_text();
+ m_xTypeDCB->clear();
+ m_xTypeDCB->append_text(pType->GetTypeName());
// keyword index
pType = m_pTOXMgr->GetTOXType(TOX_INDEX);
- OSL_ENSURE(pType, "No directory type !!");
- m_pTypeDCB->InsertEntry(pType->GetTypeName());
+ assert(pType && "No directory type !!");
+ m_xTypeDCB->append_text(pType->GetTypeName());
// user index
sal_uInt16 nCount = m_pSh->GetTOXTypeCount(TOX_USER);
- for( sal_uInt16 i = 0; i < nCount; ++i )
- m_pTypeDCB->InsertEntry( m_pSh->GetTOXType(TOX_USER, i)->GetTypeName() );
+ for (sal_uInt16 i = 0; i < nCount; ++i)
+ m_xTypeDCB->append_text(m_pSh->GetTOXType(TOX_USER, i)->GetTypeName());
// read keywords primary
{
@@ -196,7 +191,7 @@ void SwIndexMarkPane::InitControls()
std::sort(aArr.begin(), aArr.end());
auto last = std::unique(aArr.begin(), aArr.end());
for (auto it = aArr.begin(); it != last; ++it)
- m_pKey1DCB->InsertEntry(*it);
+ m_xKey1DCB->append_text(*it);
}
// read keywords secondary
@@ -206,7 +201,7 @@ void SwIndexMarkPane::InitControls()
std::sort(aArr.begin(), aArr.end());
auto last = std::unique(aArr.begin(), aArr.end());
for (auto it = aArr.begin(); it != last; ++it)
- m_pKey2DCB->InsertEntry(*it);
+ m_xKey2DCB->append_text(*it);
}
UpdateLanguageDependenciesForPhoneticReading();
@@ -230,18 +225,18 @@ void SwIndexMarkPane::InitControls()
m_pSh->GotoTOXMark( *pMoveMark, TOX_NXT );
bShow = true;
}
- m_pPrevBT->Enable( pMoveMark != pMark );
+ m_xPrevBT->set_sensitive(pMoveMark != pMark);
pMoveMark = &m_pSh->GotoTOXMark( *pMark, TOX_NXT );
if( pMoveMark != pMark )
{
m_pSh->GotoTOXMark( *pMoveMark, TOX_PRV );
bShow = true;
}
- m_pNextBT->Enable( pMoveMark != pMark );
+ m_xNextBT->set_sensitive(pMoveMark != pMark);
if( bShow )
{
- m_pPrevBT->Show();
- m_pNextBT->Show();
+ m_xPrevBT->show();
+ m_xNextBT->show();
bShow = false;
}
@@ -251,25 +246,25 @@ void SwIndexMarkPane::InitControls()
m_pSh->GotoTOXMark( *pMoveMark, TOX_SAME_NXT );
bShow = true;
}
- m_pPrevSameBT->Enable( pMoveMark != pMark );
+ m_xPrevSameBT->set_sensitive(pMoveMark != pMark);
pMoveMark = &m_pSh->GotoTOXMark( *pMark, TOX_SAME_NXT );
if( pMoveMark != pMark )
{
m_pSh->GotoTOXMark( *pMoveMark, TOX_SAME_PRV );
bShow = true;
}
- m_pNextSameBT->Enable( pMoveMark != pMark );
+ m_xNextSameBT->set_sensitive(pMoveMark != pMark);
if( bShow )
{
- m_pNextSameBT->Show();
- m_pPrevSameBT->Show();
+ m_xNextSameBT->show();
+ m_xPrevSameBT->show();
}
m_pSh->EndCursorMove();
- m_pTypeFT->Show();
+ m_xTypeFT->show();
- m_pTypeDCB->Enable(false);
- m_pTypeFT->Enable(false);
+ m_xTypeDCB->set_sensitive(false);
+ m_xTypeFT->set_sensitive(false);
UpdateDialog();
}
@@ -279,26 +274,25 @@ void SwIndexMarkPane::InitControls()
{
m_bSelected = !m_pSh->HasSelection();
m_aOrgStr = m_pSh->GetView().GetSelectionTextParam(true, false);
- m_pEntryED->SetText(m_aOrgStr);
+ m_xEntryED->set_text(m_aOrgStr);
//to include all equal entries may only be allowed in the body and even there
//only when a simple selection exists
const FrameTypeFlags nFrameType = m_pSh->GetFrameType(nullptr,true);
- m_pApplyToAllCB->Show();
- m_pSearchCaseSensitiveCB->Show();
- m_pSearchCaseWordOnlyCB->Show();
- m_pApplyToAllCB->Enable(!m_aOrgStr.isEmpty() &&
+ m_xApplyToAllCB->show();
+ m_xSearchCaseSensitiveCB->show();
+ m_xSearchCaseWordOnlyCB->show();
+ m_xApplyToAllCB->set_sensitive(!m_aOrgStr.isEmpty() &&
!(nFrameType & ( FrameTypeFlags::HEADER | FrameTypeFlags::FOOTER | FrameTypeFlags::FLY_ANY )));
- SearchTypeHdl(m_pApplyToAllCB);
+ SearchTypeHdl(*m_xApplyToAllCB);
}
// index type is default
- if( !sTmpTypeSelection.isEmpty() &&
- LISTBOX_ENTRY_NOTFOUND != m_pTypeDCB->GetEntryPos( sTmpTypeSelection ) )
- m_pTypeDCB->SelectEntry(sTmpTypeSelection);
+ if (!sTmpTypeSelection.isEmpty() && m_xTypeDCB->find_text(sTmpTypeSelection) != -1)
+ m_xTypeDCB->set_active_text(sTmpTypeSelection);
else
- m_pTypeDCB->SelectEntry(m_pTypeDCB->GetEntry(nTypePos));
- ModifyHdl(m_pTypeDCB);
+ m_xTypeDCB->set_active_text(m_xTypeDCB->get_text(nTypePos));
+ ModifyHdl(*m_xTypeDCB);
}
}
@@ -362,26 +356,26 @@ void SwIndexMarkPane::Activate()
// display current selection (first element) ????
if (m_bNewMark)
{
- m_pSyncED->Enable(m_pSh->GetCursorCnt() < 2);
+ m_xSyncED->set_sensitive(m_pSh->GetCursorCnt() < 2);
}
}
-IMPL_LINK_NOARG(SwIndexMarkPane, SyncSelectionHdl, Button*, void)
+IMPL_LINK_NOARG(SwIndexMarkPane, SyncSelectionHdl, weld::Button&, void)
{
m_bSelected = !m_pSh->HasSelection();
m_aOrgStr = m_pSh->GetView().GetSelectionTextParam(true, false);
- m_pEntryED->SetText(m_aOrgStr);
+ m_xEntryED->set_text(m_aOrgStr);
//to include all equal entries may only be allowed in the body and even there
//only when a simple selection exists
const FrameTypeFlags nFrameType = m_pSh->GetFrameType(nullptr,true);
- m_pApplyToAllCB->Show();
- m_pSearchCaseSensitiveCB->Show();
- m_pSearchCaseWordOnlyCB->Show();
- m_pApplyToAllCB->Enable(!m_aOrgStr.isEmpty() &&
+ m_xApplyToAllCB->show();
+ m_xSearchCaseSensitiveCB->show();
+ m_xSearchCaseWordOnlyCB->show();
+ m_xApplyToAllCB->set_sensitive(!m_aOrgStr.isEmpty() &&
!(nFrameType & ( FrameTypeFlags::HEADER | FrameTypeFlags::FOOTER | FrameTypeFlags::FLY_ANY )));
- SearchTypeHdl(m_pApplyToAllCB);
- ModifyHdl(m_pEntryED);
+ SearchTypeHdl(*m_xApplyToAllCB);
+ ModifyHdl(*m_xEntryED);
}
// evaluate Ok-Button
@@ -421,11 +415,11 @@ void SwIndexMarkPane::InsertUpdate()
m_pSh->EndAllAction();
m_pSh->EndUndo(m_bDel ? SwUndoId::INDEX_ENTRY_DELETE : SwUndoId::INDEX_ENTRY_INSERT);
- if((nTypePos = m_pTypeDCB->GetEntryPos(m_pTypeDCB->GetSelectedEntry())) == LISTBOX_ENTRY_NOTFOUND)
+ if((nTypePos = m_xTypeDCB->find_text(m_xTypeDCB->get_active_text())) == -1)
nTypePos = 0;
- nKey1Pos = m_pKey1DCB->GetEntryPos(m_pKey1DCB->GetText());
- nKey2Pos = m_pKey2DCB->GetEntryPos(m_pKey2DCB->GetText());
+ nKey1Pos = m_xKey1DCB->find_text(m_xKey1DCB->get_active_text());
+ nKey2Pos = m_xKey2DCB->find_text(m_xKey2DCB->get_active_text());
}
// insert mark
@@ -455,37 +449,37 @@ static void lcl_SelectSameStrings(SwWrtShell& rSh, bool bWordOnly, bool bCaseSen
void SwIndexMarkPane::InsertMark()
{
- sal_Int32 nPos = m_pTypeDCB->GetEntryPos(m_pTypeDCB->GetSelectedEntry());
+ auto nPos = m_xTypeDCB->find_text(m_xTypeDCB->get_active_text());
TOXTypes eType = nPos == POS_CONTENT ? TOX_CONTENT :
nPos == POS_INDEX ? TOX_INDEX : TOX_USER;
SwTOXMarkDescription aDesc(eType);
- const int nLevel = m_pLevelNF->Denormalize(m_pLevelNF->GetValue());
- switch(nPos)
+ const int nLevel = m_xLevelNF->denormalize(m_xLevelNF->get_value());
+ switch( nPos)
{
case POS_CONTENT : break;
case POS_INDEX: // keyword index mark
{
UpdateKeyBoxes();
- aDesc.SetPrimKey(m_pKey1DCB->GetText());
- aDesc.SetSecKey(m_pKey2DCB->GetText());
- aDesc.SetMainEntry(m_pMainEntryCB->IsChecked());
- aDesc.SetPhoneticReadingOfAltStr(m_pPhoneticED0->GetText());
- aDesc.SetPhoneticReadingOfPrimKey(m_pPhoneticED1->GetText());
- aDesc.SetPhoneticReadingOfSecKey(m_pPhoneticED2->GetText());
+ aDesc.SetPrimKey(m_xKey1DCB->get_active_text());
+ aDesc.SetSecKey(m_xKey2DCB->get_active_text());
+ aDesc.SetMainEntry(m_xMainEntryCB->get_active());
+ aDesc.SetPhoneticReadingOfAltStr(m_xPhoneticED0->get_text());
+ aDesc.SetPhoneticReadingOfPrimKey(m_xPhoneticED1->get_text());
+ aDesc.SetPhoneticReadingOfSecKey(m_xPhoneticED2->get_text());
}
break;
default: // Userdefined index mark
{
- aDesc.SetTOUName(m_pTypeDCB->GetSelectedEntry());
+ aDesc.SetTOUName(m_xTypeDCB->get_active_text());
}
}
- if (m_aOrgStr != m_pEntryED->GetText())
- aDesc.SetAltStr(m_pEntryED->GetText());
- bool bApplyAll = m_pApplyToAllCB->IsChecked();
- bool bWordOnly = m_pSearchCaseWordOnlyCB->IsChecked();
- bool bCaseSensitive = m_pSearchCaseSensitiveCB->IsChecked();
+ if (m_aOrgStr != m_xEntryED->get_text())
+ aDesc.SetAltStr(m_xEntryED->get_text());
+ bool bApplyAll = m_xApplyToAllCB->get_active();
+ bool bWordOnly = m_xSearchCaseWordOnlyCB->get_active();
+ bool bCaseSensitive = m_xSearchCaseSensitiveCB->get_active();
m_pSh->StartAllAction();
// all equal strings have to be selected here so that the
@@ -506,15 +500,15 @@ void SwIndexMarkPane::InsertMark()
// update mark
void SwIndexMarkPane::UpdateMark()
{
- OUString aAltText(m_pEntryED->GetText());
- OUString* pAltText = m_aOrgStr != m_pEntryED->GetText() ? &aAltText : nullptr;
+ OUString aAltText(m_xEntryED->get_text());
+ OUString* pAltText = m_aOrgStr != m_xEntryED->get_text() ? &aAltText : nullptr;
//empty alternative texts are not allowed
if(pAltText && pAltText->isEmpty())
return;
UpdateKeyBoxes();
- sal_Int32 nPos = m_pTypeDCB->GetEntryPos(m_pTypeDCB->GetSelectedEntry());
+ auto nPos = m_xTypeDCB->find_text(m_xTypeDCB->get_active_text());
TOXTypes eType = TOX_USER;
if(POS_CONTENT == nPos)
eType = TOX_CONTENT;
@@ -522,43 +516,43 @@ void SwIndexMarkPane::UpdateMark()
eType = TOX_INDEX;
SwTOXMarkDescription aDesc(eType);
- aDesc.SetLevel( static_cast< int >(m_pLevelNF->GetValue()) );
+ aDesc.SetLevel(m_xLevelNF->get_value());
if(pAltText)
aDesc.SetAltStr(*pAltText);
- OUString aPrim(m_pKey1DCB->GetText());
+ OUString aPrim(m_xKey1DCB->get_active_text());
if(!aPrim.isEmpty())
aDesc.SetPrimKey(aPrim);
- OUString aSec(m_pKey2DCB->GetText());
+ OUString aSec(m_xKey2DCB->get_active_text());
if(!aSec.isEmpty())
aDesc.SetSecKey(aSec);
if(eType == TOX_INDEX)
{
- aDesc.SetPhoneticReadingOfAltStr(m_pPhoneticED0->GetText());
- aDesc.SetPhoneticReadingOfPrimKey(m_pPhoneticED1->GetText());
- aDesc.SetPhoneticReadingOfSecKey(m_pPhoneticED2->GetText());
+ aDesc.SetPhoneticReadingOfAltStr(m_xPhoneticED0->get_text());
+ aDesc.SetPhoneticReadingOfPrimKey(m_xPhoneticED1->get_text());
+ aDesc.SetPhoneticReadingOfSecKey(m_xPhoneticED2->get_text());
}
- aDesc.SetMainEntry(m_pMainEntryCB->IsVisible() && m_pMainEntryCB->IsChecked());
+ aDesc.SetMainEntry(m_xMainEntryCB->get_visible() && m_xMainEntryCB->get_active());
m_pTOXMgr->UpdateTOXMark(aDesc);
}
// insert new keys
void SwIndexMarkPane::UpdateKeyBoxes()
{
- OUString aKey(m_pKey1DCB->GetText());
- sal_Int32 nPos = m_pKey1DCB->GetEntryPos(aKey);
- if(nPos == COMBOBOX_ENTRY_NOTFOUND && !aKey.isEmpty())
+ OUString aKey(m_xKey1DCB->get_active_text());
+ auto nPos = m_xKey1DCB->find_text(aKey);
+ if(nPos == -1 && !aKey.isEmpty())
{ // create new key
- m_pKey1DCB->InsertEntry(aKey);
+ m_xKey1DCB->append_text(aKey);
}
- aKey = m_pKey2DCB->GetText();
- nPos = m_pKey2DCB->GetEntryPos(aKey);
+ aKey = m_xKey2DCB->get_active_text();
+ nPos = m_xKey2DCB->find_text(aKey);
- if(nPos == COMBOBOX_ENTRY_NOTFOUND && !aKey.isEmpty())
+ if(nPos == -1 && !aKey.isEmpty())
{ // create new key
- m_pKey2DCB->InsertEntry(aKey);
+ m_xKey2DCB->append_text(aKey);
}
}
@@ -572,8 +566,8 @@ class SwNewUserIdxDlg : public weld::GenericDialogController
DECL_LINK(ModifyHdl, weld::Entry&, void);
public:
- explicit SwNewUserIdxDlg(SwIndexMarkPane* pPane)
- : GenericDialogController(pPane->GetFrameWeld(), "modules/swriter/ui/newuserindexdialog.ui", "NewUserIndexDialog")
+ explicit SwNewUserIdxDlg(SwIndexMarkPane* pPane, weld::Window* pParent)
+ : GenericDialogController(pParent, "modules/swriter/ui/newuserindexdialog.ui", "NewUserIndexDialog")
, m_pDlg(pPane)
, m_xOKPB(m_xBuilder->weld_button("ok"))
, m_xNameED(m_xBuilder->weld_entry("entry"))
@@ -590,62 +584,62 @@ IMPL_LINK( SwNewUserIdxDlg, ModifyHdl, weld::Entry&, rEdit, void)
m_xOKPB->set_sensitive(!rEdit.get_text().isEmpty() && !m_pDlg->IsTOXType(rEdit.get_text()));
}
-IMPL_LINK_NOARG(SwIndexMarkPane, NewUserIdxHdl, Button*, void)
+IMPL_LINK_NOARG(SwIndexMarkPane, NewUserIdxHdl, weld::Button&, void)
{
- SwNewUserIdxDlg aDlg(this);
+ SwNewUserIdxDlg aDlg(this, m_xDialog.get());
if (aDlg.run() == RET_OK)
{
OUString sNewName(aDlg.GetName());
- m_pTypeDCB->InsertEntry(sNewName);
- m_pTypeDCB->SelectEntry(sNewName);
+ m_xTypeDCB->append_text(sNewName);
+ m_xTypeDCB->set_active_text(sNewName);
}
}
-IMPL_LINK( SwIndexMarkPane, SearchTypeHdl, Button*, pBox, void)
+IMPL_LINK( SwIndexMarkPane, SearchTypeHdl, weld::ToggleButton&, rBox, void)
{
- bool bEnable = static_cast<CheckBox*>(pBox)->IsChecked() && pBox->IsEnabled();
- m_pSearchCaseWordOnlyCB->Enable(bEnable);
- m_pSearchCaseSensitiveCB->Enable(bEnable);
+ const bool bEnable = rBox.get_active() && rBox.get_sensitive();
+ m_xSearchCaseWordOnlyCB->set_sensitive(bEnable);
+ m_xSearchCaseSensitiveCB->set_sensitive(bEnable);
}
-IMPL_LINK( SwIndexMarkPane, InsertHdl, Button *, pButton, void )
+IMPL_LINK(SwIndexMarkPane, InsertHdl, weld::Button&, rButton, void)
{
Apply();
//close the dialog if only one entry is available
- if(!m_bNewMark && !m_pPrevBT->IsVisible() && !m_pNextBT->IsVisible())
- CloseHdl(pButton);
+ if(!m_bNewMark && !m_xPrevBT->get_visible() && !m_xNextBT->get_visible())
+ CloseHdl(rButton);
}
-IMPL_LINK_NOARG(SwIndexMarkPane, CloseHdl, Button*, void)
+IMPL_LINK_NOARG(SwIndexMarkPane, CloseHdl, weld::Button&, void)
{
- if(m_bNewMark)
+ if (m_bNewMark)
{
SfxViewFrame::Current()->GetDispatcher()->Execute(FN_INSERT_IDX_ENTRY_DLG,
SfxCallMode::ASYNCHRON|SfxCallMode::RECORD);
}
else
{
- m_rDialog.EndDialog();
+ m_xDialog->response(RET_CLOSE);
}
}
// select index type only when inserting
-IMPL_LINK( SwIndexMarkPane, ModifyListBoxHdl, ListBox&, rBox, void )
+IMPL_LINK(SwIndexMarkPane, ModifyListBoxHdl, weld::ComboBox&, rBox, void)
{
- ModifyHdl(&rBox);
+ ModifyHdl(rBox);
}
-IMPL_LINK( SwIndexMarkPane, ModifyEditHdl, Edit&, rEdit, void )
+IMPL_LINK(SwIndexMarkPane, ModifyEditHdl, weld::Entry&, rEdit, void)
{
- ModifyHdl(&rEdit);
+ ModifyHdl(rEdit);
}
-void SwIndexMarkPane::ModifyHdl(Control const * pBox)
+void SwIndexMarkPane::ModifyHdl(const weld::Widget& rBox)
{
- if (m_pTypeDCB == pBox)
+ if (m_xTypeDCB.get() == &rBox)
{
// set index type
- sal_Int32 nPos = m_pTypeDCB->GetEntryPos(m_pTypeDCB->GetSelectedEntry());
+ auto nPos = m_xTypeDCB->find_text(m_xTypeDCB->get_active_text());
bool bLevelEnable = false,
bKeyEnable = false,
bSetKey2 = false,
@@ -655,94 +649,94 @@ void SwIndexMarkPane::ModifyHdl(Control const * pBox)
bKey2HasText = false;
if(nPos == POS_INDEX)
{
- if(!m_pEntryED->GetText().isEmpty())
+ if (!m_xEntryED->get_text().isEmpty())
bEntryHasText = true;
- m_pPhoneticED0->SetText(GetDefaultPhoneticReading(m_pEntryED->GetText()));
+ m_xPhoneticED0->set_text(GetDefaultPhoneticReading(m_xEntryED->get_text()));
bKeyEnable = true;
- m_pKey1DCB->SetText(m_pKey1DCB->GetEntry(nKey1Pos));
- m_pPhoneticED1->SetText(GetDefaultPhoneticReading(m_pKey1DCB->GetText()));
- if(!m_pKey1DCB->GetText().isEmpty())
+ m_xKey1DCB->set_active_text(m_xKey1DCB->get_text(nKey1Pos));
+ m_xPhoneticED1->set_text(GetDefaultPhoneticReading(m_xKey1DCB->get_active_text()));
+ if (!m_xKey1DCB->get_active_text().isEmpty())
{
bKey1HasText = bSetKey2 = bKey2Enable = true;
- m_pKey2DCB->SetText(m_pKey2DCB->GetEntry(nKey2Pos));
- m_pPhoneticED2->SetText(GetDefaultPhoneticReading(m_pKey2DCB->GetText()));
- if(!m_pKey2DCB->GetText().isEmpty())
+ m_xKey2DCB->set_active_text(m_xKey2DCB->get_text(nKey2Pos));
+ m_xPhoneticED2->set_text(GetDefaultPhoneticReading(m_xKey2DCB->get_active_text()));
+ if(!m_xKey2DCB->get_active_text().isEmpty())
bKey2HasText = true;
}
}
else
{
bLevelEnable = true;
- m_pLevelNF->SetMax(MAXLEVEL);
- m_pLevelNF->SetValue(m_pLevelNF->Normalize(0));
+ m_xLevelNF->set_max(MAXLEVEL);
+ m_xLevelNF->set_value(m_xLevelNF->normalize(0));
bSetKey2 = true;
}
- m_pLevelFT->Show(bLevelEnable);
- m_pLevelNF->Show(bLevelEnable);
- m_pMainEntryCB->Show(nPos == POS_INDEX);
+ m_xLevelFT->show(bLevelEnable);
+ m_xLevelNF->show(bLevelEnable);
+ m_xMainEntryCB->show(nPos == POS_INDEX);
- m_pKey1FT->Enable(bKeyEnable);
- m_pKey1DCB->Enable(bKeyEnable);
+ m_xKey1FT->set_sensitive(bKeyEnable);
+ m_xKey1DCB->set_sensitive(bKeyEnable);
if ( bSetKey2 )
{
- m_pKey2DCB->Enable(bKey2Enable);
- m_pKey2FT->Enable(bKey2Enable);
+ m_xKey2DCB->set_sensitive(bKey2Enable);
+ m_xKey2FT->set_sensitive(bKey2Enable);
}
- m_pPhoneticFT0->Enable(bKeyEnable&&bEntryHasText&&m_bIsPhoneticReadingEnabled);
- m_pPhoneticED0->Enable(bKeyEnable&&bEntryHasText&&m_bIsPhoneticReadingEnabled);
- m_pPhoneticFT1->Enable(bKeyEnable&&bKey1HasText&&m_bIsPhoneticReadingEnabled);
- m_pPhoneticED1->Enable(bKeyEnable&&bKey1HasText&&m_bIsPhoneticReadingEnabled);
- m_pPhoneticFT2->Enable(bKeyEnable&&bKey2HasText&&m_bIsPhoneticReadingEnabled);
- m_pPhoneticED2->Enable(bKeyEnable&&bKey2HasText&&m_bIsPhoneticReadingEnabled);
+ m_xPhoneticFT0->set_sensitive(bKeyEnable&&bEntryHasText&&m_bIsPhoneticReadingEnabled);
+ m_xPhoneticED0->set_sensitive(bKeyEnable&&bEntryHasText&&m_bIsPhoneticReadingEnabled);
+ m_xPhoneticFT1->set_sensitive(bKeyEnable&&bKey1HasText&&m_bIsPhoneticReadingEnabled);
+ m_xPhoneticED1->set_sensitive(bKeyEnable&&bKey1HasText&&m_bIsPhoneticReadingEnabled);
+ m_xPhoneticFT2->set_sensitive(bKeyEnable&&bKey2HasText&&m_bIsPhoneticReadingEnabled);
+ m_xPhoneticED2->set_sensitive(bKeyEnable&&bKey2HasText&&m_bIsPhoneticReadingEnabled);
}
- else //m_pEntryED !!m_pEntryED is not a ListBox but a Edit
+ else //m_xEntryED !!m_xEntryED is not a ListBox but a Edit
{
- bool bHasText = !m_pEntryED->GetText().isEmpty();
+ bool bHasText = !m_xEntryED->get_text().isEmpty();
if(!bHasText)
{
- m_pPhoneticED0->SetText(OUString());
+ m_xPhoneticED0->set_text(OUString());
m_bPhoneticED0_ChangedByUser = false;
}
else if(!m_bPhoneticED0_ChangedByUser)
- m_pPhoneticED0->SetText(GetDefaultPhoneticReading(m_pEntryED->GetText()));
+ m_xPhoneticED0->set_text(GetDefaultPhoneticReading(m_xEntryED->get_text()));
- m_pPhoneticFT0->Enable(bHasText&&m_bIsPhoneticReadingEnabled);
- m_pPhoneticED0->Enable(bHasText&&m_bIsPhoneticReadingEnabled);
+ m_xPhoneticFT0->set_sensitive(bHasText&&m_bIsPhoneticReadingEnabled);
+ m_xPhoneticED0->set_sensitive(bHasText&&m_bIsPhoneticReadingEnabled);
}
- m_pOKBT->Enable(!m_pSh->HasReadonlySel() &&
- (!m_pEntryED->GetText().isEmpty() || m_pSh->GetCursorCnt(false)));
+ m_xOKBT->set_sensitive(!m_pSh->HasReadonlySel() &&
+ (!m_xEntryED->get_text().isEmpty() || m_pSh->GetCursorCnt(false)));
}
-IMPL_LINK_NOARG(SwIndexMarkPane, NextHdl, Button*, void)
+IMPL_LINK_NOARG(SwIndexMarkPane, NextHdl, weld::Button&, void)
{
InsertUpdate();
m_pTOXMgr->NextTOXMark();
UpdateDialog();
}
-IMPL_LINK_NOARG(SwIndexMarkPane, NextSameHdl, Button*, void)
+IMPL_LINK_NOARG(SwIndexMarkPane, NextSameHdl, weld::Button&, void)
{
InsertUpdate();
m_pTOXMgr->NextTOXMark(true);
UpdateDialog();
}
-IMPL_LINK_NOARG(SwIndexMarkPane, PrevHdl, Button*, void)
+IMPL_LINK_NOARG(SwIndexMarkPane, PrevHdl, weld::Button&, void)
{
InsertUpdate();
m_pTOXMgr->PrevTOXMark();
UpdateDialog();
}
-IMPL_LINK_NOARG(SwIndexMarkPane, PrevSameHdl, Button*, void)
+IMPL_LINK_NOARG(SwIndexMarkPane, PrevSameHdl, weld::Button&, void)
{
InsertUpdate();
m_pTOXMgr->PrevTOXMark(true);
UpdateDialog();
}
-IMPL_LINK_NOARG(SwIndexMarkPane, DelHdl, Button*, void)
+IMPL_LINK_NOARG(SwIndexMarkPane, DelHdl, weld::Button&, void)
{
m_bDel = true;
InsertUpdate();
@@ -752,7 +746,7 @@ IMPL_LINK_NOARG(SwIndexMarkPane, DelHdl, Button*, void)
UpdateDialog();
else
{
- CloseHdl(m_pCloseBT);
+ CloseHdl(*m_xCloseBT);
SfxViewFrame::Current()->GetBindings().Invalidate(FN_EDIT_IDX_ENTRY_DLG);
}
}
@@ -766,10 +760,10 @@ void SwIndexMarkPane::UpdateDialog()
if(!pMark)
return;
- SwViewShell::SetCareWin(&m_rDialog);
+ SwViewShell::SetCareDialog(m_xDialog);
m_aOrgStr = pMark->GetText();
- m_pEntryED->SetText(m_aOrgStr);
+ m_xEntryED->set_text(m_aOrgStr);
// set index type
bool bLevelEnable = true,
@@ -787,70 +781,70 @@ void SwIndexMarkPane::UpdateDialog()
bKey1HasText = bKey2Enable = !pMark->GetPrimaryKey().isEmpty();
bKey2HasText = !pMark->GetSecondaryKey().isEmpty();
bEntryHasText = !pMark->GetText().isEmpty();
- m_pKey1DCB->SetText( pMark->GetPrimaryKey() );
- m_pKey2DCB->SetText( pMark->GetSecondaryKey() );
- m_pPhoneticED0->SetText( pMark->GetTextReading() );
- m_pPhoneticED1->SetText( pMark->GetPrimaryKeyReading() );
- m_pPhoneticED2->SetText( pMark->GetSecondaryKeyReading() );
- m_pMainEntryCB->Check(pMark->IsMainEntry());
+ m_xKey1DCB->set_entry_text( pMark->GetPrimaryKey() );
+ m_xKey2DCB->set_entry_text( pMark->GetSecondaryKey() );
+ m_xPhoneticED0->set_text( pMark->GetTextReading() );
+ m_xPhoneticED1->set_text( pMark->GetPrimaryKeyReading() );
+ m_xPhoneticED2->set_text( pMark->GetSecondaryKeyReading() );
+ m_xMainEntryCB->set_active(pMark->IsMainEntry());
}
else if(TOX_CONTENT == eCurType || TOX_USER == eCurType)
{
- m_pLevelNF->SetValue(m_pLevelNF->Normalize(pMark->GetLevel()));
+ m_xLevelNF->set_value(m_xLevelNF->normalize(pMark->GetLevel()));
}
- m_pKey1FT->Enable(bKeyEnable);
- m_pKey1DCB->Enable(bKeyEnable);
- m_pLevelNF->SetMax(MAXLEVEL);
- m_pLevelFT->Show(bLevelEnable);
- m_pLevelNF->Show(bLevelEnable);
- m_pMainEntryCB->Show(!bLevelEnable);
- m_pKey2FT->Enable(bKey2Enable);
- m_pKey2DCB->Enable(bKey2Enable);
+ m_xKey1FT->set_sensitive(bKeyEnable);
+ m_xKey1DCB->set_sensitive(bKeyEnable);
+ m_xLevelNF->set_max(MAXLEVEL);
+ m_xLevelFT->show(bLevelEnable);
+ m_xLevelNF->show(bLevelEnable);
+ m_xMainEntryCB->show(!bLevelEnable);
+ m_xKey2FT->set_sensitive(bKey2Enable);
+ m_xKey2DCB->set_sensitive(bKey2Enable);
UpdateLanguageDependenciesForPhoneticReading();
- m_pPhoneticFT0->Enable(bKeyEnable&&bEntryHasText&&m_bIsPhoneticReadingEnabled);
- m_pPhoneticED0->Enable(bKeyEnable&&bEntryHasText&&m_bIsPhoneticReadingEnabled);
- m_pPhoneticFT1->Enable(bKeyEnable&&bKey1HasText&&m_bIsPhoneticReadingEnabled);
- m_pPhoneticED1->Enable(bKeyEnable&&bKey1HasText&&m_bIsPhoneticReadingEnabled);
- m_pPhoneticFT2->Enable(bKeyEnable&&bKey2HasText&&m_bIsPhoneticReadingEnabled);
- m_pPhoneticED2->Enable(bKeyEnable&&bKey2HasText&&m_bIsPhoneticReadingEnabled);
+ m_xPhoneticFT0->set_sensitive(bKeyEnable&&bEntryHasText&&m_bIsPhoneticReadingEnabled);
+ m_xPhoneticED0->set_sensitive(bKeyEnable&&bEntryHasText&&m_bIsPhoneticReadingEnabled);
+ m_xPhoneticFT1->set_sensitive(bKeyEnable&&bKey1HasText&&m_bIsPhoneticReadingEnabled);
+ m_xPhoneticED1->set_sensitive(bKeyEnable&&bKey1HasText&&m_bIsPhoneticReadingEnabled);
+ m_xPhoneticFT2->set_sensitive(bKeyEnable&&bKey2HasText&&m_bIsPhoneticReadingEnabled);
+ m_xPhoneticED2->set_sensitive(bKeyEnable&&bKey2HasText&&m_bIsPhoneticReadingEnabled);
// set index type
- m_pTypeDCB->SelectEntry(pMark->GetTOXType()->GetTypeName());
+ m_xTypeDCB->set_active_text(pMark->GetTOXType()->GetTypeName());
// set Next - Prev - Buttons
m_pSh->SttCursorMove();
- if( m_pPrevBT->IsVisible() )
+ if( m_xPrevBT->get_visible() )
{
const SwTOXMark* pMoveMark = &m_pSh->GotoTOXMark( *pMark, TOX_PRV );
if( pMoveMark != pMark )
m_pSh->GotoTOXMark( *pMoveMark, TOX_NXT );
- m_pPrevBT->Enable( pMoveMark != pMark );
+ m_xPrevBT->set_sensitive( pMoveMark != pMark );
pMoveMark = &m_pSh->GotoTOXMark( *pMark, TOX_NXT );
if( pMoveMark != pMark )
m_pSh->GotoTOXMark( *pMoveMark, TOX_PRV );
- m_pNextBT->Enable( pMoveMark != pMark );
+ m_xNextBT->set_sensitive( pMoveMark != pMark );
}
- if( m_pPrevSameBT->IsVisible() )
+ if (m_xPrevSameBT->get_visible())
{
const SwTOXMark* pMoveMark = &m_pSh->GotoTOXMark( *pMark, TOX_SAME_PRV );
if( pMoveMark != pMark )
m_pSh->GotoTOXMark( *pMoveMark, TOX_SAME_NXT );
- m_pPrevSameBT->Enable( pMoveMark != pMark );
+ m_xPrevSameBT->set_sensitive( pMoveMark != pMark );
pMoveMark = &m_pSh->GotoTOXMark( *pMark, TOX_SAME_NXT );
if( pMoveMark != pMark )
m_pSh->GotoTOXMark( *pMoveMark, TOX_SAME_PRV );
- m_pNextSameBT->Enable( pMoveMark != pMark );
+ m_xNextSameBT->set_sensitive( pMoveMark != pMark );
}
- bool bEnable = !m_pSh->HasReadonlySel();
- m_pOKBT->Enable( bEnable );
- m_pDelBT->Enable( bEnable );
- m_pEntryED->SetReadOnly( !bEnable );
- m_pLevelNF->SetReadOnly( !bEnable );
- m_pKey1DCB->SetReadOnly( !bEnable );
- m_pKey2DCB->SetReadOnly( !bEnable );
+ const bool bEnable = !m_pSh->HasReadonlySel();
+ m_xOKBT->set_sensitive(bEnable);
+ m_xDelBT->set_sensitive(bEnable);
+ m_xEntryED->set_sensitive(bEnable);
+ m_xLevelNF->set_sensitive(bEnable);
+ m_xKey1DCB->set_sensitive(bEnable);
+ m_xKey2DCB->set_sensitive(bEnable);
m_pSh->SelectTextAttr( RES_TXTATR_TOXMARK, pMark->GetTextTOXMark() );
// we need the point at the start of the attribute
@@ -860,75 +854,75 @@ void SwIndexMarkPane::UpdateDialog()
}
// Remind whether the edit boxes for Phonetic reading are changed manually
-IMPL_LINK( SwIndexMarkPane, PhoneticEDModifyHdl, Edit&, rEdit, void )
+IMPL_LINK(SwIndexMarkPane, PhoneticEDModifyHdl, weld::Entry&, rEdit, void)
{
- if (m_pPhoneticED0 == &rEdit)
+ if (m_xPhoneticED0.get() == &rEdit)
{
- m_bPhoneticED0_ChangedByUser = !rEdit.GetText().isEmpty();
+ m_bPhoneticED0_ChangedByUser = !rEdit.get_text().isEmpty();
}
- else if (m_pPhoneticED1 == &rEdit)
+ else if (m_xPhoneticED1.get() == &rEdit)
{
- m_bPhoneticED1_ChangedByUser = !rEdit.GetText().isEmpty();
+ m_bPhoneticED1_ChangedByUser = !rEdit.get_text().isEmpty();
}
- else if (m_pPhoneticED2 == &rEdit)
+ else if (m_xPhoneticED2.get() == &rEdit)
{
- m_bPhoneticED2_ChangedByUser = !rEdit.GetText().isEmpty();
+ m_bPhoneticED2_ChangedByUser = !rEdit.get_text().isEmpty();
}
}
// Enable Disable of the 2nd key
-IMPL_LINK( SwIndexMarkPane, KeyDCBModifyHdl, Edit&, rEdit, void )
+IMPL_LINK( SwIndexMarkPane, KeyDCBModifyHdl, weld::ComboBox&, rBox, void )
{
- ComboBox* pBox = static_cast<ComboBox*>(&rEdit);
- if (m_pKey1DCB == pBox)
+ if (m_xKey1DCB.get() == &rBox)
{
- bool bEnable = !pBox->GetText().isEmpty();
+ bool bEnable = !rBox.get_active_text().isEmpty();
if(!bEnable)
{
- m_pKey2DCB->SetText(OUString());
- m_pPhoneticED1->SetText(OUString());
- m_pPhoneticED2->SetText(OUString());
+ m_xKey2DCB->set_entry_text(OUString());
+ m_xPhoneticED1->set_text(OUString());
+ m_xPhoneticED2->set_text(OUString());
m_bPhoneticED1_ChangedByUser = false;
m_bPhoneticED2_ChangedByUser = false;
}
else
{
- if(pBox->IsInDropDown())
+ if (rBox.get_popup_shown())
{
//reset bPhoneticED1_ChangedByUser if a completely new string is selected
m_bPhoneticED1_ChangedByUser = false;
}
- if(!m_bPhoneticED1_ChangedByUser)
- m_pPhoneticED1->SetText(GetDefaultPhoneticReading(pBox->GetText()));
+ if (!m_bPhoneticED1_ChangedByUser)
+ m_xPhoneticED1->set_text(GetDefaultPhoneticReading(rBox.get_active_text()));
}
- m_pKey2DCB->Enable(bEnable);
- m_pKey2FT->Enable(bEnable);
+ m_xKey2DCB->set_sensitive(bEnable);
+ m_xKey2FT->set_sensitive(bEnable);
}
- else if (m_pKey2DCB == pBox)
+ else if (m_xKey2DCB.get() == &rBox)
{
- if(pBox->GetText().isEmpty())
+ if (rBox.get_active_text().isEmpty())
{
- m_pPhoneticED2->SetText(OUString());
+ m_xPhoneticED2->set_text(OUString());
m_bPhoneticED2_ChangedByUser = false;
}
else
{
- if(pBox->IsInDropDown())
+ if (rBox.get_popup_shown())
{
//reset bPhoneticED1_ChangedByUser if a completely new string is selected
m_bPhoneticED2_ChangedByUser = false;
}
if(!m_bPhoneticED2_ChangedByUser)
- m_pPhoneticED2->SetText(GetDefaultPhoneticReading(pBox->GetText()));
+ m_xPhoneticED2->set_text(GetDefaultPhoneticReading(rBox.get_active_text()));
}
}
- bool bKey1HasText = !m_pKey1DCB->GetText().isEmpty();
- bool bKey2HasText = !m_pKey2DCB->GetText().isEmpty();
- m_pPhoneticFT1->Enable(bKey1HasText && m_bIsPhoneticReadingEnabled);
- m_pPhoneticED1->Enable(bKey1HasText && m_bIsPhoneticReadingEnabled);
- m_pPhoneticFT2->Enable(bKey2HasText && m_bIsPhoneticReadingEnabled);
- m_pPhoneticED2->Enable(bKey2HasText && m_bIsPhoneticReadingEnabled);
+ bool bKey1HasText = !m_xKey1DCB->get_active_text().isEmpty();
+ bool bKey2HasText = !m_xKey2DCB->get_active_text().isEmpty();
+
+ m_xPhoneticFT1->set_sensitive(bKey1HasText && m_bIsPhoneticReadingEnabled);
+ m_xPhoneticED1->set_sensitive(bKey1HasText && m_bIsPhoneticReadingEnabled);
+ m_xPhoneticFT2->set_sensitive(bKey2HasText && m_bIsPhoneticReadingEnabled);
+ m_xPhoneticED2->set_sensitive(bKey2HasText && m_bIsPhoneticReadingEnabled);
}
SwIndexMarkPane::~SwIndexMarkPane()
@@ -952,10 +946,11 @@ void SwIndexMarkPane::ReInitDlg(SwWrtShell& rWrtShell, SwTOXMark const * pCur
}
SwIndexMarkFloatDlg::SwIndexMarkFloatDlg(SfxBindings* _pBindings,
- SfxChildWindow* pChild, vcl::Window *pParent,
+ SfxChildWindow* pChild, weld::Window *pParent,
SfxChildWinInfo const * pInfo, bool bNew)
- : SfxModelessDialog(_pBindings, pChild, pParent, "IndexEntryDialog", "modules/swriter/ui/indexentry.ui")
- , m_aContent(*this, bNew, *::GetActiveWrtShell())
+ : SfxModelessDialogController(_pBindings, pChild, pParent,
+ "modules/swriter/ui/indexentry.ui", "IndexEntryDialog")
+ , m_aContent(m_xDialog, *m_xBuilder, bNew, *::GetActiveWrtShell())
{
m_aContent.ReInitDlg(*::GetActiveWrtShell());
Initialize(pInfo);
@@ -963,7 +958,7 @@ SwIndexMarkFloatDlg::SwIndexMarkFloatDlg(SfxBindings* _pBindings,
void SwIndexMarkFloatDlg::Activate()
{
- SfxModelessDialog::Activate();
+ SfxModelessDialogController::Activate();
m_aContent.Activate();
}
@@ -972,22 +967,20 @@ void SwIndexMarkFloatDlg::ReInitDlg(SwWrtShell& rWrtShell)
m_aContent.ReInitDlg( rWrtShell );
}
-SwIndexMarkModalDlg::SwIndexMarkModalDlg(vcl::Window *pParent, SwWrtShell& rSh, SwTOXMark const * pCurTOXMark)
- : SvxStandardDialog(pParent, "IndexEntryDialog", "modules/swriter/ui/indexentry.ui")
- , m_aContent(*this, false, rSh)
+SwIndexMarkModalDlg::SwIndexMarkModalDlg(weld::Window *pParent, SwWrtShell& rSh, SwTOXMark const * pCurTOXMark)
+ : SfxDialogController(pParent, "modules/swriter/ui/indexentry.ui",
+ "IndexEntryDialog")
+ , m_aContent(m_xDialog, *m_xBuilder, false, rSh)
{
m_aContent.ReInitDlg(rSh, pCurTOXMark);
}
-void SwIndexMarkModalDlg::Apply()
+short SwIndexMarkModalDlg::run()
{
- m_aContent.Apply();
-}
-
-void SwIndexMarkModalDlg::dispose()
-{
- SwViewShell::SetCareWin(nullptr);
- SvxStandardDialog::dispose();
+ short nRet = SfxDialogController::run();
+ if (RET_OK == nRet)
+ m_aContent.Apply();
+ return nRet;
}
class SwCreateAuthEntryDlg_Impl : public weld::GenericDialogController
@@ -1069,70 +1062,6 @@ static const TextInfo aTextInfoArr[] =
{AUTH_FIELD_CUSTOM5, HID_AUTH_FIELD_CUSTOM5 }
};
-bool SwAuthorMarkPane::bIsFromComponent = true;
-
-SwAuthorMarkPane::SwAuthorMarkPane(Dialog &rDialog, bool bNewDlg)
- : m_rDialog(rDialog)
- , bNewEntry(bNewDlg)
- , bBibAccessInitialized(false)
- , pSh(nullptr)
-{
- m_rDialog.get(m_pFromComponentRB, "frombibliography");
- m_rDialog.get(m_pFromDocContentRB, "fromdocument");
- m_rDialog.get(m_pAuthorFI, "author");
- m_rDialog.get(m_pTitleFI, "title");
- m_rDialog.get(m_pEntryED, "entryed");
- m_rDialog.get(m_pEntryLB, "entrylb");
- m_rDialog.get(m_pActionBT,
- bNewEntry ? OString("insert") : OString("modify"));
- m_pActionBT->Show();
- m_rDialog.get(m_pCloseBT, "close");
- m_rDialog.get(m_pCreateEntryPB, "new");
- m_rDialog.get(m_pEditEntryPB, "edit");
-
- m_pFromComponentRB->Show(bNewEntry);
- m_pFromDocContentRB->Show(bNewEntry);
- m_pFromComponentRB->Check(bIsFromComponent);
- m_pFromDocContentRB->Check(!bIsFromComponent);
-
- m_pActionBT->SetClickHdl(LINK(this,SwAuthorMarkPane, InsertHdl));
- m_pCloseBT->SetClickHdl(LINK(this,SwAuthorMarkPane, CloseHdl));
- m_pCreateEntryPB->SetClickHdl(LINK(this,SwAuthorMarkPane, CreateEntryHdl));
- m_pEditEntryPB->SetClickHdl(LINK(this,SwAuthorMarkPane, CreateEntryHdl));
- m_pFromComponentRB->SetClickHdl(LINK(this,SwAuthorMarkPane, ChangeSourceHdl));
- m_pFromDocContentRB->SetClickHdl(LINK(this,SwAuthorMarkPane, ChangeSourceHdl));
- m_pEntryED->SetModifyHdl(LINK(this,SwAuthorMarkPane, EditModifyHdl));
-
- m_rDialog.SetText(SwResId(
- bNewEntry ? STR_AUTHMRK_INSERT : STR_AUTHMRK_EDIT));
-
- m_pEntryED->Show(!bNewEntry);
- m_pEntryLB->Show(bNewEntry);
- if(bNewEntry)
- {
- m_pEntryLB->SetSelectHdl(LINK(this, SwAuthorMarkPane, CompEntryHdl));
- }
-}
-
-void SwAuthorMarkPane::ReInitDlg(SwWrtShell& rWrtShell)
-{
- pSh = &rWrtShell;
- InitControls();
-}
-
-IMPL_LINK_NOARG(SwAuthorMarkPane, CloseHdl, Button*, void)
-{
- if(bNewEntry)
- {
- SfxViewFrame::Current()->GetDispatcher()->Execute(FN_INSERT_AUTH_ENTRY_DLG,
- SfxCallMode::ASYNCHRON|SfxCallMode::RECORD);
- }
- else
- {
- m_rDialog.EndDialog();
- }
-}
-
static OUString lcl_FindColumnEntry(const beans::PropertyValue* pFields, sal_Int32 nLen, const OUString& rColumnTitle)
{
for(sal_Int32 i = 0; i < nLen; i++)
@@ -1147,305 +1076,9 @@ static OUString lcl_FindColumnEntry(const beans::PropertyValue* pFields, sal_Int
return OUString();
}
-IMPL_LINK( SwAuthorMarkPane, CompEntryHdl, ListBox&, rBox, void)
-{
- const OUString sEntry(rBox.GetSelectedEntry());
- if(bIsFromComponent)
- {
- if(xBibAccess.is() && !sEntry.isEmpty())
- {
- if(xBibAccess->hasByName(sEntry))
- {
- uno::Any aEntry(xBibAccess->getByName(sEntry));
- uno::Sequence<beans::PropertyValue> aFieldProps;
- if(aEntry >>= aFieldProps)
- {
- const beans::PropertyValue* pProps = aFieldProps.getConstArray();
- for(sal_Int32 i = 0; i < AUTH_FIELD_END && i < aFieldProps.getLength(); i++)
- {
- m_sFields[i] = lcl_FindColumnEntry(
- pProps, aFieldProps.getLength(), m_sColumnTitles[i]);
- }
- }
- }
- }
- }
- else
- {
- if(!sEntry.isEmpty())
- {
- const SwAuthorityFieldType* pFType = static_cast<const SwAuthorityFieldType*>(
- pSh->GetFieldType(SwFieldIds::TableOfAuthorities, OUString()));
- const SwAuthEntry* pEntry = pFType ? pFType->GetEntryByIdentifier(sEntry) : nullptr;
- for(int i = 0; i < AUTH_FIELD_END; i++)
- m_sFields[i] = pEntry ?
- pEntry->GetAuthorField(static_cast<ToxAuthorityField>(i)) : OUString();
- }
- }
- if (rBox.GetSelectedEntry().isEmpty())
- {
- for(OUString & s : m_sFields)
- s.clear();
- }
- m_pAuthorFI->SetText(m_sFields[AUTH_FIELD_AUTHOR]);
- m_pTitleFI->SetText(m_sFields[AUTH_FIELD_TITLE]);
-}
-
-IMPL_LINK_NOARG(SwAuthorMarkPane, InsertHdl, Button*, void)
-{
- //insert or update the SwAuthorityField...
- if(pSh)
- {
- bool bDifferent = false;
- OSL_ENSURE(!m_sFields[AUTH_FIELD_IDENTIFIER].isEmpty() , "No Id is set!");
- OSL_ENSURE(!m_sFields[AUTH_FIELD_AUTHORITY_TYPE].isEmpty() , "No authority type is set!");
- //check if the entry already exists with different content
- const SwAuthorityFieldType* pFType = static_cast<const SwAuthorityFieldType*>(
- pSh->GetFieldType(SwFieldIds::TableOfAuthorities, OUString()));
- const SwAuthEntry* pEntry = pFType ?
- pFType->GetEntryByIdentifier( m_sFields[AUTH_FIELD_IDENTIFIER])
- : nullptr;
- if(pEntry)
- {
- for(int i = 0; i < AUTH_FIELD_END && !bDifferent; i++)
- bDifferent |= m_sFields[i] != pEntry->GetAuthorField(static_cast<ToxAuthorityField>(i));
- if(bDifferent)
- {
- std::unique_ptr<weld::MessageDialog> xQuery(Application::CreateMessageDialog(m_rDialog.GetFrameWeld(),
- VclMessageType::Question, VclButtonsType::YesNo,
- SwResId(STR_QUERY_CHANGE_AUTH_ENTRY)));
- if (RET_YES != xQuery->run())
- return;
- }
- }
-
- SwFieldMgr aMgr(pSh);
- OUStringBuffer sFields;
- for(OUString & s : m_sFields)
- {
- sFields.append(s).append(TOX_STYLE_DELIMITER);
- }
- if(bNewEntry)
- {
- if(bDifferent)
- {
- SwAuthEntry aNewData;
- for(int i = 0; i < AUTH_FIELD_END; i++)
- aNewData.SetAuthorField(static_cast<ToxAuthorityField>(i), m_sFields[i]);
- pSh->ChangeAuthorityData(&aNewData);
- }
- SwInsertField_Data aData(TYP_AUTHORITY, 0, sFields.makeStringAndClear(), OUString(), 0 );
- aMgr.InsertField( aData );
- }
- else if(aMgr.GetCurField())
- {
- aMgr.UpdateCurField(0, sFields.makeStringAndClear(), OUString());
- }
- }
- if(!bNewEntry)
- CloseHdl(nullptr);
-}
-
-IMPL_LINK(SwAuthorMarkPane, CreateEntryHdl, Button*, pButton, void)
-{
- bool bCreate = pButton == m_pCreateEntryPB;
- OUString sOldId = m_sCreatedEntry[0];
- for(int i = 0; i < AUTH_FIELD_END; i++)
- m_sCreatedEntry[i] = bCreate ? OUString() : m_sFields[i];
- SwCreateAuthEntryDlg_Impl aDlg(pButton->GetFrameWeld(),
- bCreate ? m_sCreatedEntry : m_sFields,
- *pSh, bNewEntry, bCreate);
- if(bNewEntry)
- {
- aDlg.SetCheckNameHdl(LINK(this, SwAuthorMarkPane, IsEntryAllowedHdl));
- }
- if(RET_OK == aDlg.run())
- {
- if(bCreate && !sOldId.isEmpty())
- {
- m_pEntryLB->RemoveEntry(sOldId);
- }
- for(int i = 0; i < AUTH_FIELD_END; i++)
- {
- m_sFields[i] = aDlg.GetEntryText(static_cast<ToxAuthorityField>(i));
- m_sCreatedEntry[i] = m_sFields[i];
- }
- if(bNewEntry && !m_pFromDocContentRB->IsChecked())
- {
- m_pFromDocContentRB->Check();
- ChangeSourceHdl(m_pFromDocContentRB);
- }
- if(bCreate)
- {
- OSL_ENSURE(LISTBOX_ENTRY_NOTFOUND ==
- m_pEntryLB->GetEntryPos(m_sFields[AUTH_FIELD_IDENTIFIER]),
- "entry exists!");
- m_pEntryLB->InsertEntry(m_sFields[AUTH_FIELD_IDENTIFIER]);
- m_pEntryLB->SelectEntry(m_sFields[AUTH_FIELD_IDENTIFIER]);
- }
- m_pEntryED->SetText(m_sFields[AUTH_FIELD_IDENTIFIER]);
- m_pAuthorFI->SetText(m_sFields[AUTH_FIELD_AUTHOR]);
- m_pTitleFI->SetText(m_sFields[AUTH_FIELD_TITLE]);
- m_pActionBT->Enable();
- }
-}
-
-IMPL_LINK(SwAuthorMarkPane, ChangeSourceHdl, Button*, pButton, void)
-{
- bool bFromComp = (pButton == m_pFromComponentRB);
- bIsFromComponent = bFromComp;
- m_pCreateEntryPB->Enable(!bIsFromComponent);
- m_pEntryLB->Clear();
- if(bIsFromComponent)
- {
- if(!bBibAccessInitialized)
- {
- uno::Reference< uno::XComponentContext > xContext = getProcessComponentContext();
- xBibAccess = frame::Bibliography::create( xContext );
- uno::Reference< beans::XPropertySet > xPropSet(xBibAccess, uno::UNO_QUERY);
- OUString uPropName("BibliographyDataFieldNames");
- if(xPropSet.is() && xPropSet->getPropertySetInfo()->hasPropertyByName(uPropName))
- {
- uno::Any aNames = xPropSet->getPropertyValue(uPropName);
- uno::Sequence<beans::PropertyValue> aSeq;
- if( aNames >>= aSeq)
- {
- const beans::PropertyValue* pArr = aSeq.getConstArray();
- for(sal_Int32 i = 0; i < aSeq.getLength(); i++)
- {
- OUString sTitle = pArr[i].Name;
- sal_Int16 nField = 0;
- pArr[i].Value >>= nField;
- if(nField >= 0 && nField < AUTH_FIELD_END)
- m_sColumnTitles[nField] = sTitle;
- }
- }
- }
- bBibAccessInitialized = true;
- }
- if(xBibAccess.is())
- {
- uno::Sequence<OUString> aIdentifiers = xBibAccess->getElementNames();
- const OUString* pNames = aIdentifiers.getConstArray();
- for(sal_Int32 i = 0; i < aIdentifiers.getLength(); i++)
- {
- m_pEntryLB->InsertEntry(pNames[i]);
- }
- }
- }
- else
- {
- const SwAuthorityFieldType* pFType = static_cast<const SwAuthorityFieldType*>(
- pSh->GetFieldType(SwFieldIds::TableOfAuthorities, OUString()));
- if(pFType)
- {
- std::vector<OUString> aIds;
- pFType->GetAllEntryIdentifiers( aIds );
- for(const OUString & i : aIds)
- m_pEntryLB->InsertEntry(i);
- }
- if(!m_sCreatedEntry[AUTH_FIELD_IDENTIFIER].isEmpty())
- m_pEntryLB->InsertEntry(m_sCreatedEntry[AUTH_FIELD_IDENTIFIER]);
- }
- m_pEntryLB->SelectEntryPos(0);
- CompEntryHdl(*m_pEntryLB);
-}
-
-IMPL_LINK(SwAuthorMarkPane, EditModifyHdl, Edit&, rEdit, void)
-{
- Link<Edit*,bool> aAllowed = LINK(this, SwAuthorMarkPane, IsEditAllowedHdl);
- bool bResult = aAllowed.Call(&rEdit);
- m_pActionBT->Enable(bResult);
- if(bResult)
- {
- OUString sEntry(rEdit.GetText());
- m_sFields[AUTH_FIELD_IDENTIFIER] = sEntry;
- m_sCreatedEntry[AUTH_FIELD_IDENTIFIER] = sEntry;
- }
-};
-
-IMPL_LINK(SwAuthorMarkPane, IsEntryAllowedHdl, weld::Entry&, rEdit, bool)
-{
- OUString sEntry = rEdit.get_text();
- bool bAllowed = false;
- if(!sEntry.isEmpty())
- {
- if(m_pEntryLB->GetEntryPos(sEntry) != LISTBOX_ENTRY_NOTFOUND)
- return false;
- else if(bIsFromComponent)
- {
- const SwAuthorityFieldType* pFType = static_cast<const SwAuthorityFieldType*>(
- pSh->GetFieldType(SwFieldIds::TableOfAuthorities, OUString()));
- bAllowed = !pFType || !pFType->GetEntryByIdentifier(sEntry);
- }
- else
- {
- bAllowed = !xBibAccess.is() || !xBibAccess->hasByName(sEntry);
- }
- }
- return bAllowed;
-}
-
-IMPL_LINK(SwAuthorMarkPane, IsEditAllowedHdl, Edit*, pEdit, bool)
-{
- OUString sEntry = pEdit->GetText();
- bool bAllowed = false;
- if(!sEntry.isEmpty())
- {
- if(m_pEntryLB->GetEntryPos(sEntry) != LISTBOX_ENTRY_NOTFOUND)
- return false;
- else if(bIsFromComponent)
- {
- const SwAuthorityFieldType* pFType = static_cast<const SwAuthorityFieldType*>(
- pSh->GetFieldType(SwFieldIds::TableOfAuthorities, OUString()));
- bAllowed = !pFType || !pFType->GetEntryByIdentifier(sEntry);
- }
- else
- {
- bAllowed = !xBibAccess.is() || !xBibAccess->hasByName(sEntry);
- }
- }
- return bAllowed;
-}
-
-void SwAuthorMarkPane::InitControls()
-{
- OSL_ENSURE(pSh, "no shell?");
- SwField* pField = pSh->GetCurField();
- OSL_ENSURE(bNewEntry || pField, "no current marker");
- if(bNewEntry)
- {
- ChangeSourceHdl(m_pFromComponentRB->IsChecked() ? m_pFromComponentRB : m_pFromDocContentRB);
- m_pCreateEntryPB->Enable(!m_pFromComponentRB->IsChecked());
- if(!m_pFromComponentRB->IsChecked() && !m_sCreatedEntry[0].isEmpty())
- for(int i = 0; i < AUTH_FIELD_END; i++)
- m_sFields[i] = m_sCreatedEntry[i];
- }
- if(bNewEntry || !pField || pField->GetTyp()->Which() != SwFieldIds::TableOfAuthorities)
- return;
-
- const SwAuthEntry* pEntry = static_cast<SwAuthorityFieldType*>(pField->GetTyp())->
- GetEntryByHandle(static_cast<SwAuthorityField*>(pField)->GetHandle());
-
- OSL_ENSURE(pEntry, "No authority entry found");
- if(!pEntry)
- return;
- for(int i = 0; i < AUTH_FIELD_END; i++)
- m_sFields[i] = pEntry->GetAuthorField(static_cast<ToxAuthorityField>(i));
-
- m_pEntryED->SetText(pEntry->GetAuthorField(AUTH_FIELD_IDENTIFIER));
- m_pAuthorFI->SetText(pEntry->GetAuthorField(AUTH_FIELD_AUTHOR));
- m_pTitleFI->SetText(pEntry->GetAuthorField(AUTH_FIELD_TITLE));
-}
-
-void SwAuthorMarkPane::Activate()
-{
- m_pActionBT->Enable(!pSh->HasReadonlySel());
-}
-
-bool AuthorMarkPane::bIsFromComponent = true;
+bool SwAuthorMarkPane::bIsFromComponent = true;
-AuthorMarkPane::AuthorMarkPane(weld::DialogController &rDialog, weld::Builder& rBuilder, bool bNewDlg)
+SwAuthorMarkPane::SwAuthorMarkPane(weld::DialogController &rDialog, weld::Builder& rBuilder, bool bNewDlg)
: m_rDialog(rDialog)
, bNewEntry(bNewDlg)
, bBibAccessInitialized(false)
@@ -1467,13 +1100,13 @@ AuthorMarkPane::AuthorMarkPane(weld::DialogController &rDialog, weld::Builder& r
m_xFromComponentRB->set_active(bIsFromComponent);
m_xFromDocContentRB->set_active(!bIsFromComponent);
- m_xActionBT->connect_clicked(LINK(this,AuthorMarkPane, InsertHdl));
- m_xCloseBT->connect_clicked(LINK(this,AuthorMarkPane, CloseHdl));
- m_xCreateEntryPB->connect_clicked(LINK(this,AuthorMarkPane, CreateEntryHdl));
- m_xEditEntryPB->connect_clicked(LINK(this,AuthorMarkPane, CreateEntryHdl));
- m_xFromComponentRB->connect_toggled(LINK(this,AuthorMarkPane, ChangeSourceHdl));
- m_xFromDocContentRB->connect_toggled(LINK(this,AuthorMarkPane, ChangeSourceHdl));
- m_xEntryED->connect_changed(LINK(this,AuthorMarkPane, EditModifyHdl));
+ m_xActionBT->connect_clicked(LINK(this,SwAuthorMarkPane, InsertHdl));
+ m_xCloseBT->connect_clicked(LINK(this,SwAuthorMarkPane, CloseHdl));
+ m_xCreateEntryPB->connect_clicked(LINK(this,SwAuthorMarkPane, CreateEntryHdl));
+ m_xEditEntryPB->connect_clicked(LINK(this,SwAuthorMarkPane, CreateEntryHdl));
+ m_xFromComponentRB->connect_toggled(LINK(this,SwAuthorMarkPane, ChangeSourceHdl));
+ m_xFromDocContentRB->connect_toggled(LINK(this,SwAuthorMarkPane, ChangeSourceHdl));
+ m_xEntryED->connect_changed(LINK(this,SwAuthorMarkPane, EditModifyHdl));
m_rDialog.set_title(SwResId(
bNewEntry ? STR_AUTHMRK_INSERT : STR_AUTHMRK_EDIT));
@@ -1482,17 +1115,17 @@ AuthorMarkPane::AuthorMarkPane(weld::DialogController &rDialog, weld::Builder& r
m_xEntryLB->show(bNewEntry);
if (bNewEntry)
{
- m_xEntryLB->connect_changed(LINK(this, AuthorMarkPane, CompEntryHdl));
+ m_xEntryLB->connect_changed(LINK(this, SwAuthorMarkPane, CompEntryHdl));
}
}
-void AuthorMarkPane::ReInitDlg(SwWrtShell& rWrtShell)
+void SwAuthorMarkPane::ReInitDlg(SwWrtShell& rWrtShell)
{
pSh = &rWrtShell;
InitControls();
}
-IMPL_LINK_NOARG(AuthorMarkPane, CloseHdl, weld::Button&, void)
+IMPL_LINK_NOARG(SwAuthorMarkPane, CloseHdl, weld::Button&, void)
{
if(bNewEntry)
{
@@ -1505,7 +1138,7 @@ IMPL_LINK_NOARG(AuthorMarkPane, CloseHdl, weld::Button&, void)
}
}
-IMPL_LINK( AuthorMarkPane, CompEntryHdl, weld::ComboBox&, rBox, void)
+IMPL_LINK( SwAuthorMarkPane, CompEntryHdl, weld::ComboBox&, rBox, void)
{
const OUString sEntry(rBox.get_active_text());
if(bIsFromComponent)
@@ -1549,7 +1182,7 @@ IMPL_LINK( AuthorMarkPane, CompEntryHdl, weld::ComboBox&, rBox, void)
m_xTitleFI->set_label(m_sFields[AUTH_FIELD_TITLE]);
}
-IMPL_LINK_NOARG(AuthorMarkPane, InsertHdl, weld::Button&, void)
+IMPL_LINK_NOARG(SwAuthorMarkPane, InsertHdl, weld::Button&, void)
{
//insert or update the SwAuthorityField...
if(pSh)
@@ -1604,7 +1237,7 @@ IMPL_LINK_NOARG(AuthorMarkPane, InsertHdl, weld::Button&, void)
CloseHdl(*m_xCloseBT);
}
-IMPL_LINK(AuthorMarkPane, CreateEntryHdl, weld::Button&, rButton, void)
+IMPL_LINK(SwAuthorMarkPane, CreateEntryHdl, weld::Button&, rButton, void)
{
bool bCreate = &rButton == m_xCreateEntryPB.get();
OUString sOldId = m_sCreatedEntry[0];
@@ -1615,7 +1248,7 @@ IMPL_LINK(AuthorMarkPane, CreateEntryHdl, weld::Button&, rButton, void)
*pSh, bNewEntry, bCreate);
if(bNewEntry)
{
- aDlg.SetCheckNameHdl(LINK(this, AuthorMarkPane, IsEntryAllowedHdl));
+ aDlg.SetCheckNameHdl(LINK(this, SwAuthorMarkPane, IsEntryAllowedHdl));
}
if(RET_OK == aDlg.run())
{
@@ -1647,7 +1280,7 @@ IMPL_LINK(AuthorMarkPane, CreateEntryHdl, weld::Button&, rButton, void)
}
}
-IMPL_LINK_NOARG(AuthorMarkPane, ChangeSourceHdl, weld::ToggleButton&, void)
+IMPL_LINK_NOARG(SwAuthorMarkPane, ChangeSourceHdl, weld::ToggleButton&, void)
{
bool bFromComp = m_xFromComponentRB->get_active();
bIsFromComponent = bFromComp;
@@ -1706,9 +1339,9 @@ IMPL_LINK_NOARG(AuthorMarkPane, ChangeSourceHdl, weld::ToggleButton&, void)
CompEntryHdl(*m_xEntryLB);
}
-IMPL_LINK(AuthorMarkPane, EditModifyHdl, weld::Entry&, rEdit, void)
+IMPL_LINK(SwAuthorMarkPane, EditModifyHdl, weld::Entry&, rEdit, void)
{
- Link<weld::Entry&,bool> aAllowed = LINK(this, AuthorMarkPane, IsEditAllowedHdl);
+ Link<weld::Entry&,bool> aAllowed = LINK(this, SwAuthorMarkPane, IsEditAllowedHdl);
bool bResult = aAllowed.Call(rEdit);
m_xActionBT->set_sensitive(bResult);
if(bResult)
@@ -1719,7 +1352,7 @@ IMPL_LINK(AuthorMarkPane, EditModifyHdl, weld::Entry&, rEdit, void)
}
};
-IMPL_LINK(AuthorMarkPane, IsEntryAllowedHdl, weld::Entry&, rEdit, bool)
+IMPL_LINK(SwAuthorMarkPane, IsEntryAllowedHdl, weld::Entry&, rEdit, bool)
{
OUString sEntry = rEdit.get_text();
bool bAllowed = false;
@@ -1741,7 +1374,7 @@ IMPL_LINK(AuthorMarkPane, IsEntryAllowedHdl, weld::Entry&, rEdit, bool)
return bAllowed;
}
-IMPL_LINK(AuthorMarkPane, IsEditAllowedHdl, weld::Entry&, rEdit, bool)
+IMPL_LINK(SwAuthorMarkPane, IsEditAllowedHdl, weld::Entry&, rEdit, bool)
{
OUString sEntry = rEdit.get_text();
bool bAllowed = false;
@@ -1763,7 +1396,7 @@ IMPL_LINK(AuthorMarkPane, IsEditAllowedHdl, weld::Entry&, rEdit, bool)
return bAllowed;
}
-void AuthorMarkPane::InitControls()
+void SwAuthorMarkPane::InitControls()
{
OSL_ENSURE(pSh, "no shell?");
SwField* pField = pSh->GetCurField();
@@ -1793,6 +1426,11 @@ void AuthorMarkPane::InitControls()
m_xTitleFI->set_label(pEntry->GetAuthorField(AUTH_FIELD_TITLE));
}
+void SwAuthorMarkPane::Activate()
+{
+ m_xActionBT->set_sensitive(!pSh->HasReadonlySel());
+}
+
namespace
{
const char* STR_AUTH_FIELD_ARY[] =
@@ -2016,13 +1654,13 @@ IMPL_LINK(SwCreateAuthEntryDlg_Impl, EnableHdl, weld::ComboBox&, rBox, void)
};
SwAuthMarkFloatDlg::SwAuthMarkFloatDlg(SfxBindings* _pBindings,
- SfxChildWindow* pChild,
- vcl::Window *pParent,
- SfxChildWinInfo const * pInfo,
- bool bNew)
- : SfxModelessDialog(_pBindings, pChild, pParent,
- "BibliographyEntryDialog", "modules/swriter/ui/bibliographyentry.ui")
- , m_aContent(*this, bNew)
+ SfxChildWindow* pChild,
+ weld::Window *pParent,
+ SfxChildWinInfo const * pInfo,
+ bool bNew)
+ : SfxModelessDialogController(_pBindings, pChild, pParent,
+ "modules/swriter/ui/bibliographyentry.ui", "BibliographyEntryDialog")
+ , m_aContent(*this, *m_xBuilder, bNew)
{
Initialize(pInfo);
SwWrtShell* pWrtShell = ::GetActiveWrtShell();
@@ -2032,7 +1670,7 @@ SwAuthMarkFloatDlg::SwAuthMarkFloatDlg(SfxBindings* _pBindings,
void SwAuthMarkFloatDlg::Activate()
{
- SfxModelessDialog::Activate();
+ SfxModelessDialogController::Activate();
m_aContent.Activate();
}
diff --git a/sw/source/uibase/inc/idxmrk.hxx b/sw/source/uibase/inc/idxmrk.hxx
index 0ccfb3f3f745..26268026c04e 100644
--- a/sw/source/uibase/inc/idxmrk.hxx
+++ b/sw/source/uibase/inc/idxmrk.hxx
@@ -27,12 +27,12 @@ class SwWrtShell;
class SwInsertIdxMarkWrapper final : public SfxChildWindow
{
- ScopedVclPtr<AbstractMarkFloatDlg> pAbstDlg;
+ ScopedVclPtr<AbstractMarkFloatDlg> xAbstDlg;
- SwInsertIdxMarkWrapper( vcl::Window *pParentWindow,
- sal_uInt16 nId,
- SfxBindings* pBindings,
- SfxChildWinInfo* pInfo );
+ SwInsertIdxMarkWrapper(vcl::Window *pParentWindow,
+ sal_uInt16 nId,
+ SfxBindings* pBindings,
+ SfxChildWinInfo* pInfo);
SFX_DECL_CHILDWINDOW_WITHID(SwInsertIdxMarkWrapper);
@@ -42,12 +42,12 @@ public:
class SwInsertAuthMarkWrapper final : public SfxChildWindow
{
- ScopedVclPtr<AbstractMarkFloatDlg> pAbstDlg;
+ ScopedVclPtr<AbstractMarkFloatDlg> xAbstDlg;
- SwInsertAuthMarkWrapper( vcl::Window *pParentWindow,
+ SwInsertAuthMarkWrapper(vcl::Window *pParentWindow,
sal_uInt16 nId,
SfxBindings* pBindings,
- SfxChildWinInfo* pInfo );
+ SfxChildWinInfo* pInfo);
SFX_DECL_CHILDWINDOW_WITHID(SwInsertAuthMarkWrapper);
diff --git a/sw/source/uibase/inc/swuiidxmrk.hxx b/sw/source/uibase/inc/swuiidxmrk.hxx
index f04c5eefe399..f95ace96ae5c 100644
--- a/sw/source/uibase/inc/swuiidxmrk.hxx
+++ b/sw/source/uibase/inc/swuiidxmrk.hxx
@@ -47,45 +47,10 @@ class SwIndexMarkModalDlg;
class SwIndexMarkPane
{
- Dialog& m_rDialog;
+ std::shared_ptr<weld::Dialog> m_xDialog;
friend class SwIndexMarkFloatDlg;
friend class SwIndexMarkModalDlg;
- VclPtr<VclFrame> m_pFrame;
- VclPtr<FixedText> m_pTypeFT;
- VclPtr<ListBox> m_pTypeDCB;
- VclPtr<PushButton> m_pNewBT;
-
- VclPtr<Edit> m_pEntryED;
- VclPtr<PushButton> m_pSyncED;
- VclPtr<FixedText> m_pPhoneticFT0;
- VclPtr<Edit> m_pPhoneticED0;
-
- VclPtr<FixedText> m_pKey1FT;
- VclPtr<ComboBox> m_pKey1DCB;
- VclPtr<FixedText> m_pPhoneticFT1;
- VclPtr<Edit> m_pPhoneticED1;
-
- VclPtr<FixedText> m_pKey2FT;
- VclPtr<ComboBox> m_pKey2DCB;
- VclPtr<FixedText> m_pPhoneticFT2;
- VclPtr<Edit> m_pPhoneticED2;
-
- VclPtr<FixedText> m_pLevelFT;
- VclPtr<NumericField> m_pLevelNF;
- VclPtr<CheckBox> m_pMainEntryCB;
- VclPtr<CheckBox> m_pApplyToAllCB;
- VclPtr<CheckBox> m_pSearchCaseSensitiveCB;
- VclPtr<CheckBox> m_pSearchCaseWordOnlyCB;
-
- VclPtr<PushButton> m_pOKBT;
- VclPtr<CloseButton> m_pCloseBT;
- VclPtr<PushButton> m_pDelBT;
-
- VclPtr<PushButton> m_pPrevSameBT;
- VclPtr<PushButton> m_pNextSameBT;
- VclPtr<PushButton> m_pPrevBT;
- VclPtr<PushButton> m_pNextBT;
OUString m_aOrgStr;
bool m_bDel;
@@ -104,26 +69,56 @@ class SwIndexMarkPane
m_pTOXMgr;
SwWrtShell* m_pSh;
+ std::unique_ptr<weld::Widget> m_xFrame;
+ std::unique_ptr<weld::Label> m_xTypeFT;
+ std::unique_ptr<weld::ComboBox> m_xTypeDCB;
+ std::unique_ptr<weld::Button> m_xNewBT;
+ std::unique_ptr<weld::Entry> m_xEntryED;
+ std::unique_ptr<weld::Button> m_xSyncED;
+ std::unique_ptr<weld::Label> m_xPhoneticFT0;
+ std::unique_ptr<weld::Entry> m_xPhoneticED0;
+ std::unique_ptr<weld::Label> m_xKey1FT;
+ std::unique_ptr<weld::ComboBox> m_xKey1DCB;
+ std::unique_ptr<weld::Label> m_xPhoneticFT1;
+ std::unique_ptr<weld::Entry> m_xPhoneticED1;
+ std::unique_ptr<weld::Label> m_xKey2FT;
+ std::unique_ptr<weld::ComboBox> m_xKey2DCB;
+ std::unique_ptr<weld::Label> m_xPhoneticFT2;
+ std::unique_ptr<weld::Entry> m_xPhoneticED2;
+ std::unique_ptr<weld::Label> m_xLevelFT;
+ std::unique_ptr<weld::SpinButton> m_xLevelNF;
+ std::unique_ptr<weld::CheckButton> m_xMainEntryCB;
+ std::unique_ptr<weld::CheckButton> m_xApplyToAllCB;
+ std::unique_ptr<weld::CheckButton> m_xSearchCaseSensitiveCB;
+ std::unique_ptr<weld::CheckButton> m_xSearchCaseWordOnlyCB;
+ std::unique_ptr<weld::Button> m_xOKBT;
+ std::unique_ptr<weld::Button> m_xCloseBT;
+ std::unique_ptr<weld::Button> m_xDelBT;
+ std::unique_ptr<weld::Button> m_xPrevSameBT;
+ std::unique_ptr<weld::Button> m_xNextSameBT;
+ std::unique_ptr<weld::Button> m_xPrevBT;
+ std::unique_ptr<weld::Button> m_xNextBT;
+
void Apply();
void InitControls();
void InsertMark();
void UpdateMark();
- DECL_LINK( InsertHdl, Button *, void );
- DECL_LINK( CloseHdl, Button*, void );
- DECL_LINK( SyncSelectionHdl, Button*, void );
- DECL_LINK( DelHdl, Button*, void );
- DECL_LINK( NextHdl, Button*, void );
- DECL_LINK( NextSameHdl, Button*, void );
- DECL_LINK( PrevHdl, Button*, void );
- DECL_LINK( PrevSameHdl, Button*, void );
- DECL_LINK( ModifyListBoxHdl, ListBox&, void );
- DECL_LINK( ModifyEditHdl, Edit&, void );
- void ModifyHdl(Control const *);
- DECL_LINK( KeyDCBModifyHdl, Edit&, void );
- DECL_LINK( NewUserIdxHdl, Button*, void );
- DECL_LINK( SearchTypeHdl, Button*, void );
- DECL_LINK( PhoneticEDModifyHdl, Edit&, void );
+ DECL_LINK(InsertHdl, weld::Button&, void);
+ DECL_LINK(CloseHdl, weld::Button&, void);
+ DECL_LINK(SyncSelectionHdl, weld::Button&, void);
+ DECL_LINK(DelHdl, weld::Button&, void);
+ DECL_LINK( NextHdl, weld::Button&, void );
+ DECL_LINK( NextSameHdl, weld::Button&, void );
+ DECL_LINK( PrevHdl, weld::Button&, void );
+ DECL_LINK( PrevSameHdl, weld::Button&, void );
+ DECL_LINK( ModifyListBoxHdl, weld::ComboBox&, void );
+ DECL_LINK( ModifyEditHdl, weld::Entry&, void );
+ void ModifyHdl(const weld::Widget& rWidget);
+ DECL_LINK( KeyDCBModifyHdl, weld::ComboBox&, void );
+ DECL_LINK( NewUserIdxHdl, weld::Button&, void );
+ DECL_LINK( SearchTypeHdl, weld::ToggleButton&, void );
+ DECL_LINK( PhoneticEDModifyHdl, weld::Entry&, void );
//this method updates the values from 'nLangForPhoneticReading' and 'bIsPhoneticReadingEnabled'
//it needs to be called ones if this dialog is opened to create a new entry (in InitControls),
@@ -140,97 +135,41 @@ class SwIndexMarkPane
public:
- SwIndexMarkPane(Dialog &rDialog,
- bool bNewDlg,
- SwWrtShell& rWrtShell);
-
- weld::Window* GetFrameWeld() { return m_rDialog.GetFrameWeld(); }
+ SwIndexMarkPane(const std::shared_ptr<weld::Dialog>& rDialog, weld::Builder& rBuilder,
+ bool bNewDlg, SwWrtShell& rWrtShell);
~SwIndexMarkPane();
void ReInitDlg(SwWrtShell& rWrtShell, SwTOXMark const * pCurTOXMark = nullptr);
- bool IsTOXType(const OUString& rName)
- {return LISTBOX_ENTRY_NOTFOUND != m_pTypeDCB->GetEntryPos(rName);}
+ bool IsTOXType(const OUString& rName) { return m_xTypeDCB->find_text(rName) != -1; }
};
-class SwIndexMarkFloatDlg : public SfxModelessDialog
+class SwIndexMarkFloatDlg : public SfxModelessDialogController
{
SwIndexMarkPane m_aContent;
+
virtual void Activate() override;
public:
- SwIndexMarkFloatDlg( SfxBindings* pBindings,
- SfxChildWindow* pChild,
- vcl::Window *pParent,
- SfxChildWinInfo const * pInfo,
- bool bNew);
+ SwIndexMarkFloatDlg(SfxBindings* pBindings,
+ SfxChildWindow* pChild,
+ weld::Window *pParent,
+ SfxChildWinInfo const * pInfo,
+ bool bNew);
void ReInitDlg(SwWrtShell& rWrtShell);
};
-class SwIndexMarkModalDlg : public SvxStandardDialog
+class SwIndexMarkModalDlg : public SfxDialogController
{
SwIndexMarkPane m_aContent;
public:
- SwIndexMarkModalDlg(vcl::Window *pParent, SwWrtShell& rSh, SwTOXMark const * pCurTOXMark);
-
- virtual void Apply() override;
- virtual void dispose() override;
+ SwIndexMarkModalDlg(weld::Window *pParent, SwWrtShell& rSh, SwTOXMark const * pCurTOXMark);
+ virtual short int run() override;
};
class SwAuthMarkModalDlg;
class SwAuthorMarkPane
{
- Dialog& m_rDialog;
-
- static bool bIsFromComponent;
-
- friend class SwAuthMarkModalDlg;
- friend class SwAuthMarkFloatDlg;
-
- VclPtr<RadioButton> m_pFromComponentRB;
- VclPtr<RadioButton> m_pFromDocContentRB;
- VclPtr<FixedText> m_pAuthorFI;
- VclPtr<FixedText> m_pTitleFI;
- VclPtr<Edit> m_pEntryED;
- VclPtr<ListBox> m_pEntryLB;
-
- VclPtr<PushButton> m_pActionBT;
- VclPtr<CloseButton> m_pCloseBT;
- VclPtr<PushButton> m_pCreateEntryPB;
- VclPtr<PushButton> m_pEditEntryPB;
-
- bool const bNewEntry;
- bool bBibAccessInitialized;
-
- SwWrtShell* pSh;
-
- OUString m_sColumnTitles[AUTH_FIELD_END];
- OUString m_sFields[AUTH_FIELD_END];
-
- OUString m_sCreatedEntry[AUTH_FIELD_END];
-
- css::uno::Reference< css::container::XNameAccess > xBibAccess;
-
- DECL_LINK(InsertHdl, Button*, void);
- DECL_LINK(CloseHdl, Button*, void);
- DECL_LINK(CreateEntryHdl, Button*, void);
- DECL_LINK(CompEntryHdl, ListBox&, void);
- DECL_LINK(ChangeSourceHdl, Button*, void);
- DECL_LINK(IsEditAllowedHdl, Edit*, bool);
- DECL_LINK(IsEntryAllowedHdl, weld::Entry&, bool);
- DECL_LINK(EditModifyHdl, Edit&, void);
-
- void InitControls();
- void Activate();
-
-public:
- SwAuthorMarkPane( Dialog &rDialog, bool bNew);
-
- void ReInitDlg(SwWrtShell& rWrtShell);
-};
-
-class AuthorMarkPane
-{
weld::DialogController& m_rDialog;
static bool bIsFromComponent;
@@ -271,33 +210,33 @@ class AuthorMarkPane
DECL_LINK(EditModifyHdl, weld::Entry&, void);
void InitControls();
+ void Activate();
public:
- AuthorMarkPane(weld::DialogController& rDialog, weld::Builder& rBuilder, bool bNew);
-
- void ReInitDlg(SwWrtShell& rWrtShell);
+ SwAuthorMarkPane(weld::DialogController& rDialog, weld::Builder& rBuilder, bool bNew);
+ void ReInitDlg(SwWrtShell& rWrtShell);
};
-class SwAuthMarkFloatDlg : public SfxModelessDialog
+class SwAuthMarkFloatDlg : public SfxModelessDialogController
{
SwAuthorMarkPane m_aContent;
virtual void Activate() override;
public:
- SwAuthMarkFloatDlg( SfxBindings* pBindings,
- SfxChildWindow* pChild,
- vcl::Window *pParent,
- SfxChildWinInfo const * pInfo,
- bool bNew);
+ SwAuthMarkFloatDlg(SfxBindings* pBindings,
+ SfxChildWindow* pChild,
+ weld::Window *pParent,
+ SfxChildWinInfo const * pInfo,
+ bool bNew);
void ReInitDlg(SwWrtShell& rWrtShell);
};
class SwAuthMarkModalDlg : public SfxDialogController
{
- AuthorMarkPane m_aContent;
+ SwAuthorMarkPane m_aContent;
+
void Apply();
public:
SwAuthMarkModalDlg(weld::Window *pParent, SwWrtShell& rSh);
-
virtual short int run() override;
};
diff --git a/sw/source/uibase/index/idxmrk.cxx b/sw/source/uibase/index/idxmrk.cxx
index 2ad709b2ecdb..a4f4f631c753 100644
--- a/sw/source/uibase/index/idxmrk.cxx
+++ b/sw/source/uibase/index/idxmrk.cxx
@@ -49,10 +49,8 @@ SwInsertIdxMarkWrapper::SwInsertIdxMarkWrapper( vcl::Window *pParentWindow,
SfxChildWindow(pParentWindow, nId)
{
SwAbstractDialogFactory* pFact = SwAbstractDialogFactory::Create();
- pAbstDlg = pFact->CreateIndexMarkFloatDlg(pBindings, this, pParentWindow, pInfo);
- SetWindow( pAbstDlg->GetWindow() );
- GetWindow()->Show(); // at this point,because before pSh has to be initialized in ReInitDlg()
- // -> Show() will invoke StateChanged() and save pos
+ xAbstDlg = pFact->CreateIndexMarkFloatDlg(pBindings, this, pParentWindow->GetFrameWeld(), pInfo);
+ SetController(xAbstDlg->GetController());
}
SfxChildWinInfo SwInsertIdxMarkWrapper::GetInfo() const
@@ -62,9 +60,9 @@ SfxChildWinInfo SwInsertIdxMarkWrapper::GetInfo() const
return aInfo;
}
-void SwInsertIdxMarkWrapper::ReInitDlg(SwWrtShell& rWrtShell)
+void SwInsertIdxMarkWrapper::ReInitDlg(SwWrtShell& rWrtShell)
{
- pAbstDlg->ReInitDlg(rWrtShell);
+ xAbstDlg->ReInitDlg(rWrtShell);
}
SFX_IMPL_CHILDWINDOW_WITHID(SwInsertAuthMarkWrapper, FN_INSERT_AUTH_ENTRY_DLG)
@@ -76,8 +74,8 @@ SwInsertAuthMarkWrapper::SwInsertAuthMarkWrapper( vcl::Window *pParentWindow,
SfxChildWindow(pParentWindow, nId)
{
SwAbstractDialogFactory* pFact = SwAbstractDialogFactory::Create();
- pAbstDlg = pFact->CreateAuthMarkFloatDlg(pBindings, this, pParentWindow, pInfo);
- SetWindow( pAbstDlg->GetWindow() );
+ xAbstDlg = pFact->CreateAuthMarkFloatDlg(pBindings, this, pParentWindow->GetFrameWeld(), pInfo);
+ SetController(xAbstDlg->GetController());
}
SfxChildWinInfo SwInsertAuthMarkWrapper::GetInfo() const
@@ -86,9 +84,9 @@ SfxChildWinInfo SwInsertAuthMarkWrapper::GetInfo() const
return aInfo;
}
-void SwInsertAuthMarkWrapper::ReInitDlg(SwWrtShell& rWrtShell)
+void SwInsertAuthMarkWrapper::ReInitDlg(SwWrtShell& rWrtShell)
{
- pAbstDlg->ReInitDlg(rWrtShell);
+ xAbstDlg->ReInitDlg(rWrtShell);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/uibase/shells/textidx.cxx b/sw/source/uibase/shells/textidx.cxx
index a8e36de82379..b346178420f6 100644
--- a/sw/source/uibase/shells/textidx.cxx
+++ b/sw/source/uibase/shells/textidx.cxx
@@ -85,7 +85,7 @@ void SwTextShell::ExecIdx(SfxRequest const &rReq)
if( nRet == RET_OK)
{
SwAbstractDialogFactory* pFact = SwAbstractDialogFactory::Create();
- ScopedVclPtr<VclAbstractDialog> pDlg(pFact->CreateIndexMarkModalDlg(pMDI, GetShell(), aMgr.GetCurTOXMark()));
+ ScopedVclPtr<VclAbstractDialog> pDlg(pFact->CreateIndexMarkModalDlg(GetView().GetFrameWeld(), GetShell(), aMgr.GetCurTOXMark()));
pDlg->Execute();
}
break;
diff --git a/sw/uiconfig/swriter/ui/indexentry.ui b/sw/uiconfig/swriter/ui/indexentry.ui
index 8d057c4760fd..a4157d054496 100644
--- a/sw/uiconfig/swriter/ui/indexentry.ui
+++ b/sw/uiconfig/swriter/ui/indexentry.ui
@@ -178,7 +178,7 @@
</packing>
</child>
<child>
- <object class="GtkComboBox" id="typecb">
+ <object class="GtkComboBoxText" id="typecb">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
@@ -271,6 +271,7 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="halign">start</property>
+ <property name="activates_default">True</property>
<property name="adjustment">adjustment1</property>
</object>
<packing>
@@ -331,6 +332,7 @@
<object class="GtkEntry" id="phonetic0ed">
<property name="can_focus">True</property>
<property name="no_show_all">True</property>
+ <property name="activates_default">True</property>
</object>
<packing>
<property name="left_attach">4</property>
@@ -341,6 +343,7 @@
<object class="GtkEntry" id="phonetic1ed">
<property name="can_focus">True</property>
<property name="no_show_all">True</property>
+ <property name="activates_default">True</property>
</object>
<packing>
<property name="left_attach">4</property>
@@ -351,6 +354,7 @@
<object class="GtkEntry" id="phonetic2ed">
<property name="can_focus">True</property>
<property name="no_show_all">True</property>
+ <property name="activates_default">True</property>
</object>
<packing>
<property name="left_attach">4</property>
@@ -367,6 +371,7 @@
<object class="GtkEntry" id="comboboxtext-entry">
<property name="sensitive">False</property>
<property name="can_focus">False</property>
+ <property name="activates_default">True</property>
</object>
</child>
</object>
@@ -386,6 +391,7 @@
<object class="GtkEntry" id="comboboxtext-entry2">
<property name="sensitive">False</property>
<property name="can_focus">False</property>
+ <property name="activates_default">True</property>
</object>
</child>
</object>
@@ -411,6 +417,7 @@
<object class="GtkEntry" id="entryed">
<property name="visible">True</property>
<property name="can_focus">True</property>
+ <property name="activates_default">True</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -609,8 +616,8 @@
</child>
<action-widgets>
<action-widget response="-7">close</action-widget>
- <action-widget response="0">delete</action-widget>
- <action-widget response="0">insert</action-widget>
+ <action-widget response="101">delete</action-widget>
+ <action-widget response="102">insert</action-widget>
<action-widget response="-5">ok</action-widget>
<action-widget response="-11">help</action-widget>
</action-widgets>
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index a3b4be45c6c6..490d89006399 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -2441,6 +2441,11 @@ public:
m_xComboBox->SetStyle(m_xComboBox->GetStyle() | WB_SORT);
}
+ virtual bool get_popup_shown() const override
+ {
+ return m_xComboBox->IsInDropDown();
+ }
+
virtual ~SalInstanceComboBox() override
{
clear();
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index 75486ca188f2..c0768ddffc2e 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -5589,6 +5589,11 @@ public:
bodge_wayland_menu_not_appearing();
}
+ virtual bool get_popup_shown() const override
+ {
+ return m_bPopupActive;
+ }
+
virtual ~GtkInstanceComboBox() override
{
if (GtkEntry* pEntry = get_entry())
More information about the Libreoffice-commits
mailing list