summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2020-08-07 11:11:51 +0100
committerCaolán McNamara <caolanm@redhat.com>2020-08-09 21:43:35 +0200
commit72aeda11bd1acbe5d9224eae0d22265630ebb0b8 (patch)
treeb445410cae8acf1984869fdd949720a076f51ce7
parent7614efb59d948ca07c16e32523831b81922ac8f9 (diff)
weld OTasksWindow
moving the InterimItemWindow one layer higher Change-Id: I500da55f4d4bf4dd31583c9c055564cf299a2166 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100304 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--dbaccess/UIConfig_dbaccess.mk2
-rw-r--r--dbaccess/inc/pch/precompiled_dba.hxx6
-rw-r--r--dbaccess/inc/pch/precompiled_dbu.hxx4
-rw-r--r--dbaccess/inc/strings.hrc1
-rw-r--r--dbaccess/source/ui/app/AppDetailView.cxx156
-rw-r--r--dbaccess/source/ui/app/AppDetailView.hxx64
-rw-r--r--dbaccess/uiconfig/ui/creationlistbox.ui71
-rw-r--r--dbaccess/uiconfig/ui/taskwindow.ui147
-rw-r--r--solenv/sanitizers/ui/dbaccess.suppr1
9 files changed, 218 insertions, 234 deletions
diff --git a/dbaccess/UIConfig_dbaccess.mk b/dbaccess/UIConfig_dbaccess.mk
index 2a0770c184c9..feaa35c10708 100644
--- a/dbaccess/UIConfig_dbaccess.mk
+++ b/dbaccess/UIConfig_dbaccess.mk
@@ -21,7 +21,6 @@ $(eval $(call gb_UIConfig_add_uifiles,dbaccess, \
dbaccess/uiconfig/ui/colwidthdialog \
dbaccess/uiconfig/ui/connectionpage \
dbaccess/uiconfig/ui/copytablepage \
- dbaccess/uiconfig/ui/creationlistbox \
dbaccess/uiconfig/ui/dbaseindexdialog \
dbaccess/uiconfig/ui/dbasepage \
dbaccess/uiconfig/ui/dbwizconnectionpage \
@@ -75,6 +74,7 @@ $(eval $(call gb_UIConfig_add_uifiles,dbaccess, \
dbaccess/uiconfig/ui/tablesfilterdialog \
dbaccess/uiconfig/ui/tablesfilterpage \
dbaccess/uiconfig/ui/tablesjoindialog \
+ dbaccess/uiconfig/ui/taskwindow \
dbaccess/uiconfig/ui/textconnectionsettings \
dbaccess/uiconfig/ui/textpage \
dbaccess/uiconfig/ui/typeselectpage \
diff --git a/dbaccess/inc/pch/precompiled_dba.hxx b/dbaccess/inc/pch/precompiled_dba.hxx
index d3d1a3fdc511..a09675bc8cdf 100644
--- a/dbaccess/inc/pch/precompiled_dba.hxx
+++ b/dbaccess/inc/pch/precompiled_dba.hxx
@@ -13,7 +13,7 @@
manual changes will be rewritten by the next run of update_pch.sh (which presumably
also fixes all possible problems, so it's usually better to use it).
- Generated on 2020-07-09 17:06:21 using:
+ Generated on 2020-08-07 11:34:54 using:
./bin/update_pch dbaccess dba --cutoff=6 --exclude:system --include:module --include:local
If after updating build fails, use the following command to locate conflicting headers:
@@ -68,14 +68,12 @@
#include <rtl/math.h>
#include <rtl/math.hxx>
#include <rtl/ref.hxx>
-#include <rtl/strbuf.h>
#include <rtl/string.h>
#include <rtl/string.hxx>
#include <rtl/stringconcat.hxx>
#include <rtl/stringutils.hxx>
#include <rtl/textcvt.h>
#include <rtl/textenc.h>
-#include <rtl/unload.h>
#include <rtl/uri.hxx>
#include <rtl/ustrbuf.h>
#include <rtl/ustrbuf.hxx>
@@ -182,7 +180,6 @@
#include <com/sun/star/uno/genfunc.h>
#include <com/sun/star/uno/genfunc.hxx>
#include <com/sun/star/util/Date.hpp>
-#include <com/sun/star/util/Time.hpp>
#include <com/sun/star/util/XRefreshable.hpp>
#include <comphelper/IdPropArrayHelper.hxx>
#include <comphelper/broadcasthelper.hxx>
@@ -240,7 +237,6 @@
#include <svl/hint.hxx>
#include <svl/lstner.hxx>
#include <svl/svldllapi.h>
-#include <tools/UnitConversion.hxx>
#include <tools/color.hxx>
#include <tools/diagnose_ex.h>
#include <tools/gen.hxx>
diff --git a/dbaccess/inc/pch/precompiled_dbu.hxx b/dbaccess/inc/pch/precompiled_dbu.hxx
index 7464063da918..41a2c2b08bcc 100644
--- a/dbaccess/inc/pch/precompiled_dbu.hxx
+++ b/dbaccess/inc/pch/precompiled_dbu.hxx
@@ -13,7 +13,7 @@
manual changes will be rewritten by the next run of update_pch.sh (which presumably
also fixes all possible problems, so it's usually better to use it).
- Generated on 2020-07-09 17:06:22 using:
+ Generated on 2020-08-07 11:35:01 using:
./bin/update_pch dbaccess dbu --cutoff=12 --exclude:system --exclude:module --exclude:local
If after updating build fails, use the following command to locate conflicting headers:
@@ -78,6 +78,7 @@
#include <vcl/font.hxx>
#include <vcl/idle.hxx>
#include <vcl/image.hxx>
+#include <vcl/keycod.hxx>
#include <vcl/keycodes.hxx>
#include <vcl/mapmod.hxx>
#include <vcl/metaactiontypes.hxx>
@@ -202,6 +203,7 @@
#endif // PCH_LEVEL >= 3
#if PCH_LEVEL >= 4
#include <FieldDescriptions.hxx>
+#include <IClipBoardTest.hxx>
#include <QEnumTypes.hxx>
#include <TableConnectionData.hxx>
#include <TableFieldDescription.hxx>
diff --git a/dbaccess/inc/strings.hrc b/dbaccess/inc/strings.hrc
index 16b1ad7b3ab5..2ccc5a666717 100644
--- a/dbaccess/inc/strings.hrc
+++ b/dbaccess/inc/strings.hrc
@@ -180,7 +180,6 @@
#define RID_STR_VIEWS_HELP_TEXT_DESIGN NC_("RID_STR_VIEWS_HELP_TEXT_DESIGN", "Create a view by specifying the tables and field names you would like to have visible." )
#define STR_DATABASE NC_("STR_DATABASE", "Database" )
#define STR_TASKS NC_("STR_TASKS", "Tasks" )
-#define STR_DESCRIPTION NC_("STR_DESCRIPTION", "Description" )
#define STR_PREVIEW NC_("STR_PREVIEW", "Preview" )
#define STR_QUERY_CLOSEDOCUMENTS NC_("STR_QUERY_CLOSEDOCUMENTS", "The connection type has been altered.\n" \
"For the changes to take effect, all forms, reports, queries and tables must be closed.\n\n" \
diff --git a/dbaccess/source/ui/app/AppDetailView.cxx b/dbaccess/source/ui/app/AppDetailView.cxx
index a052f5c556bb..2f77244699d3 100644
--- a/dbaccess/source/ui/app/AppDetailView.cxx
+++ b/dbaccess/source/ui/app/AppDetailView.cxx
@@ -31,13 +31,8 @@
#include <com/sun/star/util/URL.hpp>
#include <core_resource.hxx>
#include <vcl/event.hxx>
-#include <vcl/image.hxx>
-#include <vcl/mnemonic.hxx>
-#include <vcl/settings.hxx>
#include "AppDetailPageHelper.hxx"
#include <dbaccess/IController.hxx>
-#include <vcl/treelistentry.hxx>
-#include <vcl/viewdataentry.hxx>
#include <algorithm>
#include <dbtreelistbox.hxx>
#include <imageprovider.hxx>
@@ -63,54 +58,32 @@ TaskEntry::TaskEntry( const char* _pAsciiUNOCommand, const char* _pHelpID, const
{
}
-OCreationList::OCreationList( OTasksWindow& _rParent )
- : InterimItemWindow(&_rParent, "dbaccess/ui/creationlistbox.ui", "CreationListBox")
- , m_xTreeView(m_xBuilder->weld_tree_view("treeview"))
- , m_rTaskWindow( _rParent )
- , m_nCursorIndex(-1)
-{
- InitControlBase(m_xTreeView.get());
-
- m_xTreeView->set_help_id(HID_APP_CREATION_LIST);
- m_xTreeView->connect_row_activated(LINK(this, OCreationList, onSelected));
- m_xTreeView->connect_changed(LINK(this, OCreationList, OnEntrySelectHdl));
- m_xTreeView->connect_key_press(LINK(this, OCreationList, KeyInputHdl));
- m_xTreeView->connect_focus_in(LINK(this, OCreationList, FocusInHdl));
- m_xTreeView->connect_focus_out(LINK(this, OCreationList, FocusOutHdl));
-}
-
-IMPL_LINK(OCreationList, KeyInputHdl, const KeyEvent&, rKEvt, bool)
+IMPL_LINK(OTasksWindow, KeyInputHdl, const KeyEvent&, rKEvt, bool)
{
return ChildKeyInput(rKEvt);
}
-void OCreationList::dispose()
-{
- m_xTreeView.reset();
- InterimItemWindow::dispose();
-}
-
-void OCreationList::updateHelpText()
+void OTasksWindow::updateHelpText()
{
const char* pHelpTextId = nullptr;
int nCurEntry = m_xTreeView->get_selected_index();
if (nCurEntry != -1)
pHelpTextId = reinterpret_cast<TaskEntry*>(m_xTreeView->get_id(nCurEntry).toUInt64())->pHelpID;
- m_rTaskWindow.setHelpText(pHelpTextId);
+ setHelpText(pHelpTextId);
}
-IMPL_LINK(OCreationList, onSelected, weld::TreeView&, rTreeView, bool)
+IMPL_LINK(OTasksWindow, onSelected, weld::TreeView&, rTreeView, bool)
{
int nCurEntry = rTreeView.get_cursor_index();
- assert(nCurEntry != -1 && "OCreationList::onSelected: invalid entry!");
+ assert(nCurEntry != -1 && "OTasksWindow::onSelected: invalid entry!");
URL aCommand;
aCommand.Complete = reinterpret_cast<TaskEntry*>(rTreeView.get_id(nCurEntry).toUInt64())->sUNOCommand;
- m_rTaskWindow.getDetailView()->getBorderWin().getView()->getAppController().executeChecked( aCommand, Sequence< PropertyValue >() );
+ getDetailView()->getBorderWin().getView()->getAppController().executeChecked( aCommand, Sequence< PropertyValue >() );
return true;
}
-void OCreationList::GetFocus()
+void OTasksWindow::GetFocus()
{
InterimItemWindow::GetFocus();
if (!m_xTreeView)
@@ -118,33 +91,43 @@ void OCreationList::GetFocus()
FocusInHdl(*m_xTreeView);
}
-IMPL_LINK_NOARG(OCreationList, FocusInHdl, weld::Widget&, void)
+IMPL_LINK_NOARG(OTasksWindow, FocusInHdl, weld::Widget&, void)
{
m_xTreeView->select(m_nCursorIndex != -1 ? m_nCursorIndex : 0);
}
-IMPL_LINK_NOARG(OCreationList, FocusOutHdl, weld::Widget&, void)
+IMPL_LINK_NOARG(OTasksWindow, FocusOutHdl, weld::Widget&, void)
{
m_nCursorIndex = m_xTreeView->get_cursor_index();
m_xTreeView->unselect_all();
}
-IMPL_LINK_NOARG(OCreationList, OnEntrySelectHdl, weld::TreeView&, void)
+IMPL_LINK_NOARG(OTasksWindow, OnEntrySelectHdl, weld::TreeView&, void)
{
updateHelpText();
}
-OTasksWindow::OTasksWindow(vcl::Window* _pParent,OApplicationDetailView* _pDetailView)
- : Window(_pParent,WB_DIALOGCONTROL )
- ,m_aCreation(VclPtr<OCreationList>::Create(*this))
- ,m_aDescription(VclPtr<FixedText>::Create(this))
- ,m_aFL(VclPtr<FixedLine>::Create(this,WB_VERT))
- ,m_aHelpText(VclPtr<FixedText>::Create(this,WB_WORDBREAK))
- ,m_pDetailView(_pDetailView)
+OTasksWindow::OTasksWindow(vcl::Window* pParent,OApplicationDetailView* _pDetailView)
+ : InterimItemWindow(pParent, "dbaccess/ui/taskwindow.ui", "TaskWindow")
+ , m_xTreeView(m_xBuilder->weld_tree_view("treeview"))
+ , m_xDescription(m_xBuilder->weld_label("description"))
+ , m_xHelpText(m_xBuilder->weld_label("helptext"))
+ , m_pDetailView(_pDetailView)
+ , m_nCursorIndex(-1)
{
- m_aHelpText->SetHelpId(HID_APP_HELP_TEXT);
- m_aDescription->SetHelpId(HID_APP_DESCRIPTION_TEXT);
- m_aDescription->SetText(DBA_RES(STR_DESCRIPTION));
+ m_xContainer->set_stack_background();
+
+ InitControlBase(m_xTreeView.get());
+
+ m_xTreeView->set_help_id(HID_APP_CREATION_LIST);
+ m_xTreeView->connect_row_activated(LINK(this, OTasksWindow, onSelected));
+ m_xTreeView->connect_changed(LINK(this, OTasksWindow, OnEntrySelectHdl));
+ m_xTreeView->connect_key_press(LINK(this, OTasksWindow, KeyInputHdl));
+ m_xTreeView->connect_focus_in(LINK(this, OTasksWindow, FocusInHdl));
+ m_xTreeView->connect_focus_out(LINK(this, OTasksWindow, FocusOutHdl));
+
+ m_xHelpText->set_help_id(HID_APP_HELP_TEXT);
+ m_xDescription->set_help_id(HID_APP_DESCRIPTION_TEXT);
ImplInitSettings();
}
@@ -157,12 +140,11 @@ OTasksWindow::~OTasksWindow()
void OTasksWindow::dispose()
{
Clear();
- m_aCreation.disposeAndClear();
- m_aDescription.disposeAndClear();
- m_aHelpText.disposeAndClear();
- m_aFL.disposeAndClear();
+ m_xTreeView.reset();
+ m_xDescription.reset();
+ m_xHelpText.reset();
m_pDetailView.clear();
- vcl::Window::dispose();
+ InterimItemWindow::dispose();
}
void OTasksWindow::DataChanged( const DataChangedEvent& rDCEvt )
@@ -177,58 +159,12 @@ void OTasksWindow::DataChanged( const DataChangedEvent& rDCEvt )
}
}
-void OTasksWindow::ImplInitSettings()
-{
- // FIXME RenderContext
- const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings();
- vcl::Font aFont = rStyleSettings.GetFieldFont();
- aFont.SetColor( rStyleSettings.GetWindowTextColor() );
- SetPointFont(*this, aFont);
-
- SetTextColor( rStyleSettings.GetFieldTextColor() );
- SetTextFillColor();
- m_aHelpText->SetTextColor( rStyleSettings.GetFieldTextColor() );
- m_aHelpText->SetTextFillColor();
- m_aDescription->SetTextColor( rStyleSettings.GetFieldTextColor() );
- m_aDescription->SetTextFillColor();
-
- SetBackground( rStyleSettings.GetFieldColor() );
- m_aHelpText->SetBackground( rStyleSettings.GetFieldColor() );
- m_aDescription->SetBackground( rStyleSettings.GetFieldColor() );
- m_aFL->SetBackground( rStyleSettings.GetFieldColor() );
-
- aFont = m_aDescription->GetControlFont();
- aFont.SetWeight(WEIGHT_BOLD);
- m_aDescription->SetControlFont(aFont);
-}
-
void OTasksWindow::setHelpText(const char* pId)
{
if (pId)
- m_aHelpText->SetText(DBA_RES(pId));
+ m_xHelpText->set_label(DBA_RES(pId));
else
- m_aHelpText->SetText(OUString());
-}
-
-void OTasksWindow::Resize()
-{
- // parent window dimension
- Size aOutputSize( GetOutputSize() );
- long nOutputWidth = aOutputSize.Width();
- long nOutputHeight = aOutputSize.Height();
-
- Size aFLSize = LogicToPixel(Size(2, 6), MapMode(MapUnit::MapAppFont));
- sal_Int32 n6PPT = aFLSize.Height();
- long nHalfOutputWidth = static_cast<long>(nOutputWidth * 0.5);
-
- m_aCreation->SetPosSizePixel( Point(0, 0), Size(nHalfOutputWidth - n6PPT, nOutputHeight) );
- // i77897 make the m_aHelpText a little bit smaller. (-5)
- sal_Int32 nNewWidth = nOutputWidth - nHalfOutputWidth - aFLSize.Width() - 5;
- m_aDescription->SetPosSizePixel( Point(nHalfOutputWidth + n6PPT, 0), Size(nNewWidth, nOutputHeight) );
- Size aDesc = m_aDescription->CalcMinimumSize();
- m_aHelpText->SetPosSizePixel( Point(nHalfOutputWidth + n6PPT, aDesc.Height() ), Size(nNewWidth, nOutputHeight - aDesc.Height() - n6PPT) );
-
- m_aFL->SetPosSizePixel( Point(nHalfOutputWidth , 0), Size(aFLSize.Width(), nOutputHeight ) );
+ m_xHelpText->set_label(OUString());
}
void OTasksWindow::fillTaskEntryList( const TaskEntryList& _rList )
@@ -260,38 +196,32 @@ void OTasksWindow::fillTaskEntryList( const TaskEntryList& _rList )
const Reference< XGraphic >* pImages( aImages.getConstArray() );
- weld::TreeView& rTreeView = m_aCreation->get_widget();
size_t nIndex = 0;
for (auto const& task : _rList)
{
OUString sId = OUString::number(reinterpret_cast<sal_uInt64>(new TaskEntry(task)));
- rTreeView.append(sId, task.sTitle);
- rTreeView.set_image(nIndex++, *pImages++);
+ m_xTreeView->append(sId, task.sTitle);
+ m_xTreeView->set_image(nIndex++, *pImages++);
}
}
catch(Exception&)
{
}
- m_aCreation->Show();
- m_aCreation->get_widget().unselect_all();
- m_aHelpText->Show();
- m_aDescription->Show();
- m_aFL->Show();
- m_aCreation->updateHelpText();
+ m_xTreeView->unselect_all();
+ updateHelpText();
Enable(!_rList.empty());
}
void OTasksWindow::Clear()
{
- weld::TreeView& rTreeView = m_aCreation->get_widget();
- rTreeView.all_foreach([&rTreeView](weld::TreeIter& rEntry){
- TaskEntry* pUserData = reinterpret_cast<TaskEntry*>(rTreeView.get_id(rEntry).toUInt64());
+ m_xTreeView->all_foreach([this](weld::TreeIter& rEntry){
+ TaskEntry* pUserData = reinterpret_cast<TaskEntry*>(m_xTreeView->get_id(rEntry).toUInt64());
delete pUserData;
return false;
});
- rTreeView.clear();
+ m_xTreeView->clear();
}
OApplicationDetailView::OApplicationDetailView(OAppBorderWindow& _rParent,PreviewMode _ePreviewMode) : OSplitterView(&_rParent )
diff --git a/dbaccess/source/ui/app/AppDetailView.hxx b/dbaccess/source/ui/app/AppDetailView.hxx
index 835a0ae61c0b..bca1145f2010 100644
--- a/dbaccess/source/ui/app/AppDetailView.hxx
+++ b/dbaccess/source/ui/app/AppDetailView.hxx
@@ -24,13 +24,11 @@
#include <com/sun/star/ucb/XContent.hpp>
#include <com/sun/star/sdb/application/NamedDatabaseObject.hpp>
#include <vcl/split.hxx>
-#include <vcl/fixed.hxx>
#include <vcl/InterimItemWindow.hxx>
#include <vcl/mnemonic.hxx>
#include <IClipBoardTest.hxx>
#include "AppTitleWindow.hxx"
#include <AppElementType.hxx>
-#include <vcl/treelistbox.hxx>
#include <VertSplitView.hxx>
#include <vector>
@@ -44,36 +42,6 @@ namespace dbaui
class OAppDetailPageHelper;
class OTasksWindow;
- class OCreationList final : public InterimItemWindow
- {
- std::unique_ptr<weld::TreeView> m_xTreeView;
- OTasksWindow& m_rTaskWindow;
- int m_nCursorIndex;
-
- public:
- explicit OCreationList( OTasksWindow& _rParent );
- virtual void dispose() override;
-
- weld::TreeView& get_widget() { return *m_xTreeView; }
- const weld::TreeView& get_widget() const { return *m_xTreeView; }
-
- virtual void GetFocus() override;
-
- void updateHelpText();
-
- private:
- DECL_LINK(onSelected, weld::TreeView&, bool);
- DECL_LINK(OnEntrySelectHdl, weld::TreeView&, void);
- DECL_LINK(KeyInputHdl, const KeyEvent&, bool);
- DECL_LINK(FocusInHdl, weld::Widget&, void);
- DECL_LINK(FocusOutHdl, weld::Widget&, void);
-
- /** sets a new current entry, and invalidates the old and the new one, if necessary
- @return <TRUE/> if and only if the "current entry" changed
- */
- bool setCurrentEntryInvalidate( SvTreeListEntry* _pEntry );
- };
-
struct TaskEntry
{
OUString sUNOCommand;
@@ -95,24 +63,35 @@ namespace dbaui
const char* pTitleId;
};
- class OTasksWindow : public vcl::Window
+ class OTasksWindow final : public InterimItemWindow
{
- VclPtr<OCreationList> m_aCreation;
- VclPtr<FixedText> m_aDescription;
- VclPtr<FixedLine> m_aFL;
- VclPtr<FixedText> m_aHelpText;
- VclPtr<OApplicationDetailView> m_pDetailView;
+ std::unique_ptr<weld::TreeView> m_xTreeView;
+ std::unique_ptr<weld::Label> m_xDescription;
+ std::unique_ptr<weld::Label> m_xHelpText;
+ VclPtr<OApplicationDetailView> m_pDetailView;
+
+ int m_nCursorIndex;
+
+ DECL_LINK(onSelected, weld::TreeView&, bool);
+ DECL_LINK(OnEntrySelectHdl, weld::TreeView&, void);
+ DECL_LINK(KeyInputHdl, const KeyEvent&, bool);
+ DECL_LINK(FocusInHdl, weld::Widget&, void);
+ DECL_LINK(FocusOutHdl, weld::Widget&, void);
+
+ /** sets a new current entry, and invalidates the old and the new one, if necessary
+ @return <TRUE/> if and only if the "current entry" changed
+ */
+ bool setCurrentEntryInvalidate( SvTreeListEntry* _pEntry );
+
+ void updateHelpText();
- void ImplInitSettings();
- protected:
virtual void DataChanged(const DataChangedEvent& rDCEvt) override;
public:
OTasksWindow(vcl::Window* _pParent,OApplicationDetailView* _pDetailView);
virtual ~OTasksWindow() override;
virtual void dispose() override;
- // Window overrides
- virtual void Resize() override;
+ virtual void GetFocus() override;
OApplicationDetailView* getDetailView() const { return m_pDetailView; }
@@ -122,6 +101,7 @@ namespace dbaui
void Clear();
void setHelpText(const char* pId);
};
+
class OApplicationDetailView : public OSplitterView
, public IClipboardTest
{
diff --git a/dbaccess/uiconfig/ui/creationlistbox.ui b/dbaccess/uiconfig/ui/creationlistbox.ui
deleted file mode 100644
index 9a03e2b9e900..000000000000
--- a/dbaccess/uiconfig/ui/creationlistbox.ui
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.36.0 -->
-<interface domain="dba">
- <requires lib="gtk+" version="3.18"/>
- <object class="GtkTreeStore" id="liststore1">
- <columns>
- <!-- column-name expander -->
- <column type="GdkPixbuf"/>
- <!-- column-name text -->
- <column type="gchararray"/>
- <!-- column-name id -->
- <column type="gchararray"/>
- </columns>
- </object>
- <object class="GtkBox" id="CreationListBox">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="hexpand">True</property>
- <property name="vexpand">True</property>
- <property name="border_width">0</property>
- <property name="spacing">12</property>
- <child>
- <object class="GtkScrolledWindow">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hexpand">True</property>
- <property name="vexpand">True</property>
- <child>
- <object class="GtkTreeView" id="treeview">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="hexpand">True</property>
- <property name="vexpand">True</property>
- <property name="model">liststore1</property>
- <property name="headers_visible">False</property>
- <property name="search_column">1</property>
- <property name="hover_selection">True</property>
- <property name="enable_tree_lines">True</property>
- <property name="activate_on_single_click">True</property>
- <child internal-child="selection">
- <object class="GtkTreeSelection" id="Macro Library List-selection1"/>
- </child>
- <child>
- <object class="GtkTreeViewColumn" id="treeviewcolumn2">
- <property name="spacing">6</property>
- <child>
- <object class="GtkCellRendererPixbuf" id="cellrenderertext4"/>
- <attributes>
- <attribute name="pixbuf">0</attribute>
- </attributes>
- </child>
- <child>
- <object class="GtkCellRendererText" id="cellrenderertext2"/>
- <attributes>
- <attribute name="text">1</attribute>
- </attributes>
- </child>
- </object>
- </child>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- </object>
-</interface>
diff --git a/dbaccess/uiconfig/ui/taskwindow.ui b/dbaccess/uiconfig/ui/taskwindow.ui
new file mode 100644
index 000000000000..1a9568e99ecc
--- /dev/null
+++ b/dbaccess/uiconfig/ui/taskwindow.ui
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.36.0 -->
+<interface domain="dba">
+ <requires lib="gtk+" version="3.18"/>
+ <object class="GtkTreeStore" id="liststore1">
+ <columns>
+ <!-- column-name expander -->
+ <column type="GdkPixbuf"/>
+ <!-- column-name text -->
+ <column type="gchararray"/>
+ <!-- column-name id -->
+ <column type="gchararray"/>
+ </columns>
+ </object>
+ <object class="GtkBox" id="TaskWindow">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="border_width">0</property>
+ <property name="spacing">6</property>
+ <property name="homogeneous">True</property>
+ <child>
+ <object class="GtkScrolledWindow">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <child>
+ <object class="GtkTreeView" id="treeview">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="model">liststore1</property>
+ <property name="headers_visible">False</property>
+ <property name="search_column">1</property>
+ <property name="hover_selection">True</property>
+ <property name="enable_tree_lines">True</property>
+ <property name="activate_on_single_click">True</property>
+ <child internal-child="selection">
+ <object class="GtkTreeSelection" id="Macro Library List-selection1"/>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="treeviewcolumn2">
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkCellRendererPixbuf" id="cellrenderertext4"/>
+ <attributes>
+ <attribute name="pixbuf">0</attribute>
+ </attributes>
+ </child>
+ <child>
+ <object class="GtkCellRendererText" id="cellrenderertext2"/>
+ <attributes>
+ <attribute name="text">1</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="column_spacing">6</property>
+ <child>
+ <object class="GtkSeparator" id="separator">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="row_spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="description">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="taskwindow|STR_DESCRIPTION">Description</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">helptext</property>
+ <property name="xalign">0</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="helptext">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="wrap">True</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="helptext-atkobject">
+ <property name="AtkObject::accessible-role" translatable="no">static</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+</interface>
diff --git a/solenv/sanitizers/ui/dbaccess.suppr b/solenv/sanitizers/ui/dbaccess.suppr
index 4f0403d18345..58d31c9217bf 100644
--- a/solenv/sanitizers/ui/dbaccess.suppr
+++ b/solenv/sanitizers/ui/dbaccess.suppr
@@ -84,6 +84,7 @@ dbaccess/uiconfig/ui/sortdialog.ui://GtkComboBoxText[@id='value3'] no-labelled-b
dbaccess/uiconfig/ui/tablesfilterpage.ui://GtkLabel[@id='label2'] orphan-label
dbaccess/uiconfig/ui/tablesjoindialog.ui://GtkLabel[@id='title'] orphan-label
dbaccess/uiconfig/ui/tablesjoindialog.ui://GtkLabel[@id='alttitle'] orphan-label
+dbaccess/uiconfig/ui/taskwindow.ui://GtkTreeView[@id='treeview'] no-labelled-by
dbaccess/uiconfig/ui/textpage.ui://GtkEntry[@id='extension'] no-labelled-by
dbaccess/uiconfig/ui/textpage.ui://GtkLabel[@id='example'] orphan-label
dbaccess/uiconfig/ui/useradminpage.ui://GtkLabel[@id='label3'] orphan-label