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;

Reply via email to