summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-04-03 15:17:23 +0100
committerCaolán McNamara <caolanm@redhat.com>2018-04-03 21:01:25 +0200
commit5672627a4d4adc613aecb3ccef721655d9dcd0b2 (patch)
tree894fe3ec3c69675ae8fe95ab6a5b37ca8a958996 /sw
parent19dd424dbdfa2321438860963aa98630ac008a71 (diff)
weld SwGotoPageDlg
Change-Id: I23c77c3ed532d3e79cdbf07fcebda5bcdc7d27dc Reviewed-on: https://gerrit.libreoffice.org/52333 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sw')
-rw-r--r--sw/inc/gotodlg.hxx31
-rw-r--r--sw/source/uibase/uiview/view2.cxx6
-rw-r--r--sw/source/uibase/utlui/gotodlg.cxx59
-rw-r--r--sw/uiconfig/swriter/ui/gotopagedialog.ui13
4 files changed, 50 insertions, 59 deletions
diff --git a/sw/inc/gotodlg.hxx b/sw/inc/gotodlg.hxx
index 41ae860e03fe..547a439e196f 100644
--- a/sw/inc/gotodlg.hxx
+++ b/sw/inc/gotodlg.hxx
@@ -20,34 +20,33 @@
#ifndef INCLUDED_SW_SOURCE_UIBASE_INC_GOTODLG_HXX
#define INCLUDED_SW_SOURCE_UIBASE_INC_GOTODLG_HXX
-#include <vcl/dialog.hxx>
+#include <vcl/weld.hxx>
class SwView;
class SwWrtShell;
-class SwGotoPageDlg : public ModalDialog
+class SwGotoPageDlg : public weld::GenericDialogController
{
public:
- SwGotoPageDlg(vcl::Window *parent, SfxBindings* _pBindings);
+ SwGotoPageDlg(weld::Window *parent, SfxBindings* _pBindings);
- virtual ~SwGotoPageDlg() override;
- virtual void dispose() override;
-
- sal_uInt16 GetPageSelection() const{
- return (mpMtrPageCtrl->GetText()).toUInt32();}
+ sal_uInt16 GetPageSelection() const
+ {
+ return mxMtrPageCtrl->get_text().toUInt32();
+ }
private:
- SwView* GetCreateView() const;
- sal_uInt16 GetPageInfo();
-
- DECL_LINK( PageModifiedHdl, Edit&, void );
-
- VclPtr<Edit> mpMtrPageCtrl;
- VclPtr<FixedText> mpPageNumberLbl;
-
SwView *m_pCreateView;
SfxBindings *m_rBindings;
sal_uInt16 mnMaxPageCnt;
+
+ std::unique_ptr<weld::Entry> mxMtrPageCtrl;
+ std::unique_ptr<weld::Label> mxPageNumberLbl;
+
+ SwView* GetCreateView() const;
+ sal_uInt16 GetPageInfo();
+
+ DECL_LINK( PageModifiedHdl, weld::Entry&, void );
};
#endif
diff --git a/sw/source/uibase/uiview/view2.cxx b/sw/source/uibase/uiview/view2.cxx
index 26fdb197f3cf..8e5f4c376d64 100644
--- a/sw/source/uibase/uiview/view2.cxx
+++ b/sw/source/uibase/uiview/view2.cxx
@@ -882,9 +882,9 @@ void SwView::Execute(SfxRequest &rReq)
break;
case FN_GOTO_PAGE:
{
- ScopedVclPtrInstance< SwGotoPageDlg > aDlg (&GetViewFrame()->GetWindow(), &GetViewFrame()->GetBindings());
- if(aDlg->Execute() == RET_OK)
- GetWrtShell().GotoPage(aDlg->GetPageSelection(), true);
+ SwGotoPageDlg aDlg(GetViewFrame()->GetWindow().GetFrameWeld(), &GetViewFrame()->GetBindings());
+ if (aDlg.run() == RET_OK)
+ GetWrtShell().GotoPage(aDlg.GetPageSelection(), true);
}
break;
case FN_EDIT_CURRENT_TOX:
diff --git a/sw/source/uibase/utlui/gotodlg.cxx b/sw/source/uibase/utlui/gotodlg.cxx
index 1098923f40f4..8be160720a40 100644
--- a/sw/source/uibase/utlui/gotodlg.cxx
+++ b/sw/source/uibase/utlui/gotodlg.cxx
@@ -27,54 +27,39 @@
using namespace com::sun::star;
-SwGotoPageDlg::SwGotoPageDlg( vcl::Window* pParent, SfxBindings* _pBindings):
- ModalDialog(pParent, "GotoPageDialog", "modules/swriter/ui/gotopagedialog.ui"),
- m_pCreateView(nullptr),
- m_rBindings(_pBindings),
- mnMaxPageCnt(1)
+SwGotoPageDlg::SwGotoPageDlg(weld::Window* pParent, SfxBindings* _pBindings)
+ : GenericDialogController(pParent, "modules/swriter/ui/gotopagedialog.ui", "GotoPageDialog")
+ , m_pCreateView(nullptr)
+ , m_rBindings(_pBindings)
+ , mnMaxPageCnt(1)
+ , mxMtrPageCtrl(m_xBuilder->weld_entry("page"))
+ , mxPageNumberLbl(m_xBuilder->weld_label("page_count"))
{
- get(mpMtrPageCtrl, "page");
- get(mpPageNumberLbl, "page_count");
-
sal_uInt16 nTotalPage = GetPageInfo();
if(nTotalPage)
{
- OUString sStr = mpPageNumberLbl->GetText();
- mpPageNumberLbl->SetText(sStr.replaceFirst("$1", OUString::number(nTotalPage)));
+ OUString sStr = mxPageNumberLbl->get_label();
+ mxPageNumberLbl->set_label(sStr.replaceFirst("$1", OUString::number(nTotalPage)));
mnMaxPageCnt = nTotalPage;
}
- mpMtrPageCtrl->SetModifyHdl(LINK(this, SwGotoPageDlg, PageModifiedHdl));
- mpMtrPageCtrl->SetCursorAtLast();
- Selection aSel(0, EDIT_NOLIMIT);
- mpMtrPageCtrl->SetSelection(aSel);
-}
-
-SwGotoPageDlg::~SwGotoPageDlg()
-{
- disposeOnce();
-}
-
-void SwGotoPageDlg::dispose()
-{
- mpMtrPageCtrl.clear();
- mpPageNumberLbl.clear();
-
- ModalDialog::dispose();
+ mxMtrPageCtrl->connect_changed(LINK(this, SwGotoPageDlg, PageModifiedHdl));
+ mxMtrPageCtrl->set_position(-1);
+ mxMtrPageCtrl->select_region(0, -1);
}
-IMPL_LINK_NOARG(SwGotoPageDlg, PageModifiedHdl, Edit&, void)
+IMPL_LINK_NOARG(SwGotoPageDlg, PageModifiedHdl, weld::Entry&, void)
{
- if(!(mpMtrPageCtrl->GetText()).isEmpty() )
+ if (!mxMtrPageCtrl->get_text().isEmpty())
{
- int page_value = (mpMtrPageCtrl->GetText()).toInt32();
+ int page_value = mxMtrPageCtrl->get_text().toInt32();
- if(page_value <= 0.0)
- mpMtrPageCtrl->SetText(OUString::number(1));
+ if (page_value <= 0)
+ mxMtrPageCtrl->set_text(OUString::number(1));
else if(page_value > mnMaxPageCnt)
- mpMtrPageCtrl->SetText(OUString::number(mnMaxPageCnt));
+ mxMtrPageCtrl->set_text(OUString::number(mnMaxPageCnt));
- mpMtrPageCtrl->SetCursorAtLast();
+ mxMtrPageCtrl->set_position(-1);
}
}
@@ -103,16 +88,16 @@ sal_uInt16 SwGotoPageDlg::GetPageInfo()
{
SwView *pView = GetCreateView();
SwWrtShell *pSh = pView ? &pView->GetWrtShell() : nullptr;
- mpMtrPageCtrl->SetText(OUString::number(1));
+ mxMtrPageCtrl->set_text(OUString::number(1));
if (pSh)
{
const sal_uInt16 nPageCnt = pSh->GetPageCnt();
sal_uInt16 nPhyPage, nVirPage;
pSh->GetPageNum(nPhyPage, nVirPage);
- mpMtrPageCtrl->SetText(OUString::number(nPhyPage));
+ mxMtrPageCtrl->set_text(OUString::number(nPhyPage));
return nPageCnt;
}
return 0;
}
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ \ No newline at end of file
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/uiconfig/swriter/ui/gotopagedialog.ui b/sw/uiconfig/swriter/ui/gotopagedialog.ui
index ef0a2965c4cc..5fee2fc690ac 100644
--- a/sw/uiconfig/swriter/ui/gotopagedialog.ui
+++ b/sw/uiconfig/swriter/ui/gotopagedialog.ui
@@ -1,11 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
+<!-- Generated with glade 3.20.4 -->
<interface domain="sw">
<requires lib="gtk+" version="3.18"/>
<object class="GtkDialog" id="GotoPageDialog">
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="title" translatable="yes" context="gotopagedialog|GotoPageDialog">Go to Page</property>
+ <property name="modal">True</property>
+ <property name="default_width">0</property>
+ <property name="default_height">0</property>
<property name="type_hint">dialog</property>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1">
@@ -67,9 +70,9 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="gotopagedialog|page_count">of $1</property>
<property name="use_underline">True</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">2</property>
@@ -80,6 +83,7 @@
<object class="GtkEntry" id="page">
<property name="visible">True</property>
<property name="can_focus">True</property>
+ <property name="activates_default">True</property>
<property name="width_chars">5</property>
<property name="input_purpose">number</property>
</object>
@@ -93,9 +97,9 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="gotopagedialog|page_label">Page:</property>
<property name="use_underline">True</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -115,6 +119,9 @@
<action-widget response="-5">ok</action-widget>
<action-widget response="-6">cancel</action-widget>
</action-widgets>
+ <child>
+ <placeholder/>
+ </child>
</object>
<object class="GtkAdjustment" id="page_value">
<property name="lower">1</property>