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

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Wed Oct 24 15:34:39 UTC 2018


 dbaccess/source/ui/dlg/admincontrols.cxx    |  169 ++++++++++++++++++++++++++++
 dbaccess/source/ui/dlg/admincontrols.hxx    |   33 +++++
 dbaccess/source/ui/dlg/detailpages.cxx      |   76 +++++-------
 dbaccess/source/ui/dlg/detailpages.hxx      |   20 +--
 dbaccess/uiconfig/ui/mysqlnativepage.ui     |   16 +-
 dbaccess/uiconfig/ui/mysqlnativesettings.ui |   21 ++-
 6 files changed, 267 insertions(+), 68 deletions(-)

New commits:
commit 1fccdde12a27379ed75463ba175732b72265eb70
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Wed Oct 24 12:20:37 2018 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Wed Oct 24 17:34:13 2018 +0200

    weld DBMySQLNativeSettings
    
    Change-Id: I0c4f27e02f9dd6c7bb42ffe49043e98e043d9084
    Reviewed-on: https://gerrit.libreoffice.org/62292
    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 0891f0925d66..15b67868c1af 100644
--- a/dbaccess/source/ui/dlg/admincontrols.cxx
+++ b/dbaccess/source/ui/dlg/admincontrols.cxx
@@ -305,6 +305,175 @@ namespace dbaui
         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"))
+        , m_xDatabaseNameLabel(m_xBuilder->weld_label("dbnamelabel"))
+        , m_xDatabaseName(m_xBuilder->weld_entry("dbname"))
+        , m_xHostPortRadio(m_xBuilder->weld_radio_button("hostport"))
+        , m_xSocketRadio(m_xBuilder->weld_radio_button("socketlabel"))
+        , m_xNamedPipeRadio(m_xBuilder->weld_radio_button("namedpipelabel"))
+        , m_xHostNameLabel(m_xBuilder->weld_label("serverlabel"))
+        , m_xHostName(m_xBuilder->weld_entry("server"))
+        , m_xPortLabel(m_xBuilder->weld_label("portlabel"))
+        , m_xPort(m_xBuilder->weld_spin_button("port"))
+        , m_xDefaultPort(m_xBuilder->weld_label("defaultport"))
+        , m_xSocket(m_xBuilder->weld_entry("socket"))
+        , m_xNamedPipe(m_xBuilder->weld_entry("namedpipe"))
+        , m_aControlModificationLink(rControlModificationLink)
+    {
+        m_xDatabaseName->connect_changed( LINK(this, DBMySQLNativeSettings, EditModifyHdl) );
+        m_xHostName->connect_changed( LINK(this, DBMySQLNativeSettings, EditModifyHdl) );
+        m_xPort->connect_value_changed( LINK(this, DBMySQLNativeSettings, SpinModifyHdl) );
+        m_xSocket->connect_changed( LINK(this, DBMySQLNativeSettings, EditModifyHdl) );
+        m_xNamedPipe->connect_changed( LINK(this, DBMySQLNativeSettings, EditModifyHdl) );
+        m_xSocketRadio->connect_toggled( LINK(this, DBMySQLNativeSettings, RadioToggleHdl) );
+        m_xNamedPipeRadio->connect_toggled( LINK(this, DBMySQLNativeSettings, RadioToggleHdl) );
+        m_xHostPortRadio->connect_toggled( LINK(this, DBMySQLNativeSettings, RadioToggleHdl) );
+
+        // sockets are available on Unix systems only, named pipes only on Windows
+#ifdef UNX
+        m_xNamedPipeRadio->hide();
+        m_xNamedPipe->hide();
+#else
+        m_xSocketRadio->hide();
+        m_xSocket->hide();
+#endif
+        m_xContainer->show();
+    }
+
+    IMPL_LINK(DBMySQLNativeSettings, RadioToggleHdl, weld::ToggleButton&, rRadioButton, void)
+    {
+        m_aControlModificationLink.Call(&rRadioButton);
+
+        const bool bHostPortRadio = m_xHostPortRadio->get_active();
+        m_xHostNameLabel->set_sensitive(bHostPortRadio);
+        m_xHostName->set_sensitive(bHostPortRadio);
+        m_xPortLabel->set_sensitive(bHostPortRadio);
+        m_xPort->set_sensitive(bHostPortRadio);
+        m_xDefaultPort->set_sensitive(bHostPortRadio);
+
+        m_xSocket->set_sensitive(m_xSocketRadio->get_active());
+        m_xNamedPipe->set_sensitive(m_xNamedPipeRadio->get_active());
+    }
+
+    IMPL_LINK(DBMySQLNativeSettings, EditModifyHdl, weld::Entry&, rEdit, void)
+    {
+        m_aControlModificationLink.Call(&rEdit);
+    }
+
+    IMPL_LINK(DBMySQLNativeSettings, SpinModifyHdl, weld::SpinButton&, rEdit, void)
+    {
+        m_aControlModificationLink.Call(&rEdit);
+    }
+
+    void DBMySQLNativeSettings::fillControls( std::vector< std::unique_ptr<ISaveValueWrapper> >& _rControlList )
+    {
+        _rControlList.emplace_back(new OSaveValueWidgetWrapper<weld::Entry>(m_xDatabaseName.get()));
+        _rControlList.emplace_back(new OSaveValueWidgetWrapper<weld::Entry>(m_xHostName.get()));
+        _rControlList.emplace_back(new OSaveValueWidgetWrapper<weld::Entry>(m_xPort.get()));
+        _rControlList.emplace_back(new OSaveValueWidgetWrapper<weld::Entry>(m_xSocket.get()));
+        _rControlList.emplace_back(new OSaveValueWidgetWrapper<weld::Entry>(m_xNamedPipe.get()));
+    }
+
+    void DBMySQLNativeSettings::fillWindows( std::vector< std::unique_ptr<ISaveValueWrapper> >& _rControlList )
+    {
+        _rControlList.emplace_back( new ODisableWidgetWrapper<weld::Label>( m_xDatabaseNameLabel.get() ) );
+        _rControlList.emplace_back( new ODisableWidgetWrapper<weld::Label>( m_xHostNameLabel.get() ) );
+        _rControlList.emplace_back( new ODisableWidgetWrapper<weld::Label>( m_xPortLabel.get() ) );
+        _rControlList.emplace_back( new ODisableWidgetWrapper<weld::Label>( m_xDefaultPort.get() ) );
+        _rControlList.emplace_back( new ODisableWidgetWrapper<weld::RadioButton>( m_xSocketRadio.get() ) );
+        _rControlList.emplace_back( new ODisableWidgetWrapper<weld::RadioButton>( m_xNamedPipeRadio.get() ) );
+    }
+
+    bool DBMySQLNativeSettings::FillItemSet( SfxItemSet* _rSet )
+    {
+        bool bChangedSomething = false;
+
+        OGenericAdministrationPage::fillString( *_rSet, m_xHostName.get(),     DSID_CONN_HOSTNAME,    bChangedSomething );
+        OGenericAdministrationPage::fillString( *_rSet, m_xDatabaseName.get(), DSID_DATABASENAME,     bChangedSomething );
+        OGenericAdministrationPage::fillInt32 ( *_rSet, m_xPort.get(),         DSID_MYSQL_PORTNUMBER, bChangedSomething );
+#ifdef UNX
+        OGenericAdministrationPage::fillString( *_rSet, m_xSocket.get(),       DSID_CONN_SOCKET,      bChangedSomething );
+#else
+        OGenericAdministrationPage::fillString( *_rSet, m_xNamedPipe.get(),    DSID_NAMED_PIPE,       bChangedSomething );
+#endif
+
+        return bChangedSomething;
+    }
+
+    void DBMySQLNativeSettings::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_xDatabaseName->set_text( pDatabaseName->GetValue() );
+        m_xDatabaseName->save_value();
+
+        m_xHostName->set_text( pHostName->GetValue() );
+        m_xHostName->save_value();
+
+        m_xPort->set_value( pPortNumber->GetValue() );
+        m_xPort->save_value();
+
+        m_xSocket->set_text( pSocket->GetValue() );
+        m_xSocket->save_value();
+
+        m_xNamedPipe->set_text( pNamedPipe->GetValue() );
+        m_xNamedPipe->save_value();
+
+        // if a socket (on Unix) or a pipe name (on Windows) is given, this is preferred over
+        // the port
+#ifdef UNX
+        weld::RadioButton& rSocketPipeRadio = *m_xSocketRadio;
+        const SfxStringItem* pSocketPipeItem = pSocket;
+#else
+        weld::RadioButton& rSocketPipeRadio = *m_xNamedPipeRadio;
+        const SfxStringItem* pSocketPipeItem = pNamedPipe;
+#endif
+        const OUString& rSocketPipe( pSocketPipeItem->GetValue() );
+        if (!rSocketPipe.isEmpty())
+            rSocketPipeRadio.set_active(true);
+        else
+            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 6a5f6e48d325..f608341de580 100644
--- a/dbaccess/source/ui/dlg/admincontrols.hxx
+++ b/dbaccess/source/ui/dlg/admincontrols.hxx
@@ -66,6 +66,39 @@ namespace dbaui
         bool canAdvance() const;
     };
 
+    class DBMySQLNativeSettings
+    {
+    private:
+        std::unique_ptr<weld::Builder> m_xBuilder;
+        std::unique_ptr<weld::Widget> m_xContainer;
+        std::unique_ptr<weld::Label> m_xDatabaseNameLabel;
+        std::unique_ptr<weld::Entry> m_xDatabaseName;
+        std::unique_ptr<weld::RadioButton> m_xHostPortRadio;
+        std::unique_ptr<weld::RadioButton> m_xSocketRadio;
+        std::unique_ptr<weld::RadioButton> m_xNamedPipeRadio;
+        std::unique_ptr<weld::Label> m_xHostNameLabel;
+        std::unique_ptr<weld::Entry> m_xHostName;
+        std::unique_ptr<weld::Label> m_xPortLabel;
+        std::unique_ptr<weld::SpinButton> m_xPort;
+        std::unique_ptr<weld::Label> m_xDefaultPort;
+        std::unique_ptr<weld::Entry> m_xSocket;
+        std::unique_ptr<weld::Entry> m_xNamedPipe;
+        Link<void*,void> m_aControlModificationLink;
+        DECL_LINK(RadioToggleHdl, weld::ToggleButton&, void);
+        DECL_LINK(SpinModifyHdl, weld::SpinButton&, void);
+        DECL_LINK(EditModifyHdl, weld::Entry&, void);
+
+    public:
+        DBMySQLNativeSettings(weld::Widget* pParent, const Link<void*,void>& rControlModificationLink);
+        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;
+    };
+
 } // namespace dbaui
 
 #endif // INCLUDED_DBACCESS_SOURCE_UI_DLG_ADMINCONTROLS_HXX
diff --git a/dbaccess/source/ui/dlg/detailpages.cxx b/dbaccess/source/ui/dlg/detailpages.cxx
index e84a87bd9f54..9b41ad6404fa 100644
--- a/dbaccess/source/ui/dlg/detailpages.cxx
+++ b/dbaccess/source/ui/dlg/detailpages.cxx
@@ -627,19 +627,17 @@ namespace dbaui
     }
 
     // MySQLNativePage
-    MySQLNativePage::MySQLNativePage( vcl::Window* pParent, const SfxItemSet& _rCoreAttrs )
-        :OCommonBehaviourTabPage(pParent, "MysqlNativePage", "dbaccess/ui/mysqlnativepage.ui", _rCoreAttrs, OCommonBehaviourTabPageFlags::UseCharset )
-        ,m_aMySQLSettings       ( VclPtr<MySQLNativeSettings>::Create(*get<VclVBox>("MySQLSettingsContainer"), LINK(this,OGenericAdministrationPage,OnControlModified)) )
+    MySQLNativePage::MySQLNativePage(TabPageParent pParent, const SfxItemSet& rCoreAttrs)
+        : DBOCommonBehaviourTabPage(pParent, "dbaccess/ui/mysqlnativepage.ui", "MysqlNativePage", rCoreAttrs, OCommonBehaviourTabPageFlags::UseCharset)
+        , m_xMySQLSettingsContainer(m_xBuilder->weld_widget("MySQLSettingsContainer"))
+        , m_aMySQLSettings(m_xMySQLSettingsContainer.get(), LINK(this,OGenericAdministrationPage,OnControlModified))
+        , m_xSeparator1(m_xBuilder->weld_label("connectionheader"))
+        , m_xSeparator2(m_xBuilder->weld_label("userheader"))
+        , m_xUserNameLabel(m_xBuilder->weld_label("usernamelabel"))
+        , m_xUserName(m_xBuilder->weld_entry("username"))
+        , m_xPasswordRequired(m_xBuilder->weld_check_button("passwordrequired"))
     {
-        get(m_pSeparator1, "connectionheader");
-        get(m_pSeparator2, "userheader");
-        get(m_pUserNameLabel, "usernamelabel");
-        get(m_pUserName, "username");
-        get(m_pPasswordRequired, "passwordrequired");
-
-        m_pUserName->SetModifyHdl(LINK(this,OGenericAdministrationPage,OnControlEditModifyHdl));
-
-        m_aMySQLSettings->Show();
+        m_xUserName->connect_changed(LINK(this,OGenericAdministrationPage,OnControlEntryModifyHdl));
     }
 
     MySQLNativePage::~MySQLNativePage()
@@ -647,48 +645,38 @@ namespace dbaui
         disposeOnce();
     }
 
-    void MySQLNativePage::dispose()
-    {
-        m_aMySQLSettings.disposeAndClear();
-        m_pSeparator1.clear();
-        m_pSeparator2.clear();
-        m_pUserNameLabel.clear();
-        m_pUserName.clear();
-        m_pPasswordRequired.clear();
-        OCommonBehaviourTabPage::dispose();
-    }
-
     void MySQLNativePage::fillControls(std::vector< std::unique_ptr<ISaveValueWrapper> >& _rControlList)
     {
-        OCommonBehaviourTabPage::fillControls( _rControlList );
-        m_aMySQLSettings->fillControls( _rControlList );
+        DBOCommonBehaviourTabPage::fillControls( _rControlList );
+        m_aMySQLSettings.fillControls( _rControlList );
 
-        _rControlList.emplace_back(new OSaveValueWrapper<Edit>(m_pUserName));
-        _rControlList.emplace_back(new OSaveValueWrapper<CheckBox>(m_pPasswordRequired));
+        _rControlList.emplace_back(new OSaveValueWidgetWrapper<weld::Entry>(m_xUserName.get()));
+        _rControlList.emplace_back(new OSaveValueWidgetWrapper<weld::CheckButton>(m_xPasswordRequired.get()));
     }
+
     void MySQLNativePage::fillWindows(std::vector< std::unique_ptr<ISaveValueWrapper> >& _rControlList)
     {
-        OCommonBehaviourTabPage::fillWindows( _rControlList );
-        m_aMySQLSettings->fillWindows( _rControlList);
+        DBOCommonBehaviourTabPage::fillWindows( _rControlList );
+        m_aMySQLSettings.fillWindows( _rControlList);
 
-        _rControlList.emplace_back(new ODisableWrapper<FixedText>(m_pSeparator1));
-        _rControlList.emplace_back(new ODisableWrapper<FixedText>(m_pSeparator2));
-        _rControlList.emplace_back(new ODisableWrapper<FixedText>(m_pUserNameLabel));
+        _rControlList.emplace_back(new ODisableWidgetWrapper<weld::Label>(m_xSeparator1.get()));
+        _rControlList.emplace_back(new ODisableWidgetWrapper<weld::Label>(m_xSeparator2.get()));
+        _rControlList.emplace_back(new ODisableWidgetWrapper<weld::Label>(m_xUserNameLabel.get()));
     }
 
     bool MySQLNativePage::FillItemSet( SfxItemSet* _rSet )
     {
-        bool bChangedSomething = OCommonBehaviourTabPage::FillItemSet( _rSet );
+        bool bChangedSomething = DBOCommonBehaviourTabPage::FillItemSet( _rSet );
 
-        bChangedSomething |= m_aMySQLSettings->FillItemSet( _rSet );
+        bChangedSomething |= m_aMySQLSettings.FillItemSet( _rSet );
 
-        if ( m_pUserName->IsValueChangedFromSaved() )
+        if (m_xUserName->get_value_changed_from_saved())
         {
-            _rSet->Put( SfxStringItem( DSID_USER, m_pUserName->GetText() ) );
+            _rSet->Put( SfxStringItem( DSID_USER, m_xUserName->get_text() ) );
             _rSet->Put( SfxStringItem( DSID_PASSWORD, OUString()));
             bChangedSomething = true;
         }
-        fillBool(*_rSet,m_pPasswordRequired,DSID_PASSWORDREQUIRED,bChangedSomething);
+        fillBool(*_rSet,m_xPasswordRequired.get(),DSID_PASSWORDREQUIRED,false,bChangedSomething);
 
         return bChangedSomething;
     }
@@ -698,19 +686,19 @@ namespace dbaui
         bool bValid, bReadonly;
         getFlags(_rSet, bValid, bReadonly);
 
-        m_aMySQLSettings->implInitControls( _rSet );
+        m_aMySQLSettings.implInitControls( _rSet );
 
         const SfxStringItem* pUidItem = _rSet.GetItem<SfxStringItem>(DSID_USER);
         const SfxBoolItem* pAllowEmptyPwd = _rSet.GetItem<SfxBoolItem>(DSID_PASSWORDREQUIRED);
 
         if ( bValid )
         {
-            m_pUserName->SetText(pUidItem->GetValue());
-            m_pUserName->ClearModifyFlag();
-            m_pPasswordRequired->Check(pAllowEmptyPwd->GetValue());
+            m_xUserName->set_text(pUidItem->GetValue());
+            m_xUserName->save_value();
+            m_xPasswordRequired->set_active(pAllowEmptyPwd->GetValue());
         }
 
-        OCommonBehaviourTabPage::implInitControls(_rSet, _bSaveValue);
+        DBOCommonBehaviourTabPage::implInitControls(_rSet, _bSaveValue);
     }
 
     VclPtr<SfxTabPage> ODriversSettings::CreateMySQLJDBC( TabPageParent pParent, const SfxItemSet* _rAttrSet )
@@ -718,9 +706,9 @@ namespace dbaui
         return VclPtr<OGeneralSpecialJDBCDetailsPage>::Create(pParent, *_rAttrSet,DSID_MYSQL_PORTNUMBER);
     }
 
-    VclPtr<SfxTabPage> ODriversSettings::CreateMySQLNATIVE( TabPageParent pParent, const SfxItemSet* _rAttrSet )
+    VclPtr<SfxTabPage> ODriversSettings::CreateMySQLNATIVE(TabPageParent pParent, const SfxItemSet* pAttrSet)
     {
-        return VclPtr<MySQLNativePage>::Create( pParent.pParent, *_rAttrSet );
+        return VclPtr<MySQLNativePage>::Create(pParent, *pAttrSet);
     }
 
     VclPtr<SfxTabPage> ODriversSettings::CreateOracleJDBC(TabPageParent pParent, const SfxItemSet* _rAttrSet)
diff --git a/dbaccess/source/ui/dlg/detailpages.hxx b/dbaccess/source/ui/dlg/detailpages.hxx
index b347bc843e0f..1739de02d4d5 100644
--- a/dbaccess/source/ui/dlg/detailpages.hxx
+++ b/dbaccess/source/ui/dlg/detailpages.hxx
@@ -233,22 +233,20 @@ namespace dbaui
     };
 
     // MySQLNativePage
-    class MySQLNativePage : public OCommonBehaviourTabPage
+    class MySQLNativePage : public DBOCommonBehaviourTabPage
     {
     public:
-        MySQLNativePage(    vcl::Window* pParent,
-                            const SfxItemSet& _rCoreAttrs );
+        MySQLNativePage(TabPageParent pParent, const SfxItemSet& rCoreAttrs);
         virtual ~MySQLNativePage() override;
-        virtual void dispose() override;
 
     private:
-        VclPtr<FixedText>           m_pSeparator1;
-        VclPtr<MySQLNativeSettings> m_aMySQLSettings;
-
-        VclPtr<FixedText>           m_pSeparator2;
-        VclPtr<FixedText>           m_pUserNameLabel;
-        VclPtr<Edit>                m_pUserName;
-        VclPtr<CheckBox>            m_pPasswordRequired;
+        std::unique_ptr<weld::Widget> m_xMySQLSettingsContainer;
+        DBMySQLNativeSettings m_aMySQLSettings;
+        std::unique_ptr<weld::Label> m_xSeparator1;
+        std::unique_ptr<weld::Label> m_xSeparator2;
+        std::unique_ptr<weld::Label> m_xUserNameLabel;
+        std::unique_ptr<weld::Entry> m_xUserName;
+        std::unique_ptr<weld::CheckButton> m_xPasswordRequired;
 
     protected:
         virtual bool FillItemSet( SfxItemSet* _rCoreAttrs ) override;
diff --git a/dbaccess/uiconfig/ui/mysqlnativepage.ui b/dbaccess/uiconfig/ui/mysqlnativepage.ui
index 7edbbe0126ff..3a098e31d272 100644
--- a/dbaccess/uiconfig/ui/mysqlnativepage.ui
+++ b/dbaccess/uiconfig/ui/mysqlnativepage.ui
@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
+<!-- Generated with glade 3.22.1 -->
 <interface domain="dba">
   <requires lib="gtk+" version="3.18"/>
-  <requires lib="LibreOffice" version="1.0"/>
   <object class="GtkBox" id="MysqlNativePage">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
@@ -12,7 +11,7 @@
     <property name="orientation">vertical</property>
     <property name="spacing">12</property>
     <child>
-      <object class="GtkFrame" id="frame1">
+      <object class="GtkFrame" id="connectionframe">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="hexpand">True</property>
@@ -59,7 +58,7 @@
       </packing>
     </child>
     <child>
-      <object class="GtkFrame" id="frame2">
+      <object class="GtkFrame" id="userframe">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="hexpand">True</property>
@@ -86,10 +85,10 @@
                   <object class="GtkLabel" id="usernamelabel">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">1</property>
                     <property name="label" translatable="yes" context="mysqlnativepage|usernamelabel">_User name:</property>
                     <property name="use_underline">True</property>
                     <property name="mnemonic_widget">username</property>
+                    <property name="xalign">1</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
@@ -101,6 +100,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="hexpand">True</property>
+                    <property name="activates_default">True</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
@@ -147,7 +147,7 @@
       </packing>
     </child>
     <child>
-      <object class="GtkFrame" id="frame3">
+      <object class="GtkFrame" id="charsetframe">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="hexpand">True</property>
@@ -171,10 +171,10 @@
                   <object class="GtkLabel" id="charsetlabel">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">1</property>
                     <property name="label" translatable="yes" context="mysqlnativepage|charsetlabel">_Character set:</property>
                     <property name="use_underline">True</property>
                     <property name="mnemonic_widget">charset</property>
+                    <property name="xalign">1</property>
                   </object>
                   <packing>
                     <property name="expand">False</property>
@@ -183,7 +183,7 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="dbulo-CharSetListBox" id="charset">
+                  <object class="GtkComboBoxText" id="charset">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="hexpand">True</property>
diff --git a/dbaccess/uiconfig/ui/mysqlnativesettings.ui b/dbaccess/uiconfig/ui/mysqlnativesettings.ui
index 5b7f54188eaa..6b4e20a36521 100644
--- a/dbaccess/uiconfig/ui/mysqlnativesettings.ui
+++ b/dbaccess/uiconfig/ui/mysqlnativesettings.ui
@@ -1,7 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
+<!-- Generated with glade 3.22.1 -->
 <interface domain="dba">
   <requires lib="gtk+" version="3.18"/>
+  <object class="GtkAdjustment" id="adjustment1">
+    <property name="upper">65535</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
   <object class="GtkBox" id="MysqlNativeSettings">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
@@ -21,10 +26,10 @@
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <property name="halign">start</property>
-            <property name="xalign">0</property>
             <property name="label" translatable="yes" context="mysqlnativesettings|dbnamelabel">_Database name:</property>
             <property name="use_underline">True</property>
             <property name="mnemonic_widget">dbname</property>
+            <property name="xalign">0</property>
           </object>
           <packing>
             <property name="expand">False</property>
@@ -37,6 +42,7 @@
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="hexpand">True</property>
+            <property name="activates_default">True</property>
           </object>
           <packing>
             <property name="expand">False</property>
@@ -90,10 +96,10 @@
                   <object class="GtkLabel" id="serverlabel">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">1</property>
                     <property name="label" translatable="yes" context="mysqlnativesettings|serverlabel">_Server:</property>
                     <property name="use_underline">True</property>
                     <property name="mnemonic_widget">server</property>
+                    <property name="xalign">1</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
@@ -104,10 +110,10 @@
                   <object class="GtkLabel" id="portlabel">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="xalign">1</property>
                     <property name="label" translatable="yes" context="mysqlnativesettings|portlabel">_Port:</property>
                     <property name="use_underline">True</property>
                     <property name="mnemonic_widget">port</property>
+                    <property name="xalign">1</property>
                   </object>
                   <packing>
                     <property name="left_attach">0</property>
@@ -119,6 +125,7 @@
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="hexpand">True</property>
+                    <property name="activates_default">True</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
@@ -131,8 +138,8 @@
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="halign">start</property>
-                    <property name="xalign">0</property>
                     <property name="label" translatable="yes" context="mysqlnativesettings|defaultport">Default: 3306</property>
+                    <property name="xalign">0</property>
                   </object>
                   <packing>
                     <property name="left_attach">2</property>
@@ -144,6 +151,8 @@
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="hexpand">True</property>
+                    <property name="activates_default">True</property>
+                    <property name="adjustment">adjustment1</property>
                     <property name="numeric">True</property>
                   </object>
                   <packing>
@@ -194,6 +203,7 @@
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="hexpand">True</property>
+            <property name="activates_default">True</property>
           </object>
           <packing>
             <property name="left_attach">1</property>
@@ -235,6 +245,7 @@
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="hexpand">True</property>
+            <property name="activates_default">True</property>
           </object>
           <packing>
             <property name="left_attach">1</property>


More information about the Libreoffice-commits mailing list