extensions/UIConfig_sbibliography.mk | 3 - extensions/source/bibliography/toolbar.cxx | 64 ++++++++++++++---------- extensions/source/bibliography/toolbar.hxx | 30 +++++++++-- extensions/uiconfig/sbibliography/ui/editbox.ui | 38 ++++++++++++++ extensions/uiconfig/sbibliography/ui/toolbar.ui | 15 ----- 5 files changed, 104 insertions(+), 46 deletions(-)
New commits: commit 562d1ba1fff07183dbae24437977e204cbc6471d Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Wed May 13 09:26:18 2020 +0100 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Wed May 13 15:00:08 2020 +0200 weld bibliography EditBox control ItemWindow Change-Id: I17859c10714afa387f47385d2abd8b8827770038 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94099 Tested-by: Caolán McNamara <caol...@redhat.com> Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/extensions/UIConfig_sbibliography.mk b/extensions/UIConfig_sbibliography.mk index ad359f8dee25..cf4835829262 100644 --- a/extensions/UIConfig_sbibliography.mk +++ b/extensions/UIConfig_sbibliography.mk @@ -14,8 +14,9 @@ $(eval $(call gb_UIConfig_add_menubarfiles,modules/sbibliography,\ )) $(eval $(call gb_UIConfig_add_uifiles,modules/sbibliography,\ - extensions/uiconfig/sbibliography/ui/combobox \ extensions/uiconfig/sbibliography/ui/choosedatasourcedialog \ + extensions/uiconfig/sbibliography/ui/combobox \ + extensions/uiconfig/sbibliography/ui/editbox \ extensions/uiconfig/sbibliography/ui/generalpage \ extensions/uiconfig/sbibliography/ui/querydialog \ extensions/uiconfig/sbibliography/ui/mappingdialog \ diff --git a/extensions/source/bibliography/toolbar.cxx b/extensions/source/bibliography/toolbar.cxx index ccdc2476e884..d7726cbf9580 100644 --- a/extensions/source/bibliography/toolbar.cxx +++ b/extensions/source/bibliography/toolbar.cxx @@ -194,12 +194,35 @@ ComboBoxControl::~ComboBoxControl() disposeOnce(); } +EditControl::EditControl(vcl::Window* pParent) + : InterimItemWindow(pParent, "modules/sbibliography/ui/editbox.ui", "EditBox") + , m_xFtQuery(m_xBuilder->weld_label("label")) + , m_xEdQuery(m_xBuilder->weld_entry("entry")) +{ + m_xFtQuery->set_toolbar_background(); + m_xEdQuery->set_toolbar_background(); + m_xEdQuery->set_size_request(100, -1); + SetSizePixel(get_preferred_size()); +} + +void EditControl::dispose() +{ + m_xEdQuery.reset(); + m_xFtQuery.reset(); + InterimItemWindow::dispose(); +} + +EditControl::~EditControl() +{ + disposeOnce(); +} + BibToolBar::BibToolBar(vcl::Window* pParent, Link<void*,void> aLink) : ToolBox(pParent, "toolbar", "modules/sbibliography/ui/toolbar.ui") , xSource(VclPtr<ComboBoxControl>::Create(this)) , pLbSource(xSource->get_widget()) - , aFtQuery(VclPtr<FixedText>::Create(this,WB_VCENTER)) - , aEdQuery(VclPtr<Edit>::Create(this)) + , xQuery(VclPtr<EditControl>::Create(this)) + , pEdQuery(xQuery->get_widget()) , pPopupMenu(VclPtr<PopupMenu>::Create()) , nMenuId(0) , nSelMenuItem(0) @@ -223,26 +246,18 @@ BibToolBar::BibToolBar(vcl::Window* pParent, Link<void*,void> aLink) SetDropdownClickHdl( LINK( this, BibToolBar, MenuHdl)); - aEdQuery->SetSizePixel(pLbSource->get_preferred_size()); - aEdQuery->Show(); + xQuery->Show(); nTBC_SOURCE = GetItemId(".uno:Bib/source"); - nTBC_FT_QUERY = GetItemId("TBC_FT_QUERY"); - nTBC_ED_QUERY = GetItemId(".uno:Bib/query"); + nTBC_QUERY = GetItemId(".uno:Bib/query"); nTBC_BT_AUTOFILTER = GetItemId(".uno:Bib/autoFilter"); nTBC_BT_COL_ASSIGN = GetItemId("TBC_BT_COL_ASSIGN"); nTBC_BT_CHANGESOURCE = GetItemId(".uno:Bib/sdbsource"); nTBC_BT_FILTERCRIT = GetItemId(".uno:Bib/standardFilter"); nTBC_BT_REMOVEFILTER = GetItemId(".uno:Bib/removeFilter"); - OUString aStr=GetItemText(nTBC_FT_QUERY); - aFtQuery->SetText(aStr); - aFtQuery->SetSizePixel(aFtQuery->get_preferred_size()); - aFtQuery->SetBackground(Wallpaper( COL_TRANSPARENT )); - SetItemWindow(nTBC_SOURCE, xSource.get()); - SetItemWindow(nTBC_FT_QUERY , aFtQuery.get()); - SetItemWindow(nTBC_ED_QUERY , aEdQuery.get()); + SetItemWindow(nTBC_QUERY , xQuery.get()); ApplyImageList(); @@ -259,8 +274,9 @@ void BibToolBar::dispose() SvtMiscOptions().RemoveListenerLink( LINK( this, BibToolBar, OptionsChanged_Impl ) ); Application::RemoveEventListener( LINK( this, BibToolBar, SettingsChanged_Impl ) ); ::bib::RemoveFromTaskPaneList( this ); - aFtQuery.disposeAndClear(); - aEdQuery.disposeAndClear(); + pEdQuery = nullptr; + xQuery.disposeAndClear(); + pLbSource = nullptr; xSource.disposeAndClear(); ToolBox::dispose(); } @@ -283,7 +299,7 @@ void BibToolBar::InitListener() for(ToolBox::ImplToolItems::size_type nPos=0;nPos<nCount;nPos++) { sal_uInt16 nId=GetItemId(nPos); - if(!nId || nId == nTBC_FT_QUERY) + if (!nId) continue; util::URL aURL; @@ -298,7 +314,7 @@ void BibToolBar::InitListener() { xListener=new BibTBListBoxListener(this,aURL.Complete,nId); } - else if (nId == nTBC_ED_QUERY) + else if (nId == nTBC_QUERY) { xListener=new BibTBEditListener(this,aURL.Complete,nId); } @@ -332,7 +348,7 @@ void BibToolBar::Select() Sequence<PropertyValue> aPropVal(2); PropertyValue* pPropertyVal = const_cast<PropertyValue*>(aPropVal.getConstArray()); pPropertyVal[0].Name="QueryText"; - OUString aSelection = aEdQuery->GetText(); + OUString aSelection = pEdQuery->get_text(); pPropertyVal[0].Value <<= aSelection; pPropertyVal[1].Name="QueryField"; @@ -440,22 +456,20 @@ void BibToolBar::SelectSourceEntry(const OUString& aStr) void BibToolBar::EnableQuery(bool bFlag) { - aFtQuery->Enable(bFlag); - aEdQuery->Enable(bFlag); + xQuery->set_sensitive(bFlag); } void BibToolBar::SetQueryString(const OUString& aStr) { - aEdQuery->SetText(aStr); + pEdQuery->set_text(aStr); } - bool BibToolBar::PreNotify( NotifyEvent& rNEvt ) { bool bResult = true; MouseNotifyEvent nSwitch=rNEvt.GetType(); - if(aEdQuery->HasFocus() && nSwitch==MouseNotifyEvent::KEYINPUT) + if (pEdQuery && pEdQuery->has_focus() && nSwitch == MouseNotifyEvent::KEYINPUT) { const vcl::KeyCode& aKeyCode=rNEvt.GetKeyEvent()->GetKeyCode(); sal_uInt16 nKey = aKeyCode.GetCode(); @@ -464,7 +478,7 @@ bool BibToolBar::PreNotify( NotifyEvent& rNEvt ) Sequence<PropertyValue> aPropVal(2); PropertyValue* pPropertyVal = const_cast<PropertyValue*>(aPropVal.getConstArray()); pPropertyVal[0].Name = "QueryText"; - OUString aSelection = aEdQuery->GetText(); + OUString aSelection = pEdQuery->get_text(); pPropertyVal[0].Value <<= aSelection; pPropertyVal[1].Name="QueryField"; pPropertyVal[1].Value <<= aQueryField; @@ -515,7 +529,7 @@ IMPL_LINK_NOARG( BibToolBar, MenuHdl, ToolBox*, void) Sequence<PropertyValue> aPropVal(2); PropertyValue* pPropertyVal = const_cast<PropertyValue*>(aPropVal.getConstArray()); pPropertyVal[0].Name = "QueryText"; - OUString aSelection = aEdQuery->GetText(); + OUString aSelection = pEdQuery->get_text(); pPropertyVal[0].Value <<= aSelection; pPropertyVal[1].Name="QueryField"; pPropertyVal[1].Value <<= aQueryField; diff --git a/extensions/source/bibliography/toolbar.hxx b/extensions/source/bibliography/toolbar.hxx index 34a4db9a867b..135b7dcb1f15 100644 --- a/extensions/source/bibliography/toolbar.hxx +++ b/extensions/source/bibliography/toolbar.hxx @@ -25,8 +25,6 @@ #include <svtools/InterimItemWindow.hxx> #include <vcl/toolbox.hxx> -#include <vcl/edit.hxx> -#include <vcl/fixed.hxx> #include <vcl/timer.hxx> #include <cppuhelper/implbase.hxx> #include <vector> @@ -118,6 +116,27 @@ private: std::unique_ptr<weld::ComboBox> m_xLBSource; }; +class EditControl final : public InterimItemWindow +{ +public: + EditControl(vcl::Window* pParent); + virtual ~EditControl() override; + virtual void dispose() override; + + weld::Entry* get_widget() { return m_xEdQuery.get(); } + + void set_sensitive(bool bSensitive) + { + m_xFtQuery->set_sensitive(bSensitive); + m_xEdQuery->set_sensitive(bSensitive); + Enable(bSensitive); + } + +private: + std::unique_ptr<weld::Label> m_xFtQuery; + std::unique_ptr<weld::Entry> m_xEdQuery; +}; + class BibToolBar: public ToolBox { private: @@ -127,8 +146,8 @@ class BibToolBar: public ToolBox Idle aIdle; VclPtr<ComboBoxControl> xSource; weld::ComboBox* pLbSource; - VclPtr<FixedText> aFtQuery; - VclPtr<Edit> aEdQuery; + VclPtr<EditControl> xQuery; + weld::Entry* pEdQuery; ScopedVclPtr<PopupMenu> pPopupMenu; sal_uInt16 nMenuId; sal_uInt16 nSelMenuItem; @@ -138,8 +157,7 @@ class BibToolBar: public ToolBox sal_Int16 nOutStyle; sal_uInt16 nTBC_SOURCE; - sal_uInt16 nTBC_FT_QUERY; - sal_uInt16 nTBC_ED_QUERY; + sal_uInt16 nTBC_QUERY; sal_uInt16 nTBC_BT_AUTOFILTER; sal_uInt16 nTBC_BT_COL_ASSIGN; sal_uInt16 nTBC_BT_CHANGESOURCE; diff --git a/extensions/uiconfig/sbibliography/ui/editbox.ui b/extensions/uiconfig/sbibliography/ui/editbox.ui new file mode 100644 index 000000000000..0c774aaec693 --- /dev/null +++ b/extensions/uiconfig/sbibliography/ui/editbox.ui @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.22.2 --> +<interface domain="svt"> + <requires lib="gtk+" version="3.18"/> + <object class="GtkBox" id="EditBox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">6</property> + <child> + <object class="GtkLabel" id="label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="valign">center</property> + <property name="label" translatable="yes" context="editbox|TBC_FT_QUERY">Search Key</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">entry</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="entry"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="valign">center</property> + <property name="hexpand">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> +</interface> diff --git a/extensions/uiconfig/sbibliography/ui/toolbar.ui b/extensions/uiconfig/sbibliography/ui/toolbar.ui index 748ff95e69e4..7caabb0e5be4 100644 --- a/extensions/uiconfig/sbibliography/ui/toolbar.ui +++ b/extensions/uiconfig/sbibliography/ui/toolbar.ui @@ -42,20 +42,7 @@ </packing> </child> <child> - <object class="GtkToolButton" id="TBC_FT_QUERY"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="action_name">TBC_FT_QUERY</property> - <property name="label" translatable="yes" context="toolbar|TBC_FT_QUERY">Search Key</property> - <property name="use_underline">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="homogeneous">True</property> - </packing> - </child> - <child> - <object class="GtkToolButton" id="TBC_ED_QUERY"> + <object class="GtkToolButton" id="TBC_QUERY"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="action_name">.uno:Bib/query</property> _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits