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

X2Go dev team git-admin at x2go.org
Tue Dec 17 14:27:42 CET 2013


The branch, master 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 -----------------------------------------------------------------
commit be65efa3a6e5a84da5531d2707dcaeb248a14474
Author: Oleksandr Shneyder <o.shneyder at phoca-gmbh.de>
Date:   Tue Dec 17 14:27:34 2013 +0100

    changed keyboard settings. Supported modes: auto, none and config with model/layout(variant)

-----------------------------------------------------------------------

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