[X2Go-Commits] x2goclient.git - master (branch) updated: 4.0.1.1-76-ge2bc3fc

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


The branch, master has been updated
       via  e2bc3fce6afefb5cf78ba1d9255aae583e9ea9e0 (commit)
      from  b6f223eda922d39d330600fc90cdc2a910126613 (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 e2bc3fce6afefb5cf78ba1d9255aae583e9ea9e0
Author: Oleksandr Shneyder <o.schneyder at phoca-gmbh.de>
Date:   Tue Dec 17 15:38:23 2013 +0100

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

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

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

The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index 0260168..c8f4961 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,9 @@
 x2goclient (4.0.1.3-0x2go1) UNRELEASED; urgency=low
 
-  * Continue development...
+  [ Oleksandr Shneyder ]
+  * New upstream version (4.0.1.3):
+    - changed keyboard settings. Supported modes: auto, none and config with
+      model/layout(variant)
 
  -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Tue, 17 Dec 2013 15:34:49 +0100
 
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