[X2Go-Commits] x2goclient.git - build-main (branch) updated: 4.0.1.1-72-gbe65efa

X2Go dev team git-admin at x2go.org
Tue Dec 17 15:43:36 CET 2013


The branch, build-main has been updated
       via  be65efa3a6e5a84da5531d2707dcaeb248a14474 (commit)
      from  9d714e35d68e68dda9dfbc5fe737626179a009e4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 debian/changelog   |    2 +
 onmainwindow.cpp   |    5 +-
 settingswidget.cpp |  147 +++++++++++++++++++++++++++++++++++-----------------
 settingswidget.h   |   12 +++--
 4 files changed, 115 insertions(+), 51 deletions(-)

The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index af05070..7311428 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -71,6 +71,8 @@ x2goclient (4.0.1.2-0x2go2) UNRELEASED; urgency=low
     - GSSApi(Kerberos 5) authentication for sshproxy and sshbroker 
     - fixed GSSApi(Kerberos 5) authentication for sshproxy and sshbroker
       on windows
+    - changed keyboard settings. Supported modes: auto, none and config with
+      model/layout(variant)
 
   [ Heinrich Schuchardt ]
   * New upstream version (4.0.1.2):
diff --git a/onmainwindow.cpp b/onmainwindow.cpp
index db2e349..61f6458 100644
--- a/onmainwindow.cpp
+++ b/onmainwindow.cpp
@@ -88,7 +88,7 @@ ONMainWindow::ONMainWindow ( QWidget *parent ) :QMainWindow ( parent )
     defaultPack="16m-jpeg";
     defaultQuality=9;
     defaultLayout<<tr ( "us" );
-    defaultKbdType=tr ( "pc105/us" );
+    defaultKbdType="auto";
     defaultCmd="KDE";
     defaultSshPort=sshPort=clientSshPort="22";
     LDAPPrintSupport=false;
@@ -3780,6 +3780,9 @@ void ONMainWindow::startNewSession()
         type=st->setting()->value ( sid+"/type",
                                     ( QVariant )
                                     defaultKbdType ).toString();
+        type.replace("\\","");
+        type.replace("(","\\(");
+        type.replace(")","\\)");
         if ( !embedMode )
         {
             command=st->setting()->value ( sid+"/command",
diff --git a/settingswidget.cpp b/settingswidget.cpp
index 15eb91e..f728740 100644
--- a/settingswidget.cpp
+++ b/settingswidget.cpp
@@ -150,28 +150,36 @@ SettingsWidget::SettingsWidget ( QString id, ONMainWindow * mw,
 #endif
 
 
-    kbd=new QCheckBox ( tr ( "Keep current keyboard Settings" ),kgb );
-    layout=new QLineEdit ( kgb );
-    type=new QLineEdit ( kgb );
-    QVBoxLayout *kbLay = new QVBoxLayout ( kgb );
-
-    QVBoxLayout *klLay = new QVBoxLayout();
-    QVBoxLayout *kwLay = new QVBoxLayout();
-    QHBoxLayout *ksLay = new QHBoxLayout();
 
-    klLay->addWidget ( layoutLabel= new QLabel (
-        tr ( "Keyboard layout:" ),kgb ) );
-    klLay->addWidget ( typeLabel= new QLabel (
-        tr ( "Keyboard model:" ),kgb ) );
+    rbKbdAuto=new QRadioButton(tr("Auto detect keyboard settings"),kgb);
+    rbKbdNoSet=new QRadioButton(tr("Do not configure keyboard"),kgb);
+    rbKbdSet=new QRadioButton(tr("Configure keyboard"),kgb);
+    QButtonGroup* kbRadio=new QButtonGroup(kgb);
+    kbRadio->addButton(rbKbdAuto);
+    kbRadio->addButton(rbKbdNoSet);
+    kbRadio->addButton(rbKbdSet);
+
+    gbKbdString=new QGroupBox(kgb);
+    gbKbdString->setFlat(true);
+
+
+    QHBoxLayout* kbstrlay=new QHBoxLayout(gbKbdString);
+    kbstrlay->addWidget(new QLabel(tr("Model: "), gbKbdString));
+    leModel=new QLineEdit(gbKbdString);
+    kbstrlay->addWidget(leModel);
+    kbstrlay->addWidget(new QLabel(tr("Layout: "), gbKbdString));
+    leLayout=new QLineEdit(gbKbdString);
+    kbstrlay->addWidget(leLayout);
+    kbstrlay->addWidget(new QLabel(tr("Variant: "), gbKbdString));
+    leVariant=new QLineEdit(gbKbdString);
+    kbstrlay->addWidget(leVariant);
 
-    kwLay->addWidget ( layout );
-    kwLay->addWidget ( type );
-
-    ksLay->addLayout ( klLay );
-    ksLay->addLayout ( kwLay );
+    QVBoxLayout *kbLay = new QVBoxLayout ( kgb );
 
-    kbLay->addWidget ( kbd );
-    kbLay->addLayout ( ksLay );
+    kbLay->addWidget ( rbKbdAuto);
+    kbLay->addWidget ( rbKbdNoSet);
+    kbLay->addWidget ( rbKbdSet);
+    kbLay->addWidget( gbKbdString );
 
     sound=new QCheckBox ( tr ( "Enable sound support" ),sbgr );
     QButtonGroup* sndsys=new QButtonGroup;
@@ -285,16 +293,9 @@ SettingsWidget::SettingsWidget ( QString id, ONMainWindow * mw,
 
 
 
+    connect ( kbRadio, SIGNAL (buttonClicked(QAbstractButton*)), this, SLOT(slot_kbdClicked()));
     connect ( cbSetDPI,SIGNAL ( toggled ( bool ) ),DPI,
               SLOT ( setEnabled ( bool ) ) );
-    connect ( kbd,SIGNAL ( toggled ( bool ) ),layout,
-              SLOT ( setDisabled ( bool ) ) );
-    connect ( kbd,SIGNAL ( toggled ( bool ) ),layoutLabel,
-              SLOT ( setDisabled ( bool ) ) );
-    connect ( kbd,SIGNAL ( toggled ( bool ) ),type,
-              SLOT ( setDisabled ( bool ) ) );
-    connect ( kbd,SIGNAL ( toggled ( bool ) ),typeLabel,
-              SLOT ( setDisabled ( bool ) ) );
     connect ( sound,SIGNAL ( toggled ( bool ) ),this,
               SLOT ( slot_sndToggled ( bool ) ) );
     connect ( sndsys,SIGNAL ( buttonClicked ( int ) ),this,
@@ -306,7 +307,8 @@ SettingsWidget::SettingsWidget ( QString id, ONMainWindow * mw,
     connect ( cbDefSndPort,SIGNAL ( toggled ( bool ) ),this,
               SLOT ( slot_sndDefPortChecked ( bool ) ) );
 
-    kbd->setChecked ( true );
+    setDefaults();
+
     custom->setChecked ( true );
     readConfig();
 }
@@ -316,6 +318,13 @@ SettingsWidget::~SettingsWidget()
 {
 }
 
+
+void SettingsWidget::slot_kbdClicked()
+{
+    gbKbdString->setVisible(rbKbdSet->isChecked());
+}
+
+
 #ifdef Q_OS_LINUX
 void SettingsWidget::setDirectRdp(bool direct)
 {
@@ -558,18 +567,43 @@ void SettingsWidget::readConfig()
         st.setting()->value ( sessionId+"/dpi",
                               ( QVariant ) mainWindow->getDefaultDPI() ).toUInt() );
 
-    kbd->setChecked ( !st.setting()->value (
-                          sessionId+"/usekbd",
-                          ( QVariant ) mainWindow->getDefaultSetKbd()
-                      ).toBool() );
-    layout->setText (
-        st.setting()->value ( sessionId+"/layout",
-                              ( QVariant ) mainWindow->getDefaultLayout()
-                            ).toString() );
-    type->setText (
-        st.setting()->value ( sessionId+"/type",
-                              ( QVariant ) mainWindow->getDefaultKbdType()
-                            ).toString() );
+    QString ktype=st.setting()->value ( sessionId+"/type",
+                                        ( QVariant ) mainWindow->getDefaultKbdType()
+                                      ).toString();
+    if(ktype=="auto")
+    {
+        rbKbdAuto->setChecked(true);
+    }
+    else
+    {
+        rbKbdSet->setChecked(true);
+        ktype.replace("\\","");
+        QStringList str=ktype.split("/");
+        if(str.size()>0)
+        {
+            leModel->setText(str[0]);
+        }
+        if(str.size()>1)
+        {
+            str[1].replace(")","");
+            str=str[1].split("(");
+            if(str.size()>0)
+            {
+                leLayout->setText(str[0]);
+            }
+            if(str.size()>1)
+            {
+                leVariant->setText(str[1]);
+            }
+        }
+    }
+
+    rbKbdNoSet->setChecked ( !st.setting()->value (
+                                 sessionId+"/usekbd",
+                                 ( QVariant ) mainWindow->getDefaultSetKbd()
+                             ).toBool() );
+    slot_kbdClicked();
+
     bool snd=st.setting()->value (
                  sessionId+"/sound",
                  ( QVariant ) mainWindow->getDefaultUseSound()
@@ -640,9 +674,15 @@ void SettingsWidget::setDefaults()
     DPI->setValue ( mainWindow->getDefaultDPI() );
     DPI->setEnabled ( mainWindow->getDefaultSetDPI() );
 
-    kbd->setChecked ( !mainWindow->getDefaultSetKbd() );
-    layout->setText ( tr ( "us" ) );
-    type->setText ( tr ( "pc105/us" ) );
+    rbKbdAuto->setChecked ( mainWindow->getDefaultSetKbd() );
+    rbKbdNoSet->setChecked ( !mainWindow->getDefaultSetKbd() );
+    rbKbdSet->setChecked (false );
+    leLayout->setText ( tr ( "us" ) );
+    leModel->setText ( "pc105" );
+    leVariant->setText("");
+
+    slot_kbdClicked();
+
     sound->setChecked ( true );
     pulse->setChecked ( true );
     slot_sndToggled ( true );
@@ -712,11 +752,24 @@ void SettingsWidget::saveSettings()
                              ( QVariant ) cbXinerama->isChecked() );
 
     st.setting()->setValue ( sessionId+"/usekbd",
-                             ( QVariant ) !kbd->isChecked() );
-    st.setting()->setValue ( sessionId+"/layout",
-                             ( QVariant ) layout->text() );
+                             ( QVariant ) !rbKbdNoSet->isChecked() );
+
+    QString ktype;
+    if(rbKbdAuto->isChecked())
+    {
+        ktype="auto";
+    }
+    else
+    {
+        ktype=leModel->text()+"/"+leLayout->text();
+        if(leVariant->text().length()>0)
+        {
+            ktype+="\\("+leVariant->text()+"\\)";
+        }
+    }
+
     st.setting()->setValue ( sessionId+"/type",
-                             ( QVariant ) type->text() );
+                             ( QVariant ) ktype );
     st.setting()->setValue ( sessionId+"/sound",
                              ( QVariant ) sound->isChecked() );
     if ( arts->isChecked() )
diff --git a/settingswidget.h b/settingswidget.h
index 75d6724..ed1bf57 100644
--- a/settingswidget.h
+++ b/settingswidget.h
@@ -57,21 +57,26 @@ private slots:
     void slot_sndDefPortChecked ( bool val );
     void slot_identDisplays();
     void slot_hideIdentWins();
+    void slot_kbdClicked();
 private:
     enum {PULSE,ARTS,ESD};
     QSpinBox* width;
     QSpinBox* height;
     QSpinBox* displayNumber;
     QRadioButton* fs;
-    QCheckBox* kbd;
-    QLineEdit* layout;
-    QLineEdit* type;
     QRadioButton* custom;
     QRadioButton* display;
     QRadioButton* maxRes;
     QRadioButton* arts;
     QRadioButton* pulse;
     QRadioButton* esd;
+    QRadioButton* rbKbdAuto;
+    QRadioButton* rbKbdNoSet;
+    QRadioButton* rbKbdSet;
+    QGroupBox* gbKbdString;
+    QLineEdit* leModel;
+    QLineEdit* leLayout;
+    QLineEdit* leVariant;
     QCheckBox* sound;
     QRadioButton* rbStartSnd;
     QRadioButton* rbNotStartSnd;
@@ -93,6 +98,7 @@ private:
     QList <QMainWindow*> identWins;
     QGroupBox *kgb;
     QGroupBox *sbgr;
+
 #ifdef Q_OS_LINUX
     QGroupBox *rdpBox;
     QRadioButton* rRdesktop;


hooks/post-receive
-- 
x2goclient.git (X2Go Client)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "x2goclient.git" (X2Go Client).




More information about the x2go-commits mailing list