[Libreoffice-commits] core.git: 2 commits - dbaccess/source

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Fri Aug 2 13:04:42 UTC 2019


 dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx |   34 +--
 dbaccess/source/ui/dlg/DBSetupConnectionPages.hxx |   11 -
 dbaccess/source/ui/dlg/admincontrols.cxx          |  224 ++--------------------
 dbaccess/source/ui/dlg/admincontrols.hxx          |   40 ---
 4 files changed, 51 insertions(+), 258 deletions(-)

New commits:
commit ebca63dc3f1e8a314599d3a9e2739bd6ced9efab
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Fri Aug 2 10:12:33 2019 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Fri Aug 2 15:03:54 2019 +0200

    drop newly unused MySQLNativeSettings
    
    Change-Id: I11801ea43d69b3f79d8fba1305d4d9c8c199d29b
    Reviewed-on: https://gerrit.libreoffice.org/76845
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/dbaccess/source/ui/dlg/admincontrols.cxx b/dbaccess/source/ui/dlg/admincontrols.cxx
index 5ba2a5b313f3..33bd77cb27c4 100644
--- a/dbaccess/source/ui/dlg/admincontrols.cxx
+++ b/dbaccess/source/ui/dlg/admincontrols.cxx
@@ -30,204 +30,6 @@ namespace dbaui
 {
 
     // MySQLNativeSettings
-    MySQLNativeSettings::MySQLNativeSettings( vcl::Window& _rParent, const Link<void*,void>& _rControlModificationLink )
-        :TabPage( &_rParent, "MysqlNativeSettings", "dbaccess/ui/mysqlnativesettings.ui" ),
-        m_aControlModificationLink(_rControlModificationLink)
-    {
-        get(m_pDatabaseNameLabel, "dbnamelabel");
-        get(m_pDatabaseName, "dbname");
-        get(m_pHostPortRadio, "hostport");
-        get(m_pSocketRadio, "socketlabel");
-        get(m_pNamedPipeRadio, "namedpipelabel");
-        get(m_pHostNameLabel, "serverlabel");
-        get(m_pHostName, "server");
-        get(m_pPortLabel, "portlabel");
-        get(m_pPort, "port");
-        m_pPort->SetUseThousandSep(false);
-        get(m_pDefaultPort, "defaultport");
-        get(m_pSocket, "socket");
-        get(m_pNamedPipe, "namedpipe");
-
-        m_pHostName->SetText("localhost");
-
-        m_pDatabaseName->SetModifyHdl( LINK(this, MySQLNativeSettings, EditModifyHdl) );
-        m_pHostName->SetModifyHdl( LINK(this, MySQLNativeSettings, EditModifyHdl) );
-        m_pPort->SetModifyHdl( LINK(this, MySQLNativeSettings, EditModifyHdl) );
-        m_pSocket->SetModifyHdl( LINK(this, MySQLNativeSettings, EditModifyHdl) );
-        m_pNamedPipe->SetModifyHdl( LINK(this, MySQLNativeSettings, EditModifyHdl) );
-        m_pSocketRadio->SetToggleHdl( LINK(this, MySQLNativeSettings, RadioToggleHdl) );
-        m_pNamedPipeRadio->SetToggleHdl( LINK(this, MySQLNativeSettings, RadioToggleHdl) );
-        m_pHostPortRadio->SetToggleHdl( LINK(this, MySQLNativeSettings, RadioToggleHdl) );
-
-        // sockets are available on Unix systems only, named pipes only on Windows
-#ifdef UNX
-        m_pNamedPipeRadio->Hide();
-        m_pNamedPipe->Hide();
-#else
-        m_pSocketRadio->Hide();
-        m_pSocket->Hide();
-#endif
-    }
-
-    IMPL_LINK(MySQLNativeSettings, RadioToggleHdl, RadioButton&, rRadioButton, void)
-    {
-        if (&rRadioButton == &*m_pSocketRadio || &rRadioButton == &*m_pNamedPipeRadio)
-            m_aControlModificationLink.Call(&rRadioButton);
-        m_pHostNameLabel->Enable(m_pHostPortRadio->IsChecked());
-        m_pHostName->Enable(m_pHostPortRadio->IsChecked());
-        m_pPortLabel->Enable(m_pHostPortRadio->IsChecked());
-        m_pPort->Enable(m_pHostPortRadio->IsChecked());
-        m_pDefaultPort->Enable(m_pHostPortRadio->IsChecked());
-        m_pSocket->Enable(m_pSocketRadio->IsChecked());
-        m_pNamedPipe->Enable(m_pNamedPipeRadio->IsChecked());
-        if (&rRadioButton == &*m_pHostPortRadio)
-        {
-            if (rRadioButton.IsChecked())
-                m_pHostName->SetText(m_sHostNameUserText);
-            else
-                m_pHostName->SetText("localhost");
-        }
-    }
-
-    IMPL_LINK(MySQLNativeSettings, EditModifyHdl, Edit&, rEdit, void)
-    {
-        m_aControlModificationLink.Call(&rEdit);
-
-        if (&rEdit == m_pHostName.get())
-        {
-            if (m_pHostName->IsEnabled())
-                m_sHostNameUserText = m_pHostName->GetText();
-        }
-    }
-
-    MySQLNativeSettings::~MySQLNativeSettings()
-    {
-        disposeOnce();
-    }
-
-    void MySQLNativeSettings::dispose()
-    {
-        m_pDatabaseNameLabel.clear();
-        m_pDatabaseName.clear();
-        m_pHostPortRadio.clear();
-        m_pSocketRadio.clear();
-        m_pNamedPipeRadio.clear();
-        m_pHostNameLabel.clear();
-        m_pHostName.clear();
-        m_pPortLabel.clear();
-        m_pPort.clear();
-        m_pDefaultPort.clear();
-        m_pSocket.clear();
-        m_pNamedPipe.clear();
-        TabPage::dispose();
-    }
-
-    void MySQLNativeSettings::fillControls( std::vector< std::unique_ptr<ISaveValueWrapper> >& _rControlList )
-    {
-        _rControlList.emplace_back( new OSaveValueWrapper< Edit >( m_pDatabaseName ) );
-        _rControlList.emplace_back( new OSaveValueWrapper< Edit >( m_pHostName ) );
-        _rControlList.emplace_back( new OSaveValueWrapper< Edit >( m_pPort ) );
-        _rControlList.emplace_back( new OSaveValueWrapper< Edit >( m_pSocket ) );
-        _rControlList.emplace_back( new OSaveValueWrapper< Edit >( m_pNamedPipe ) );
-    }
-
-    void MySQLNativeSettings::fillWindows( std::vector< std::unique_ptr<ISaveValueWrapper> >& _rControlList )
-    {
-        _rControlList.emplace_back( new ODisableWrapper< FixedText >( m_pDatabaseNameLabel ) );
-        _rControlList.emplace_back( new ODisableWrapper< FixedText >( m_pHostNameLabel ) );
-        _rControlList.emplace_back( new ODisableWrapper< FixedText >( m_pPortLabel ) );
-        _rControlList.emplace_back( new ODisableWrapper< FixedText >( m_pDefaultPort ) );
-        _rControlList.emplace_back( new ODisableWrapper< RadioButton >( m_pSocketRadio ) );
-        _rControlList.emplace_back( new ODisableWrapper< RadioButton >( m_pNamedPipeRadio ) );
-    }
-
-    bool MySQLNativeSettings::FillItemSet( SfxItemSet* _rSet )
-    {
-        bool bChangedSomething = false;
-
-        OGenericAdministrationPage::fillString( *_rSet, m_pHostName,     DSID_CONN_HOSTNAME,    bChangedSomething );
-        OGenericAdministrationPage::fillString( *_rSet, m_pDatabaseName, DSID_DATABASENAME,     bChangedSomething );
-        OGenericAdministrationPage::fillInt32 ( *_rSet, m_pPort,         DSID_MYSQL_PORTNUMBER, bChangedSomething );
-#ifdef UNX
-        OGenericAdministrationPage::fillString( *_rSet, m_pSocket,       DSID_CONN_SOCKET,      bChangedSomething );
-#else
-        OGenericAdministrationPage::fillString( *_rSet, m_pNamedPipe,    DSID_NAMED_PIPE,       bChangedSomething );
-#endif
-
-        return bChangedSomething;
-    }
-
-    void MySQLNativeSettings::implInitControls(const SfxItemSet& _rSet )
-    {
-        const SfxBoolItem* pInvalid = _rSet.GetItem<SfxBoolItem>(DSID_INVALID_SELECTION);
-        bool bValid = !pInvalid || !pInvalid->GetValue();
-        if ( !bValid )
-            return;
-
-        const SfxStringItem* pDatabaseName = _rSet.GetItem<SfxStringItem>(DSID_DATABASENAME);
-        const SfxStringItem* pHostName = _rSet.GetItem<SfxStringItem>(DSID_CONN_HOSTNAME);
-        const SfxInt32Item* pPortNumber = _rSet.GetItem<SfxInt32Item>(DSID_MYSQL_PORTNUMBER);
-        const SfxStringItem* pSocket = _rSet.GetItem<SfxStringItem>(DSID_CONN_SOCKET);
-        const SfxStringItem* pNamedPipe = _rSet.GetItem<SfxStringItem>(DSID_NAMED_PIPE);
-
-        m_pDatabaseName->SetText( pDatabaseName->GetValue() );
-        m_pDatabaseName->ClearModifyFlag();
-
-        m_pHostName->SetText( pHostName->GetValue() );
-        m_pHostName->ClearModifyFlag();
-
-        m_pPort->SetValue( pPortNumber->GetValue() );
-        m_pPort->ClearModifyFlag();
-
-        m_pSocket->SetText( pSocket->GetValue() );
-        m_pSocket->ClearModifyFlag();
-
-        m_pNamedPipe->SetText( pNamedPipe->GetValue() );
-        m_pNamedPipe->ClearModifyFlag();
-
-        // if a socket (on Unix) or a pipe name (on Windows) is given, this is preferred over
-        // the port
-#ifdef UNX
-        RadioButton& rSocketPipeRadio = *m_pSocketRadio;
-        const SfxStringItem* pSocketPipeItem = pSocket;
-#else
-        RadioButton& rSocketPipeRadio = *m_pNamedPipeRadio;
-        const SfxStringItem* pSocketPipeItem = pNamedPipe;
-#endif
-        const OUString& sSocketPipe( pSocketPipeItem->GetValue() );
-        if ( !sSocketPipe.isEmpty() )
-            rSocketPipeRadio.Check();
-        else
-            m_pHostPortRadio->Check();
-    }
-
-    bool MySQLNativeSettings::canAdvance() const
-    {
-        if ( m_pDatabaseName->GetText().isEmpty() )
-            return false;
-
-        if  (   m_pHostPortRadio->IsChecked()
-            &&  (   ( m_pHostName->GetText().isEmpty() )
-                ||  ( m_pPort->GetText().isEmpty() )
-                )
-            )
-            return false;
-
-#ifdef UNX
-        if  (   ( m_pSocketRadio->IsChecked() )
-            &&  ( m_pSocket->GetText().isEmpty() )
-            )
-#else
-        if  (   ( m_pNamedPipeRadio->IsChecked() )
-            &&  ( m_pNamedPipe->GetText().isEmpty() )
-            )
-#endif
-            return false;
-
-        return true;
-    }
-
-    // MySQLNativeSettings
     DBMySQLNativeSettings::DBMySQLNativeSettings(weld::Widget* pParent, const Link<void*,void>& rControlModificationLink)
         : m_xBuilder(Application::CreateBuilder(pParent, "dbaccess/ui/mysqlnativesettings.ui"))
         , m_xContainer(m_xBuilder->weld_widget("MysqlNativeSettings"))
diff --git a/dbaccess/source/ui/dlg/admincontrols.hxx b/dbaccess/source/ui/dlg/admincontrols.hxx
index 775f843d9ad8..0c406498e5dc 100644
--- a/dbaccess/source/ui/dlg/admincontrols.hxx
+++ b/dbaccess/source/ui/dlg/admincontrols.hxx
@@ -22,48 +22,12 @@
 
 #include "adminpages.hxx"
 
-#include <vcl/edit.hxx>
-#include <vcl/field.hxx>
-#include <vcl/fixed.hxx>
+#include <vcl/weld.hxx>
 
 namespace dbaui
 {
 
     // MySQLNativeSettings
-    class MySQLNativeSettings : public TabPage
-    {
-    private:
-        VclPtr<FixedText>           m_pDatabaseNameLabel;
-        VclPtr<Edit>                m_pDatabaseName;
-        VclPtr<RadioButton>         m_pHostPortRadio;
-        VclPtr<RadioButton>         m_pSocketRadio;
-        VclPtr<RadioButton>         m_pNamedPipeRadio;
-        VclPtr<FixedText>           m_pHostNameLabel;
-        VclPtr<Edit>                m_pHostName;
-        VclPtr<FixedText>           m_pPortLabel;
-        VclPtr<NumericField>        m_pPort;
-        VclPtr<FixedText>           m_pDefaultPort;
-        VclPtr<Edit>                m_pSocket;
-        VclPtr<Edit>                m_pNamedPipe;
-        Link<void*,void>            m_aControlModificationLink;
-        OUString                    m_sHostNameUserText;
-
-        DECL_LINK(RadioToggleHdl, RadioButton&, void);
-        DECL_LINK(EditModifyHdl, Edit&, void);
-
-    public:
-        MySQLNativeSettings( vcl::Window& _rParent, const Link<void*,void>& _rControlModificationLink );
-        virtual ~MySQLNativeSettings() override;
-        virtual void dispose() override;
-        void fillControls( std::vector< std::unique_ptr<ISaveValueWrapper> >& _rControlList );
-        void fillWindows( std::vector< std::unique_ptr<ISaveValueWrapper> >& _rControlList );
-
-        bool FillItemSet( SfxItemSet* _rCoreAttrs );
-        void implInitControls( const SfxItemSet& _rSet );
-
-        bool canAdvance() const;
-    };
-
     class DBMySQLNativeSettings
     {
     private:
commit 6eda61d6b994b422c988b552b5316a87c9c03654
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Fri Aug 2 10:10:54 2019 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Fri Aug 2 15:03:39 2019 +0200

    weld MySQLNativeSetupPage
    
    Change-Id: Ie27649de602241936378f1e937100718d0c95d5e
    Reviewed-on: https://gerrit.libreoffice.org/76844
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx b/dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx
index 20f9ec53e4cb..2287be7a8934 100644
--- a/dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx
+++ b/dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx
@@ -294,13 +294,12 @@ using namespace ::com::sun::star;
     }
 
     // MySQLNativeSetupPage
-    MySQLNativeSetupPage::MySQLNativeSetupPage( vcl::Window* _pParent, const SfxItemSet& _rCoreAttrs )
-        :OGenericAdministrationPage( _pParent, "DBWizMysqlNativePage", "dbaccess/ui/dbwizmysqlnativepage.ui", _rCoreAttrs )
-        ,m_aMySQLSettings       ( VclPtr<MySQLNativeSettings>::Create(*get<VclVBox>("MySQLSettingsContainer"), LINK(this, OGenericAdministrationPage, OnControlModified)) )
+    MySQLNativeSetupPage::MySQLNativeSetupPage( TabPageParent pParent, const SfxItemSet& rCoreAttrs )
+        : OGenericAdministrationPage(pParent, "dbaccess/ui/dbwizmysqlnativepage.ui", "DBWizMysqlNativePage", rCoreAttrs)
+        , m_xHelpText(m_xBuilder->weld_label("helptext"))
+        , m_xSettingsContainer(m_xBuilder->weld_container("MySQLSettingsContainer"))
+        , m_xMySQLSettings(new DBMySQLNativeSettings(m_xSettingsContainer.get(), LINK(this, OGenericAdministrationPage, OnControlModified)))
     {
-        get(m_pHelpText, "helptext");
-        m_aMySQLSettings->Show();
-
         SetRoadmapStateValue(false);
     }
 
@@ -311,35 +310,34 @@ using namespace ::com::sun::star;
 
     void MySQLNativeSetupPage::dispose()
     {
-        m_aMySQLSettings.disposeAndClear();
-        m_pHelpText.clear();
+        m_xMySQLSettings.reset();
         OGenericAdministrationPage::dispose();
-    }
+     }
 
-    VclPtr<OGenericAdministrationPage> MySQLNativeSetupPage::Create( vcl::Window* pParent, const SfxItemSet& _rAttrSet )
+    VclPtr<OGenericAdministrationPage> MySQLNativeSetupPage::Create(TabPageParent pParent, const SfxItemSet& rAttrSet)
     {
-        return VclPtr<MySQLNativeSetupPage>::Create( pParent, _rAttrSet );
+        return VclPtr<MySQLNativeSetupPage>::Create(pParent, rAttrSet);
     }
 
     void MySQLNativeSetupPage::fillControls( std::vector< std::unique_ptr<ISaveValueWrapper> >& _rControlList )
     {
-        m_aMySQLSettings->fillControls( _rControlList );
+        m_xMySQLSettings->fillControls( _rControlList );
     }
 
-    void MySQLNativeSetupPage::fillWindows( std::vector< std::unique_ptr<ISaveValueWrapper> >& _rControlList )
+    void MySQLNativeSetupPage::fillWindows(std::vector<std::unique_ptr<ISaveValueWrapper>>& rControlList)
     {
-        _rControlList.emplace_back( new ODisableWrapper< FixedText >( m_pHelpText ) );
-        m_aMySQLSettings->fillWindows( _rControlList );
+        rControlList.emplace_back(new ODisableWidgetWrapper<weld::Label>(m_xHelpText.get()));
+        m_xMySQLSettings->fillWindows(rControlList);
     }
 
     bool MySQLNativeSetupPage::FillItemSet( SfxItemSet* _rSet )
     {
-        return m_aMySQLSettings->FillItemSet( _rSet );
+        return m_xMySQLSettings->FillItemSet( _rSet );
     }
 
     void MySQLNativeSetupPage::implInitControls( const SfxItemSet& _rSet, bool _bSaveValue )
     {
-        m_aMySQLSettings->implInitControls( _rSet );
+        m_xMySQLSettings->implInitControls( _rSet );
 
         OGenericAdministrationPage::implInitControls( _rSet, _bSaveValue );
 
@@ -348,7 +346,7 @@ using namespace ::com::sun::star;
 
     void MySQLNativeSetupPage::callModifiedHdl(void*)
     {
-        SetRoadmapStateValue( m_aMySQLSettings->canAdvance() );
+        SetRoadmapStateValue( m_xMySQLSettings->canAdvance() );
 
         OGenericAdministrationPage::callModifiedHdl();
     }
diff --git a/dbaccess/source/ui/dlg/DBSetupConnectionPages.hxx b/dbaccess/source/ui/dlg/DBSetupConnectionPages.hxx
index 02953c0b1a0a..dd0717f47a54 100644
--- a/dbaccess/source/ui/dlg/DBSetupConnectionPages.hxx
+++ b/dbaccess/source/ui/dlg/DBSetupConnectionPages.hxx
@@ -103,15 +103,16 @@ namespace dbaui
     class MySQLNativeSetupPage : public OGenericAdministrationPage
     {
     private:
-        VclPtr<FixedText>          m_pHelpText;
-        VclPtr<MySQLNativeSettings> m_aMySQLSettings;
+        std::unique_ptr<weld::Label> m_xHelpText;
+        std::unique_ptr<weld::Container> m_xSettingsContainer;
+        std::unique_ptr<DBMySQLNativeSettings> m_xMySQLSettings;
 
     public:
-        MySQLNativeSetupPage( vcl::Window* _pParent, const SfxItemSet& _rCoreAttrs );
-        virtual ~MySQLNativeSetupPage() override;
+        MySQLNativeSetupPage(TabPageParent pParent, const SfxItemSet& rCoreAttrs);
         virtual void dispose() override;
+        virtual ~MySQLNativeSetupPage() override;
 
-        static VclPtr<OGenericAdministrationPage> Create( vcl::Window* pParent, const SfxItemSet& _rAttrSet );
+        static VclPtr<OGenericAdministrationPage> Create(TabPageParent pParent, const SfxItemSet& rAttrSet);
 
     protected:
         virtual void fillControls( std::vector< std::unique_ptr<ISaveValueWrapper> >& _rControlList ) override;
diff --git a/dbaccess/source/ui/dlg/admincontrols.cxx b/dbaccess/source/ui/dlg/admincontrols.cxx
index e45e14379351..5ba2a5b313f3 100644
--- a/dbaccess/source/ui/dlg/admincontrols.cxx
+++ b/dbaccess/source/ui/dlg/admincontrols.cxx
@@ -369,6 +369,32 @@ namespace dbaui
             m_xHostPortRadio->set_active(true);
     }
 
+    bool DBMySQLNativeSettings::canAdvance() const
+    {
+        if (m_xDatabaseName->get_text().isEmpty())
+            return false;
+
+        if  (   m_xHostPortRadio->get_active()
+            &&  (   ( m_xHostName->get_text().isEmpty() )
+                ||  ( m_xPort->get_text().isEmpty() )
+                )
+            )
+            return false;
+
+#ifdef UNX
+        if  (   ( m_xSocketRadio->get_active() )
+            &&  ( m_xSocket->get_text().isEmpty() )
+            )
+#else
+        if  (   ( m_xNamedPipeRadio->get_active() )
+            &&  ( m_xNamedPipe->get_text().isEmpty() )
+            )
+#endif
+            return false;
+
+        return true;
+    }
+
 } // namespace dbaui
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/dbaccess/source/ui/dlg/admincontrols.hxx b/dbaccess/source/ui/dlg/admincontrols.hxx
index 71366a09266f..775f843d9ad8 100644
--- a/dbaccess/source/ui/dlg/admincontrols.hxx
+++ b/dbaccess/source/ui/dlg/admincontrols.hxx
@@ -93,6 +93,8 @@ namespace dbaui
 
         bool FillItemSet( SfxItemSet* rCoreAttrs );
         void implInitControls( const SfxItemSet& _rSet );
+
+        bool canAdvance() const;
     };
 
 } // namespace dbaui


More information about the Libreoffice-commits mailing list