diff options
author | tushar <tusharrai282@gmail.com> | 2021-06-09 01:56:48 +0530 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2021-07-03 20:51:04 +0200 |
commit | 7b4169c9d54c6e90e860141a6ced51464cf102d8 (patch) | |
tree | f68c5f205153a31f45c6a6cfb5736227b2c0469b | |
parent | f5ff7a967b09a715c56630aff92cfb636e7c232b (diff) |
Implement Interface for Data Providers.
Change-Id: I83ec43511d4fd9a91d7ec34e2281f80b19b4d562
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116870
Tested-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
-rw-r--r-- | sc/UIConfig_scalc.mk | 1 | ||||
-rw-r--r-- | sc/source/ui/inc/dataproviderdlg.hxx | 39 | ||||
-rw-r--r-- | sc/source/ui/miscdlgs/dataproviderdlg.cxx | 310 | ||||
-rw-r--r-- | sc/source/ui/miscdlgs/datatableview.cxx | 2 | ||||
-rw-r--r-- | sc/uiconfig/scalc/ui/aggregatefunctionentry.ui | 184 | ||||
-rw-r--r-- | sc/uiconfig/scalc/ui/dataproviderdlg.ui | 412 | ||||
-rw-r--r-- | sc/uiconfig/scalc/ui/dataproviderentry.ui | 108 | ||||
-rw-r--r-- | sc/uiconfig/scalc/ui/datetimetransformationentry.ui | 212 | ||||
-rw-r--r-- | sc/uiconfig/scalc/ui/deletecolumnentry.ui | 123 | ||||
-rw-r--r-- | sc/uiconfig/scalc/ui/mergecolumnentry.ui | 159 | ||||
-rw-r--r-- | sc/uiconfig/scalc/ui/numbertransformationentry.ui | 202 | ||||
-rw-r--r-- | sc/uiconfig/scalc/ui/replacenulltransformationentry.ui | 171 | ||||
-rw-r--r-- | sc/uiconfig/scalc/ui/sorttransformationentry.ui | 144 | ||||
-rw-r--r-- | sc/uiconfig/scalc/ui/splitcolumnentry.ui | 160 | ||||
-rw-r--r-- | sc/uiconfig/scalc/ui/texttransformationentry.ui | 165 | ||||
-rw-r--r-- | solenv/sanitizers/ui/modules/scalc.suppr | 23 |
16 files changed, 1041 insertions, 1374 deletions
diff --git a/sc/UIConfig_scalc.mk b/sc/UIConfig_scalc.mk index 3d11cfdbf18c..705aee221cbf 100644 --- a/sc/UIConfig_scalc.mk +++ b/sc/UIConfig_scalc.mk @@ -113,7 +113,6 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/scalc,\ sc/uiconfig/scalc/ui/dataformfragment \ sc/uiconfig/scalc/ui/datastreams \ sc/uiconfig/scalc/ui/dataproviderdlg \ - sc/uiconfig/scalc/ui/dataproviderentry \ sc/uiconfig/scalc/ui/definedatabaserangedialog \ sc/uiconfig/scalc/ui/definename \ sc/uiconfig/scalc/ui/deletecells \ diff --git a/sc/source/ui/inc/dataproviderdlg.hxx b/sc/source/ui/inc/dataproviderdlg.hxx index d056fa386006..582df71e5c22 100644 --- a/sc/source/ui/inc/dataproviderdlg.hxx +++ b/sc/source/ui/inc/dataproviderdlg.hxx @@ -9,6 +9,8 @@ #pragma once +#include <datamapper.hxx> + #include <sal/config.h> #include <com/sun/star/awt/XWindow.hpp> @@ -18,7 +20,6 @@ #include <memory> class ScDocument; -class ScDataProviderBaseControl; class ScDataTransformationBaseControl; class ScDBData; @@ -26,15 +27,25 @@ class ScDataProviderDlg : public weld::GenericDialogController { private: std::shared_ptr<ScDocument> mxDoc; - std::unique_ptr<weld::Menu> mxStartMenu; - std::unique_ptr<weld::Menu> mxColumnMenu; std::unique_ptr<weld::Container> mxBox; css::uno::Reference<css::awt::XWindow> m_xTableParent; VclPtr<ScDataTableView> mxTable; - std::unique_ptr<weld::ScrolledWindow> mxScroll; std::unique_ptr<weld::Container> mxList; - std::unique_ptr<ScDataProviderBaseControl> mxDataProviderCtrl; std::unique_ptr<weld::ComboBox> mxDBRanges; + std::unique_ptr<weld::Button> mxOKBtn; + std::unique_ptr<weld::Button> mxCancelBtn; + std::unique_ptr<weld::Button> mxAddTransformationBtn; + std::unique_ptr<weld::ScrolledWindow> mxScroll; + std::unique_ptr<weld::Container> mxTransformationList; + std::unique_ptr<weld::ComboBox> mxTransformationBox; + std::unique_ptr<weld::ComboBox> mxProviderList; + std::unique_ptr<weld::Entry> mxEditURL; + std::unique_ptr<weld::Entry> mxEditID; + std::unique_ptr<weld::Button> mxApplyBtn; + std::unique_ptr<weld::Button> mxBrowseBtn; + + OUString msApplyTooltip; + OUString msAddTransformationToolTip; std::vector<std::unique_ptr<ScDataTransformationBaseControl>> maControls; @@ -43,12 +54,18 @@ private: sal_uInt32 mnIndex; ScDBData* pDBData; - void InitMenu(); - DECL_LINK(StartMenuHdl, const OString&, void); - DECL_LINK(ColumnMenuHdl, const OString&, void); - DECL_LINK(ImportHdl, ScDataProviderBaseControl*, void); + DECL_LINK(ColumnMenuHdl, const weld::ComboBox&, void); DECL_LINK(ScrollToEnd, Timer*, void); + DECL_LINK(ApplyQuitHdl, weld::Button&, void); + DECL_LINK(CancelQuitHdl, weld::Button&, void); + DECL_LINK(TransformationListHdl, weld::Button&, void); + DECL_LINK(ProviderSelectHdl, weld::ComboBox&, void); + DECL_LINK(TransformationSelectHdl, weld::ComboBox&, void); + DECL_LINK(IDEditHdl, weld::Entry&, void); + DECL_LINK(URLEditHdl, weld::Entry&, void); + DECL_LINK(ApplyBtnHdl, weld::Button&, void); + DECL_LINK(BrowseBtnHdl, weld::Button&, void); public: ScDataProviderDlg(weld::Window* pWindow, std::shared_ptr<ScDocument> pDoc, @@ -68,6 +85,10 @@ public: void deletefromList(sal_uInt32 nIndex); void replaceNullTransformation(); void dateTimeTransformation(); + void updateApplyBtn(bool bValidConfig); + void isValid(); + + sc::ExternalDataSource getDataSource(ScDocument* pDoc); void import(ScDocument& rDoc, bool bInternal = false); }; diff --git a/sc/source/ui/miscdlgs/dataproviderdlg.cxx b/sc/source/ui/miscdlgs/dataproviderdlg.cxx index d41c3842488c..757ea7634778 100644 --- a/sc/source/ui/miscdlgs/dataproviderdlg.cxx +++ b/sc/source/ui/miscdlgs/dataproviderdlg.cxx @@ -17,116 +17,12 @@ #include <comphelper/string.hxx> #include <sal/log.hxx> +#include <sfx2/filedlghelper.hxx> #include <unotools/charclass.hxx> #include <vcl/svapp.hxx> #include <utility> -class ScDataProviderBaseControl -{ - std::unique_ptr<weld::Builder> mxBuilder; - std::unique_ptr<weld::Container> mxGrid; - std::unique_ptr<weld::ComboBox> mxProviderList; - std::unique_ptr<weld::Entry> mxEditURL; - std::unique_ptr<weld::Entry> mxEditID; - std::unique_ptr<weld::Button> mxApplyBtn; - - OUString msApplyTooltip; - - Link<ScDataProviderBaseControl*, void> maImportCallback; - - DECL_LINK(ProviderSelectHdl, weld::ComboBox&, void); - DECL_LINK(IDEditHdl, weld::Entry&, void); - DECL_LINK(URLEditHdl, weld::Entry&, void); - DECL_LINK(ApplyBtnHdl, weld::Button&, void); - - void updateApplyBtn(bool bValidConfig); - -public: - ScDataProviderBaseControl(weld::Container* pParent, const Link<ScDataProviderBaseControl*, void>& rImportCallback); - - void isValid(); - - sc::ExternalDataSource getDataSource(ScDocument* pDoc); -}; - -ScDataProviderBaseControl::ScDataProviderBaseControl(weld::Container* pParent, - const Link<ScDataProviderBaseControl*, void>& rImportCallback) - : mxBuilder(Application::CreateBuilder(pParent, "modules/scalc/ui/dataproviderentry.ui")) - , mxGrid(mxBuilder->weld_container("grid")) - , mxProviderList(mxBuilder->weld_combo_box("provider_lst")) - , mxEditURL(mxBuilder->weld_entry("ed_url")) - , mxEditID(mxBuilder->weld_entry("ed_id")) - , mxApplyBtn(mxBuilder->weld_button("apply")) - , maImportCallback(rImportCallback) -{ - auto aDataProvider = sc::DataProviderFactory::getDataProviders(); - for (const auto& rDataProvider : aDataProvider) - { - mxProviderList->append_text(rDataProvider); - } - - mxProviderList->connect_changed(LINK(this, ScDataProviderBaseControl, ProviderSelectHdl)); - mxEditID->connect_changed(LINK(this, ScDataProviderBaseControl, IDEditHdl)); - mxEditURL->connect_changed(LINK(this, ScDataProviderBaseControl, URLEditHdl)); - - msApplyTooltip = mxApplyBtn->get_tooltip_text(); - mxApplyBtn->connect_clicked(LINK(this, ScDataProviderBaseControl, ApplyBtnHdl)); - isValid(); -} - -void ScDataProviderBaseControl::isValid() -{ - bool bValid = !mxProviderList->get_active_text().isEmpty(); - bValid &= !mxEditURL->get_text().isEmpty(); - updateApplyBtn(bValid); -} - -sc::ExternalDataSource ScDataProviderBaseControl::getDataSource(ScDocument* pDoc) -{ - OUString aURL = mxEditURL->get_text(); - OUString aProvider = mxProviderList->get_active_text(); - sc::ExternalDataSource aSource(aURL, aProvider, pDoc); - - OUString aID = mxEditID->get_text(); - aSource.setID(aID); - return aSource; -} - -void ScDataProviderBaseControl::updateApplyBtn(bool bValidConfig) -{ - if (!bValidConfig) - { - mxApplyBtn->set_sensitive(false); - mxApplyBtn->set_tooltip_text(OUString()); - return; - } - - mxApplyBtn->set_sensitive(true); - mxApplyBtn->set_tooltip_text(msApplyTooltip); -} - -IMPL_LINK_NOARG(ScDataProviderBaseControl, ProviderSelectHdl, weld::ComboBox&, void) -{ - isValid(); -} - -IMPL_LINK_NOARG(ScDataProviderBaseControl, IDEditHdl, weld::Entry&, void) -{ - isValid(); -} - -IMPL_LINK_NOARG(ScDataProviderBaseControl, URLEditHdl, weld::Entry&, void) -{ - isValid(); -} - -IMPL_LINK_NOARG(ScDataProviderBaseControl, ApplyBtnHdl, weld::Button&, void) -{ - updateApplyBtn(true); - maImportCallback.Call(this); -} - class ScDataTransformationBaseControl { protected: @@ -162,26 +58,20 @@ namespace { struct MenuData { - int nMenuID; - const char* aMenuName; + const char* aTransformationName; std::function<void(ScDataProviderDlg*)> maCallback; }; -MenuData aStartData[] = { - { 0, "Apply & Quit", &ScDataProviderDlg::applyAndQuit }, - { 1, "Cancel & Quit", &ScDataProviderDlg::cancelAndQuit } -}; - -MenuData aColumnData[] = { - { 0, "Delete Column", &ScDataProviderDlg::deleteColumn }, - { 1, "Split Column", &ScDataProviderDlg::splitColumn }, - { 2, "Merge Columns", &ScDataProviderDlg::mergeColumns }, - { 3, "Text Transformation", &ScDataProviderDlg::textTransformation }, - { 4, "Sort Columns", &ScDataProviderDlg::sortTransformation }, - { 5, "Aggregate Functions", &ScDataProviderDlg::aggregateFunction}, - { 6, "Number Transformations", &ScDataProviderDlg::numberTransformation }, - { 7, "Replace Null Transformations", &ScDataProviderDlg::replaceNullTransformation }, - { 8, "Date & Time Transformations", &ScDataProviderDlg::dateTimeTransformation } +MenuData aTransformationData[] = { + { "Delete Column", &ScDataProviderDlg::deleteColumn }, + { "Split Column", &ScDataProviderDlg::splitColumn }, + { "Merge Columns", &ScDataProviderDlg::mergeColumns }, + { "Text Transformation", &ScDataProviderDlg::textTransformation }, + { "Sort Columns", &ScDataProviderDlg::sortTransformation }, + { "Aggregate Functions", &ScDataProviderDlg::aggregateFunction}, + { "Number Transformations", &ScDataProviderDlg::numberTransformation }, + { "Replace Null Transformations", &ScDataProviderDlg::replaceNullTransformation }, + { "Date & Time Transformations", &ScDataProviderDlg::dateTimeTransformation } }; class ScDeleteColumnTransformationControl : public ScDataTransformationBaseControl @@ -235,7 +125,7 @@ class ScSplitColumnTransformationControl : public ScDataTransformationBaseContro { private: std::unique_ptr<weld::Entry> mxSeparator; - std::unique_ptr<weld::SpinButton> mxNumColumns; + std::unique_ptr<weld::Entry> mxNumColumns; std::unique_ptr<weld::Button> mxDelete; SCCOL mnCol; std::function<void(sal_uInt32&)> maDeleteTransformation; @@ -252,7 +142,7 @@ ScSplitColumnTransformationControl::ScSplitColumnTransformationControl( std::function<void(sal_uInt32&)> aDeleteTransformation) : ScDataTransformationBaseControl(pParent, "modules/scalc/ui/splitcolumnentry.ui", nIndex) , mxSeparator(mxBuilder->weld_entry("ed_separator")) - , mxNumColumns(mxBuilder->weld_spin_button("num_cols")) + , mxNumColumns(mxBuilder->weld_entry("num_cols")) , mxDelete(mxBuilder->weld_button("ed_delete")) , mnCol(nCol) , maDeleteTransformation(std::move(aDeleteTransformation)) @@ -330,7 +220,7 @@ std::shared_ptr<sc::DataTransformation> ScMergeColumnTransformationControl::getT class ScSortTransformationControl : public ScDataTransformationBaseControl { private: - std::unique_ptr<weld::CheckButton> mxAscending; + std::unique_ptr<weld::ComboBox> mxType; std::unique_ptr<weld::Entry> mxEdColumns; std::unique_ptr<weld::Button> mxDelete; std::function<void(sal_uInt32&)> maDeleteTransformation; @@ -346,7 +236,7 @@ public: ScSortTransformationControl::ScSortTransformationControl( const ScDocument* pDoc, weld::Container* pParent, sal_uInt32 nIndex, std::function<void(sal_uInt32&)> aDeleteTransformation) : ScDataTransformationBaseControl(pParent, "modules/scalc/ui/sorttransformationentry.ui", nIndex) - , mxAscending(mxBuilder->weld_check_button("ed_ascending")) + , mxType(mxBuilder->weld_combo_box("ed_ascending")) , mxEdColumns(mxBuilder->weld_entry("ed_columns")) , mxDelete(mxBuilder->weld_button("ed_delete")) , maDeleteTransformation(std::move(aDeleteTransformation)) @@ -358,7 +248,7 @@ ScSortTransformationControl::ScSortTransformationControl( std::shared_ptr<sc::DataTransformation> ScSortTransformationControl::getTransformation() { OUString aColStr = mxEdColumns->get_text(); - bool aIsAscending = mxAscending->get_active(); + bool aIsAscending = mxType->get_active(); SCCOL aColumn = 0; sal_Int32 nCol = aColStr.toInt32(); if (nCol > 0 && nCol <= mpDoc->MaxCol()) @@ -729,15 +619,21 @@ ScDataProviderDlg::ScDataProviderDlg(weld::Window* pParent, std::shared_ptr<ScDo const ScDocument* pDocument) : GenericDialogController(pParent, "modules/scalc/ui/dataproviderdlg.ui", "dataproviderdlg") , mxDoc(std::move(pDoc)) - , mxStartMenu(m_xBuilder->weld_menu("start")) - , mxColumnMenu(m_xBuilder->weld_menu("column")) , mxBox(m_xBuilder->weld_container("data_table")) , m_xTableParent(mxBox->CreateChildFrame()) , mxTable(VclPtr<ScDataTableView>::Create(m_xTableParent)) - , mxScroll(m_xBuilder->weld_scrolled_window("scroll")) - , mxList(m_xBuilder->weld_container("operation_ctrl")) - , mxDataProviderCtrl(new ScDataProviderBaseControl(mxList.get(), LINK(this, ScDataProviderDlg, ImportHdl))) , mxDBRanges(m_xBuilder->weld_combo_box("select_db_range")) + , mxOKBtn(m_xBuilder->weld_button("okay")) + , mxCancelBtn(m_xBuilder->weld_button("cancel")) + , mxAddTransformationBtn(m_xBuilder->weld_button("add_transformation")) + , mxScroll(m_xBuilder->weld_scrolled_window("scroll")) + , mxTransformationList(m_xBuilder->weld_container("transformation_ctrl")) + , mxTransformationBox(m_xBuilder->weld_combo_box("transformation_box")) + , mxProviderList(m_xBuilder->weld_combo_box("provider_lst")) + , mxEditURL(m_xBuilder->weld_entry("ed_url")) + , mxEditID(m_xBuilder->weld_entry("ed_id")) + , mxApplyBtn(m_xBuilder->weld_button("apply")) + , mxBrowseBtn(m_xBuilder->weld_button("browse")) , mnIndex(0) { Size aPrefSize = mxTable->GetOptimalSize(); @@ -752,11 +648,36 @@ ScDataProviderDlg::ScDataProviderDlg(weld::Window* pParent, std::shared_ptr<ScDo mxDBRanges->append_text(rNamedDB->GetName()); } + for (const auto& i : aTransformationData) + { + mxTransformationBox->append_text(OUString::createFromAscii(i.aTransformationName)); + } + pDBData = new ScDBData("data", 0, 0, 0, mxDoc->MaxCol(), mxDoc->MaxRow()); bool bSuccess = mxDoc->GetDBCollection()->getNamedDBs().insert(std::unique_ptr<ScDBData>(pDBData)); SAL_WARN_IF(!bSuccess, "sc", "temporary warning"); - InitMenu(); + auto aDataProvider = sc::DataProviderFactory::getDataProviders(); + for (const auto& rDataProvider : aDataProvider) + { + mxProviderList->append_text(rDataProvider); + } + + mxOKBtn->connect_clicked(LINK(this, ScDataProviderDlg, ApplyQuitHdl)); + mxCancelBtn->connect_clicked(LINK(this, ScDataProviderDlg, CancelQuitHdl)); + mxAddTransformationBtn->connect_clicked(LINK(this, ScDataProviderDlg, TransformationListHdl)); + mxApplyBtn->connect_clicked(LINK(this, ScDataProviderDlg, ApplyBtnHdl)); + mxBrowseBtn->connect_clicked(LINK(this, ScDataProviderDlg, BrowseBtnHdl)); + mxTransformationBox->connect_changed(LINK(this, ScDataProviderDlg, TransformationSelectHdl)); + mxProviderList->connect_changed(LINK(this, ScDataProviderDlg, ProviderSelectHdl)); + mxEditID->connect_changed(LINK(this, ScDataProviderDlg, IDEditHdl)); + mxEditURL->connect_changed(LINK(this, ScDataProviderDlg, URLEditHdl)); + + msApplyTooltip = mxApplyBtn->get_tooltip_text(); + msAddTransformationToolTip = mxAddTransformationBtn->get_tooltip_text(); + mxAddTransformationBtn->set_sensitive(false); + mxAddTransformationBtn->set_tooltip_text(OUString()); + isValid(); maIdle.SetPriority( TaskPriority::LOWEST ); maIdle.SetInvokeHandler( LINK( this, ScDataProviderDlg, ScrollToEnd) ); @@ -769,72 +690,107 @@ ScDataProviderDlg::~ScDataProviderDlg() m_xTableParent.clear(); } -void ScDataProviderDlg::InitMenu() +IMPL_LINK_NOARG(ScDataProviderDlg, ScrollToEnd, Timer*, void) { - for (const auto& itrStartData : aStartData) - mxStartMenu->append(OUString::number(itrStartData.nMenuID), OUString::createFromAscii(itrStartData.aMenuName)); - mxStartMenu->connect_activate(LINK(this, ScDataProviderDlg, StartMenuHdl)); - - for (const auto& itrColumnData : aColumnData) - mxColumnMenu->append(OUString::number(itrColumnData.nMenuID), OUString::createFromAscii(itrColumnData.aMenuName)); - mxColumnMenu->connect_activate(LINK(this, ScDataProviderDlg, ColumnMenuHdl)); + mxScroll->vadjustment_set_value(mxScroll->vadjustment_get_upper()); } -IMPL_LINK(ScDataProviderDlg, StartMenuHdl, const OString&, rIdent, void) +IMPL_LINK_NOARG(ScDataProviderDlg, ApplyQuitHdl, weld::Button&, void) { - auto nId = rIdent.toInt32(); - for (auto& i: aStartData) - { - if (i.nMenuID == nId) - { - i.maCallback(this); - return; - } - } + m_xDialog->response(RET_OK); } -IMPL_LINK_NOARG(ScDataProviderDlg, ScrollToEnd, Timer*, void) +IMPL_LINK_NOARG(ScDataProviderDlg, CancelQuitHdl, weld::Button&, void) { - mxScroll->vadjustment_set_value(mxScroll->vadjustment_get_upper()); + m_xDialog->response(RET_CANCEL); } -IMPL_LINK(ScDataProviderDlg, ColumnMenuHdl, const OString&, rIdent, void) +IMPL_LINK_NOARG(ScDataProviderDlg, TransformationListHdl, weld::Button&, void) { - auto nId = rIdent.toInt32(); - for (auto& i: aColumnData) + OUString transformation_string = mxTransformationBox->get_active_text(); + for (auto& i: aTransformationData) { - if (i.nMenuID == nId) + if (transformation_string == OUString::createFromAscii(i.aTransformationName)) { i.maCallback(this); - // scroll to bottom when something added to the list maIdle.Start(); return; } } } -IMPL_LINK(ScDataProviderDlg, ImportHdl, ScDataProviderBaseControl*, pCtrl, void) +IMPL_LINK_NOARG(ScDataProviderDlg, ProviderSelectHdl, weld::ComboBox&, void) { - if (pCtrl == mxDataProviderCtrl.get()) - { - import(*mxDoc, true); - } + isValid(); } -void ScDataProviderDlg::applyAndQuit() +IMPL_LINK_NOARG(ScDataProviderDlg, IDEditHdl, weld::Entry&, void) { - m_xDialog->response(RET_OK); + isValid(); } -void ScDataProviderDlg::cancelAndQuit() +IMPL_LINK_NOARG(ScDataProviderDlg, URLEditHdl, weld::Entry&, void) { - m_xDialog->response(RET_CANCEL); + isValid(); +} + +IMPL_LINK_NOARG(ScDataProviderDlg, ApplyBtnHdl, weld::Button&, void) +{ + updateApplyBtn(true); + import(*mxDoc, true); +} + +IMPL_LINK_NOARG(ScDataProviderDlg, BrowseBtnHdl, weld::Button&, void) +{ + sfx2::FileDialogHelper aFileDialog(0, FileDialogFlags::NONE, m_xDialog.get()); + if (aFileDialog.Execute() != ERRCODE_NONE) + return; + + mxEditURL->set_text(aFileDialog.GetPath()); + isValid(); +} + +IMPL_LINK_NOARG(ScDataProviderDlg, TransformationSelectHdl, weld::ComboBox&, void) +{ + mxAddTransformationBtn->set_sensitive(true); + mxAddTransformationBtn->set_tooltip_text(msAddTransformationToolTip); +} + +sc::ExternalDataSource ScDataProviderDlg::getDataSource(ScDocument* pDoc) +{ + OUString aURL = mxEditURL->get_text(); + OUString aProvider = mxProviderList->get_active_text(); + sc::ExternalDataSource aSource(aURL, aProvider, pDoc); + + OUString aID = mxEditID->get_text(); + aSource.setID(aID); + return aSource; +} + +void ScDataProviderDlg::isValid() +{ + bool bValid = !mxProviderList->get_active_text().isEmpty(); + bValid &= !mxEditURL->get_text().isEmpty(); + updateApplyBtn(bValid); +} + +void ScDataProviderDlg::updateApplyBtn(bool bValidConfig) +{ + if (!bValidConfig) + { + mxApplyBtn->set_sensitive(false); + mxApplyBtn->set_tooltip_text(OUString()); + return; + } + + mxApplyBtn->set_sensitive(true); + mxApplyBtn->set_tooltip_text(msApplyTooltip); } void ScDataProviderDlg::deleteColumn() { std::function<void(sal_uInt32&)> adeleteTransformation = std::bind(&ScDataProviderDlg::deletefromList,this, std::placeholders::_1); - maControls.emplace_back(std::make_unique<ScDeleteColumnTransformationControl>(mxDoc.get(), mxList.get(), mnIndex++, adeleteTransformation)); + maControls.emplace_back(std::make_unique<ScDeleteColumnTransformationControl>(mxDoc.get(), mxTransformationList.get(), mnIndex++, adeleteTransformation)); } void ScDataProviderDlg::splitColumn() @@ -843,7 +799,7 @@ void ScDataProviderDlg::splitColumn() SCCOL nEndCol = -1; mxTable->getColRange(nStartCol, nEndCol); std::function<void(sal_uInt32&)> adeleteTransformation = std::bind(&ScDataProviderDlg::deletefromList,this, std::placeholders::_1); - maControls.emplace_back(std::make_unique<ScSplitColumnTransformationControl>(mxList.get(), nStartCol, mnIndex++, adeleteTransformation)); + maControls.emplace_back(std::make_unique<ScSplitColumnTransformationControl>(mxTransformationList.get(), nStartCol, mnIndex++, adeleteTransformation)); } void ScDataProviderDlg::mergeColumns() @@ -852,43 +808,43 @@ void ScDataProviderDlg::mergeColumns() SCCOL nEndCol = -1; mxTable->getColRange(nStartCol, nEndCol); std::function<void(sal_uInt32&)> adeleteTransformation = std::bind(&ScDataProviderDlg::deletefromList,this, std::placeholders::_1); - maControls.emplace_back(std::make_unique<ScMergeColumnTransformationControl>(mxDoc.get(), mxList.get(), nStartCol, nEndCol, mnIndex++, adeleteTransformation)); + maControls.emplace_back(std::make_unique<ScMergeColumnTransformationControl>(mxDoc.get(), mxTransformationList.get(), nStartCol, nEndCol, mnIndex++, adeleteTransformation)); } void ScDataProviderDlg::textTransformation() { std::function<void(sal_uInt32&)> adeleteTransformation = std::bind(&ScDataProviderDlg::deletefromList,this, std::placeholders::_1); - maControls.emplace_back(std::make_unique<ScColumnTextTransformation>(mxDoc.get(), mxList.get(), mnIndex++, adeleteTransformation)); + maControls.emplace_back(std::make_unique<ScColumnTextTransformation>(mxDoc.get(), mxTransformationList.get(), mnIndex++, adeleteTransformation)); } void ScDataProviderDlg::sortTransformation() { std::function<void(sal_uInt32&)> adeleteTransformation = std::bind(&ScDataProviderDlg::deletefromList,this, std::placeholders::_1); - maControls.emplace_back(std::make_unique<ScSortTransformationControl>(mxDoc.get(), mxList.get(), mnIndex++, adeleteTransformation)); + maControls.emplace_back(std::make_unique<ScSortTransformationControl>(mxDoc.get(), mxTransformationList.get(), mnIndex++, adeleteTransformation)); } void ScDataProviderDlg::aggregateFunction() { std::function<void(sal_uInt32&)> adeleteTransformation = std::bind(&ScDataProviderDlg::deletefromList,this, std::placeholders::_1); - maControls.emplace_back(std::make_unique<ScAggregateFunction>(mxDoc.get(), mxList.get(), mnIndex++, adeleteTransformation)); + maControls.emplace_back(std::make_unique<ScAggregateFunction>(mxDoc.get(), mxTransformationList.get(), mnIndex++, adeleteTransformation)); } void ScDataProviderDlg::numberTransformation() { std::function<void(sal_uInt32&)> adeleteTransformation = std::bind(&ScDataProviderDlg::deletefromList,this, std::placeholders::_1); - maControls.emplace_back(std::make_unique<ScNumberTransformation>(mxDoc.get(), mxList.get(), mnIndex++, adeleteTransformation)); + maControls.emplace_back(std::make_unique<ScNumberTransformation>(mxDoc.get(), mxTransformationList.get(), mnIndex++, adeleteTransformation)); } void ScDataProviderDlg::replaceNullTransformation() { std::function<void(sal_uInt32&)> adeleteTransformation = std::bind(&ScDataProviderDlg::deletefromList,this, std::placeholders::_1); - maControls.emplace_back(std::make_unique<ScReplaceNullTransformation>(mxDoc.get(), mxList.get(), mnIndex++, adeleteTransformation)); + maControls.emplace_back(std::make_unique<ScReplaceNullTransformation>(mxDoc.get(), mxTransformationList.get(), mnIndex++, adeleteTransformation)); } void ScDataProviderDlg::dateTimeTransformation() { std::function<void(sal_uInt32&)> adeleteTransformation = std::bind(&ScDataProviderDlg::deletefromList,this, std::placeholders::_1); - maControls.emplace_back(std::make_unique<ScDateTimeTransformation>(mxDoc.get(), mxList.get(), mnIndex++, adeleteTransformation)); + maControls.emplace_back(std::make_unique<ScDateTimeTransformation>(mxDoc.get(), mxTransformationList.get(), mnIndex++, adeleteTransformation)); } namespace { @@ -905,7 +861,7 @@ bool hasDBName(const OUString& rName, ScDBCollection* pDBCollection) void ScDataProviderDlg::import(ScDocument& rDoc, bool bInternal) { - sc::ExternalDataSource aSource = mxDataProviderCtrl->getDataSource(&rDoc); + sc::ExternalDataSource aSource = getDataSource(&rDoc); for (size_t i = 0; i < maControls.size(); ++i) { diff --git a/sc/source/ui/miscdlgs/datatableview.cxx b/sc/source/ui/miscdlgs/datatableview.cxx index 3c88ac65b290..da0dd2dd2e5b 100644 --- a/sc/source/ui/miscdlgs/datatableview.cxx +++ b/sc/source/ui/miscdlgs/datatableview.cxx @@ -295,7 +295,7 @@ void ScDataTableView::Paint(vcl::RenderContext& rRenderContext, const tools::Rec Size ScDataTableView::GetOptimalSize() const { - return Size(600, 400); + return Size(450, 400); } void ScDataTableView::getColRange(SCCOL& rStartCol, SCCOL& rEndCol) const diff --git a/sc/uiconfig/scalc/ui/aggregatefunctionentry.ui b/sc/uiconfig/scalc/ui/aggregatefunctionentry.ui index ec84d30920a3..2b6e31e13824 100644 --- a/sc/uiconfig/scalc/ui/aggregatefunctionentry.ui +++ b/sc/uiconfig/scalc/ui/aggregatefunctionentry.ui @@ -1,134 +1,86 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.22.1 --> +<!-- Generated with glade 3.38.2 --> <interface domain="sc"> <requires lib="gtk+" version="3.20"/> - <!-- n-columns=1 n-rows=1 --> + <!-- n-columns=3 n-rows=3 --> <object class="GtkGrid" id="grid"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="hexpand">True</property> - <property name="border_width">6</property> - <property name="row_spacing">6</property> - <property name="column_spacing">12</property> + <property name="can-focus">False</property> + <property name="margin-end">6</property> + <property name="border-width">6</property> + <property name="row-spacing">6</property> + <property name="column-spacing">12</property> <child> - <object class="GtkBox"> + <object class="GtkSeparator"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="orientation">vertical</property> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="aggregatefunctionentry|name">Aggregate Functions</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <!-- n-columns=1 n-rows=1 --> - <object class="GtkGrid" id="grid_details"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <child> - <object class="GtkLabel" id="label1"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="aggregatefunctionentry|type">Type:</property> - <accessibility> - <relation type="label-for" target="ed_lst"/> - </accessibility> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="label2"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="aggregatefunctionentry|columns">Columns:</property> - <accessibility> - <relation type="label-for" target="ed_columns"/> - </accessibility> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> - </packing> - </child> - <child> - <object class="GtkComboBoxText" id="ed_lst"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="active">0</property> - <property name="active_id">0</property> - <items> - <item id="0" translatable="yes" context="aggregatefunctionentry|sum">Sum</item> - <item id="1" translatable="yes" context="aggregatefunctionentry|average">Average</item> - <item id="2" translatable="yes" context="aggregatefunctionentry|min">Minimum Value</item> - <item id="3" translatable="yes" context="aggregatefunctionentry|max">Maximum Value</item> - </items> - <accessibility> - <relation type="labelled-by" target="label1"/> - </accessibility> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkEntry" id="ed_columns"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="truncate-multiline">True</property> - <accessibility> - <relation type="labelled-by" target="label2"/> - </accessibility> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">1</property> - </packing> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - <child> - <object class="GtkButton" id="ed_delete"> - <property name="label" translatable="yes" context="aggregatefunctionentry|delete">Cancel</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">2</property> - </packing> - </child> + <property name="can-focus">False</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> + <property name="left-attach">0</property> + <property name="top-attach">0</property> + <property name="width">3</property> </packing> </child> <child> - <object class="GtkSeparator"> + <object class="GtkLabel" id="label1"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="halign">start</property> + <property name="label" translatable="yes" context="aggregatefunctionentry|name">Aggregate Functions</property> + <property name="use-underline">True</property> + <property name="mnemonic-widget">ed_lst</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">1</property> + <property name="width">3</property> + </packing> + </child> + <child> + <object class="GtkComboBoxText" id="ed_lst"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="halign">start</property> + <property name="hexpand">False</property> + <property name="active">0</property> + <property name="active-id">0</property> + <items> + <item id="0" translatable="yes" context="aggregatefunctionentry|sum">Sum</item> + <item id="1" translatable="yes" context="aggregatefunctionentry|average">Average</item> + <item id="2" translatable="yes" context="aggregatefunctionentry|min">Minimum Value</item> + <item id="3" translatable="yes" context="aggregatefunctionentry|max">Maximum Value</item> + </items> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">2</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="ed_columns"> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="hexpand">True</property> + <property name="width-chars">10</property> + <property name="truncate-multiline">True</property> + <property name="placeholder-text" translatable="yes" context="aggregatefunctionentry/cols">Columns</property> + </object> + <packing> + <property name="left-attach">1</property> + <property name="top-attach">2</property> + </packing> + </child> + <child> + <object class="GtkButton" id="ed_delete"> + <property name="label" translatable="yes" context="aggregatefunctionentry|delete">Delete</property> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> + <property name="halign">end</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> + <property name="left-attach">2</property> + <property name="top-attach">2</property> </packing> </child> </object> diff --git a/sc/uiconfig/scalc/ui/dataproviderdlg.ui b/sc/uiconfig/scalc/ui/dataproviderdlg.ui index b7f2d79aa7d0..f37cba462e37 100644 --- a/sc/uiconfig/scalc/ui/dataproviderdlg.ui +++ b/sc/uiconfig/scalc/ui/dataproviderdlg.ui @@ -1,137 +1,208 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.22.1 --> +<!-- Generated with glade 3.22.2 --> <interface domain="sc"> <requires lib="gtk+" version="3.20"/> <object class="GtkDialog" id="dataproviderdlg"> <property name="can_focus">False</property> <property name="modal">True</property> <property name="type_hint">dialog</property> - <child> + <child type="titlebar"> <placeholder/> </child> <child internal-child="vbox"> <object class="GtkBox"> <property name="can_focus">False</property> <property name="orientation">vertical</property> - <property name="spacing">2</property> + <property name="spacing">12</property> <child internal-child="action_area"> <object class="GtkButtonBox"> <property name="can_focus">False</property> + <property name="margin_end">6</property> + <property name="margin_bottom">6</property> <property name="layout_style">end</property> <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkMenuBar" id="menubar"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <child> - <object class="GtkMenuItem"> + <object class="GtkButton" id="okay"> + <property name="label" translatable="yes" context="dataproviderdlg/okaybtn">Okay</property> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label">_Start</property> - <property name="use_underline">True</property> - <child type="submenu"> - <object class="GtkMenu" id="start"> - <property name="visible">True</property> - <property name="can_focus">False</property> - </object> - </child> + <property name="can_focus">True</property> + <property name="receives_default">True</property> </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> </child> <child> - <object class="GtkMenuItem"> + <object class="GtkButton" id="cancel"> + <property name="label" translatable="yes" context="dataproviderdlg/cancelbtn">Cancel</property> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label">_Column</property> - <property name="use_underline">True</property> - <child type="submenu"> - <object class="GtkMenu" id="column"> - <property name="visible">True</property> - <property name="can_focus">False</property> - </object> - </child> + <property name="can_focus">True</property> + <property name="receives_default">True</property> </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> </child> </object> <packing> <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> + <property name="fill">False</property> + <property name="pack_type">end</property> + <property name="position">2</property> </packing> </child> <child> - <object class="GtkBox"> + <object class="GtkPaned"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="hexpand">True</property> - <property name="vexpand">True</property> - <property name="spacing">12</property> + <property name="can_focus">True</property> + <property name="wide_handle">True</property> <child> - <object class="GtkBox" id="data_table"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="hexpand">True</property> - <property name="vexpand">True</property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkBox"> + <object class="GtkBox" id="bxSourceTransform"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="orientation">vertical</property> - <property name="spacing">6</property> <child> - <!-- n-columns=1 n-rows=1 --> - <object class="GtkGrid"> + <object class="GtkFrame" id="frmSource"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="column_spacing">6</property> + <property name="margin_start">6</property> + <property name="margin_top">6</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> <child> - <object class="GtkLabel" id="label2"> + <object class="GtkGrid" id="gdSource"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="label" translatable="yes" context="dataproviderdlg|db_name">Database Range: </property> - <accessibility> - <relation type="label-for" target="select_db_range"/> - </accessibility> + <property name="margin_start">12</property> + <property name="margin_end">12</property> + <property name="margin_top">6</property> + <property name="row_spacing">6</property> + <property name="column_spacing">12</property> + <child> + <object class="GtkLabel" id="label2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes" context="dataproviderdlg|db_name">Database Range:</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">select_db_range</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkComboBoxText" id="select_db_range"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + <property name="width">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes" context="dataproviderdlg/provider">Data Provider:</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">provider_lst</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkComboBoxText" id="provider_lst"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">1</property> + <property name="width">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label4"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes" context="dataproviderdlg/url">URL:</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">ed_url</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="ed_url"> + <property name="visible">True</property> + <property name="can_focus">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkButton" id="browse"> + <property name="label" translatable="yes" context="dataproviderdlg/browse_btn">Browse</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + </object> + <packing> + <property name="left_attach">2</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label5"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes" context="dataproviderdlg/id">Id / Xpath:</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">ed_id</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">3</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="ed_id"> + <property name="visible">True</property> + <property name="can_focus">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">3</property> + <property name="width">2</property> + </packing> + </child> </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> - </packing> </child> - <child> - <object class="GtkComboBoxText" id="select_db_range"> + <child type="label"> + <object class="GtkLabel"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="hexpand">True</property> - <accessibility> - <relation type="labelled-by" target="label2"/> - </accessibility> + <property name="label" translatable="yes" context="dataproviderdlg/lbSource">Source</property> + <attributes> + <attribute name="weight" value="bold"/> + </attributes> </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">0</property> - </packing> </child> </object> <packing> @@ -141,43 +212,92 @@ </packing> </child> <child> - <object class="GtkScrolledWindow" id="scroll"> + <object class="GtkFrame" id="frmTransformation"> <property name="visible">True</property> - <property name="can_focus">True</property> + <property name="can_focus">False</property> + <property name="margin_start">6</property> + <property name="margin_top">6</property> + <property name="hexpand">True</property> <property name="vexpand">True</property> - <property name="hscrollbar_policy">never</property> - <property name="shadow_type">in</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> <child> - <object class="GtkViewport"> + <object class="GtkGrid" id="select_transformation"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="vexpand">True</property> + <property name="margin_start">12</property> + <property name="margin_end">12</property> + <property name="margin_top">6</property> + <property name="row_spacing">6</property> + <property name="column_spacing">12</property> + <child> + <object class="GtkButton" id="add_transformation"> + <property name="label" translatable="yes" context="dataproviderdlg/transformation_add">Add</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="tooltip_text" translatable="yes" context="dataproviderdlg/AddTransformation_tooltip">Add Transformations</property> + <property name="halign">end</property> + <property name="margin_end">12</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + </packing> + </child> <child> - <object class="GtkBox"> + <object class="GtkComboBoxText" id="transformation_box"> <property name="visible">True</property> <property name="can_focus">False</property> + <property name="hexpand">True</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkScrolledWindow" id="scroll"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hexpand">True</property> <property name="vexpand">True</property> - <property name="orientation">vertical</property> + <property name="shadow_type">in</property> <child> - <object class="GtkBox" id="operation_ctrl"> + <object class="GtkViewport"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="vexpand">True</property> - <property name="orientation">vertical</property> <child> - <placeholder/> + <object class="GtkBox" id="transformation_ctrl"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child> + <placeholder/> + </child> + </object> </child> </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> </child> </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + <property name="width">2</property> + </packing> </child> </object> </child> + <child type="label"> + <object class="GtkLabel" id="label_transformation"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes" context="dataproviderdlg/transformation">Transformations</property> + <attributes> + <attribute name="weight" value="bold"/> + </attributes> + </object> + </child> </object> <packing> <property name="expand">False</property> @@ -187,16 +307,90 @@ </child> </object> <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> + <property name="resize">True</property> + <property name="shrink">True</property> + </packing> + </child> + <child> + <object class="GtkFrame" id="frmPreview"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_start">12</property> + <property name="margin_end">6</property> + <property name="margin_top">6</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> + <child> + <object class="GtkBox" id="box2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_start">12</property> + <property name="margin_end">6</property> + <property name="margin_top">6</property> + <property name="orientation">vertical</property> + <property name="spacing">12</property> + <child> + <object class="GtkBox" id="data_table"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_end">6</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <child> + <placeholder/> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="apply"> + <property name="label" translatable="yes" context="dataproviderdlg/apply">Apply</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="tooltip_text" translatable="yes" context="dataproviderdlg/apply_tooltiptext">Apply Changes</property> + <property name="halign">end</property> + <property name="margin_end">6</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <accessibility> + <relation type="labelled-by" target="label_preview"/> + </accessibility> + </object> + </child> + <child type="label"> + <object class="GtkLabel" id="label_preview"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes" context="dataproviderdlg/preview">Preview</property> + <attributes> + <attribute name="weight" value="bold"/> + </attributes> + <accessibility> + <relation type="label-for" target="box2"/> + </accessibility> + </object> + </child> + </object> + <packing> + <property name="resize">True</property> + <property name="shrink">True</property> </packing> </child> </object> <packing> - <property name="expand">False</property> + <property name="expand">True</property> <property name="fill">True</property> - <property name="position">2</property> + <property name="position">0</property> </packing> </child> </object> diff --git a/sc/uiconfig/scalc/ui/dataproviderentry.ui b/sc/uiconfig/scalc/ui/dataproviderentry.ui deleted file mode 100644 index 3f1f66c1b640..000000000000 --- a/sc/uiconfig/scalc/ui/dataproviderentry.ui +++ /dev/null @@ -1,108 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.22.1 --> -<interface domain="sc"> - <requires lib="gtk+" version="3.20"/> - <object class="GtkImage" id="image1"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="icon_name">sc/res/xml_element.png</property> - </object> - <!-- n-columns=1 n-rows=1 --> - <object class="GtkGrid" id="grid"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="hexpand">True</property> - <property name="border_width">6</property> - <property name="row_spacing">6</property> - <property name="column_spacing">12</property> - <child> - <object class="GtkComboBoxText" id="provider_lst"> - <property name="visible">True</property> - <property name="can_focus">False</property> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkEntry" id="ed_url"> - <property name="visible">True</property> - <property name="truncate-multiline">True</property> - <property name="can_focus">True</property> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">1</property> - </packing> - </child> - <child> - <object class="GtkEntry" id="ed_id"> - <property name="visible">True</property> - <property name="truncate-multiline">True</property> - <property name="can_focus">True</property> - </object> - <packing> - <property name="left_attach">3</property> - <property name="top_attach">1</property> - </packing> - </child> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="dataproviderentry|url">URL:</property> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> - </packing> - </child> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="dataproviderentry|id">ID:</property> - </object> - <packing> - <property name="left_attach">2</property> - <property name="top_attach">1</property> - </packing> - </child> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="dataproviderentry|provider">Data Provider:</property> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkButton" id="apply"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="tooltip_text" translatable="yes" context="dataproviderentry|apply">Apply Changes</property> - <property name="image">image1</property> - <property name="relief">none</property> - <property name="always_show_image">True</property> - </object> - <packing> - <property name="left_attach">4</property> - <property name="top_attach">1</property> - </packing> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - </object> -</interface> diff --git a/sc/uiconfig/scalc/ui/datetimetransformationentry.ui b/sc/uiconfig/scalc/ui/datetimetransformationentry.ui index a2ffe32d3cd6..8ca3b9e7fb9d 100644 --- a/sc/uiconfig/scalc/ui/datetimetransformationentry.ui +++ b/sc/uiconfig/scalc/ui/datetimetransformationentry.ui @@ -1,148 +1,100 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.22.1 --> +<!-- Generated with glade 3.38.2 --> <interface domain="sc"> <requires lib="gtk+" version="3.20"/> - <!-- n-columns=1 n-rows=1 --> + <!-- n-columns=3 n-rows=3 --> <object class="GtkGrid" id="grid"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="hexpand">True</property> - <property name="border_width">6</property> - <property name="row_spacing">6</property> - <property name="column_spacing">12</property> + <property name="can-focus">False</property> + <property name="margin-end">6</property> + <property name="border-width">6</property> + <property name="row-spacing">6</property> + <property name="column-spacing">12</property> <child> - <object class="GtkBox"> + <object class="GtkSeparator"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="orientation">vertical</property> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="datetimetransformationentry|name">Date Time Transformations</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <!-- n-columns=1 n-rows=1 --> - <object class="GtkGrid" id="grid_details"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <child> - <object class="GtkLabel" id="label1"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="datetimetransformationentry|type">Type:</property> - <accessibility> - <relation type="label-for" target="ed_lst"/> - </accessibility> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="label2"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="datetimetransformationentry|columns">Columns:</property> - <accessibility> - <relation type="label-for" target="ed_columns"/> - </accessibility> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> - </packing> - </child> - <child> - <object class="GtkComboBoxText" id="ed_lst"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="active">0</property> - <property name="active_id">0</property> - <items> - <item id="0" translatable="yes" context="datetimetransformationentry|datestring">Date String</item> - <item id="1" translatable="yes" context="datetimetransformationentry|year">Year</item> - <item id="2" translatable="yes" context="datetimetransformationentry|startofyear">Start of Year</item> - <item id="3" translatable="yes" context="datetimetransformationentry|endofyear">End of Year</item> - <item id="4" translatable="yes" context="datetimetransformationentry|month">Month</item> - <item id="5" translatable="yes" context="datetimetransformationentry|monthname">Month Name</item> - <item id="6" translatable="yes" context="datetimetransformationentry|startofmonth">Start of Month</item> - <item id="7" translatable="yes" context="datetimetransformationentry|endofmonth">End of Month</item> - <item id="8" translatable="yes" context="datetimetransformationentry|day">Day</item> - <item id="9" translatable="yes" context="datetimetransformationentry|dayofweek">Day of Week</item> - <item id="10" translatable="yes" context="datetimetransformationentry|dayofyear">Day of Year</item> - <item id="11" translatable="yes" context="datetimetransformationentry|quarter">Quarter</item> - <item id="12" translatable="yes" context="datetimetransformationentry|startofquarter">Start of Quarter</item> - <item id="12" translatable="yes" context="datetimetransformationentry|endofquarter">End of Quarter</item> - <item id="12" translatable="yes" context="datetimetransformationentry|hour">Hour</item> - <item id="12" translatable="yes" context="datetimetransformationentry|minute">Minute</item> - <item id="12" translatable="yes" context="datetimetransformationentry|second">Second</item> - <item id="12" translatable="yes" context="datetimetransformationentry|time">Time</item> - </items> - <accessibility> - <relation type="labelled-by" target="label1"/> - </accessibility> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkEntry" id="ed_columns"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="truncate-multiline">True</property> - <accessibility> - <relation type="labelled-by" target="label2"/> - </accessibility> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">1</property> - </packing> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - <child> - <object class="GtkButton" id="ed_delete"> - <property name="label" translatable="yes" context="datetimetransformationentry|delete">Cancel</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">2</property> - </packing> - </child> + <property name="can-focus">False</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> + <property name="left-attach">0</property> + <property name="top-attach">0</property> + <property name="width">3</property> </packing> </child> <child> - <object class="GtkSeparator"> + <object class="GtkLabel" id="label1"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="halign">start</property> + <property name="label" translatable="yes" context="datetimetransformationentry|name">Date Time Transformations</property> + <property name="use-underline">True</property> + <property name="mnemonic-widget">ed_lst</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">1</property> + <property name="width">3</property> + </packing> + </child> + <child> + <object class="GtkComboBoxText" id="ed_lst"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="halign">start</property> + <property name="hexpand">False</property> + <property name="active">0</property> + <property name="active-id">0</property> + <items> + <item id="0" translatable="yes" context="datetimetransformationentry|datestring">Date String</item> + <item id="1" translatable="yes" context="datetimetransformationentry|year">Year</item> + <item id="2" translatable="yes" context="datetimetransformationentry|startofyear">Start of Year</item> + <item id="3" translatable="yes" context="datetimetransformationentry|endofyear">End of Year</item> + <item id="4" translatable="yes" context="datetimetransformationentry|month">Month</item> + <item id="5" translatable="yes" context="datetimetransformationentry|monthname">Month Name</item> + <item id="6" translatable="yes" context="datetimetransformationentry|startofmonth">Start of Month</item> + <item id="7" translatable="yes" context="datetimetransformationentry|endofmonth">End of Month</item> + <item id="8" translatable="yes" context="datetimetransformationentry|day">Day</item> + <item id="9" translatable="yes" context="datetimetransformationentry|dayofweek">Day of Week</item> + <item id="10" translatable="yes" context="datetimetransformationentry|dayofyear">Day of Year</item> + <item id="11" translatable="yes" context="datetimetransformationentry|quarter">Quarter</item> + <item id="12" translatable="yes" context="datetimetransformationentry|startofquarter">Start of Quarter</item> + <item id="12" translatable="yes" context="datetimetransformationentry|endofquarter">End of Quarter</item> + <item id="12" translatable="yes" context="datetimetransformationentry|hour">Hour</item> + <item id="12" translatable="yes" context="datetimetransformationentry|minute">Minute</item> + <item id="12" translatable="yes" context="datetimetransformationentry|second">Second</item> + <item id="12" translatable="yes" context="datetimetransformationentry|time">Time</item> + </items> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">2</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="ed_columns"> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="hexpand">True</property> + <property name="width-chars">10</property> + <property name="truncate-multiline">True</property> + <property name="placeholder-text" translatable="yes" context="datetimetransformationentry/cols">Columns</property> + </object> + <packing> + <property name="left-attach">1</property> + <property name="top-attach">2</property> + </packing> + </child> + <child> + <object class="GtkButton" id="ed_delete"> + <property name="label" translatable="yes" context="datetimetransformationentry|delete">Delete</property> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> + <property name="halign">end</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> + <property name="left-attach">2</property> + <property name="top-attach">2</property> </packing> </child> </object> diff --git a/sc/uiconfig/scalc/ui/deletecolumnentry.ui b/sc/uiconfig/scalc/ui/deletecolumnentry.ui index 76dc45f09665..db951e2d766d 100644 --- a/sc/uiconfig/scalc/ui/deletecolumnentry.ui +++ b/sc/uiconfig/scalc/ui/deletecolumnentry.ui @@ -1,93 +1,66 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.22.1 --> +<!-- Generated with glade 3.38.2 --> <interface domain="sc"> <requires lib="gtk+" version="3.20"/> - <!-- n-columns=1 n-rows=1 --> + <!-- n-columns=2 n-rows=3 --> <object class="GtkGrid" id="grid"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="hexpand">True</property> - <property name="border_width">6</property> - <property name="row_spacing">6</property> - <property name="column_spacing">12</property> + <property name="can-focus">False</property> + <property name="margin-end">6</property> + <property name="border-width">6</property> + <property name="row-spacing">6</property> + <property name="column-spacing">12</property> <child> - <object class="GtkBox"> + <object class="GtkSeparator"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="orientation">vertical</property> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="deletecolumnentry|name">Delete Columns Action</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <!-- n-columns=1 n-rows=1 --> - <object class="GtkGrid" id="grid_details"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="deletecolumnentry|separator">Columns (List of ';' separated columns)</property> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkEntry" id="ed_columns"> - <property name="visible">True</property> - <property name="truncate-multiline">True</property> - <property name="can_focus">True</property> - </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">1</property> - </packing> - </child> - <child> - <object class="GtkButton" id="ed_delete"> - <property name="label" translatable="yes" context="deletecolumnentry|delete">Cancel</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">2</property> - </packing> - </child> + <property name="can-focus">False</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> + <property name="left-attach">0</property> + <property name="top-attach">0</property> + <property name="width">2</property> </packing> </child> <child> - <object class="GtkSeparator"> + <object class="GtkLabel" id="label1"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="halign">start</property> + <property name="label" translatable="yes" context="deletecolumnentry|name">Delete Columns</property> + <property name="use-underline">True</property> + <property name="mnemonic-widget">ed_columns</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">1</property> + <property name="width">2</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="ed_columns"> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="hexpand">True</property> + <property name="width-chars">10</property> + <property name="truncate-multiline">True</property> + <property name="placeholder-text" translatable="yes" context="deletecolumnentry/cols">Cols(; Separated)</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">2</property> + </packing> + </child> + <child> + <object class="GtkButton" id="ed_delete"> + <property name="label" translatable="yes" context="deletecolumnentry|delete">Delete</property> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> + <property name="halign">end</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> + <property name="left-attach">1</property> + <property name="top-attach">2</property> </packing> </child> </object> diff --git a/sc/uiconfig/scalc/ui/mergecolumnentry.ui b/sc/uiconfig/scalc/ui/mergecolumnentry.ui index fda44065de69..41ce05894067 100644 --- a/sc/uiconfig/scalc/ui/mergecolumnentry.ui +++ b/sc/uiconfig/scalc/ui/mergecolumnentry.ui @@ -1,115 +1,80 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.22.1 --> +<!-- Generated with glade 3.38.2 --> <interface domain="sc"> <requires lib="gtk+" version="3.20"/> - <!-- n-columns=1 n-rows=1 --> + <!-- n-columns=3 n-rows=3 --> <object class="GtkGrid" id="grid"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="hexpand">True</property> - <property name="border_width">6</property> - <property name="row_spacing">6</property> - <property name="column_spacing">12</property> + <property name="can-focus">False</property> + <property name="margin-end">6</property> + <property name="border-width">6</property> + <property name="row-spacing">6</property> + <property name="column-spacing">12</property> <child> - <object class="GtkBox"> + <object class="GtkSeparator"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="orientation">vertical</property> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="mergecolumnentry|name">Merge Column Action</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <!-- n-columns=1 n-rows=1 --> - <object class="GtkGrid" id="grid_details"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="mergecolumnentry|separator">Separator:</property> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkEntry" id="ed_separator"> - <property name="visible">True</property> - <property name="truncate-multiline">True</property> - <property name="can_focus">True</property> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="mergecolumnentry|columns">Columns:</property> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> - </packing> - </child> - <child> - <object class="GtkEntry" id="ed_columns"> - <property name="visible">True</property> - <property name="truncate-multiline">True</property> - <property name="can_focus">True</property> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">1</property> - </packing> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - <child> - <object class="GtkButton" id="ed_delete"> - <property name="label" translatable="yes" context="mergecolumnentry|delete">Cancel</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">2</property> - </packing> - </child> + <property name="can-focus">False</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> + <property name="left-attach">0</property> + <property name="top-attach">0</property> + <property name="width">3</property> </packing> </child> <child> - <object class="GtkSeparator"> + <object class="GtkLabel" id="label1"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="halign">start</property> + <property name="label" translatable="yes" context="mergecolumnentry|name">Merge Column Action</property> + <property name="use-underline">True</property> + <property name="mnemonic-widget">ed_separator</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">1</property> + <property name="width">3</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="ed_separator"> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="hexpand">True</property> + <property name="width-chars">10</property> + <property name="truncate-multiline">True</property> + <property name="placeholder-text" translatable="yes" context="mergecolumnentry/separator">Separator</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">2</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="ed_columns"> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="hexpand">True</property> + <property name="width-chars">10</property> + <property name="truncate-multiline">True</property> + <property name="placeholder-text" translatable="yes" context="mergecolumnentry/cols">Columns</property> + </object> + <packing> + <property name="left-attach">1</property> + <property name="top-attach">2</property> + </packing> + </child> + <child> + <object class="GtkButton" id="ed_delete"> + <property name="label" translatable="yes" context="mergecolumnentry|delete">Delete</property> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> + <property name="halign">end</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> + <property name="left-attach">2</property> + <property name="top-attach">2</property> </packing> </child> </object> diff --git a/sc/uiconfig/scalc/ui/numbertransformationentry.ui b/sc/uiconfig/scalc/ui/numbertransformationentry.ui index 9271e0edb9b4..35cd42a7afb1 100644 --- a/sc/uiconfig/scalc/ui/numbertransformationentry.ui +++ b/sc/uiconfig/scalc/ui/numbertransformationentry.ui @@ -1,143 +1,95 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.22.1 --> +<!-- Generated with glade 3.38.2 --> <interface domain="sc"> <requires lib="gtk+" version="3.20"/> - <!-- n-columns=1 n-rows=1 --> + <!-- n-columns=3 n-rows=3 --> <object class="GtkGrid" id="grid"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="hexpand">True</property> - <property name="border_width">6</property> - <property name="row_spacing">6</property> - <property name="column_spacing">12</property> + <property name="can-focus">False</property> + <property name="margin-end">6</property> + <property name="border-width">6</property> + <property name="row-spacing">6</property> + <property name="column-spacing">12</property> <child> - <object class="GtkBox"> + <object class="GtkSeparator"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="orientation">vertical</property> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="numbertransformationentry|name">Number Transformations</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <!-- n-columns=1 n-rows=1 --> - <object class="GtkGrid" id="grid_details"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <child> - <object class="GtkLabel" id="label1"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="numbertransformationentry|type">Type:</property> - <accessibility> - <relation type="label-for" target="ed_lst"/> - </accessibility> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="label2"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="numbertransformationentry|columns">Columns:</property> - <accessibility> - <relation type="label-for" target="ed_columns"/> - </accessibility> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> - </packing> - </child> - <child> - <object class="GtkComboBoxText" id="ed_lst"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="active">0</property> - <property name="active_id">0</property> - <items> - <item id="0" translatable="yes" context="numbertransformationentry|sign">Sign</item> - <item id="1" translatable="yes" context="numbertransformationentry|round">Round</item> - <item id="2" translatable="yes" context="numbertransformationentry|roundup">Round Up</item> - <item id="3" translatable="yes" context="numbertransformationentry|rounddown">Round Down</item> - <item id="4" translatable="yes" context="numbertransformationentry|absolute">Absolute Value</item> - <item id="5" translatable="yes" context="numbertransformationentry|loge">Log with base e</item> - <item id="6" translatable="yes" context="numbertransformationentry|log10">Log with base 10</item> - <item id="7" translatable="yes" context="numbertransformationentry|cube">Cube</item> - <item id="8" translatable="yes" context="numbertransformationentry|square">Square</item> - <item id="9" translatable="yes" context="numbertransformationentry|squareroot">Square Root</item> - <item id="10" translatable="yes" context="numbertransformationentry|exponent">Exponent</item> - <item id="11" translatable="yes" context="numbertransformationentry|iseven">Is Even</item> - <item id="12" translatable="yes" context="numbertransformationentry|isodd">Is Odd</item> - </items> - <accessibility> - <relation type="labelled-by" target="label1"/> - </accessibility> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkEntry" id="ed_columns"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="truncate-multiline">True</property> - <accessibility> - <relation type="labelled-by" target="label2"/> - </accessibility> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">1</property> - </packing> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - <child> - <object class="GtkButton" id="ed_delete"> - <property name="label" translatable="yes" context="numbertransformationentry|delete">Cancel</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">2</property> - </packing> - </child> + <property name="can-focus">False</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> + <property name="left-attach">0</property> + <property name="top-attach">0</property> + <property name="width">3</property> </packing> </child> <child> - <object class="GtkSeparator"> + <object class="GtkLabel" id="label1"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="halign">start</property> + <property name="label" translatable="yes" context="numbertransformationentry|name">Number Transformations</property> + <property name="use-underline">True</property> + <property name="mnemonic-widget">ed_lst</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">1</property> + <property name="width">3</property> + </packing> + </child> + <child> + <object class="GtkComboBoxText" id="ed_lst"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="halign">start</property> + <property name="hexpand">False</property> + <property name="active">0</property> + <property name="active-id">0</property> + <items> + <item id="0" translatable="yes" context="numbertransformationentry|sign">Sign</item> + <item id="1" translatable="yes" context="numbertransformationentry|round">Round</item> + <item id="2" translatable="yes" context="numbertransformationentry|roundup">Round Up</item> + <item id="3" translatable="yes" context="numbertransformationentry|rounddown">Round Down</item> + <item id="4" translatable="yes" context="numbertransformationentry|absolute">Absolute Value</item> + <item id="5" translatable="yes" context="numbertransformationentry|loge">Log with base e</item> + <item id="6" translatable="yes" context="numbertransformationentry|log10">Log with base 10</item> + <item id="7" translatable="yes" context="numbertransformationentry|cube">Cube</item> + <item id="8" translatable="yes" context="numbertransformationentry|square">Square</item> + <item id="9" translatable="yes" context="numbertransformationentry|squareroot">Square Root</item> + <item id="10" translatable="yes" context="numbertransformationentry|exponent">Exponent</item> + <item id="11" translatable="yes" context="numbertransformationentry|iseven">Is Even</item> + <item id="12" translatable="yes" context="numbertransformationentry|isodd">Is Odd</item> + </items> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">2</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="ed_columns"> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="hexpand">True</property> + <property name="width-chars">10</property> + <property name="truncate-multiline">True</property> + <property name="placeholder-text" translatable="yes" context="numbertransformationentry/cols">Columns</property> + </object> + <packing> + <property name="left-attach">1</property> + <property name="top-attach">2</property> + </packing> + </child> + <child> + <object class="GtkButton" id="ed_delete"> + <property name="label" translatable="yes" context="numbertransformationentry|delete">Delete</property> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> + <property name="halign">end</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> + <property name="left-attach">2</property> + <property name="top-attach">2</property> </packing> </child> </object> diff --git a/sc/uiconfig/scalc/ui/replacenulltransformationentry.ui b/sc/uiconfig/scalc/ui/replacenulltransformationentry.ui index 0fefc01249da..babd68f4ffe3 100644 --- a/sc/uiconfig/scalc/ui/replacenulltransformationentry.ui +++ b/sc/uiconfig/scalc/ui/replacenulltransformationentry.ui @@ -1,127 +1,80 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.22.1 --> +<!-- Generated with glade 3.38.2 --> <interface domain="sc"> <requires lib="gtk+" version="3.20"/> - <!-- n-columns=1 n-rows=1 --> + <!-- n-columns=3 n-rows=3 --> <object class="GtkGrid" id="grid"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="hexpand">True</property> - <property name="border_width">6</property> - <property name="row_spacing">6</property> - <property name="column_spacing">12</property> + <property name="can-focus">False</property> + <property name="margin-end">6</property> + <property name="border-width">6</property> + <property name="row-spacing">6</property> + <property name="column-spacing">12</property> <child> - <object class="GtkBox"> + <object class="GtkSeparator"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="orientation">vertical</property> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="replacenulltransformationentry|name">Replace Null Transformation</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <!-- n-columns=1 n-rows=1 --> - <object class="GtkGrid" id="grid_details"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <child> - <object class="GtkLabel" id="label1"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="replacenulltransformationentry|type">Replace with</property> - <accessibility> - <relation type="label-for" target="ed_str"/> - </accessibility> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="label2"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="replacenulltransformationentry|columns">Columns:</property> - <accessibility> - <relation type="label-for" target="ed_columns"/> - </accessibility> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> - </packing> - </child> - <child> - <object class="GtkEntry" id="ed_columns"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="truncate-multiline">True</property> - <accessibility> - <relation type="labelled-by" target="label2"/> - </accessibility> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">1</property> - </packing> - </child> - <child> - <object class="GtkEntry" id="ed_str"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="truncate-multiline">True</property> - <accessibility> - <relation type="labelled-by" target="label1"/> - </accessibility> - </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">1</property> - </packing> - </child> - <child> - <object class="GtkButton" id="ed_delete"> - <property name="label" translatable="yes" context="replacenulltransformationentry|delete">Cancel</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">2</property> - </packing> - </child> + <property name="can-focus">False</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> + <property name="left-attach">0</property> + <property name="top-attach">0</property> + <property name="width">3</property> </packing> </child> <child> - <object class="GtkSeparator"> + <object class="GtkLabel" id="label1"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="halign">start</property> + <property name="label" translatable="yes" context="replacenulltransformationentry|name">Replace Null Transformation</property> + <property name="use-underline">True</property> + <property name="mnemonic-widget">ed_str</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">1</property> + <property name="width">3</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="ed_str"> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="hexpand">True</property> + <property name="width-chars">10</property> + <property name="truncate-multiline">True</property> + <property name="placeholder-text" translatable="yes" context="replacenulltransformationentry/replace">Replace with</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">2</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="ed_columns"> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="hexpand">True</property> + <property name="width-chars">10</property> + <property name="truncate-multiline">True</property> + <property name="placeholder-text" translatable="yes" context="replacenulltransformationentry/cols">Columns</property> + </object> + <packing> + <property name="left-attach">1</property> + <property name="top-attach">2</property> + </packing> + </child> + <child> + <object class="GtkButton" id="ed_delete"> + <property name="label" translatable="yes" context="replacenulltransformationentry|delete">Delete</property> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> + <property name="halign">end</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> + <property name="left-attach">2</property> + <property name="top-attach">2</property> </packing> </child> </object> diff --git a/sc/uiconfig/scalc/ui/sorttransformationentry.ui b/sc/uiconfig/scalc/ui/sorttransformationentry.ui index cdd48d32e35f..4a5347677c23 100644 --- a/sc/uiconfig/scalc/ui/sorttransformationentry.ui +++ b/sc/uiconfig/scalc/ui/sorttransformationentry.ui @@ -1,115 +1,83 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.22.1 --> +<!-- Generated with glade 3.22.2 --> <interface domain="sc"> <requires lib="gtk+" version="3.20"/> - <!-- n-columns=1 n-rows=1 --> <object class="GtkGrid" id="grid"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="hexpand">True</property> + <property name="margin_end">6</property> <property name="border_width">6</property> <property name="row_spacing">6</property> <property name="column_spacing">12</property> <child> - <object class="GtkBox"> + <object class="GtkSeparator"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + <property name="width">3</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label1"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="orientation">vertical</property> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="sorttransformationentry|name">Sort Transformation</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <!-- n-columns=1 n-rows=1 --> - <object class="GtkGrid" id="grid_details"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <child> - <object class="GtkCheckButton" id="ed_ascending"> - <property name="label" translatable="yes" context="sorttransformationentry|type">Ascending Order</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="draw_indicator">False</property> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="label1"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="sorttransformationentry|column">Column:</property> - <accessibility> - <relation type="label-for" target="ed_columns"/> - </accessibility> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> - </packing> - </child> - <child> - <object class="GtkEntry" id="ed_columns"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="truncate-multiline">True</property> - <accessibility> - <relation type="labelled-by" target="label1"/> - </accessibility> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">1</property> - </packing> - </child> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - <child> - <object class="GtkButton" id="ed_delete"> - <property name="label" translatable="yes" context="sorttransformationentry|delete">Cancel</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">2</property> - </packing> - </child> + <property name="halign">start</property> + <property name="label" translatable="yes" context="sorttransformationentry|name">Sort Transformation</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">ed_ascending</property> </object> <packing> <property name="left_attach">0</property> <property name="top_attach">1</property> + <property name="width">3</property> </packing> </child> <child> - <object class="GtkSeparator"> + <object class="GtkEntry" id="ed_columns"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hexpand">True</property> + <property name="width_chars">10</property> + <property name="truncate_multiline">True</property> + <property name="placeholder_text" translatable="yes" context="sorttransformationentry/cols">Column</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkButton" id="ed_delete"> + <property name="label" translatable="yes" context="sorttransformationentry|delete">Delete</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="halign">end</property> + </object> + <packing> + <property name="left_attach">2</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkComboBoxText" id="ed_ascending"> <property name="visible">True</property> <property name="can_focus">False</property> + <property name="halign">start</property> + <property name="hexpand">False</property> + <property name="active">0</property> + <property name="active_id">1</property> + <items> + <item id="0" translatable="yes" context="sorttransformationentry|order_descending">Descending Order</item> + <item id="1" translatable="yes" context="sorttransformationentry|order_ascending">Ascending Order</item> + </items> </object> <packing> <property name="left_attach">0</property> - <property name="top_attach">0</property> + <property name="top_attach">2</property> </packing> </child> </object> diff --git a/sc/uiconfig/scalc/ui/splitcolumnentry.ui b/sc/uiconfig/scalc/ui/splitcolumnentry.ui index dd7b299c44e1..0e10e56bf270 100644 --- a/sc/uiconfig/scalc/ui/splitcolumnentry.ui +++ b/sc/uiconfig/scalc/ui/splitcolumnentry.ui @@ -1,117 +1,79 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.22.1 --> +<!-- Generated with glade 3.38.2 --> <interface domain="sc"> <requires lib="gtk+" version="3.20"/> - <!-- n-columns=1 n-rows=1 --> + <!-- n-columns=3 n-rows=3 --> <object class="GtkGrid" id="grid"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="hexpand">True</property> - <property name="border_width">6</property> - <property name="row_spacing">6</property> - <property name="column_spacing">12</property> + <property name="can-focus">False</property> + <property name="margin-end">6</property> + <property name="border-width">6</property> + <property name="row-spacing">6</property> + <property name="column-spacing">12</property> <child> - <object class="GtkBox"> + <object class="GtkSeparator"> <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="orientation">vertical</property> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="splitcolumnentry|name">Split Column Action</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <!-- n-columns=1 n-rows=1 --> - <object class="GtkGrid" id="grid_details"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="splitcolumnentry|separator">Separator:</property> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="splitcolumnentry|max_num_columns">Maximum Number of Columns</property> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> - </packing> - </child> - <child> - <object class="GtkEntry" id="ed_separator"> - <property name="visible">True</property> - <property name="truncate-multiline">True</property> - <property name="can_focus">True</property> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkSpinButton" id="num_cols"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="numeric">True</property> - <property name="truncate-multiline">True</property> - <property name="value">-1</property> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">1</property> - </packing> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - <child> - <object class="GtkButton" id="ed_delete"> - <property name="label" translatable="yes" context="splitcolumnentry|delete">Cancel</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">2</property> - </packing> - </child> + <property name="can-focus">False</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> + <property name="left-attach">0</property> + <property name="top-attach">0</property> + <property name="width">3</property> </packing> </child> <child> - <object class="GtkSeparator"> + <object class="GtkLabel" id="label1"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="halign">start</property> + <property name="label" translatable="yes" context="splitcolumnentry|name">Split Column</property> + <property name="use-underline">True</property> + <property name="mnemonic-widget">ed_separator</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">1</property> + <property name="width">3</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="ed_separator"> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="hexpand">True</property> + <property name="width-chars">10</property> + <property name="truncate-multiline">True</property> + <property name="placeholder-text" translatable="yes" context="splitcolumnentry/separator">Separator</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">2</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="num_cols"> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="hexpand">True</property> + <property name="width-chars">10</property> + <property name="placeholder-text" translatable="yes" context="splitcolumnentry/cols">Column</property> + </object> + <packing> + <property name="left-attach">1</property> + <property name="top-attach">2</property> + </packing> + </child> + <child> + <object class="GtkButton" id="ed_delete"> + <property name="label" translatable="yes" context="splitcolumnentry|delete">Delete</property> <property name="visible">True</property> - <property name="can_focus">False</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> + <property name="halign">end</property> </object> <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> + <property name="left-attach">2</property> + <property name="top-attach">2</property> </packing> </child> </object> diff --git a/sc/uiconfig/scalc/ui/texttransformationentry.ui b/sc/uiconfig/scalc/ui/texttransformationentry.ui index 7807ad7aca79..4c9fe473596c 100644 --- a/sc/uiconfig/scalc/ui/texttransformationentry.ui +++ b/sc/uiconfig/scalc/ui/texttransformationentry.ui @@ -1,134 +1,85 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.22.1 --> +<!-- Generated with glade 3.22.2 --> <interface domain="sc"> <requires lib="gtk+" version="3.20"/> - <!-- n-columns=1 n-rows=1 --> <object class="GtkGrid" id="grid"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="hexpand">True</property> + <property name="margin_end">6</property> <property name="border_width">6</property> <property name="row_spacing">6</property> <property name="column_spacing">12</property> <child> - <object class="GtkBox"> + <object class="GtkSeparator"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + <property name="width">3</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label1"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="orientation">vertical</property> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="texttransformationentry|name">Text Transformation</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <!-- n-columns=1 n-rows=1 --> - <object class="GtkGrid" id="grid_details"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <child> - <object class="GtkLabel" id="label1"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="texttransformationentry|type">Type:</property> - <accessibility> - <relation type="label-for" target="ed_lst"/> - </accessibility> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="label2"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="texttransformationentry|columns">Columns:</property> - <accessibility> - <relation type="label-for" target="ed_columns"/> - </accessibility> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> - </packing> - </child> - <child> - <object class="GtkEntry" id="ed_columns"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="truncate-multiline">True</property> - <accessibility> - <relation type="labelled-by" target="label2"/> - </accessibility> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">1</property> - </packing> - </child> - <child> - <object class="GtkComboBoxText" id="ed_lst"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="active">0</property> - <property name="active_id">0</property> - <items> - <item id="0" translatable="yes" context="texttransformation_type|tolower">To Lower</item> - <item id="1" translatable="yes" context="texttransformation_type|toupper">To Upper</item> - <item id="2" translatable="yes" context="texttransformation_type|capitalize">Capitalize</item> - <item id="3" translatable="yes" context="texttransformation_type|trim">Trim</item> - </items> - <accessibility> - <relation type="labelled-by" target="label1"/> - </accessibility> - </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">1</property> - </packing> - </child> - <child> - <object class="GtkButton" id="ed_delete"> - <property name="label" translatable="yes" context="texttransformation_type|delete">Cancel</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">2</property> - </packing> - </child> + <property name="halign">start</property> + <property name="label" translatable="yes" context="texttransformationentry|name">Text Transformation</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">ed_lst</property> </object> <packing> <property name="left_attach">0</property> <property name="top_attach">1</property> + <property name="width">3</property> </packing> </child> <child> - <object class="GtkSeparator"> + <object class="GtkComboBoxText" id="ed_lst"> <property name="visible">True</property> <property name="can_focus">False</property> + <property name="halign">start</property> + <property name="hexpand">False</property> + <property name="active">0</property> + <property name="active_id">0</property> + <items> + <item id="0" translatable="yes" context="texttransformation_type|tolower">To Lower</item> + <item id="1" translatable="yes" context="texttransformation_type|toupper">To Upper</item> + <item id="2" translatable="yes" context="texttransformation_type|capitalize">Capitalize</item> + <item id="3" translatable="yes" context="texttransformation_type|trim">Trim</item> + </items> </object> <packing> <property name="left_attach">0</property> - <property name="top_attach">0</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="ed_columns"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hexpand">True</property> + <property name="width_chars">10</property> + <property name="truncate_multiline">True</property> + <property name="placeholder_text" translatable="yes" context="texttransformationentry/cols">Columns</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkButton" id="ed_delete"> + <property name="label" translatable="yes" context="texttransformation_type|delete">Delete</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="halign">end</property> + </object> + <packing> + <property name="left_attach">2</property> + <property name="top_attach">2</property> </packing> </child> </object> diff --git a/solenv/sanitizers/ui/modules/scalc.suppr b/solenv/sanitizers/ui/modules/scalc.suppr index ffb7182eaf9d..db516f1ecb33 100644 --- a/solenv/sanitizers/ui/modules/scalc.suppr +++ b/solenv/sanitizers/ui/modules/scalc.suppr @@ -1,6 +1,5 @@ sc/uiconfig/scalc/ui/advancedfilterdialog.ui://GtkLabel[@id='dbarealabel'] orphan-label sc/uiconfig/scalc/ui/advancedfilterdialog.ui://GtkLabel[@id='dbarea'] orphan-label -sc/uiconfig/scalc/ui/aggregatefunctionentry.ui:GtkGrid[@id='grid']/GtkBox/GtkLabel orphan-label sc/uiconfig/scalc/ui/cellprotectionpage.ui://GtkLabel[@id='label1'] orphan-label sc/uiconfig/scalc/ui/cellprotectionpage.ui://GtkLabel[@id='label4'] orphan-label sc/uiconfig/scalc/ui/conditionalentry.ui://GtkLabel[@id='number'] orphan-label @@ -41,19 +40,10 @@ sc/uiconfig/scalc/ui/dataform.ui://GtkLabel[@id='label'] orphan-label sc/uiconfig/scalc/ui/datastreams.ui://GtkLabel[@id='label6'] orphan-label sc/uiconfig/scalc/ui/datastreams.ui://GtkEntry[@id='range'] no-labelled-by sc/uiconfig/scalc/ui/datastreams.ui://GtkEntry[@id='limit'] no-labelled-by -sc/uiconfig/scalc/ui/dataproviderentry.ui://GtkComboBoxText[@id='provider_lst'] no-labelled-by -sc/uiconfig/scalc/ui/dataproviderentry.ui://GtkEntry[@id='ed_url'] no-labelled-by -sc/uiconfig/scalc/ui/dataproviderentry.ui://GtkEntry[@id='ed_id'] no-labelled-by -sc/uiconfig/scalc/ui/dataproviderentry.ui:GtkGrid[@id='grid']/GtkLabel orphan-label -sc/uiconfig/scalc/ui/dataproviderentry.ui:GtkGrid[@id='grid']/GtkLabel orphan-label -sc/uiconfig/scalc/ui/dataproviderentry.ui:GtkGrid[@id='grid']/GtkLabel orphan-label sc/uiconfig/scalc/ui/definedatabaserangedialog.ui://GtkLabel[@id='Source'] orphan-label sc/uiconfig/scalc/ui/definedatabaserangedialog.ui://GtkLabel[@id='Operations'] orphan-label sc/uiconfig/scalc/ui/definedatabaserangedialog.ui://GtkLabel[@id='invalid'] orphan-label sc/uiconfig/scalc/ui/definename.ui://GtkLabel[@id='label'] orphan-label -sc/uiconfig/scalc/ui/deletecolumnentry.ui:GtkGrid[@id='grid']/GtkBox/GtkLabel orphan-label -sc/uiconfig/scalc/ui/deletecolumnentry.ui:GtkGrid[@id='grid']/GtkBox/GtkGrid[@id='grid_details']/GtkLabel orphan-label -sc/uiconfig/scalc/ui/deletecolumnentry.ui://GtkEntry[@id='ed_columns'] no-labelled-by sc/uiconfig/scalc/ui/doubledialog.ui://GtkEntry[@id='value'] no-labelled-by sc/uiconfig/scalc/ui/externaldata.ui://GtkLabel[@id='secondsft'] orphan-label sc/uiconfig/scalc/ui/fourieranalysisdialog.ui://GtkLabel[@id='error-message'] orphan-label @@ -86,11 +76,6 @@ sc/uiconfig/scalc/ui/mergecellsdialog.ui://GtkLabel[@id='label'] orphan-label sc/uiconfig/scalc/ui/mergecellsdialog.ui://GtkImage[@id='imMergeFirstCell'] no-labelled-by sc/uiconfig/scalc/ui/mergecellsdialog.ui://GtkImage[@id='imMergeKeepHidden'] no-labelled-by sc/uiconfig/scalc/ui/mergecellsdialog.ui://GtkImage[@id='imMergeEmptyHidden'] no-labelled-by -sc/uiconfig/scalc/ui/mergecolumnentry.ui:GtkGrid[@id='grid']/GtkBox/GtkLabel orphan-label -sc/uiconfig/scalc/ui/mergecolumnentry.ui:GtkGrid[@id='grid']/GtkBox/GtkGrid[@id='grid_details']/GtkLabel orphan-label -sc/uiconfig/scalc/ui/mergecolumnentry.ui://GtkEntry[@id='ed_separator'] no-labelled-by -sc/uiconfig/scalc/ui/mergecolumnentry.ui:GtkGrid[@id='grid']/GtkBox/GtkGrid[@id='grid_details']/GtkLabel orphan-label -sc/uiconfig/scalc/ui/mergecolumnentry.ui://GtkEntry[@id='ed_columns'] no-labelled-by sc/uiconfig/scalc/ui/movecopysheet.ui://GtkEntry[@id='newName'] no-labelled-by sc/uiconfig/scalc/ui/movecopysheet.ui://GtkLabel[@id='newNameWarn'] orphan-label sc/uiconfig/scalc/ui/movecopysheet.ui://GtkLabel[@id='warnunused'] orphan-label @@ -100,7 +85,6 @@ sc/uiconfig/scalc/ui/movingaveragedialog.ui://GtkLabel[@id='interval-label'] orp sc/uiconfig/scalc/ui/movingaveragedialog.ui://GtkSpinButton[@id='interval-spin'] no-labelled-by sc/uiconfig/scalc/ui/nosolutiondialog.ui://GtkLabel[@id='label1'] orphan-label sc/uiconfig/scalc/ui/nosolutiondialog.ui://GtkLabel[@id='error'] orphan-label -sc/uiconfig/scalc/ui/numbertransformationentry.ui:GtkGrid[@id='grid']/GtkBox/GtkLabel orphan-label sc/uiconfig/scalc/ui/passfragment.ui://GtkButton[@id='button'] button-no-label sc/uiconfig/scalc/ui/pivotfielddialog.ui://GtkLabel[@id='label2'] orphan-label sc/uiconfig/scalc/ui/pivotfielddialog.ui://GtkLabel[@id='name'] orphan-label @@ -126,7 +110,6 @@ sc/uiconfig/scalc/ui/protectsheetdlg.ui://GtkLabel[@id='delete-rows'] orphan-lab sc/uiconfig/scalc/ui/regressiondialog.ui://GtkLabel[@id='error-message'] orphan-label sc/uiconfig/scalc/ui/retypepassdialog.ui://GtkLabel[@id='descLabel'] orphan-label sc/uiconfig/scalc/ui/retypepassdialog.ui://GtkLabel[@id='docStatusLabel'] orphan-label -sc/uiconfig/scalc/ui/sorttransformationentry.ui:GtkGrid[@id='grid']/GtkBox/GtkLabel orphan-label sc/uiconfig/scalc/ui/standardfilterdialog.ui://GtkComboBoxText[@id='connect1'] missing-label-for sc/uiconfig/scalc/ui/standardfilterdialog.ui://GtkComboBoxText[@id='connect2'] missing-label-for sc/uiconfig/scalc/ui/standardfilterdialog.ui://GtkComboBoxText[@id='field1'] missing-label-for @@ -159,17 +142,11 @@ sc/uiconfig/scalc/ui/solversuccessdialog.ui://GtkLabel[@id='label2'] orphan-labe sc/uiconfig/scalc/ui/solversuccessdialog.ui://GtkLabel[@id='result'] orphan-label sc/uiconfig/scalc/ui/sortwarning.ui://GtkLabel[@id='sorttext'] orphan-label sc/uiconfig/scalc/ui/sortwarning.ui://GtkLabel[@id='sorttip'] orphan-label -sc/uiconfig/scalc/ui/splitcolumnentry.ui:GtkGrid[@id='grid']/GtkBox/GtkLabel orphan-label -sc/uiconfig/scalc/ui/splitcolumnentry.ui:GtkGrid[@id='grid']/GtkBox/GtkGrid[@id='grid_details']/GtkLabel orphan-label -sc/uiconfig/scalc/ui/splitcolumnentry.ui:GtkGrid[@id='grid']/GtkBox/GtkGrid[@id='grid_details']/GtkLabel orphan-label -sc/uiconfig/scalc/ui/splitcolumnentry.ui://GtkEntry[@id='ed_separator'] no-labelled-by -sc/uiconfig/scalc/ui/splitcolumnentry.ui://GtkSpinButton[@id='num_cols'] no-labelled-by sc/uiconfig/scalc/ui/statisticsinfopage.ui://GtkLabel[@id='nopages'] orphan-label sc/uiconfig/scalc/ui/statisticsinfopage.ui://GtkLabel[@id='nocells'] orphan-label sc/uiconfig/scalc/ui/statisticsinfopage.ui://GtkLabel[@id='nosheets'] orphan-label sc/uiconfig/scalc/ui/statisticsinfopage.ui://GtkLabel[@id='noformula'] orphan-label sc/uiconfig/scalc/ui/textimportcsv.ui://GtkLabel[@id='textalttitle'] orphan-label -sc/uiconfig/scalc/ui/texttransformationentry.ui:GtkGrid[@id='grid']/GtkBox/GtkLabel orphan-label sc/uiconfig/scalc/ui/validationcriteriapage.ui://GtkLabel[@id='hintft'] orphan-label sc/uiconfig/scalc/ui/xmlsourcedialog.ui://GtkLabel[@id='sourcefile'] orphan-label sc/uiconfig/scalc/ui/xmlsourcedialog.ui://GtkTreeView[@id='tree'] no-labelled-by |