[Libreoffice-commits] core.git: solenv/sanitizers sw/inc sw/source sw/uiconfig vcl/unx
Caolán McNamara (via logerrit)
logerrit at kemper.freedesktop.org
Thu Sep 26 11:21:41 UTC 2019
solenv/sanitizers/ui/modules/swriter.suppr | 10 -
sw/inc/strings.hrc | 10 +
sw/source/ui/index/cnttab.cxx | 114 ++++++++++------------
sw/uiconfig/swriter/ui/createautomarkdialog.ui | 126 -------------------------
vcl/unx/gtk3/gtk3gtkinst.cxx | 1
5 files changed, 69 insertions(+), 192 deletions(-)
New commits:
commit 5c485d1e9a14696922e0a4bbdecef8e8e8b6c6c0
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Wed Sep 25 11:51:18 2019 +0100
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Thu Sep 26 13:20:30 2019 +0200
weld SwAutoMarkDlg_Impl
Change-Id: I64fc2b503f76b61ea8c2f26c8170c72611935131
Reviewed-on: https://gerrit.libreoffice.org/79533
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/solenv/sanitizers/ui/modules/swriter.suppr b/solenv/sanitizers/ui/modules/swriter.suppr
index 369da76a8c4a..8fd62f49ff80 100644
--- a/solenv/sanitizers/ui/modules/swriter.suppr
+++ b/solenv/sanitizers/ui/modules/swriter.suppr
@@ -29,15 +29,6 @@ sw/uiconfig/swriter/ui/conditionpage.ui://GtkComboBoxText[@id='filter'] no-label
sw/uiconfig/swriter/ui/converttexttable.ui://GtkLabel[@id='label4'] orphan-label
sw/uiconfig/swriter/ui/createaddresslist.ui://GtkEntry[@id='SETNO-nospin'] no-labelled-by
sw/uiconfig/swriter/ui/createaddresslist.ui://GtkSpinButton[@id='SETNO'] no-labelled-by
-sw/uiconfig/swriter/ui/createautomarkdialog.ui://GtkLabel[@id='searchterm'] orphan-label
-sw/uiconfig/swriter/ui/createautomarkdialog.ui://GtkLabel[@id='alternative'] orphan-label
-sw/uiconfig/swriter/ui/createautomarkdialog.ui://GtkLabel[@id='key1'] orphan-label
-sw/uiconfig/swriter/ui/createautomarkdialog.ui://GtkLabel[@id='key2'] orphan-label
-sw/uiconfig/swriter/ui/createautomarkdialog.ui://GtkLabel[@id='comment'] orphan-label
-sw/uiconfig/swriter/ui/createautomarkdialog.ui://GtkLabel[@id='casesensitive'] orphan-label
-sw/uiconfig/swriter/ui/createautomarkdialog.ui://GtkLabel[@id='wordonly'] orphan-label
-sw/uiconfig/swriter/ui/createautomarkdialog.ui://GtkLabel[@id='yes'] orphan-label
-sw/uiconfig/swriter/ui/createautomarkdialog.ui://GtkLabel[@id='no'] orphan-label
sw/uiconfig/swriter/ui/customizeaddrlistdialog.ui://GtkButton[@id='down'] button-no-label
sw/uiconfig/swriter/ui/customizeaddrlistdialog.ui://GtkButton[@id='up'] button-no-label
sw/uiconfig/swriter/ui/editsectiondialog.ui://GtkEntry[@id='curname'] no-labelled-by
@@ -252,7 +243,6 @@ sw/uiconfig/swriter/ui/tocstylespage.ui://GtkButton[@id='assign'] button-no-labe
sw/uiconfig/swriter/ui/tablecolumnpage.ui://GtkButton[@id='back'] button-no-label
sw/uiconfig/swriter/ui/tablecolumnpage.ui://GtkButton[@id='next'] button-no-label
sw/uiconfig/swriter/ui/tablepreviewdialog.ui://GtkLabel[@id='description'] orphan-label
-sw/uiconfig/swriter/ui/tablepreviewdialog.ui://GtkDrawingArea[@id='beamer'] no-labelled-by
sw/uiconfig/swriter/ui/tabletextflowpage.ui://GtkSpinButton[@id='pagenonf'] missing-label-for
sw/uiconfig/swriter/ui/tabletextflowpage.ui://GtkLabel[@id='label39'] orphan-label
sw/uiconfig/swriter/ui/textgridpage.ui://GtkLabel[@id='labelFT_CHARRANGE'] orphan-label
diff --git a/sw/inc/strings.hrc b/sw/inc/strings.hrc
index 010d7e662724..6cb4b8256fab 100644
--- a/sw/inc/strings.hrc
+++ b/sw/inc/strings.hrc
@@ -1365,6 +1365,16 @@
#define STR_OPT_PREVIEW_DELETED NC_("optredlinepage|deletedpreview", "Delete")
#define STR_OPT_PREVIEW_CHANGED NC_("optredlinepage|changedpreview", "Attributes")
+#define STR_AUTOMARK_SEARCHTERM NC_("createautomarkdialog|searchterm", "Search term")
+#define STR_AUTOMARK_ALTERNATIVE NC_("createautomarkdialog|alternative", "Alternative entry")
+#define STR_AUTOMARK_KEY1 NC_("createautomarkdialog|key1", "1st key")
+#define STR_AUTOMARK_KEY2 NC_("createautomarkdialog|key2", "2nd key")
+#define STR_AUTOMARK_COMMENT NC_("createautomarkdialog|comment", "Comment")
+#define STR_AUTOMARK_CASESENSITIVE NC_("createautomarkdialog|casesensitive", "Match case")
+#define STR_AUTOMARK_WORDONLY NC_("createautomarkdialog|wordonly", "Word only")
+#define STR_AUTOMARK_YES NC_("createautomarkdialog|yes", "Yes")
+#define STR_AUTOMARK_NO NC_("createautomarkdialog|no", "No")
+
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/ui/index/cnttab.cxx b/sw/source/ui/index/cnttab.cxx
index d0b8a25c2d62..e402eccf0513 100644
--- a/sw/source/ui/index/cnttab.cxx
+++ b/sw/source/ui/index/cnttab.cxx
@@ -41,6 +41,7 @@
#include <com/sun/star/ui/dialogs/XFilePicker3.hpp>
#include <com/sun/star/ui/dialogs/XFilterManager.hpp>
#include <svtools/indexentryres.hxx>
+#include <toolkit/helper/vclunohelper.hxx>
#include <editeng/unolingu.hxx>
#include <column.hxx>
#include <fmtfsize.hxx>
@@ -172,7 +173,7 @@ protected:
std::vector<long> GetOptimalColWidths() const;
public:
- SwEntryBrowseBox(vcl::Window* pParent, VclBuilderContainer* pBuilder);
+ SwEntryBrowseBox(const css::uno::Reference<css::awt::XWindow> &rParent);
virtual ~SwEntryBrowseBox() override;
virtual void dispose() override;
void ReadEntries(SvStream& rInStr);
@@ -185,23 +186,21 @@ public:
virtual Size GetOptimalSize() const override;
};
-class SwAutoMarkDlg_Impl : public ModalDialog
+class SwAutoMarkDlg_Impl : public weld::GenericDialogController
{
- VclPtr<OKButton> m_pOKPB;
-
- VclPtr<SwEntryBrowseBox> m_pEntriesBB;
-
OUString sAutoMarkURL;
-
bool bCreateMode;
- DECL_LINK(OkHdl, Button*, void);
+ std::unique_ptr<weld::Button> m_xOKPB;
+ std::unique_ptr<weld::Container> m_xTable;
+ css::uno::Reference<css::awt::XWindow> m_xTableCtrlParent;
+ VclPtr<SwEntryBrowseBox> m_xEntriesBB;
+
+ DECL_LINK(OkHdl, weld::Button&, void);
public:
- SwAutoMarkDlg_Impl(vcl::Window* pParent, const OUString& rAutoMarkURL,
+ SwAutoMarkDlg_Impl(weld::Window* pParent, const OUString& rAutoMarkURL,
bool bCreate);
virtual ~SwAutoMarkDlg_Impl() override;
- virtual void dispose() override;
-
};
sal_uInt16 CurTOXType::GetFlatIndex() const
@@ -1373,9 +1372,8 @@ IMPL_LINK(SwTOXSelectTabPage, MenuExecuteHdl, const OString&, rIdent, void)
return;
}
- VclPtrInstance<SwAutoMarkDlg_Impl> pAutoMarkDlg(nullptr, sAutoMarkURL, bNew);
-
- if( RET_OK != pAutoMarkDlg->Execute() && bNew )
+ SwAutoMarkDlg_Impl aAutoMarkDlg(GetDialogFrameWeld(), sAutoMarkURL, bNew);
+ if (RET_OK != aAutoMarkDlg.run() && bNew)
sAutoMarkURL = sSaveAutoMarkURL;
}
}
@@ -3555,8 +3553,8 @@ void SwTOXStylesTabPage::Modify()
#define ITEM_CASE 6
#define ITEM_WORDONLY 7
-SwEntryBrowseBox::SwEntryBrowseBox(vcl::Window* pParent, VclBuilderContainer* pBuilder)
- : SwEntryBrowseBox_Base( pParent, EditBrowseBoxFlags::NONE, WB_TABSTOP | WB_BORDER,
+SwEntryBrowseBox::SwEntryBrowseBox(const css::uno::Reference<css::awt::XWindow> &rParent)
+ : SwEntryBrowseBox_Base(VCLUnoHelper::GetWindow(rParent), EditBrowseBoxFlags::NONE, WB_TABSTOP | WB_BORDER,
BrowserMode::KEEPHIGHLIGHT |
BrowserMode::COLUMNSELECTION |
BrowserMode::MULTISELECTION |
@@ -3570,15 +3568,15 @@ SwEntryBrowseBox::SwEntryBrowseBox(vcl::Window* pParent, VclBuilderContainer* pB
, m_nCurrentRow(0)
, m_bModified(false)
{
- m_sSearch = pBuilder->get<vcl::Window>("searchterm")->GetText();
- m_sAlternative = pBuilder->get<vcl::Window>("alternative")->GetText();
- m_sPrimKey = pBuilder->get<vcl::Window>("key1")->GetText();
- m_sSecKey = pBuilder->get<vcl::Window>("key2")->GetText();
- m_sComment = pBuilder->get<vcl::Window>("comment")->GetText();
- m_sCaseSensitive = pBuilder->get<vcl::Window>("casesensitive")->GetText();
- m_sWordOnly = pBuilder->get<vcl::Window>("wordonly")->GetText();
- m_sYes = pBuilder->get<vcl::Window>("yes")->GetText();
- m_sNo = pBuilder->get<vcl::Window>("no")->GetText();
+ m_sSearch = SwResId(STR_AUTOMARK_SEARCHTERM);
+ m_sAlternative = SwResId(STR_AUTOMARK_ALTERNATIVE);
+ m_sPrimKey = SwResId(STR_AUTOMARK_KEY1);
+ m_sSecKey = SwResId(STR_AUTOMARK_KEY2);
+ m_sComment = SwResId(STR_AUTOMARK_COMMENT);
+ m_sCaseSensitive = SwResId(STR_AUTOMARK_CASESENSITIVE);
+ m_sWordOnly = SwResId(STR_AUTOMARK_WORDONLY);
+ m_sYes = SwResId(STR_AUTOMARK_YES);
+ m_sNo = SwResId(STR_AUTOMARK_NO);
m_aCellCheckBox->GetBox().EnableTriState(false);
m_xController = new ::svt::EditCellController(m_aCellEdit.get());
@@ -3628,17 +3626,13 @@ void SwEntryBrowseBox::Resize()
{
SwEntryBrowseBox_Base::Resize();
- Dialog *pDlg = GetParentDialog();
- if (pDlg && pDlg->isCalculatingInitialLayoutSize())
- {
- long nWidth = GetSizePixel().Width();
- std::vector<long> aWidths = GetOptimalColWidths();
- long nNaturalWidth(std::accumulate(aWidths.begin(), aWidths.end(), 0));
- long nExcess = ((nWidth - nNaturalWidth) / aWidths.size()) - 1;
+ long nWidth = GetSizePixel().Width();
+ std::vector<long> aWidths = GetOptimalColWidths();
+ long nNaturalWidth(std::accumulate(aWidths.begin(), aWidths.end(), 0));
+ long nExcess = ((nWidth - nNaturalWidth) / aWidths.size()) - 1;
- for (size_t i = 0; i < aWidths.size(); ++i)
- SetColumnWidth(i+1, aWidths[i] + nExcess);
- }
+ for (size_t i = 0; i < aWidths.size(); ++i)
+ SetColumnWidth(i+1, aWidths[i] + nExcess);
}
std::vector<long> SwEntryBrowseBox::GetOptimalColWidths() const
@@ -3882,52 +3876,50 @@ bool SwEntryBrowseBox::IsModified()const
return pController->IsModified();
}
-SwAutoMarkDlg_Impl::SwAutoMarkDlg_Impl(vcl::Window* pParent, const OUString& rAutoMarkURL,
+SwAutoMarkDlg_Impl::SwAutoMarkDlg_Impl(weld::Window* pParent, const OUString& rAutoMarkURL,
bool bCreate)
- : ModalDialog(pParent, "CreateAutomarkDialog",
- "modules/swriter/ui/createautomarkdialog.ui")
+ : GenericDialogController(pParent, "modules/swriter/ui/createautomarkdialog.ui", "CreateAutomarkDialog")
, sAutoMarkURL(rAutoMarkURL)
, bCreateMode(bCreate)
+ , m_xOKPB(m_xBuilder->weld_button("ok"))
+ , m_xTable(m_xBuilder->weld_container("area"))
+ , m_xTableCtrlParent(m_xTable->CreateChildFrame())
+ , m_xEntriesBB(VclPtr<SwEntryBrowseBox>::Create(m_xTableCtrlParent))
{
- get(m_pOKPB, "ok");
- m_pEntriesBB = VclPtr<SwEntryBrowseBox>::Create(get<VclContainer>("area"), this);
- m_pEntriesBB->set_expand(true);
- m_pEntriesBB->Show();
- m_pOKPB->SetClickHdl(LINK(this, SwAutoMarkDlg_Impl, OkHdl));
+ m_xEntriesBB->Show();
+ m_xOKPB->connect_clicked(LINK(this, SwAutoMarkDlg_Impl, OkHdl));
- SetText(GetText() + ": " + sAutoMarkURL);
+ m_xDialog->set_title(m_xDialog->get_title() + ": " + sAutoMarkURL);
bool bError = false;
if( bCreateMode )
- m_pEntriesBB->RowInserted(0);
+ m_xEntriesBB->RowInserted(0);
else
{
SfxMedium aMed( sAutoMarkURL, StreamMode::STD_READ );
if( aMed.GetInStream() && !aMed.GetInStream()->GetError() )
- m_pEntriesBB->ReadEntries( *aMed.GetInStream() );
+ m_xEntriesBB->ReadEntries( *aMed.GetInStream() );
else
bError = true;
}
- if(bError)
- EndDialog();
-}
+ Size aPrefSize = m_xEntriesBB->GetOptimalSize();
+ m_xTable->set_size_request(aPrefSize.Width(), aPrefSize.Height());
-SwAutoMarkDlg_Impl::~SwAutoMarkDlg_Impl()
-{
- disposeOnce();
+ if (bError)
+ m_xDialog->response(RET_CANCEL);
}
-void SwAutoMarkDlg_Impl::dispose()
+SwAutoMarkDlg_Impl::~SwAutoMarkDlg_Impl()
{
- m_pEntriesBB.disposeAndClear();
- m_pOKPB.clear();
- ModalDialog::dispose();
+ m_xEntriesBB.disposeAndClear();
+ m_xTableCtrlParent->dispose();
+ m_xTableCtrlParent.clear();
}
-IMPL_LINK_NOARG(SwAutoMarkDlg_Impl, OkHdl, Button*, void)
+IMPL_LINK_NOARG(SwAutoMarkDlg_Impl, OkHdl, weld::Button&, void)
{
bool bError = false;
- if(m_pEntriesBB->IsModified() || bCreateMode)
+ if (m_xEntriesBB->IsModified() || bCreateMode)
{
SfxMedium aMed( sAutoMarkURL,
bCreateMode ? StreamMode::WRITE
@@ -3936,14 +3928,14 @@ IMPL_LINK_NOARG(SwAutoMarkDlg_Impl, OkHdl, Button*, void)
pStrm->SetStreamCharSet( RTL_TEXTENCODING_MS_1253 );
if( !pStrm->GetError() )
{
- m_pEntriesBB->WriteEntries( *pStrm );
+ m_xEntriesBB->WriteEntries( *pStrm );
aMed.Commit();
}
else
bError = true;
}
- if( !bError )
- EndDialog(RET_OK);
+ if (!bError)
+ m_xDialog->response(RET_OK);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/uiconfig/swriter/ui/createautomarkdialog.ui b/sw/uiconfig/swriter/ui/createautomarkdialog.ui
index 811feddb960c..991901b7b9b5 100644
--- a/sw/uiconfig/swriter/ui/createautomarkdialog.ui
+++ b/sw/uiconfig/swriter/ui/createautomarkdialog.ui
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
+<!-- Generated with glade 3.22.1 -->
<interface domain="sw">
<requires lib="gtk+" version="3.18"/>
<object class="GtkDialog" id="CreateAutomarkDialog">
@@ -7,7 +7,11 @@
<property name="border_width">6</property>
<property name="title" translatable="yes" context="createautomarkdialog|CreateAutomarkDialog">Edit Concordance File</property>
<property name="resizable">False</property>
+ <property name="modal">True</property>
<property name="type_hint">dialog</property>
+ <child>
+ <placeholder/>
+ </child>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1">
<property name="can_focus">False</property>
@@ -90,126 +94,6 @@
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
- <object class="GtkBox" id="box3">
- <property name="can_focus">False</property>
- <property name="no_show_all">True</property>
- <property name="spacing">6</property>
- <child>
- <object class="GtkLabel" id="searchterm">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="createautomarkdialog|searchterm">Search term</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="alternative">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="createautomarkdialog|alternative">Alternative entry</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="key1">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="createautomarkdialog|key1">1st key</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="key2">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="createautomarkdialog|key2">2nd key</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="comment">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="createautomarkdialog|comment">Comment</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="casesensitive">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="createautomarkdialog|casesensitive">Match case</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">5</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="wordonly">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="createautomarkdialog|wordonly">Word only</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">6</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="yes">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="createautomarkdialog|yes">Yes</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">7</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="no">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" context="createautomarkdialog|no">No</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">8</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
<placeholder/>
</child>
</object>
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index 49e856a9c111..27620413ed5a 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -2734,6 +2734,7 @@ public:
gtk_widget_set_hexpand(pWindow, true);
gtk_widget_set_vexpand(pWindow, true);
gtk_widget_realize(pWindow);
+ gtk_widget_set_can_focus(pWindow, true);
g_object_unref(pWindow);
xEmbedWindow->Show();
More information about the Libreoffice-commits
mailing list