dbaccess/inc/strings.hrc | 5 ++- dbaccess/source/core/misc/dsntypes.cxx | 4 +- dbaccess/source/inc/dsntypes.hxx | 3 + dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx | 35 ++++++++++++++++++++++ dbaccess/source/ui/dlg/DBSetupConnectionPages.hxx | 16 ++++++++++ dbaccess/source/ui/dlg/dbwizsetup.cxx | 16 +++++++--- dbaccess/source/ui/inc/dbwizsetup.hxx | 3 + 7 files changed, 74 insertions(+), 8 deletions(-)
New commits: commit 3b1d775c7c3251422e91329c967cdf52712ee91c Author: Sampath-1984 <[email protected]> AuthorDate: Sun Jan 18 18:34:01 2026 +0530 Commit: Heiko Tietze <[email protected]> CommitDate: Tue Feb 10 14:41:46 2026 +0100 tdf#148499 Update Database wizard ui for writer Added new strings STR_WRITER_HEADERTEXT, STR_WRITER_HELPTEXT in /dbaccess/inc/strings.hrc. The case PAGE_DBSETUPWIZARD_DOCUMENT_OR_SPREADSHEET is now split into PAGE_DBSETUP_DOCUMENT and PAGE_DBSETUP_SPREADSHEET. A duplicate function ODocumentConnectionPageSetup() similar to OSpreadSheetConnectionPageSetup() in dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx is created. After the changes there are now no inconsistencies in the database connection wizard for Word documents or LibreOffice Writer Documents, also now the SpreadSheet connection wizard no longer mentions Writer Documents in the sidebar title. Change-Id: I126c679dab2eecf1e235a1e4c87406e04bb7486c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197523 Tested-by: Jenkins Reviewed-by: Heiko Tietze <[email protected]> diff --git a/dbaccess/inc/strings.hrc b/dbaccess/inc/strings.hrc index 5eeb38a0a79c..c249b0991750 100644 --- a/dbaccess/inc/strings.hrc +++ b/dbaccess/inc/strings.hrc @@ -368,7 +368,8 @@ #define STR_PAGETITLE_MYSQL NC_("STR_PAGETITLE_MYSQL", "Set up MySQL/MariaDB connection" ) #define STR_PAGETITLE_POSTGRES NC_("STR_PAGETITLE_POSTGRES", "Set up PostgreSQL connection" ) #define STR_PAGETITLE_ODBC NC_("STR_PAGETITLE_ODBC", "Set up ODBC connection" ) -#define STR_PAGETITLE_DOCUMENT_OR_SPREADSHEET NC_("STR_PAGETITLE_DOCUMENT_OR_SPREADSHEET", "Set up Writer Document or Spreadsheet connection" ) +#define STR_PAGETITLE_SPREADSHEET NC_("STR_PAGETITLE_SPREADSHEET", "Set up Spreadsheet connection" ) +#define STR_PAGETITLE_DOCUMENT NC_("STR_PAGETITLE_DOCUMENT", "Set up Writer Document connection" ) #define STR_PAGETITLE_AUTHENTIFICATION NC_("STR_PAGETITLE_AUTHENTIFICATION", "Set up user authentication" ) #define STR_PAGETITLE_MYSQL_NATIVE NC_("STR_PAGETITLE_MYSQL_NATIVE", "Set up MySQL/MariaDB server data") #define STR_PAGETITLE_FINAL NC_("STR_PAGETITLE_FINAL", "Save and proceed" ) @@ -397,6 +398,8 @@ #define STR_SPREADSHEET_HEADERTEXT NC_("STR_SPREADSHEET_HEADERTEXT", "Set up a connection to spreadsheets") #define STR_SPREADSHEET_HELPTEXT NC_("STR_SPREADSHEET_HELPTEXT", "Click 'Browse...' to select a %PRODUCTNAME spreadsheet or Microsoft Excel workbook. %PRODUCTNAME will open this file in read-only mode." ) #define STR_SPREADSHEETPATH NC_("STR_SPREADSHEETPATH", "~Location and file name" ) +#define STR_WRITER_HEADERTEXT NC_("STR_WRITER_HEADERTEXT", "Set up a connection to a text document") +#define STR_WRITER_HELPTEXT NC_("STR_WRITER_HELPTEXT", "Click 'Browse...' to select a %PRODUCTNAME Writer or Microsoft Word document. %PRODUCTNAME will open this file in read-only mode." ) #define STR_COMMAND_EXECUTED_SUCCESSFULLY NC_("STR_COMMAND_EXECUTED_SUCCESSFULLY", "Command successfully executed." ) #define STR_COMMAND_NROWS NNC_("STR_COMMAND_NROWS", "%1 row in set", "%1 rows in set" ) diff --git a/dbaccess/source/core/misc/dsntypes.cxx b/dbaccess/source/core/misc/dsntypes.cxx index f3d792b4f59e..4e91534e1e8f 100644 --- a/dbaccess/source/core/misc/dsntypes.cxx +++ b/dbaccess/source/core/misc/dsntypes.cxx @@ -414,8 +414,10 @@ void ODsnTypeCollection::fillPageIds(std::u16string_view _sURL,std::vector<sal_I _rOutPathIds.push_back(PAGE_DBSETUPWIZARD_TEXT); break; case DST_CALC: + _rOutPathIds.push_back(PAGE_DBSETUPWIZARD_SPREADSHEET); + break; case DST_WRITER: - _rOutPathIds.push_back(PAGE_DBSETUPWIZARD_DOCUMENT_OR_SPREADSHEET); + _rOutPathIds.push_back(PAGE_DBSETUPWIZARD_DOCUMENT); break; case DST_ODBC: _rOutPathIds.push_back(PAGE_DBSETUPWIZARD_ODBC); diff --git a/dbaccess/source/inc/dsntypes.hxx b/dbaccess/source/inc/dsntypes.hxx index 483dd6b40660..8167561831a5 100644 --- a/dbaccess/source/inc/dsntypes.hxx +++ b/dbaccess/source/inc/dsntypes.hxx @@ -92,12 +92,13 @@ enum DATASOURCE_TYPE #define PAGE_DBSETUPWIZARD_JDBC 10 #define PAGE_DBSETUPWIZARD_ADO 11 #define PAGE_DBSETUPWIZARD_ODBC 12 -#define PAGE_DBSETUPWIZARD_DOCUMENT_OR_SPREADSHEET 13 +#define PAGE_DBSETUPWIZARD_SPREADSHEET 13 #define PAGE_DBSETUPWIZARD_AUTHENTIFICATION 14 #define PAGE_DBSETUPWIZARD_FINAL 16 #define PAGE_DBSETUPWIZARD_USERDEFINED 17 #define PAGE_DBSETUPWIZARD_MYSQL_NATIVE 18 #define PAGE_DBSETUPWIZARD_POSTGRES 19 +#define PAGE_DBSETUPWIZARD_DOCUMENT 20 // ODsnTypeCollection class UNLESS_MERGELIBS_MORE(OOO_DLLPUBLIC_DBA) ODsnTypeCollection final diff --git a/dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx b/dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx index 2a3824bec6a4..213bee12efac 100644 --- a/dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx +++ b/dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx @@ -771,6 +771,41 @@ using namespace ::com::sun::star; return bChangedSomething; } + std::unique_ptr<OGenericAdministrationPage> ODocumentConnectionPageSetup::CreateDocumentTabPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& _rAttrSet) + { + return std::make_unique<ODocumentConnectionPageSetup>(pPage, pController, _rAttrSet); + } + + ODocumentConnectionPageSetup::ODocumentConnectionPageSetup(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rCoreAttrs) + : OConnectionTabPageSetup(pPage, pController, u"dbaccess/ui/dbwizspreadsheetpage.ui"_ustr, u"DBWizSpreadsheetPage"_ustr, + rCoreAttrs, STR_WRITER_HELPTEXT, STR_WRITER_HEADERTEXT, STR_WRITER_PATH_OR_FILE) + , m_xPasswordrequired(m_xBuilder->weld_check_button(u"passwordrequired"_ustr)) + { + m_xPasswordrequired->connect_toggled(LINK(this, OGenericAdministrationPage, OnControlModifiedButtonClick)); + } + + ODocumentConnectionPageSetup::~ODocumentConnectionPageSetup() + { + } + + void ODocumentConnectionPageSetup::fillWindows(std::vector< std::unique_ptr<ISaveValueWrapper> >& /*_rControlList*/) + { + } + + void ODocumentConnectionPageSetup::fillControls(std::vector< std::unique_ptr<ISaveValueWrapper> >& _rControlList) + { + OConnectionTabPageSetup::fillControls(_rControlList); + _rControlList.emplace_back(new OSaveValueWidgetWrapper<weld::Toggleable>(m_xPasswordrequired.get())); + + } + + bool ODocumentConnectionPageSetup::FillItemSet( SfxItemSet* _rSet ) + { + bool bChangedSomething = OConnectionTabPageSetup::FillItemSet(_rSet); + fillBool(*_rSet,m_xPasswordrequired.get(),DSID_PASSWORDREQUIRED,false,bChangedSomething); + return bChangedSomething; + } + std::unique_ptr<OGenericAdministrationPage> OAuthentificationPageSetup::CreateAuthentificationTabPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& _rAttrSet) { return std::make_unique<OAuthentificationPageSetup>(pPage, pController, _rAttrSet); diff --git a/dbaccess/source/ui/dlg/DBSetupConnectionPages.hxx b/dbaccess/source/ui/dlg/DBSetupConnectionPages.hxx index 327a7f187bf9..4657af017629 100644 --- a/dbaccess/source/ui/dlg/DBSetupConnectionPages.hxx +++ b/dbaccess/source/ui/dlg/DBSetupConnectionPages.hxx @@ -49,6 +49,22 @@ namespace dbaui virtual void fillWindows(std::vector< std::unique_ptr<ISaveValueWrapper> >& _rControlList) override; }; + // ODocumentConnectionPageSetup + class ODocumentConnectionPageSetup final : public OConnectionTabPageSetup + { + public: + virtual bool FillItemSet ( SfxItemSet* _rCoreAttrs ) override; + static std::unique_ptr<OGenericAdministrationPage> CreateDocumentTabPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& _rAttrSet); + ODocumentConnectionPageSetup(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& _rCoreAttrs); + virtual ~ODocumentConnectionPageSetup() override; + + private: + std::unique_ptr<weld::CheckButton> m_xPasswordrequired; + + virtual void fillControls(std::vector< std::unique_ptr<ISaveValueWrapper> >& _rControlList) override; + virtual void fillWindows(std::vector< std::unique_ptr<ISaveValueWrapper> >& _rControlList) override; + }; + // OTextConnectionPage class OTextConnectionPageSetup : public OConnectionTabPageSetup { diff --git a/dbaccess/source/ui/dlg/dbwizsetup.cxx b/dbaccess/source/ui/dlg/dbwizsetup.cxx index ec6c9040fd03..7cf4154b6af0 100644 --- a/dbaccess/source/ui/dlg/dbwizsetup.cxx +++ b/dbaccess/source/ui/dlg/dbwizsetup.cxx @@ -108,7 +108,8 @@ ODbTypeWizDialogSetup::ODbTypeWizDialogSetup(weld::Window* _pParent , m_sRM_PostgresText( DBA_RES( STR_PAGETITLE_POSTGRES ) ) , m_sRM_MySQLText( DBA_RES( STR_PAGETITLE_MYSQL ) ) , m_sRM_ODBCText( DBA_RES( STR_PAGETITLE_ODBC ) ) - , m_sRM_DocumentOrSpreadSheetText( DBA_RES( STR_PAGETITLE_DOCUMENT_OR_SPREADSHEET ) ) + , m_sRM_SpreadSheetText( DBA_RES( STR_PAGETITLE_SPREADSHEET ) ) + , m_sRM_DocumentText( DBA_RES( STR_PAGETITLE_DOCUMENT ) ) , m_sRM_AuthentificationText( DBA_RES( STR_PAGETITLE_AUTHENTIFICATION ) ) , m_sRM_FinalText( DBA_RES( STR_PAGETITLE_FINAL ) ) , m_sWorkPath( SvtPathOptions().GetWorkPath() ) @@ -231,8 +232,11 @@ OUString ODbTypeWizDialogSetup::getStateDisplayName(WizardState _nState) const case PAGE_DBSETUPWIZARD_ODBC: sRoadmapItem = m_sRM_ODBCText; break; - case PAGE_DBSETUPWIZARD_DOCUMENT_OR_SPREADSHEET: - sRoadmapItem = m_sRM_DocumentOrSpreadSheetText; + case PAGE_DBSETUPWIZARD_SPREADSHEET: + sRoadmapItem = m_sRM_SpreadSheetText; + break; + case PAGE_DBSETUPWIZARD_DOCUMENT: + sRoadmapItem = m_sRM_DocumentText; break; case PAGE_DBSETUPWIZARD_AUTHENTIFICATION: sRoadmapItem = m_sRM_AuthentificationText; @@ -514,10 +518,14 @@ std::unique_ptr<BuilderPage> ODbTypeWizDialogSetup::createPage(WizardState _nSta xPage = OLDAPConnectionPageSetup::CreateLDAPTabPage(pPageContainer, this, *m_pOutSet); break; - case PAGE_DBSETUPWIZARD_DOCUMENT_OR_SPREADSHEET: + case PAGE_DBSETUPWIZARD_SPREADSHEET: xPage = OSpreadSheetConnectionPageSetup::CreateDocumentOrSpreadSheetTabPage(pPageContainer, this, *m_pOutSet); break; + case PAGE_DBSETUPWIZARD_DOCUMENT: + xPage = ODocumentConnectionPageSetup::CreateDocumentTabPage(pPageContainer, this, *m_pOutSet); + break; + case PAGE_DBSETUPWIZARD_MSACCESS: xPage = OConnectionTabPageSetup::CreateMSAccessTabPage(pPageContainer, this, *m_pOutSet); break; diff --git a/dbaccess/source/ui/inc/dbwizsetup.hxx b/dbaccess/source/ui/inc/dbwizsetup.hxx index abad4671bf42..5bbb28639820 100644 --- a/dbaccess/source/ui/inc/dbwizsetup.hxx +++ b/dbaccess/source/ui/inc/dbwizsetup.hxx @@ -68,7 +68,8 @@ private: OUString m_sRM_PostgresText; OUString m_sRM_MySQLText; OUString m_sRM_ODBCText; - OUString m_sRM_DocumentOrSpreadSheetText; + OUString m_sRM_SpreadSheetText; + OUString m_sRM_DocumentText; OUString m_sRM_AuthentificationText; OUString m_sRM_FinalText; INetURLObject m_aDocURL;
