diff options
author | woglinde <heinold@inf.fu-berlin.de> | 2008-11-27 22:54:56 +0100 |
---|---|---|
committer | woglinde <heinold@inf.fu-berlin.de> | 2008-11-27 22:54:56 +0100 |
commit | bdab38d2b59ee861339a3d166b48bab6a8cfe0f9 (patch) | |
tree | 3eb8615575b73852efe50305659422ee4a6094e2 | |
parent | b1ae267e2b6beb5e60ded3a23c20788c94054db1 (diff) |
qtnx: add my latets patches from the n810 work
* add patch for keychoose dialog
* integrate the stuff from the dodnx fork
including the nxssh-proxy support
* add patch for choosing the keyboard
* add patch for delete session files
* bump PR
* add patch for detecting ssh dns errors
-rw-r--r-- | packages/qtnx/files/dodnx.patch | 1919 | ||||
-rw-r--r-- | packages/qtnx/files/keychooser.patch | 126 | ||||
-rw-r--r-- | packages/qtnx/files/keymap.patch | 283 | ||||
-rw-r--r-- | packages/qtnx/files/pro.patch | 2 | ||||
-rw-r--r-- | packages/qtnx/files/scroll.patch | 3 | ||||
-rw-r--r-- | packages/qtnx/files/sessionfiles.patch | 1187 | ||||
-rw-r--r-- | packages/qtnx/files/ssh_dnserror.patch | 51 | ||||
-rw-r--r-- | packages/qtnx/qtnx.inc | 7 |
8 files changed, 3572 insertions, 6 deletions
diff --git a/packages/qtnx/files/dodnx.patch b/packages/qtnx/files/dodnx.patch new file mode 100644 index 0000000000..6c2a7e5888 --- /dev/null +++ b/packages/qtnx/files/dodnx.patch @@ -0,0 +1,1919 @@ +Index: qtnx-0.9/keyboards +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ qtnx-0.9/keyboards 2008-10-14 10:43:03.000000000 +0200 +@@ -0,0 +1,86 @@ ++al,0x041C,Albanian ++ar,0x0001,Arabic ++am,,Armenian ++az,,Azerbaijani ++bg,0x0402,Bulgarian ++by,0x0423,Belarusian ++be,,Belgian ++ben,,Bengali ++bs,,Bosnian ++mm,,Burmese ++hr,0x041A,Croatian ++hr_US,,Croatian (US) ++cz,0x0405,Czech ++cz_qwerty,,Czech (QWERTY) ++dk,0x0406,Danish ++nl,0x0413,Dutch (Netherlands) ++dvorak,,Dvorak ++us,0x0009,English ++en_US,0x0409,English (United States) ++gb,0x0809,English (United Kingdom) ++ca,0x1009,English (Canada) ++ee,0x0425,Estonian ++fi,0x040B,Finnish ++fr,0x040C,French (France) ++fr_latin9,,French (Alternative) ++ca_enhanced,0x0C0C,French (Canada) ++ge_la,,Georgian (latin) ++ge_ru,,Georgian (russian) ++de,0x0407,German (Germany) ++el,0x0408,Greek ++guj,,Gujarati ++gur,,Gurmukhi ++dev,0x0439,Hindi ++hu,0x040E,Hungarian ++hu_US,,Hungarian (US) ++hu_qwerty,,Hungarian (qwerty) ++is,0x040F,Icelandic ++iu,,Inuktitut ++ir,,Iranian ++ie,,Irish ++il,,Israeli ++il_phonetic,,Israeli (phonetic) ++it,0x0410,Italian (Italy) ++jp,0x0411,Japanese ++kan,,Kannada ++ko,0x0412,Korean ++la,,Latin America ++lv,0x0426,Latvian ++lt,0x0427,Lithuanian ++lt_std,,Lithuanian azerty standard ++mk,0x042F,FYRO Macedonian ++ml,0x043E,Malay (Malaysia) ++mt_US,,Maltese (US layout) ++ogham,,Ogham ++oriya,,Oriya ++no,0x0814,Norwegian ++pl,0x0415,Polish ++pl2,,Polish (qwertz) ++br,0x0416,Portuguese (Brazil) ++pt,0x0816,Portuguese (Portugal) ++ro,0x0418,Romanian ++ru,0x0419,Russian ++ru_yawerty,,Russian (cyrillic phonetic) ++se_FI,,Northern Saami (Finland) ++se_NO,,Northern Saami (Norway) ++se_SE,,Northern Saami (Sweden) ++sr,0x081A,Serbian ++sk,0x041B,Slovak ++si,0x0424,Slovenian ++es,0x040A,Spanish (Traditional Sort) ++se,0x041D,Swedish ++fr_CH,0x100c,Swiss French ++de_CH,0x0807,Swiss German ++syr,,Syriac ++tj,,Tajik ++tml,,Tamil ++tel,,Telugu ++th,0x041E,Thai ++th_tis,0x041E,Thai (TIS-820.2538) ++th_pat,,Thai (Pattachote) ++tr,0x041F,Turkish ++ua,0x0422,Ukrainian ++vn,0x042A,Vietnamese ++yu,,Yugoslavian ++fo,0x0438,Faroese ++nl-be,0x0813,Dutch (Belgian) +Index: qtnx-0.9/qtnxsettings.cpp +=================================================================== +--- qtnx-0.9.orig/qtnxsettings.cpp 2008-10-14 10:43:02.000000000 +0200 ++++ qtnx-0.9/qtnxsettings.cpp 2008-10-14 14:02:04.000000000 +0200 +@@ -45,6 +45,8 @@ + connect(ui_sd.imageCompressionType, SIGNAL(currentIndexChanged(QString)), this, SLOT(compressionChanged(QString))); + connect(ui_sd.keyboard, SIGNAL(currentIndexChanged(QString)), this, SLOT(keyboardChanged(QString))); + connect(ui_sd.defaultKey, SIGNAL(stateChanged(int)), this, SLOT(keyChanged(int))); ++ connect(ui_sd.useProxy, SIGNAL(stateChanged(int)), this, SLOT(proxyChanged(int))); ++ connect(ui_sd.proxyAuthenticated, SIGNAL(stateChanged(int)), this, SLOT(proxyAuthChanged(int))); + connect(ui_sd.applyButton, SIGNAL(pressed()), this, SLOT(applyPressed())); + connect(ui_sd.okButton, SIGNAL(pressed()), this, SLOT(okPressed())); + connect(ui_sd.cancelButton, SIGNAL(pressed()), this, SLOT(cancelPressed())); +@@ -58,6 +60,14 @@ + void QtNXSettings::parseFile() + { + if (!fileName.isEmpty()) { ++ ++ config.useProxy = false; ++ config.proxyHost = ""; ++ config.proxyPort = 8080; ++ config.proxyAuthenticated = false; ++ config.proxyPass = ""; ++ config.proxyUser = ""; ++ + NXParseXML handler; + handler.setData(&config); + +@@ -145,6 +155,24 @@ + } + } + ++ if (config.useProxy == true) { ++ ui_sd.useProxy->setChecked(true); ++ ui_sd.proxyHost->setEnabled(true); ++ ui_sd.proxyPort->setEnabled(true); ++ ui_sd.proxyAuthenticated->setEnabled(true); ++ } ++ ++ if (config.proxyAuthenticated == true) { ++ ui_sd.proxyAuthenticated->setChecked(true); ++ ui_sd.proxyUser->setEnabled(true); ++ ui_sd.proxyPass->setEnabled(true); ++ } ++ ++ ui_sd.proxyHost->setText(QString::fromStdString(config.proxyHost)); ++ ui_sd.proxyPort->setValue(config.proxyPort); ++ ui_sd.proxyUser->setText(QString::fromStdString(config.proxyUser)); ++ ui_sd.proxyPass->setText(QString::fromStdString(config.proxyPass)); ++ + ui_sd.encryption->setChecked(config.encryption); + ui_sd.memoryCache->setValue(config.cache); + ui_sd.diskCache->setValue(config.images); +@@ -199,6 +227,30 @@ + ui_sd.setAuthKeyButton->setEnabled(true); + } + ++void QtNXSettings::proxyChanged(int state) ++{ ++ if (state == Qt::Checked) { ++ ui_sd.proxyHost->setEnabled(true); ++ ui_sd.proxyPort->setEnabled(true); ++ ui_sd.proxyAuthenticated->setEnabled(true); ++ } else { ++ ui_sd.proxyHost->setEnabled(false); ++ ui_sd.proxyPort->setEnabled(false); ++ ui_sd.proxyAuthenticated->setEnabled(false); ++ } ++} ++ ++void QtNXSettings::proxyAuthChanged(int state) ++{ ++ if (state == Qt::Checked) { ++ ui_sd.proxyUser->setEnabled(true); ++ ui_sd.proxyPass->setEnabled(true); ++ } else { ++ ui_sd.proxyUser->setEnabled(false); ++ ui_sd.proxyPass->setEnabled(false); ++ } ++} ++ + void QtNXSettings::cancelPressed() + { + close(); +@@ -315,6 +367,25 @@ + else + config.render = false; + ++ if (ui_sd.useProxy->checkState() == Qt::Checked) { ++ config.useProxy = true; ++ ++ if (ui_sd.proxyAuthenticated->checkState() == Qt::Checked) ++ { ++ config.proxyAuthenticated = true; ++ } else ++ { ++ config.proxyAuthenticated = false; ++ } ++ config.proxyHost = ui_sd.proxyHost->text().toStdString(); ++ config.proxyPort = ui_sd.proxyPort->value(); ++ config.proxyUser = ui_sd.proxyUser->text().toStdString(); ++ config.proxyPass = ui_sd.proxyPass->text().toStdString(); ++ } else ++ { ++ config.useProxy = false; ++ } ++ + NXWriteXML writeData; + writeData.setSessionData(config); + writeData.write(QDir::homePath() + "/.qtnx/" + ui_sd.sessionName->text() + ".nxml"); +Index: qtnx-0.9/qtnxsettings.h +=================================================================== +--- qtnx-0.9.orig/qtnxsettings.h 2008-10-14 10:43:02.000000000 +0200 ++++ qtnx-0.9/qtnxsettings.h 2008-10-14 10:43:03.000000000 +0200 +@@ -34,13 +34,15 @@ + QtNXSettings(QString); + ~QtNXSettings(); + void parseFile(); +- public slots: +- void resolutionChanged(QString); ++ public slots: ++ void resolutionChanged(QString); + void compressionChanged(QString); + void platformChanged(QString); + void keyboardChanged(QString); + void typeChanged(QString); + void keyChanged(int); ++ void proxyAuthChanged(int); ++ void proxyChanged(int); + void applyPressed(); + void cancelPressed(); + void okPressed(); +@@ -48,7 +50,7 @@ + void authKeyPressed(); + void keyDialogAccept(); + void keyDialogReject(); +-signals: ++ signals: + void closing(QString); + private: + Ui::SettingsDialog ui_sd; +Index: qtnx-0.9/qtnxwindow.cpp +=================================================================== +--- qtnx-0.9.orig/qtnxwindow.cpp 2008-10-14 10:43:02.000000000 +0200 ++++ qtnx-0.9/qtnxwindow.cpp 2008-10-14 14:02:04.000000000 +0200 +@@ -28,6 +28,10 @@ + #include <CoreFoundation/CFBundle.h> + #endif + ++#ifdef Q_CYGWIN_WIN ++ #include <Windows.h> ++#endif ++ + using namespace nxcl; + using namespace std; + +@@ -125,16 +129,72 @@ + + #ifdef Q_CYGWIN_WIN + QString filePath = qApp->applicationDirPath(); ++ QString tempPath = filePath; + + // On Windows QtNX will ship with the NX system components in NX/ relative to the + // QtNX binary + filePath.append("/NX"); + setenv("NX_SYSTEM", filePath.toStdString().c_str(), 1); + filePath.append("/bin"); ++ tempPath.append("/NX/tmp/"); ++ setenv("NX_TEMP", tempPath.toStdString().c_str(), 1); ++ setenv("TEMP", tempPath.toStdString().c_str(), 1); + m_NXClient->setCustomPath(filePath.toStdString()); + #endif ++ ++#ifdef Q_WS_X11 ++ binaryPath = qApp->applicationDirPath(); ++ QString libPath = binaryPath; ++ ++ binaryPath.append("/bin"); ++ ++ m_NXClient->setCustomPath(binaryPath.toStdString()); ++ ++ libPath.append("/lib:"); ++ libPath.append(getenv("LD_LIBRARY_PATH")); ++ ++ cout << libPath.toStdString() << endl; ++ setenv("LD_LIBRARY_PATH", libPath.toStdString().c_str(), 1); ++#endif ++ + } + ++QString QtNXWindow::keyboardLayout() ++{ ++#ifdef Q_CYGWIN_WIN ++ HKL dwlayout = GetKeyboardLayout(0); ++ ++ WORD layout = LOWORD(dwlayout); ++ ++ // On Windows QtNX will ship with the keyboards file in NX/ relative to the ++ // QtNX binary ++ QString filePath = qApp->applicationDirPath(); ++ filePath.append("/NX/keyboards"); ++ ++ QFile keymaps(filePath); ++ ++ bool ok; ++ ++ if (keymaps.open(QIODevice::ReadOnly)) { ++ QTextStream stream(&keymaps); ++ QString line; ++ ++ while (!stream.atEnd()) { ++ line = stream.readLine(); ++ ++ if (line.startsWith("#")) ++ continue; ++ ++ if (line.section(",", 1, 1).toInt(&ok, 16) == (int)layout) ++ return line.section(",", 0, 0); ++ } ++ keymaps.close(); ++ } ++#endif ++ return "defkeymap"; ++} ++ ++ + void QtNXWindow::setupUI() + { + logWindow = new QDialog(0); +@@ -259,6 +319,21 @@ + + setDefaultData(); + ++ if (config.useProxy) { ++ string proxyUsername(""); ++ string proxyPassword(""); ++ ++ if (config.proxyAuthenticated) { ++ proxyUsername = config.proxyUser; ++ proxyPassword = config.proxyPass; ++ } ++ ++ m_NXClient->setProxy(config.proxyHost, ++ proxyUsername, ++ proxyPassword, ++ config.proxyPort); ++ } ++ + if (ui_lg.link->currentText() == tr("Modem")) + session.linkType = "modem"; + else if (ui_lg.link->currentText() == tr("ISDN")) +@@ -425,6 +500,8 @@ + + ui_lg.session->setCurrentIndex( + ui_lg.session->findText(sessionName)); ++ ++ parseXML(); + } + + void QtNXWindow::resumeNewPressed() +@@ -482,16 +559,16 @@ + + switch (id) { + case NXCL_PROCESS_STARTED: +- handleStatus(tr("Process started")); ++ handleStatus(tr("Starting login process")); + break; + case NXCL_PROCESS_EXITED: +- handleStatus(tr("Process exited")); ++ handleStatus(tr("")); + break; + case NXCL_AUTH_FAILED: + handleStatus(tr("Invalid authentication key")); + break; + case NXCL_AUTHENTICATING: +- handleStatus(tr("Authenticating client")); ++ handleStatus(tr("Authenticating")); + break; + case NXCL_LOGIN_FAILED: + handleStatus(tr("Invalid username or password")); +@@ -501,7 +578,7 @@ + handleStatus(tr("Host key verification failed")); + break; + case NXCL_INVOKE_PROXY: +- handleStatus(tr("Starting NX proxy")); ++ handleStatus(tr("Loading remote desktop")); + break; + case NXCL_STARTING: + handleStatus(tr("Starting session")); +@@ -510,10 +587,10 @@ + handleStatus(tr("Finished connecting")); + break; + case NXCL_ALIVE: +- handleStatus(tr("NX session active")); ++ handleStatus(tr("Session running")); + break; + case NXCL_PROCESS_ERROR: +- handleStatus(tr("Process error")); ++ handleStatus(tr("An error occurred running a helper program")); + break; + default: + break; +Index: qtnx-0.9/nxparsexml.cpp +=================================================================== +--- qtnx-0.9.orig/nxparsexml.cpp 2008-10-14 10:11:40.000000000 +0200 ++++ qtnx-0.9/nxparsexml.cpp 2008-10-14 14:02:04.000000000 +0200 +@@ -133,6 +133,36 @@ + sessionData->fullscreen = false; + } + ++ if (attributes.value("key") == "Use Proxy") { ++ if (attributes.value("value") == "True") ++ sessionData->useProxy = true; ++ else ++ sessionData->useProxy = false; ++ } ++ ++ if (attributes.value("key") == "Proxy Host") { ++ sessionData->proxyHost = attributes.value("value").toStdString(); ++ } ++ ++ if (attributes.value("key") == "Proxy Port") { ++ sessionData->proxyPort = attributes.value("value").toInt(); ++ } ++ ++ if (attributes.value("key") == "Use Proxy Authentication") { ++ if (attributes.value("value") == "True") ++ sessionData->proxyAuthenticated = true; ++ else ++ sessionData->proxyAuthenticated = false; ++ } ++ ++ if (attributes.value("key") == "Proxy Username") { ++ sessionData->proxyUser = attributes.value("value").toStdString(); ++ } ++ ++ if (attributes.value("key") == "Proxy Password") { ++ sessionData->proxyPass = attributes.value("value").toStdString(); ++ } ++ + return true; + } + +Index: qtnx-0.9/nxwritexml.cpp +=================================================================== +--- qtnx-0.9.orig/nxwritexml.cpp 2008-10-14 10:11:40.000000000 +0200 ++++ qtnx-0.9/nxwritexml.cpp 2008-10-14 14:02:04.000000000 +0200 +@@ -130,6 +130,36 @@ + xml << "<option key=\"Use SSL Tunnelling\" value=\"False\">" << + "</option>\n"; + ++ if (sessionData.useProxy == true) ++ xml << "<option key=\"Use Proxy\" value=\"True\">" << ++ "</option>\n"; ++ else ++ xml << "<option key=\"Use Proxy\" value=\"False\">" << ++ "</option>\n"; ++ ++ xml << "<option key=\"Proxy Host\" value=\"" << ++ escape(QString::fromStdString(sessionData.proxyHost)) << ++ "\"></option>\n"; ++ ++ xml << "<option key=\"Proxy Port\" value=\"" << ++ escape(QString::number(sessionData.proxyPort)) << ++ "\"></option>\n"; ++ ++ if (sessionData.proxyAuthenticated == true) ++ xml << "<option key=\"Use Proxy Authentication\" value=\"True\">" << ++ "</option>\n"; ++ else ++ xml << "<option key=\"Use Proxy Authentication\" value=\"False\">" << ++ "</option>\n"; ++ ++ xml << "<option key=\"Proxy Username\" value=\"" << ++ escape(QString::fromStdString(sessionData.proxyUser)) << ++ "\"></option>\n"; ++ ++ xml << "<option key=\"Proxy Password\" value=\"" << ++ escape(QString::fromStdString(sessionData.proxyPass)) << ++ "\"></option>\n"; ++ + if (sessionData.fullscreen == true) + xml << "<option key=\"Enable Fullscreen Desktop\" value=\"True\">" << + "</option>\n"; +Index: qtnx-0.9/qtnxwindow.h +=================================================================== +--- qtnx-0.9.orig/qtnxwindow.h 2008-10-14 10:11:40.000000000 +0200 ++++ qtnx-0.9/qtnxwindow.h 2008-10-14 10:43:03.000000000 +0200 +@@ -126,11 +126,13 @@ + + // Decided to split up the code + void setupUI(); ++ void parseXML(); + void setDefaultData(); + void initialiseClient(); +- void parseXML(); + void reinitialiseClient(); + ++ QString keyboardLayout(); ++ + int getWidth(); + int getHeight(); + int getDepth(); +@@ -160,4 +162,5 @@ + + QString binaryPath; + }; ++ + #endif +Index: qtnx-0.9/settingsdialog.ui +=================================================================== +--- qtnx-0.9.orig/settingsdialog.ui 2008-10-14 10:43:02.000000000 +0200 ++++ qtnx-0.9/settingsdialog.ui 2008-10-14 14:02:04.000000000 +0200 +@@ -5,8 +5,8 @@ + <rect> + <x>0</x> + <y>0</y> +- <width>480</width> +- <height>543</height> ++ <width>454</width> ++ <height>559</height> + </rect> + </property> + <property name="windowTitle" > +@@ -15,13 +15,7 @@ + <property name="modal" > + <bool>true</bool> + </property> +- <layout class="QVBoxLayout" > +- <property name="spacing" > +- <number>6</number> +- </property> +- <property name="margin" > +- <number>9</number> +- </property> ++ <layout class="QVBoxLayout" name="verticalLayout_3" > + <item> + <widget class="QScrollArea" name="scrollArea" > + <property name="widgetResizable" > +@@ -32,13 +26,25 @@ + <rect> + <x>0</x> + <y>0</y> +- <width>458</width> +- <height>521</height> ++ <width>432</width> ++ <height>501</height> + </rect> + </property> ++ <property name="sizePolicy" > ++ <sizepolicy vsizetype="Preferred" hsizetype="Maximum" > ++ <horstretch>0</horstretch> ++ <verstretch>0</verstretch> ++ </sizepolicy> ++ </property> + <layout class="QVBoxLayout" name="verticalLayout" > + <item> + <widget class="QTabWidget" name="layoutTabs" > ++ <property name="sizePolicy" > ++ <sizepolicy vsizetype="Expanding" hsizetype="Maximum" > ++ <horstretch>0</horstretch> ++ <verstretch>0</verstretch> ++ </sizepolicy> ++ </property> + <property name="currentIndex" > + <number>0</number> + </property> +@@ -46,548 +52,564 @@ + <attribute name="title" > + <string>Basic</string> + </attribute> +- <layout class="QVBoxLayout" name="_2" > +- <property name="spacing" > +- <number>6</number> ++ <widget class="QGroupBox" name="generalGroup" > ++ <property name="geometry" > ++ <rect> ++ <x>9</x> ++ <y>9</y> ++ <width>391</width> ++ <height>72</height> ++ </rect> + </property> +- <property name="margin" > +- <number>9</number> ++ <property name="title" > ++ <string>General</string> + </property> +- <item> +- <widget class="QGroupBox" name="generalGroup" > +- <property name="title" > +- <string>General</string> +- </property> +- <layout class="QVBoxLayout" name="_3" > ++ <layout class="QVBoxLayout" > ++ <property name="spacing" > ++ <number>6</number> ++ </property> ++ <property name="margin" > ++ <number>9</number> ++ </property> ++ <item> ++ <layout class="QHBoxLayout" > + <property name="spacing" > + <number>6</number> + </property> + <property name="margin" > +- <number>9</number> ++ <number>0</number> + </property> + <item> +- <layout class="QHBoxLayout" name="_4" > +- <property name="spacing" > +- <number>6</number> ++ <widget class="QLabel" name="sessionNameLabel" > ++ <property name="sizePolicy" > ++ <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > ++ <horstretch>0</horstretch> ++ <verstretch>0</verstretch> ++ </sizepolicy> + </property> +- <property name="margin" > +- <number>0</number> ++ <property name="text" > ++ <string>Session Name:</string> + </property> +- <item> +- <widget class="QLabel" name="sessionNameLabel" > +- <property name="sizePolicy" > +- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="text" > +- <string>Session Name:</string> +- </property> +- </widget> +- </item> +- <item> +- <widget class="QLineEdit" name="sessionName" /> +- </item> +- </layout> ++ </widget> ++ </item> ++ <item> ++ <widget class="QLineEdit" name="sessionName" /> + </item> + </layout> +- </widget> +- </item> +- <item> +- <widget class="QGroupBox" name="serverGroup" > +- <property name="title" > +- <string>Server</string> +- </property> +- <layout class="QVBoxLayout" name="_5" > ++ </item> ++ </layout> ++ </widget> ++ <widget class="QGroupBox" name="serverGroup" > ++ <property name="geometry" > ++ <rect> ++ <x>9</x> ++ <y>87</y> ++ <width>391</width> ++ <height>106</height> ++ </rect> ++ </property> ++ <property name="title" > ++ <string>Server</string> ++ </property> ++ <layout class="QVBoxLayout" > ++ <property name="spacing" > ++ <number>6</number> ++ </property> ++ <property name="margin" > ++ <number>9</number> ++ </property> ++ <item> ++ <layout class="QHBoxLayout" > + <property name="spacing" > + <number>6</number> + </property> + <property name="margin" > +- <number>9</number> ++ <number>0</number> + </property> + <item> +- <layout class="QHBoxLayout" name="_6" > +- <property name="spacing" > +- <number>6</number> ++ <widget class="QLabel" name="hostnameLabel" > ++ <property name="sizePolicy" > ++ <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > ++ <horstretch>0</horstretch> ++ <verstretch>0</verstretch> ++ </sizepolicy> + </property> +- <property name="margin" > +- <number>0</number> ++ <property name="text" > ++ <string>Hostname:</string> + </property> +- <item> +- <widget class="QLabel" name="hostnameLabel" > +- <property name="sizePolicy" > +- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="text" > +- <string>Hostname:</string> +- </property> +- </widget> +- </item> +- <item> +- <widget class="QLineEdit" name="hostname" /> +- </item> +- <item> +- <widget class="QLabel" name="portLabel" > +- <property name="sizePolicy" > +- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="text" > +- <string>Port:</string> +- </property> +- </widget> +- </item> +- <item> +- <widget class="QSpinBox" name="port" > +- <property name="minimum" > +- <number>1</number> +- </property> +- <property name="maximum" > +- <number>65535</number> +- </property> +- <property name="value" > +- <number>22</number> +- </property> +- </widget> +- </item> +- </layout> ++ </widget> + </item> + <item> +- <layout class="QHBoxLayout" name="_7" > +- <property name="spacing" > +- <number>6</number> ++ <widget class="QLineEdit" name="hostname" /> ++ </item> ++ <item> ++ <widget class="QLabel" name="portLabel" > ++ <property name="sizePolicy" > ++ <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > ++ <horstretch>0</horstretch> ++ <verstretch>0</verstretch> ++ </sizepolicy> + </property> +- <property name="margin" > +- <number>0</number> ++ <property name="text" > ++ <string>Port:</string> + </property> +- <item> +- <widget class="QCheckBox" name="defaultKey" > +- <property name="text" > +- <string>Use default key</string> +- </property> +- <property name="checked" > +- <bool>true</bool> +- </property> +- </widget> +- </item> +- <item> +- <widget class="QPushButton" name="setAuthKeyButton" > +- <property name="enabled" > +- <bool>false</bool> +- </property> +- <property name="text" > +- <string>&Set Authentication Key...</string> +- </property> +- </widget> +- </item> +- </layout> ++ </widget> ++ </item> ++ <item> ++ <widget class="QSpinBox" name="port" > ++ <property name="minimum" > ++ <number>1</number> ++ </property> ++ <property name="maximum" > ++ <number>65535</number> ++ </property> ++ <property name="value" > ++ <number>22</number> ++ </property> ++ </widget> + </item> + </layout> +- </widget> +- </item> +- <item> +- <widget class="QGroupBox" name="desktopGroup" > +- <property name="title" > +- <string>Desktop</string> +- </property> +- <layout class="QVBoxLayout" name="_8" > ++ </item> ++ <item> ++ <layout class="QHBoxLayout" > + <property name="spacing" > + <number>6</number> + </property> + <property name="margin" > +- <number>9</number> ++ <number>0</number> + </property> + <item> +- <layout class="QHBoxLayout" name="_9" > +- <property name="spacing" > +- <number>6</number> ++ <widget class="QCheckBox" name="defaultKey" > ++ <property name="text" > ++ <string>Use default key</string> + </property> +- <property name="margin" > +- <number>0</number> ++ <property name="checked" > ++ <bool>true</bool> + </property> +- <item> +- <widget class="QLabel" name="platformLabel" > +- <property name="sizePolicy" > +- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="text" > +- <string>Platform:</string> +- </property> +- </widget> +- </item> +- <item> +- <widget class="QComboBox" name="platform" > +- <item> +- <property name="text" > +- <string>UNIX</string> +- </property> +- </item> +- <item> +- <property name="text" > +- <string>Windows</string> +- </property> +- </item> +- <item> +- <property name="text" > +- <string>VNC Proxy</string> +- </property> +- </item> +- </widget> +- </item> +- <item> +- <widget class="QLabel" name="typeLabel" > +- <property name="sizePolicy" > +- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="text" > +- <string>Type:</string> +- </property> +- </widget> +- </item> +- <item> +- <widget class="QComboBox" name="type" > +- <item> +- <property name="text" > +- <string>KDE</string> +- </property> +- </item> +- <item> +- <property name="text" > +- <string>GNOME</string> +- </property> +- </item> +- <item> +- <property name="text" > +- <string>CDE</string> +- </property> +- </item> +- <item> +- <property name="text" > +- <string>XDM</string> +- </property> +- </item> +- <item> +- <property name="text" > +- <string>Custom</string> +- </property> +- </item> +- </widget> +- </item> +- <item> +- <widget class="QLabel" name="linkLabel" > +- <property name="sizePolicy" > +- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="text" > +- <string>Link:</string> +- </property> +- </widget> +- </item> +- <item> +- <widget class="QComboBox" name="link" > +- <item> +- <property name="text" > +- <string>Modem</string> +- </property> +- </item> +- <item> +- <property name="text" > +- <string>ISDN</string> +- </property> +- </item> +- <item> +- <property name="text" > +- <string>ADSL</string> +- </property> +- </item> +- <item> +- <property name="text" > +- <string>WAN</string> +- </property> +- </item> +- <item> +- <property name="text" > +- <string>LAN</string> +- </property> +- </item> +- </widget> +- </item> +- </layout> ++ </widget> + </item> + <item> +- <layout class="QHBoxLayout" name="_10" > +- <property name="spacing" > +- <number>6</number> ++ <widget class="QPushButton" name="setAuthKeyButton" > ++ <property name="enabled" > ++ <bool>false</bool> + </property> +- <property name="margin" > +- <number>0</number> ++ <property name="text" > ++ <string>&Set Authentication Key...</string> + </property> +- <item> +- <spacer> +- <property name="orientation" > +- <enum>Qt::Horizontal</enum> +- </property> +- <property name="sizeHint" stdset="0" > +- <size> +- <width>173</width> +- <height>20</height> +- </size> +- </property> +- </spacer> +- </item> +- <item> +- <widget class="QPushButton" name="desktopSettingButton" > +- <property name="enabled" > +- <bool>false</bool> +- </property> +- <property name="text" > +- <string>&Settings...</string> +- </property> +- </widget> +- </item> +- </layout> ++ </widget> + </item> + </layout> +- </widget> +- </item> +- <item> +- <widget class="QGroupBox" name="groupBox" > +- <property name="title" > +- <string>Geometry</string> +- </property> +- <layout class="QVBoxLayout" name="_11" > ++ </item> ++ </layout> ++ </widget> ++ <widget class="QGroupBox" name="desktopGroup" > ++ <property name="geometry" > ++ <rect> ++ <x>9</x> ++ <y>199</y> ++ <width>391</width> ++ <height>105</height> ++ </rect> ++ </property> ++ <property name="title" > ++ <string>Desktop</string> ++ </property> ++ <layout class="QVBoxLayout" > ++ <property name="spacing" > ++ <number>6</number> ++ </property> ++ <property name="margin" > ++ <number>9</number> ++ </property> ++ <item> ++ <layout class="QHBoxLayout" > + <property name="spacing" > + <number>6</number> + </property> + <property name="margin" > +- <number>9</number> ++ <number>0</number> + </property> + <item> +- <layout class="QHBoxLayout" name="_12" > +- <property name="spacing" > +- <number>6</number> ++ <widget class="QLabel" name="platformLabel" > ++ <property name="sizePolicy" > ++ <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > ++ <horstretch>0</horstretch> ++ <verstretch>0</verstretch> ++ </sizepolicy> + </property> +- <property name="margin" > +- <number>0</number> ++ <property name="text" > ++ <string>Platform:</string> + </property> ++ </widget> ++ </item> ++ <item> ++ <widget class="QComboBox" name="platform" > + <item> +- <widget class="QLabel" name="resolutionLabel" > +- <property name="sizePolicy" > +- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="text" > +- <string>Resolution:</string> +- </property> +- </widget> ++ <property name="text" > ++ <string>UNIX</string> ++ </property> + </item> + <item> +- <widget class="QComboBox" name="resolution" > +- <item> +- <property name="text" > +- <string>640x480</string> +- </property> +- </item> +- <item> +- <property name="text" > +- <string>800x600</string> +- </property> +- </item> +- <item> +- <property name="text" > +- <string>1024x768</string> +- </property> +- </item> +- <item> +- <property name="text" > +- <string>Fullscreen</string> +- </property> +- </item> +- <item> +- <property name="text" > +- <string>Custom</string> +- </property> +- </item> +- </widget> ++ <property name="text" > ++ <string>Windows</string> ++ </property> + </item> + <item> +- <widget class="QLabel" name="compressionLabel" > +- <property name="sizePolicy" > +- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="text" > +- <string>Compression:</string> +- </property> +- </widget> ++ <property name="text" > ++ <string>VNC Proxy</string> ++ </property> + </item> ++ </widget> ++ </item> ++ <item> ++ <widget class="QLabel" name="typeLabel" > ++ <property name="sizePolicy" > ++ <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > ++ <horstretch>0</horstretch> ++ <verstretch>0</verstretch> ++ </sizepolicy> ++ </property> ++ <property name="text" > ++ <string>Type:</string> ++ </property> ++ </widget> ++ </item> ++ <item> ++ <widget class="QComboBox" name="type" > + <item> +- <widget class="QComboBox" name="imageCompressionType" > +- <item> +- <property name="text" > +- <string>PNG</string> +- </property> +- </item> +- <item> +- <property name="text" > +- <string>JPEG</string> +- </property> +- </item> +- <item> +- <property name="text" > +- <string>Raw X11</string> +- </property> +- </item> +- </widget> ++ <property name="text" > ++ <string>KDE</string> ++ </property> ++ </item> ++ <item> ++ <property name="text" > ++ <string>GNOME</string> ++ </property> + </item> +- </layout> ++ <item> ++ <property name="text" > ++ <string>CDE</string> ++ </property> ++ </item> ++ <item> ++ <property name="text" > ++ <string>XDM</string> ++ </property> ++ </item> ++ <item> ++ <property name="text" > ++ <string>Custom</string> ++ </property> ++ </item> ++ </widget> + </item> + <item> +- <layout class="QHBoxLayout" name="_13" > +- <property name="spacing" > +- <number>6</number> ++ <widget class="QLabel" name="linkLabel" > ++ <property name="sizePolicy" > ++ <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > ++ <horstretch>0</horstretch> ++ <verstretch>0</verstretch> ++ </sizepolicy> + </property> +- <property name="margin" > +- <number>0</number> ++ <property name="text" > ++ <string>Link:</string> + </property> ++ </widget> ++ </item> ++ <item> ++ <widget class="QComboBox" name="link" > + <item> +- <widget class="QLabel" name="qualityLabel" > +- <property name="sizePolicy" > +- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="text" > +- <string>JPEG Quality:</string> +- </property> +- </widget> ++ <property name="text" > ++ <string>Modem</string> ++ </property> + </item> + <item> +- <widget class="QSlider" name="imageQualityLevel" > +- <property name="enabled" > +- <bool>false</bool> +- </property> +- <property name="minimum" > +- <number>1</number> +- </property> +- <property name="maximum" > +- <number>9</number> +- </property> +- <property name="pageStep" > +- <number>9</number> +- </property> +- <property name="value" > +- <number>6</number> +- </property> +- <property name="orientation" > +- <enum>Qt::Horizontal</enum> +- </property> +- <property name="tickPosition" > +- <enum>QSlider::TicksBelow</enum> +- </property> +- <property name="tickInterval" > +- <number>1</number> +- </property> +- </widget> ++ <property name="text" > ++ <string>ISDN</string> ++ </property> + </item> +- </layout> ++ <item> ++ <property name="text" > ++ <string>ADSL</string> ++ </property> ++ </item> ++ <item> ++ <property name="text" > ++ <string>WAN</string> ++ </property> ++ </item> ++ <item> ++ <property name="text" > ++ <string>LAN</string> ++ </property> ++ </item> ++ </widget> ++ </item> ++ </layout> ++ </item> ++ <item> ++ <layout class="QHBoxLayout" > ++ <property name="spacing" > ++ <number>6</number> ++ </property> ++ <property name="margin" > ++ <number>0</number> ++ </property> ++ <item> ++ <spacer> ++ <property name="orientation" > ++ <enum>Qt::Horizontal</enum> ++ </property> ++ <property name="sizeHint" stdset="0" > ++ <size> ++ <width>173</width> ++ <height>20</height> ++ </size> ++ </property> ++ </spacer> + </item> + <item> +- <layout class="QHBoxLayout" name="_14" > +- <property name="spacing" > +- <number>6</number> ++ <widget class="QPushButton" name="desktopSettingButton" > ++ <property name="enabled" > ++ <bool>false</bool> + </property> +- <property name="margin" > +- <number>0</number> ++ <property name="text" > ++ <string>&Settings...</string> + </property> ++ </widget> ++ </item> ++ </layout> ++ </item> ++ </layout> ++ </widget> ++ <widget class="QGroupBox" name="groupBox" > ++ <property name="geometry" > ++ <rect> ++ <x>9</x> ++ <y>310</y> ++ <width>391</width> ++ <height>133</height> ++ </rect> ++ </property> ++ <property name="title" > ++ <string>Geometry</string> ++ </property> ++ <layout class="QVBoxLayout" > ++ <property name="spacing" > ++ <number>6</number> ++ </property> ++ <property name="margin" > ++ <number>9</number> ++ </property> ++ <item> ++ <layout class="QHBoxLayout" > ++ <property name="spacing" > ++ <number>6</number> ++ </property> ++ <property name="margin" > ++ <number>0</number> ++ </property> ++ <item> ++ <widget class="QLabel" name="resolutionLabel" > ++ <property name="sizePolicy" > ++ <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > ++ <horstretch>0</horstretch> ++ <verstretch>0</verstretch> ++ </sizepolicy> ++ </property> ++ <property name="text" > ++ <string>Resolution:</string> ++ </property> ++ </widget> ++ </item> ++ <item> ++ <widget class="QComboBox" name="resolution" > + <item> +- <widget class="QCheckBox" name="render" > +- <property name="text" > +- <string>Use RENDER Extension</string> +- </property> +- <property name="checked" > +- <bool>true</bool> +- </property> +- </widget> ++ <property name="text" > ++ <string>640x480</string> ++ </property> + </item> + <item> +- <widget class="QLabel" name="widthLabel" > +- <property name="sizePolicy" > +- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="text" > +- <string>Width:</string> +- </property> +- </widget> ++ <property name="text" > ++ <string>800x600</string> ++ </property> + </item> + <item> +- <widget class="QSpinBox" name="width" > +- <property name="enabled" > +- <bool>false</bool> +- </property> +- <property name="maximum" > +- <number>9999</number> +- </property> +- <property name="value" > +- <number>800</number> +- </property> +- </widget> ++ <property name="text" > ++ <string>1024x768</string> ++ </property> + </item> + <item> +- <widget class="QLabel" name="heightLabel" > +- <property name="sizePolicy" > +- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="text" > +- <string>Height:</string> +- </property> +- </widget> ++ <property name="text" > ++ <string>Fullscreen</string> ++ </property> + </item> + <item> +- <widget class="QSpinBox" name="height" > +- <property name="enabled" > +- <bool>false</bool> +- </property> +- <property name="maximum" > +- <number>9999</number> +- </property> +- <property name="value" > +- <number>600</number> +- </property> +- </widget> ++ <property name="text" > ++ <string>Custom</string> ++ </property> + </item> +- </layout> ++ </widget> ++ </item> ++ <item> ++ <widget class="QLabel" name="compressionLabel" > ++ <property name="sizePolicy" > ++ <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > ++ <horstretch>0</horstretch> ++ <verstretch>0</verstretch> ++ </sizepolicy> ++ </property> ++ <property name="text" > ++ <string>Compression:</string> ++ </property> ++ </widget> ++ </item> ++ <item> ++ <widget class="QComboBox" name="imageCompressionType" > ++ <item> ++ <property name="text" > ++ <string>PNG</string> ++ </property> ++ </item> ++ <item> ++ <property name="text" > ++ <string>JPEG</string> ++ </property> ++ </item> ++ <item> ++ <property name="text" > ++ <string>Raw X11</string> ++ </property> ++ </item> ++ </widget> + </item> + </layout> +- </widget> +- </item> +- </layout> ++ </item> ++ <item> ++ <layout class="QHBoxLayout" > ++ <property name="spacing" > ++ <number>6</number> ++ </property> ++ <property name="margin" > ++ <number>0</number> ++ </property> ++ <item> ++ <widget class="QLabel" name="qualityLabel" > ++ <property name="sizePolicy" > ++ <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > ++ <horstretch>0</horstretch> ++ <verstretch>0</verstretch> ++ </sizepolicy> ++ </property> ++ <property name="text" > ++ <string>JPEG Quality:</string> ++ </property> ++ </widget> ++ </item> ++ <item> ++ <widget class="QSlider" name="imageQualityLevel" > ++ <property name="enabled" > ++ <bool>false</bool> ++ </property> ++ <property name="minimum" > ++ <number>1</number> ++ </property> ++ <property name="maximum" > ++ <number>9</number> ++ </property> ++ <property name="pageStep" > ++ <number>9</number> ++ </property> ++ <property name="value" > ++ <number>6</number> ++ </property> ++ <property name="orientation" > ++ <enum>Qt::Horizontal</enum> ++ </property> ++ <property name="tickPosition" > ++ <enum>QSlider::TicksBelow</enum> ++ </property> ++ <property name="tickInterval" > ++ <number>1</number> ++ </property> ++ </widget> ++ </item> ++ </layout> ++ </item> ++ <item> ++ <layout class="QHBoxLayout" > ++ <property name="spacing" > ++ <number>6</number> ++ </property> ++ <property name="margin" > ++ <number>0</number> ++ </property> ++ <item> ++ <widget class="QCheckBox" name="render" > ++ <property name="text" > ++ <string>Use RENDER Extension</string> ++ </property> ++ <property name="checked" > ++ <bool>true</bool> ++ </property> ++ </widget> ++ </item> ++ <item> ++ <widget class="QLabel" name="widthLabel" > ++ <property name="sizePolicy" > ++ <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > ++ <horstretch>0</horstretch> ++ <verstretch>0</verstretch> ++ </sizepolicy> ++ </property> ++ <property name="text" > ++ <string>Width:</string> ++ </property> ++ </widget> ++ </item> ++ <item> ++ <widget class="QSpinBox" name="width" > ++ <property name="enabled" > ++ <bool>false</bool> ++ </property> ++ <property name="maximum" > ++ <number>9999</number> ++ </property> ++ <property name="value" > ++ <number>800</number> ++ </property> ++ </widget> ++ </item> ++ <item> ++ <widget class="QLabel" name="heightLabel" > ++ <property name="sizePolicy" > ++ <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > ++ <horstretch>0</horstretch> ++ <verstretch>0</verstretch> ++ </sizepolicy> ++ </property> ++ <property name="text" > ++ <string>Height:</string> ++ </property> ++ </widget> ++ </item> ++ <item> ++ <widget class="QSpinBox" name="height" > ++ <property name="enabled" > ++ <bool>false</bool> ++ </property> ++ <property name="maximum" > ++ <number>9999</number> ++ </property> ++ <property name="value" > ++ <number>600</number> ++ </property> ++ </widget> ++ </item> ++ </layout> ++ </item> ++ </layout> ++ </widget> + </widget> + <widget class="QWidget" name="advancedTab" > + <attribute name="title" > +@@ -599,22 +621,24 @@ + <property name="title" > + <string>Network</string> + </property> +- <widget class="QCheckBox" name="encryption" > +- <property name="geometry" > +- <rect> +- <x>11</x> +- <y>28</y> +- <width>396</width> +- <height>22</height> +- </rect> +- </property> +- <property name="text" > +- <string>Use SSH Tunneling</string> ++ <layout class="QVBoxLayout" name="_2" > ++ <property name="spacing" > ++ <number>6</number> + </property> +- <property name="checked" > +- <bool>true</bool> ++ <property name="margin" > ++ <number>9</number> + </property> +- </widget> ++ <item> ++ <widget class="QCheckBox" name="encryption" > ++ <property name="text" > ++ <string>Use SSH Tunneling</string> ++ </property> ++ <property name="checked" > ++ <bool>true</bool> ++ </property> ++ </widget> ++ </item> ++ </layout> + </widget> + </item> + <item> +@@ -622,7 +646,7 @@ + <property name="title" > + <string>Cache</string> + </property> +- <layout class="QVBoxLayout" name="_17" > ++ <layout class="QVBoxLayout" > + <property name="spacing" > + <number>6</number> + </property> +@@ -630,7 +654,7 @@ + <number>9</number> + </property> + <item> +- <layout class="QHBoxLayout" name="_18" > ++ <layout class="QHBoxLayout" > + <property name="spacing" > + <number>6</number> + </property> +@@ -703,13 +727,13 @@ + </widget> + </item> + <item> +- <widget class="QGroupBox" name="groupBox_2" > ++ <widget class="QGroupBox" name="keyboardGroup" > + <property name="title" > + <string>Keyboard</string> + </property> +- <layout class="QHBoxLayout" name="horizontalLayout" > ++ <layout class="QHBoxLayout" > + <item> +- <layout class="QHBoxLayout" name="_21" > ++ <layout class="QHBoxLayout" > + <property name="spacing" > + <number>6</number> + </property> +@@ -746,7 +770,7 @@ + </layout> + </item> + <item> +- <layout class="QHBoxLayout" name="_22" > ++ <layout class="QHBoxLayout" > + <property name="spacing" > + <number>6</number> + </property> +@@ -789,7 +813,7 @@ + </layout> + </item> + <item> +- <spacer name="horizontalSpacer" > ++ <spacer> + <property name="orientation" > + <enum>Qt::Horizontal</enum> + </property> +@@ -805,7 +829,126 @@ + </widget> + </item> + <item> +- <spacer> ++ <widget class="QGroupBox" name="proxyGroup" > ++ <property name="title" > ++ <string>Proxy Settings</string> ++ </property> ++ <layout class="QHBoxLayout" > ++ <item> ++ <layout class="QVBoxLayout" > ++ <item> ++ <widget class="QCheckBox" name="useProxy" > ++ <property name="text" > ++ <string>Use proxy to connect</string> ++ </property> ++ </widget> ++ </item> ++ <item> ++ <layout class="QHBoxLayout" > ++ <item> ++ <widget class="QLabel" name="label_4" > ++ <property name="text" > ++ <string>Hostname:</string> ++ </property> ++ </widget> ++ </item> ++ <item> ++ <widget class="QLineEdit" name="proxyHost" > ++ <property name="enabled" > ++ <bool>false</bool> ++ </property> ++ </widget> ++ </item> ++ </layout> ++ </item> ++ <item> ++ <layout class="QHBoxLayout" > ++ <item> ++ <widget class="QLabel" name="label_3" > ++ <property name="text" > ++ <string>Port:</string> ++ </property> ++ </widget> ++ </item> ++ <item> ++ <widget class="QSpinBox" name="proxyPort" > ++ <property name="enabled" > ++ <bool>false</bool> ++ </property> ++ <property name="maximum" > ++ <number>32768</number> ++ </property> ++ <property name="value" > ++ <number>8080</number> ++ </property> ++ </widget> ++ </item> ++ </layout> ++ </item> ++ </layout> ++ </item> ++ <item> ++ <layout class="QVBoxLayout" > ++ <item> ++ <widget class="QCheckBox" name="proxyAuthenticated" > ++ <property name="enabled" > ++ <bool>false</bool> ++ </property> ++ <property name="text" > ++ <string>Proxy requires authentication</string> ++ </property> ++ </widget> ++ </item> ++ <item> ++ <layout class="QHBoxLayout" > ++ <item> ++ <layout class="QVBoxLayout" > ++ <item> ++ <widget class="QLabel" name="label" > ++ <property name="text" > ++ <string>Username:</string> ++ </property> ++ </widget> ++ </item> ++ <item> ++ <widget class="QLabel" name="label_2" > ++ <property name="text" > ++ <string>Password:</string> ++ </property> ++ </widget> ++ </item> ++ </layout> ++ </item> ++ <item> ++ <layout class="QVBoxLayout" > ++ <item> ++ <widget class="QLineEdit" name="proxyUser" > ++ <property name="enabled" > ++ <bool>false</bool> ++ </property> ++ </widget> ++ </item> ++ <item> ++ <widget class="QLineEdit" name="proxyPass" > ++ <property name="enabled" > ++ <bool>false</bool> ++ </property> ++ <property name="echoMode" > ++ <enum>QLineEdit::Password</enum> ++ </property> ++ </widget> ++ </item> ++ </layout> ++ </item> ++ </layout> ++ </item> ++ </layout> ++ </item> ++ </layout> ++ </widget> ++ </item> ++ <item> ++ <spacer name="verticalSpacer" > + <property name="orientation" > + <enum>Qt::Vertical</enum> + </property> +@@ -821,63 +964,60 @@ + </widget> + </widget> + </item> +- <item> +- <layout class="QHBoxLayout" name="bottomLayout" > +- <property name="spacing" > +- <number>6</number> +- </property> +- <property name="margin" > +- <number>0</number> +- </property> +- <item> +- <widget class="QPushButton" name="cancelButton" > +- <property name="text" > +- <string>&Cancel</string> +- </property> +- </widget> +- </item> +- <item> +- <spacer name="spacer" > +- <property name="orientation" > +- <enum>Qt::Horizontal</enum> +- </property> +- <property name="sizeHint" stdset="0" > +- <size> +- <width>40</width> +- <height>20</height> +- </size> +- </property> +- </spacer> +- </item> +- <item> +- <widget class="QPushButton" name="okButton" > +- <property name="text" > +- <string>&OK</string> +- </property> +- <property name="autoDefault" > +- <bool>false</bool> +- </property> +- <property name="default" > +- <bool>true</bool> +- </property> +- </widget> +- </item> +- <item> +- <widget class="QPushButton" name="applyButton" > +- <property name="text" > +- <string>&Apply</string> +- </property> +- <property name="autoDefault" > +- <bool>false</bool> +- </property> +- </widget> +- </item> +- </layout> +- </item> + </layout> + </widget> + </widget> + </item> ++ <item> ++ <layout class="QHBoxLayout" name="horizontalLayout" > ++ <property name="sizeConstraint" > ++ <enum>QLayout::SetMinimumSize</enum> ++ </property> ++ <item> ++ <widget class="QPushButton" name="cancelButton" > ++ <property name="text" > ++ <string>&Cancel</string> ++ </property> ++ </widget> ++ </item> ++ <item> ++ <spacer> ++ <property name="orientation" > ++ <enum>Qt::Horizontal</enum> ++ </property> ++ <property name="sizeHint" stdset="0" > ++ <size> ++ <width>40</width> ++ <height>20</height> ++ </size> ++ </property> ++ </spacer> ++ </item> ++ <item> ++ <widget class="QPushButton" name="okButton" > ++ <property name="text" > ++ <string>&OK</string> ++ </property> ++ <property name="autoDefault" > ++ <bool>false</bool> ++ </property> ++ <property name="default" > ++ <bool>true</bool> ++ </property> ++ </widget> ++ </item> ++ <item> ++ <widget class="QPushButton" name="applyButton" > ++ <property name="text" > ++ <string>&Apply</string> ++ </property> ++ <property name="autoDefault" > ++ <bool>false</bool> ++ </property> ++ </widget> ++ </item> ++ </layout> ++ </item> + </layout> + </widget> + <resources/> diff --git a/packages/qtnx/files/keychooser.patch b/packages/qtnx/files/keychooser.patch new file mode 100644 index 0000000000..5fed725c87 --- /dev/null +++ b/packages/qtnx/files/keychooser.patch @@ -0,0 +1,126 @@ +Index: qtnx-0.9/qtnxwindow.cpp +=================================================================== +--- qtnx-0.9.orig/qtnxwindow.cpp 2008-10-14 10:43:03.000000000 +0200 ++++ qtnx-0.9/qtnxwindow.cpp 2008-10-14 10:43:03.000000000 +0200 +@@ -304,6 +304,7 @@ + void QtNXWindow::startConnect() + { + string key = ""; ++ string publicKey = "/usr/share/qtnx/id.key"; + + if (ui_lg.session->currentText() == tr("Create new session")) { + QMessageBox::critical(this, tr("Unconfigured"), +@@ -345,11 +346,14 @@ + else if (ui_lg.link->currentText() == tr("LAN")) + session.linkType = "lan"; + +- if (!config.key.empty()) { +- key = config.key; ++ if (!config.publicKey.empty()) { ++ publicKey = config.publicKey; + session.key = "supplied"; + } else ++ { + session.key = "default"; ++ publicKey = "/usr/share/qtnx/id.key"; ++ } + + if (config.sessionType == "unix-application") + session.customCommand = config.customCommand; +@@ -365,13 +369,12 @@ + + m_NXClient->setDepth(getDepth()); + +- QString keyPath = "/usr/share/qtnx/id.key"; + + #ifdef Q_WS_MAC +- keyPath = binaryPath + "/id.key"; ++ publicKey = binaryPath + "/id.key"; + #endif + +- m_NXClient->invokeNXSSH(keyPath.toStdString(), config.serverHost, config.encryption, "", ++ m_NXClient->invokeNXSSH(publicKey, config.serverHost, config.encryption, "", + config.serverPort); + + processProbe->start(30); +Index: qtnx-0.9/qtnxsettings.cpp +=================================================================== +--- qtnx-0.9.orig/qtnxsettings.cpp 2008-10-14 10:43:03.000000000 +0200 ++++ qtnx-0.9/qtnxsettings.cpp 2008-10-14 10:43:03.000000000 +0200 +@@ -17,6 +17,7 @@ + + #include <QFile> + #include <QDir> ++#include <QFileDialog> + + #include "qtnxsettings.h" + +@@ -82,7 +83,7 @@ + ui_sd.hostname->setText(QString::fromStdString(config.serverHost)); + ui_sd.port->setValue(config.serverPort); + +- if (config.key.empty()) ++ if (config.publicKey.empty()) + ui_sd.defaultKey->setChecked(true); + else { + ui_sd.defaultKey->setChecked(false); +@@ -221,7 +222,7 @@ + void QtNXSettings::keyChanged(int state) + { + if (state == Qt::Checked) { +- config.key = ""; ++ config.publicKey = ""; + ui_sd.setAuthKeyButton->setEnabled(false); + } else + ui_sd.setAuthKeyButton->setEnabled(true); +@@ -265,15 +266,11 @@ + + void QtNXSettings::authKeyPressed() + { +- keyDialog = 0; +- delete keyDialog; +- keyDialog = new QDialog(this); +- ui_kd.setupUi(keyDialog); +- keyDialog->show(); +- QTextDocument *doc_key = new QTextDocument(QString::fromStdString(config.key)); +- ui_kd.key->setDocument(doc_key); +- +- connect(keyDialog, SIGNAL(accepted()), this, SLOT(keyDialogAccept())); ++ QString publicKey = QFileDialog::getOpenFileName(this, ++ tr("Open File"), ++ ".qtnx", ++ tr("Keyfiles (*.key )")); ++ config.publicKey = publicKey.toStdString(); + } + + void QtNXSettings::keyDialogAccept() +Index: qtnx-0.9/nxwritexml.cpp +=================================================================== +--- qtnx-0.9.orig/nxwritexml.cpp 2008-10-14 10:43:03.000000000 +0200 ++++ qtnx-0.9/nxwritexml.cpp 2008-10-14 10:43:03.000000000 +0200 +@@ -123,6 +123,10 @@ + escape(QString::fromStdString(sessionData.key)) << + "\"></option>\n"; + ++ xml << "<option key=\"Public Authentication Key\" value=\"" << ++ escape(QString::fromStdString(sessionData.publicKey)) << ++ "\"></option>\n"; ++ + if (sessionData.encryption == true) + xml << "<option key=\"Use SSL Tunnelling\" value=\"True\">" << + "</option>\n"; +Index: qtnx-0.9/nxparsexml.cpp +=================================================================== +--- qtnx-0.9.orig/nxparsexml.cpp 2008-10-14 10:43:03.000000000 +0200 ++++ qtnx-0.9/nxparsexml.cpp 2008-10-14 10:43:03.000000000 +0200 +@@ -119,6 +119,10 @@ + sessionData->key = attributes.value("value").toStdString(); + } + ++ if (attributes.value("key") == "Public Authentication Key") { ++ sessionData->publicKey = attributes.value("value").toStdString(); ++ } ++ + if (attributes.value("key") == "Use SSL Tunnelling") { + if (attributes.value("value") == "True") + sessionData->encryption = true; diff --git a/packages/qtnx/files/keymap.patch b/packages/qtnx/files/keymap.patch new file mode 100644 index 0000000000..ed37a23774 --- /dev/null +++ b/packages/qtnx/files/keymap.patch @@ -0,0 +1,283 @@ +Index: qtnx-0.9/qtnxwindow.cpp +=================================================================== +--- qtnx-0.9.orig/qtnxwindow.cpp 2008-10-13 14:35:29.000000000 +0200 ++++ qtnx-0.9/qtnxwindow.cpp 2008-10-13 14:35:33.000000000 +0200 +@@ -315,8 +315,8 @@ + session.imageCompressionMethod = config.imageCompressionMethod; + session.imageCompressionLevel = config.imageCompressionLevel; + session.geometry = config.geometry; +- session.keyboard = "defkeymap"; +- session.kbtype = "pc102/defkeymap"; ++ session.keyboard = config.keyboard; ++ session.kbtype = config.kbtype; + session.media = config.media; + session.agentServer = config.agentServer; + session.agentUser = config.agentUser; +Index: qtnx-0.9/settingsdialog.ui +=================================================================== +--- qtnx-0.9.orig/settingsdialog.ui 2008-10-13 14:35:32.000000000 +0200 ++++ qtnx-0.9/settingsdialog.ui 2008-10-13 14:35:33.000000000 +0200 +@@ -43,14 +43,6 @@ + <number>0</number> + </property> + <widget class="QWidget" name="basicTab" > +- <property name="geometry" > +- <rect> +- <x>0</x> +- <y>0</y> +- <width>436</width> +- <height>439</height> +- </rect> +- </property> + <attribute name="title" > + <string>Basic</string> + </attribute> +@@ -598,47 +590,31 @@ + </layout> + </widget> + <widget class="QWidget" name="advancedTab" > +- <property name="geometry" > +- <rect> +- <x>0</x> +- <y>0</y> +- <width>624</width> +- <height>496</height> +- </rect> +- </property> + <attribute name="title" > + <string>Advanced</string> + </attribute> +- <layout class="QVBoxLayout" name="_15" > +- <property name="spacing" > +- <number>6</number> +- </property> +- <property name="margin" > +- <number>9</number> +- </property> ++ <layout class="QVBoxLayout" name="verticalLayout_2" > + <item> + <widget class="QGroupBox" name="networkGroup" > + <property name="title" > + <string>Network</string> + </property> +- <layout class="QVBoxLayout" name="_16" > +- <property name="spacing" > +- <number>6</number> ++ <widget class="QCheckBox" name="encryption" > ++ <property name="geometry" > ++ <rect> ++ <x>11</x> ++ <y>28</y> ++ <width>396</width> ++ <height>22</height> ++ </rect> + </property> +- <property name="margin" > +- <number>9</number> ++ <property name="text" > ++ <string>Use SSH Tunneling</string> + </property> +- <item> +- <widget class="QCheckBox" name="encryption" > +- <property name="text" > +- <string>Use SSH Tunneling</string> +- </property> +- <property name="checked" > +- <bool>true</bool> +- </property> +- </widget> +- </item> +- </layout> ++ <property name="checked" > ++ <bool>true</bool> ++ </property> ++ </widget> + </widget> + </item> + <item> +@@ -727,6 +703,108 @@ + </widget> + </item> + <item> ++ <widget class="QGroupBox" name="groupBox_2" > ++ <property name="title" > ++ <string>Keyboard</string> ++ </property> ++ <layout class="QHBoxLayout" name="horizontalLayout" > ++ <item> ++ <layout class="QHBoxLayout" name="_21" > ++ <property name="spacing" > ++ <number>6</number> ++ </property> ++ <property name="margin" > ++ <number>0</number> ++ </property> ++ <item> ++ <widget class="QLabel" name="keyboardLabel" > ++ <property name="sizePolicy" > ++ <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > ++ <horstretch>0</horstretch> ++ <verstretch>0</verstretch> ++ </sizepolicy> ++ </property> ++ <property name="text" > ++ <string>Type:</string> ++ </property> ++ </widget> ++ </item> ++ <item> ++ <widget class="QComboBox" name="keyboard" > ++ <item> ++ <property name="text" > ++ <string>Standard</string> ++ </property> ++ </item> ++ <item> ++ <property name="text" > ++ <string>Nokia N810</string> ++ </property> ++ </item> ++ </widget> ++ </item> ++ </layout> ++ </item> ++ <item> ++ <layout class="QHBoxLayout" name="_22" > ++ <property name="spacing" > ++ <number>6</number> ++ </property> ++ <property name="margin" > ++ <number>0</number> ++ </property> ++ <item> ++ <widget class="QLabel" name="languageLabel" > ++ <property name="enabled" > ++ <bool>true</bool> ++ </property> ++ <property name="sizePolicy" > ++ <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > ++ <horstretch>0</horstretch> ++ <verstretch>0</verstretch> ++ </sizepolicy> ++ </property> ++ <property name="text" > ++ <string>Language:</string> ++ </property> ++ </widget> ++ </item> ++ <item> ++ <widget class="QComboBox" name="language" > ++ <property name="enabled" > ++ <bool>false</bool> ++ </property> ++ <item> ++ <property name="text" > ++ <string>de</string> ++ </property> ++ </item> ++ <item> ++ <property name="text" > ++ <string>us</string> ++ </property> ++ </item> ++ </widget> ++ </item> ++ </layout> ++ </item> ++ <item> ++ <spacer name="horizontalSpacer" > ++ <property name="orientation" > ++ <enum>Qt::Horizontal</enum> ++ </property> ++ <property name="sizeHint" stdset="0" > ++ <size> ++ <width>40</width> ++ <height>20</height> ++ </size> ++ </property> ++ </spacer> ++ </item> ++ </layout> ++ </widget> ++ </item> ++ <item> + <spacer> + <property name="orientation" > + <enum>Qt::Vertical</enum> +Index: qtnx-0.9/qtnxsettings.cpp +=================================================================== +--- qtnx-0.9.orig/qtnxsettings.cpp 2008-10-13 14:07:34.000000000 +0200 ++++ qtnx-0.9/qtnxsettings.cpp 2008-10-13 14:36:44.000000000 +0200 +@@ -43,6 +43,7 @@ + + connect(ui_sd.resolution, SIGNAL(currentIndexChanged(QString)), this, SLOT(resolutionChanged(QString))); + connect(ui_sd.imageCompressionType, SIGNAL(currentIndexChanged(QString)), this, SLOT(compressionChanged(QString))); ++ connect(ui_sd.keyboard, SIGNAL(currentIndexChanged(QString)), this, SLOT(keyboardChanged(QString))); + connect(ui_sd.defaultKey, SIGNAL(stateChanged(int)), this, SLOT(keyChanged(int))); + connect(ui_sd.applyButton, SIGNAL(pressed()), this, SLOT(applyPressed())); + connect(ui_sd.okButton, SIGNAL(pressed()), this, SLOT(okPressed())); +@@ -78,6 +79,16 @@ + ui_sd.setAuthKeyButton->setEnabled(true); + } + ++ if (config.keyboard == "defkeymap") ++ { ++ ui_sd.keyboard->setCurrentIndex(ui_sd.keyboard->findText(tr("Standard"))); ++ } else if (QString(config.keyboard.data()).contains("nokiarx44")) ++ { ++ ui_sd.keyboard->setCurrentIndex(ui_sd.keyboard->findText(tr("Nokia N810"))); ++ ui_sd.language->setCurrentIndex(ui_sd.language->findText(QString(config.keyboard.data()).right(2))); ++ ui_sd.language->setEnabled(true); ++ } ++ + if (config.sessionType == "unix-kde") { + ui_sd.platform->setCurrentIndex(ui_sd.platform->findText(tr("UNIX"))); + ui_sd.type->setCurrentIndex(ui_sd.type->findText(tr("KDE"))); +@@ -162,6 +173,15 @@ + } + } + ++void QtNXSettings::keyboardChanged(QString text) ++{ ++ if (text == tr("Nokia N810")) { ++ ui_sd.language->setEnabled(true); ++ } else { ++ ui_sd.language->setEnabled(false); ++ } ++} ++ + void QtNXSettings::platformChanged(QString text) + { + } +@@ -230,8 +250,17 @@ + config.serverPort = ui_sd.port->value(); + + // TODO: Add keyboard selection support +- config.keyboard = "defkeymap"; +- config.kbtype = "pc102/defkeymap"; ++ ++ if (ui_sd.keyboard->currentText() == tr("Standard")) ++ { ++ config.keyboard = "defkeymap"; ++ config.kbtype = "pc102/defkeymap"; ++ } else if (ui_sd.keyboard->currentText() == tr("Nokia N810")) ++ { ++ config.keyboard = ++ "nokiarx44/" + ui_sd.language->currentText().toStdString(); ++ config.kbtype = config.keyboard; ++ } + + if (ui_sd.platform->currentText() == tr("UNIX")) { + if (ui_sd.type->currentText() == tr("KDE")) +Index: qtnx-0.9/qtnxsettings.h +=================================================================== +--- qtnx-0.9.orig/qtnxsettings.h 2008-10-13 14:07:34.000000000 +0200 ++++ qtnx-0.9/qtnxsettings.h 2008-10-13 14:35:33.000000000 +0200 +@@ -38,6 +38,7 @@ + void resolutionChanged(QString); + void compressionChanged(QString); + void platformChanged(QString); ++ void keyboardChanged(QString); + void typeChanged(QString); + void keyChanged(int); + void applyPressed(); diff --git a/packages/qtnx/files/pro.patch b/packages/qtnx/files/pro.patch index 2e1b10ca3a..c11f39d540 100644 --- a/packages/qtnx/files/pro.patch +++ b/packages/qtnx/files/pro.patch @@ -1,5 +1,3 @@ -patch by Henning Heinold - Index: qtnx-0.9/qtnx.pro =================================================================== --- qtnx-0.9.orig/qtnx.pro 2008-09-04 11:42:19.000000000 +0200 diff --git a/packages/qtnx/files/scroll.patch b/packages/qtnx/files/scroll.patch index 107c7177c6..9fe4ab5957 100644 --- a/packages/qtnx/files/scroll.patch +++ b/packages/qtnx/files/scroll.patch @@ -1,6 +1,3 @@ -patch by Henning Heinold, so the configure-widget is -scrollable - Index: qtnx-0.9/settingsdialog.ui =================================================================== --- qtnx-0.9.orig/settingsdialog.ui 2008-09-03 21:32:51.716503112 +0200 diff --git a/packages/qtnx/files/sessionfiles.patch b/packages/qtnx/files/sessionfiles.patch new file mode 100644 index 0000000000..f39e29dab5 --- /dev/null +++ b/packages/qtnx/files/sessionfiles.patch @@ -0,0 +1,1187 @@ +Index: qtnx-0.9/settingsdialog.ui +=================================================================== +--- qtnx-0.9.orig/settingsdialog.ui 2008-10-15 14:31:27.000000000 +0200 ++++ qtnx-0.9/settingsdialog.ui 2008-10-15 14:31:27.000000000 +0200 +@@ -5,8 +5,8 @@ + <rect> + <x>0</x> + <y>0</y> +- <width>454</width> +- <height>559</height> ++ <width>480</width> ++ <height>570</height> + </rect> + </property> + <property name="windowTitle" > +@@ -26,8 +26,8 @@ + <rect> + <x>0</x> + <y>0</y> +- <width>432</width> +- <height>501</height> ++ <width>443</width> ++ <height>512</height> + </rect> + </property> + <property name="sizePolicy" > +@@ -52,570 +52,548 @@ + <attribute name="title" > + <string>Basic</string> + </attribute> +- <widget class="QGroupBox" name="generalGroup" > +- <property name="geometry" > +- <rect> +- <x>9</x> +- <y>9</y> +- <width>391</width> +- <height>72</height> +- </rect> +- </property> +- <property name="title" > +- <string>General</string> +- </property> +- <layout class="QVBoxLayout" > +- <property name="spacing" > +- <number>6</number> +- </property> +- <property name="margin" > +- <number>9</number> +- </property> +- <item> +- <layout class="QHBoxLayout" > +- <property name="spacing" > +- <number>6</number> +- </property> +- <property name="margin" > +- <number>0</number> +- </property> +- <item> +- <widget class="QLabel" name="sessionNameLabel" > +- <property name="sizePolicy" > +- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="text" > +- <string>Session Name:</string> +- </property> +- </widget> +- </item> +- <item> +- <widget class="QLineEdit" name="sessionName" /> +- </item> +- </layout> +- </item> +- </layout> +- </widget> +- <widget class="QGroupBox" name="serverGroup" > +- <property name="geometry" > +- <rect> +- <x>9</x> +- <y>87</y> +- <width>391</width> +- <height>106</height> +- </rect> +- </property> +- <property name="title" > +- <string>Server</string> +- </property> +- <layout class="QVBoxLayout" > +- <property name="spacing" > +- <number>6</number> +- </property> +- <property name="margin" > +- <number>9</number> +- </property> +- <item> +- <layout class="QHBoxLayout" > +- <property name="spacing" > +- <number>6</number> +- </property> +- <property name="margin" > +- <number>0</number> +- </property> +- <item> +- <widget class="QLabel" name="hostnameLabel" > +- <property name="sizePolicy" > +- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="text" > +- <string>Hostname:</string> +- </property> +- </widget> +- </item> +- <item> +- <widget class="QLineEdit" name="hostname" /> +- </item> +- <item> +- <widget class="QLabel" name="portLabel" > +- <property name="sizePolicy" > +- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="text" > +- <string>Port:</string> +- </property> +- </widget> +- </item> +- <item> +- <widget class="QSpinBox" name="port" > +- <property name="minimum" > +- <number>1</number> +- </property> +- <property name="maximum" > +- <number>65535</number> +- </property> +- <property name="value" > +- <number>22</number> +- </property> +- </widget> +- </item> +- </layout> +- </item> +- <item> +- <layout class="QHBoxLayout" > ++ <layout class="QVBoxLayout" name="verticalLayout_2" > ++ <item> ++ <widget class="QGroupBox" name="generalGroup" > ++ <property name="title" > ++ <string>General</string> ++ </property> ++ <layout class="QVBoxLayout" > + <property name="spacing" > + <number>6</number> + </property> + <property name="margin" > +- <number>0</number> ++ <number>9</number> + </property> + <item> +- <widget class="QCheckBox" name="defaultKey" > +- <property name="text" > +- <string>Use default key</string> +- </property> +- <property name="checked" > +- <bool>true</bool> +- </property> +- </widget> +- </item> +- <item> +- <widget class="QPushButton" name="setAuthKeyButton" > +- <property name="enabled" > +- <bool>false</bool> ++ <layout class="QHBoxLayout" > ++ <property name="spacing" > ++ <number>6</number> + </property> +- <property name="text" > +- <string>&Set Authentication Key...</string> ++ <property name="margin" > ++ <number>0</number> + </property> +- </widget> ++ <item> ++ <widget class="QLabel" name="sessionNameLabel" > ++ <property name="sizePolicy" > ++ <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > ++ <horstretch>0</horstretch> ++ <verstretch>0</verstretch> ++ </sizepolicy> ++ </property> ++ <property name="text" > ++ <string>Session Name:</string> ++ </property> ++ </widget> ++ </item> ++ <item> ++ <widget class="QLineEdit" name="sessionName" /> ++ </item> ++ </layout> + </item> + </layout> +- </item> +- </layout> +- </widget> +- <widget class="QGroupBox" name="desktopGroup" > +- <property name="geometry" > +- <rect> +- <x>9</x> +- <y>199</y> +- <width>391</width> +- <height>105</height> +- </rect> +- </property> +- <property name="title" > +- <string>Desktop</string> +- </property> +- <layout class="QVBoxLayout" > +- <property name="spacing" > +- <number>6</number> +- </property> +- <property name="margin" > +- <number>9</number> +- </property> +- <item> +- <layout class="QHBoxLayout" > ++ </widget> ++ </item> ++ <item> ++ <widget class="QGroupBox" name="serverGroup" > ++ <property name="title" > ++ <string>Server</string> ++ </property> ++ <layout class="QVBoxLayout" > + <property name="spacing" > + <number>6</number> + </property> + <property name="margin" > +- <number>0</number> ++ <number>9</number> + </property> + <item> +- <widget class="QLabel" name="platformLabel" > +- <property name="sizePolicy" > +- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> ++ <layout class="QHBoxLayout" > ++ <property name="spacing" > ++ <number>6</number> + </property> +- <property name="text" > +- <string>Platform:</string> ++ <property name="margin" > ++ <number>0</number> + </property> +- </widget> +- </item> +- <item> +- <widget class="QComboBox" name="platform" > + <item> +- <property name="text" > +- <string>UNIX</string> +- </property> ++ <widget class="QLabel" name="hostnameLabel" > ++ <property name="sizePolicy" > ++ <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > ++ <horstretch>0</horstretch> ++ <verstretch>0</verstretch> ++ </sizepolicy> ++ </property> ++ <property name="text" > ++ <string>Hostname:</string> ++ </property> ++ </widget> ++ </item> ++ <item> ++ <widget class="QLineEdit" name="hostname" /> + </item> + <item> +- <property name="text" > +- <string>Windows</string> +- </property> ++ <widget class="QLabel" name="portLabel" > ++ <property name="sizePolicy" > ++ <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > ++ <horstretch>0</horstretch> ++ <verstretch>0</verstretch> ++ </sizepolicy> ++ </property> ++ <property name="text" > ++ <string>Port:</string> ++ </property> ++ </widget> + </item> + <item> +- <property name="text" > +- <string>VNC Proxy</string> +- </property> ++ <widget class="QSpinBox" name="port" > ++ <property name="minimum" > ++ <number>1</number> ++ </property> ++ <property name="maximum" > ++ <number>65535</number> ++ </property> ++ <property name="value" > ++ <number>22</number> ++ </property> ++ </widget> + </item> +- </widget> ++ </layout> + </item> + <item> +- <widget class="QLabel" name="typeLabel" > +- <property name="sizePolicy" > +- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> ++ <layout class="QHBoxLayout" > ++ <property name="spacing" > ++ <number>6</number> + </property> +- <property name="text" > +- <string>Type:</string> ++ <property name="margin" > ++ <number>0</number> + </property> +- </widget> +- </item> +- <item> +- <widget class="QComboBox" name="type" > +- <item> +- <property name="text" > +- <string>KDE</string> +- </property> +- </item> +- <item> +- <property name="text" > +- <string>GNOME</string> +- </property> +- </item> +- <item> +- <property name="text" > +- <string>CDE</string> +- </property> +- </item> + <item> +- <property name="text" > +- <string>XDM</string> +- </property> ++ <widget class="QCheckBox" name="defaultKey" > ++ <property name="text" > ++ <string>Use default key</string> ++ </property> ++ <property name="checked" > ++ <bool>true</bool> ++ </property> ++ </widget> + </item> + <item> +- <property name="text" > +- <string>Custom</string> +- </property> ++ <widget class="QPushButton" name="setAuthKeyButton" > ++ <property name="enabled" > ++ <bool>false</bool> ++ </property> ++ <property name="text" > ++ <string>&Set Authentication Key...</string> ++ </property> ++ </widget> + </item> +- </widget> ++ </layout> + </item> ++ </layout> ++ </widget> ++ </item> ++ <item> ++ <widget class="QGroupBox" name="desktopGroup" > ++ <property name="title" > ++ <string>Desktop</string> ++ </property> ++ <layout class="QVBoxLayout" > ++ <property name="spacing" > ++ <number>6</number> ++ </property> ++ <property name="margin" > ++ <number>9</number> ++ </property> + <item> +- <widget class="QLabel" name="linkLabel" > +- <property name="sizePolicy" > +- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> ++ <layout class="QHBoxLayout" > ++ <property name="spacing" > ++ <number>6</number> + </property> +- <property name="text" > +- <string>Link:</string> ++ <property name="margin" > ++ <number>0</number> + </property> +- </widget> +- </item> +- <item> +- <widget class="QComboBox" name="link" > + <item> +- <property name="text" > +- <string>Modem</string> +- </property> ++ <widget class="QLabel" name="platformLabel" > ++ <property name="sizePolicy" > ++ <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > ++ <horstretch>0</horstretch> ++ <verstretch>0</verstretch> ++ </sizepolicy> ++ </property> ++ <property name="text" > ++ <string>Platform:</string> ++ </property> ++ </widget> ++ </item> ++ <item> ++ <widget class="QComboBox" name="platform" > ++ <item> ++ <property name="text" > ++ <string>UNIX</string> ++ </property> ++ </item> ++ <item> ++ <property name="text" > ++ <string>Windows</string> ++ </property> ++ </item> ++ <item> ++ <property name="text" > ++ <string>VNC Proxy</string> ++ </property> ++ </item> ++ </widget> + </item> + <item> +- <property name="text" > +- <string>ISDN</string> +- </property> ++ <widget class="QLabel" name="typeLabel" > ++ <property name="sizePolicy" > ++ <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > ++ <horstretch>0</horstretch> ++ <verstretch>0</verstretch> ++ </sizepolicy> ++ </property> ++ <property name="text" > ++ <string>Type:</string> ++ </property> ++ </widget> + </item> + <item> +- <property name="text" > +- <string>ADSL</string> +- </property> ++ <widget class="QComboBox" name="type" > ++ <item> ++ <property name="text" > ++ <string>KDE</string> ++ </property> ++ </item> ++ <item> ++ <property name="text" > ++ <string>GNOME</string> ++ </property> ++ </item> ++ <item> ++ <property name="text" > ++ <string>CDE</string> ++ </property> ++ </item> ++ <item> ++ <property name="text" > ++ <string>XDM</string> ++ </property> ++ </item> ++ <item> ++ <property name="text" > ++ <string>Custom</string> ++ </property> ++ </item> ++ </widget> + </item> + <item> +- <property name="text" > +- <string>WAN</string> +- </property> ++ <widget class="QLabel" name="linkLabel" > ++ <property name="sizePolicy" > ++ <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > ++ <horstretch>0</horstretch> ++ <verstretch>0</verstretch> ++ </sizepolicy> ++ </property> ++ <property name="text" > ++ <string>Link:</string> ++ </property> ++ </widget> + </item> + <item> +- <property name="text" > +- <string>LAN</string> +- </property> ++ <widget class="QComboBox" name="link" > ++ <item> ++ <property name="text" > ++ <string>Modem</string> ++ </property> ++ </item> ++ <item> ++ <property name="text" > ++ <string>ISDN</string> ++ </property> ++ </item> ++ <item> ++ <property name="text" > ++ <string>ADSL</string> ++ </property> ++ </item> ++ <item> ++ <property name="text" > ++ <string>WAN</string> ++ </property> ++ </item> ++ <item> ++ <property name="text" > ++ <string>LAN</string> ++ </property> ++ </item> ++ </widget> + </item> +- </widget> +- </item> +- </layout> +- </item> +- <item> +- <layout class="QHBoxLayout" > +- <property name="spacing" > +- <number>6</number> +- </property> +- <property name="margin" > +- <number>0</number> +- </property> +- <item> +- <spacer> +- <property name="orientation" > +- <enum>Qt::Horizontal</enum> +- </property> +- <property name="sizeHint" stdset="0" > +- <size> +- <width>173</width> +- <height>20</height> +- </size> +- </property> +- </spacer> ++ </layout> + </item> + <item> +- <widget class="QPushButton" name="desktopSettingButton" > +- <property name="enabled" > +- <bool>false</bool> ++ <layout class="QHBoxLayout" > ++ <property name="spacing" > ++ <number>6</number> + </property> +- <property name="text" > +- <string>&Settings...</string> ++ <property name="margin" > ++ <number>0</number> + </property> +- </widget> ++ <item> ++ <spacer> ++ <property name="orientation" > ++ <enum>Qt::Horizontal</enum> ++ </property> ++ <property name="sizeHint" stdset="0" > ++ <size> ++ <width>173</width> ++ <height>20</height> ++ </size> ++ </property> ++ </spacer> ++ </item> ++ <item> ++ <widget class="QPushButton" name="desktopSettingButton" > ++ <property name="enabled" > ++ <bool>false</bool> ++ </property> ++ <property name="text" > ++ <string>&Settings...</string> ++ </property> ++ </widget> ++ </item> ++ </layout> + </item> + </layout> +- </item> +- </layout> +- </widget> +- <widget class="QGroupBox" name="groupBox" > +- <property name="geometry" > +- <rect> +- <x>9</x> +- <y>310</y> +- <width>391</width> +- <height>133</height> +- </rect> +- </property> +- <property name="title" > +- <string>Geometry</string> +- </property> +- <layout class="QVBoxLayout" > +- <property name="spacing" > +- <number>6</number> +- </property> +- <property name="margin" > +- <number>9</number> +- </property> +- <item> +- <layout class="QHBoxLayout" > ++ </widget> ++ </item> ++ <item> ++ <widget class="QGroupBox" name="groupBox" > ++ <property name="title" > ++ <string>Geometry</string> ++ </property> ++ <layout class="QVBoxLayout" > + <property name="spacing" > + <number>6</number> + </property> + <property name="margin" > +- <number>0</number> ++ <number>9</number> + </property> + <item> +- <widget class="QLabel" name="resolutionLabel" > +- <property name="sizePolicy" > +- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> ++ <layout class="QHBoxLayout" > ++ <property name="spacing" > ++ <number>6</number> + </property> +- <property name="text" > +- <string>Resolution:</string> ++ <property name="margin" > ++ <number>0</number> + </property> +- </widget> +- </item> +- <item> +- <widget class="QComboBox" name="resolution" > + <item> +- <property name="text" > +- <string>640x480</string> +- </property> +- </item> +- <item> +- <property name="text" > +- <string>800x600</string> +- </property> ++ <widget class="QLabel" name="resolutionLabel" > ++ <property name="sizePolicy" > ++ <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > ++ <horstretch>0</horstretch> ++ <verstretch>0</verstretch> ++ </sizepolicy> ++ </property> ++ <property name="text" > ++ <string>Resolution:</string> ++ </property> ++ </widget> + </item> + <item> +- <property name="text" > +- <string>1024x768</string> +- </property> ++ <widget class="QComboBox" name="resolution" > ++ <item> ++ <property name="text" > ++ <string>640x480</string> ++ </property> ++ </item> ++ <item> ++ <property name="text" > ++ <string>800x600</string> ++ </property> ++ </item> ++ <item> ++ <property name="text" > ++ <string>1024x768</string> ++ </property> ++ </item> ++ <item> ++ <property name="text" > ++ <string>Fullscreen</string> ++ </property> ++ </item> ++ <item> ++ <property name="text" > ++ <string>Custom</string> ++ </property> ++ </item> ++ </widget> + </item> + <item> +- <property name="text" > +- <string>Fullscreen</string> +- </property> ++ <widget class="QLabel" name="compressionLabel" > ++ <property name="sizePolicy" > ++ <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > ++ <horstretch>0</horstretch> ++ <verstretch>0</verstretch> ++ </sizepolicy> ++ </property> ++ <property name="text" > ++ <string>Compression:</string> ++ </property> ++ </widget> + </item> + <item> +- <property name="text" > +- <string>Custom</string> +- </property> ++ <widget class="QComboBox" name="imageCompressionType" > ++ <item> ++ <property name="text" > ++ <string>PNG</string> ++ </property> ++ </item> ++ <item> ++ <property name="text" > ++ <string>JPEG</string> ++ </property> ++ </item> ++ <item> ++ <property name="text" > ++ <string>Raw X11</string> ++ </property> ++ </item> ++ </widget> + </item> +- </widget> ++ </layout> + </item> + <item> +- <widget class="QLabel" name="compressionLabel" > +- <property name="sizePolicy" > +- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> ++ <layout class="QHBoxLayout" > ++ <property name="spacing" > ++ <number>6</number> + </property> +- <property name="text" > +- <string>Compression:</string> ++ <property name="margin" > ++ <number>0</number> + </property> +- </widget> +- </item> +- <item> +- <widget class="QComboBox" name="imageCompressionType" > +- <item> +- <property name="text" > +- <string>PNG</string> +- </property> +- </item> + <item> +- <property name="text" > +- <string>JPEG</string> +- </property> ++ <widget class="QLabel" name="qualityLabel" > ++ <property name="sizePolicy" > ++ <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > ++ <horstretch>0</horstretch> ++ <verstretch>0</verstretch> ++ </sizepolicy> ++ </property> ++ <property name="text" > ++ <string>JPEG Quality:</string> ++ </property> ++ </widget> + </item> + <item> +- <property name="text" > +- <string>Raw X11</string> +- </property> ++ <widget class="QSlider" name="imageQualityLevel" > ++ <property name="enabled" > ++ <bool>false</bool> ++ </property> ++ <property name="minimum" > ++ <number>1</number> ++ </property> ++ <property name="maximum" > ++ <number>9</number> ++ </property> ++ <property name="pageStep" > ++ <number>9</number> ++ </property> ++ <property name="value" > ++ <number>6</number> ++ </property> ++ <property name="orientation" > ++ <enum>Qt::Horizontal</enum> ++ </property> ++ <property name="tickPosition" > ++ <enum>QSlider::TicksBelow</enum> ++ </property> ++ <property name="tickInterval" > ++ <number>1</number> ++ </property> ++ </widget> + </item> +- </widget> +- </item> +- </layout> +- </item> +- <item> +- <layout class="QHBoxLayout" > +- <property name="spacing" > +- <number>6</number> +- </property> +- <property name="margin" > +- <number>0</number> +- </property> +- <item> +- <widget class="QLabel" name="qualityLabel" > +- <property name="sizePolicy" > +- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="text" > +- <string>JPEG Quality:</string> +- </property> +- </widget> ++ </layout> + </item> + <item> +- <widget class="QSlider" name="imageQualityLevel" > +- <property name="enabled" > +- <bool>false</bool> +- </property> +- <property name="minimum" > +- <number>1</number> +- </property> +- <property name="maximum" > +- <number>9</number> +- </property> +- <property name="pageStep" > +- <number>9</number> +- </property> +- <property name="value" > ++ <layout class="QHBoxLayout" > ++ <property name="spacing" > + <number>6</number> + </property> +- <property name="orientation" > +- <enum>Qt::Horizontal</enum> +- </property> +- <property name="tickPosition" > +- <enum>QSlider::TicksBelow</enum> +- </property> +- <property name="tickInterval" > +- <number>1</number> +- </property> +- </widget> +- </item> +- </layout> +- </item> +- <item> +- <layout class="QHBoxLayout" > +- <property name="spacing" > +- <number>6</number> +- </property> +- <property name="margin" > +- <number>0</number> +- </property> +- <item> +- <widget class="QCheckBox" name="render" > +- <property name="text" > +- <string>Use RENDER Extension</string> +- </property> +- <property name="checked" > +- <bool>true</bool> +- </property> +- </widget> +- </item> +- <item> +- <widget class="QLabel" name="widthLabel" > +- <property name="sizePolicy" > +- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="text" > +- <string>Width:</string> +- </property> +- </widget> +- </item> +- <item> +- <widget class="QSpinBox" name="width" > +- <property name="enabled" > +- <bool>false</bool> +- </property> +- <property name="maximum" > +- <number>9999</number> +- </property> +- <property name="value" > +- <number>800</number> +- </property> +- </widget> +- </item> +- <item> +- <widget class="QLabel" name="heightLabel" > +- <property name="sizePolicy" > +- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > +- <horstretch>0</horstretch> +- <verstretch>0</verstretch> +- </sizepolicy> +- </property> +- <property name="text" > +- <string>Height:</string> +- </property> +- </widget> +- </item> +- <item> +- <widget class="QSpinBox" name="height" > +- <property name="enabled" > +- <bool>false</bool> +- </property> +- <property name="maximum" > +- <number>9999</number> +- </property> +- <property name="value" > +- <number>600</number> ++ <property name="margin" > ++ <number>0</number> + </property> +- </widget> ++ <item> ++ <widget class="QCheckBox" name="render" > ++ <property name="text" > ++ <string>Use RENDER Extension</string> ++ </property> ++ <property name="checked" > ++ <bool>true</bool> ++ </property> ++ </widget> ++ </item> ++ <item> ++ <widget class="QLabel" name="widthLabel" > ++ <property name="sizePolicy" > ++ <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > ++ <horstretch>0</horstretch> ++ <verstretch>0</verstretch> ++ </sizepolicy> ++ </property> ++ <property name="text" > ++ <string>Width:</string> ++ </property> ++ </widget> ++ </item> ++ <item> ++ <widget class="QSpinBox" name="width" > ++ <property name="enabled" > ++ <bool>false</bool> ++ </property> ++ <property name="maximum" > ++ <number>9999</number> ++ </property> ++ <property name="value" > ++ <number>800</number> ++ </property> ++ </widget> ++ </item> ++ <item> ++ <widget class="QLabel" name="heightLabel" > ++ <property name="sizePolicy" > ++ <sizepolicy vsizetype="Preferred" hsizetype="Fixed" > ++ <horstretch>0</horstretch> ++ <verstretch>0</verstretch> ++ </sizepolicy> ++ </property> ++ <property name="text" > ++ <string>Height:</string> ++ </property> ++ </widget> ++ </item> ++ <item> ++ <widget class="QSpinBox" name="height" > ++ <property name="enabled" > ++ <bool>false</bool> ++ </property> ++ <property name="maximum" > ++ <number>9999</number> ++ </property> ++ <property name="value" > ++ <number>600</number> ++ </property> ++ </widget> ++ </item> ++ </layout> + </item> + </layout> +- </item> +- </layout> +- </widget> ++ </widget> ++ </item> ++ </layout> + </widget> + <widget class="QWidget" name="advancedTab" > + <attribute name="title" > + <string>Advanced</string> + </attribute> +- <layout class="QVBoxLayout" name="verticalLayout_2" > ++ <layout class="QVBoxLayout" name="verticalLayout_4" > + <item> + <widget class="QGroupBox" name="networkGroup" > + <property name="title" > +@@ -948,17 +926,29 @@ + </widget> + </item> + <item> +- <spacer name="verticalSpacer" > +- <property name="orientation" > +- <enum>Qt::Vertical</enum> +- </property> +- <property name="sizeHint" stdset="0" > +- <size> +- <width>20</width> +- <height>40</height> +- </size> ++ <widget class="QGroupBox" name="logFilesGroup" > ++ <property name="title" > ++ <string>Sessionfiles</string> + </property> +- </spacer> ++ <layout class="QVBoxLayout" name="_3" > ++ <property name="spacing" > ++ <number>6</number> ++ </property> ++ <property name="margin" > ++ <number>9</number> ++ </property> ++ <item> ++ <widget class="QCheckBox" name="delSessionfiles" > ++ <property name="text" > ++ <string>Delete Sessionfiles</string> ++ </property> ++ <property name="checked" > ++ <bool>true</bool> ++ </property> ++ </widget> ++ </item> ++ </layout> ++ </widget> + </item> + </layout> + </widget> +Index: qtnx-0.9/nxparsexml.cpp +=================================================================== +--- qtnx-0.9.orig/nxparsexml.cpp 2008-10-15 14:31:27.000000000 +0200 ++++ qtnx-0.9/nxparsexml.cpp 2008-10-15 14:31:27.000000000 +0200 +@@ -167,6 +167,13 @@ + sessionData->proxyPass = attributes.value("value").toStdString(); + } + ++ if (attributes.value("key") == "Delete Sessionfiles") { ++ if (attributes.value("value") == "True") ++ sessionData->delSessionfiles = true; ++ else ++ sessionData->delSessionfiles = false; ++ } ++ + return true; + } + +Index: qtnx-0.9/nxwritexml.cpp +=================================================================== +--- qtnx-0.9.orig/nxwritexml.cpp 2008-10-15 14:31:27.000000000 +0200 ++++ qtnx-0.9/nxwritexml.cpp 2008-10-15 14:31:27.000000000 +0200 +@@ -171,6 +171,14 @@ + xml << "<option key=\"Enable Fullscreen Desktop\" value=\"False\">" << + "</option>\n"; + ++ if (sessionData.delSessionfiles == true) ++ xml << "<option key=\"Delete Sessionfiles\" value=\"True\">" << ++ "</option>\n"; ++ else ++ xml << "<option key=\"Delete Sessionfiles\" value=\"False\">" << ++ "</option>\n"; ++ ++ + xml << "</NXClientLibSettings>\n"; + + file.close(); +Index: qtnx-0.9/qtnxsettings.cpp +=================================================================== +--- qtnx-0.9.orig/qtnxsettings.cpp 2008-10-15 14:31:27.000000000 +0200 ++++ qtnx-0.9/qtnxsettings.cpp 2008-10-15 14:31:27.000000000 +0200 +@@ -175,6 +175,7 @@ + ui_sd.proxyPass->setText(QString::fromStdString(config.proxyPass)); + + ui_sd.encryption->setChecked(config.encryption); ++ ui_sd.delSessionfiles->setChecked(config.delSessionfiles); + ui_sd.memoryCache->setValue(config.cache); + ui_sd.diskCache->setValue(config.images); + +@@ -356,6 +357,11 @@ + else + config.encryption = false; + ++ if (ui_sd.delSessionfiles->checkState() == Qt::Checked) ++ config.delSessionfiles = true; ++ else ++ config.delSessionfiles = false; ++ + config.cache = ui_sd.memoryCache->value(); + config.images = ui_sd.diskCache->value(); + +Index: qtnx-0.9/qtnxwindow.cpp +=================================================================== +--- qtnx-0.9.orig/qtnxwindow.cpp 2008-10-15 14:31:27.000000000 +0200 ++++ qtnx-0.9/qtnxwindow.cpp 2008-10-15 15:31:26.000000000 +0200 +@@ -86,6 +86,13 @@ + connect(&callback, SIGNAL(atCapacity()), this, SLOT(handleAtCapacity())); + + connect(&callback, SIGNAL(connectedSuccessfully()), this, SLOT(quit())); ++ ++ if (config.delSessionfiles) ++ { ++ cout << "delete Session files" << endl; ++ statusBar->showMessage("delete Sessionfiles"); ++ NXClientLib::deleteAllSessionfiles(); ++ } + } + + void QtNXWindow::updateLinkType(QString sessionName) +Index: qtnx-0.9/qtnxwindow.h +=================================================================== +--- qtnx-0.9.orig/qtnxwindow.h 2008-10-15 14:31:27.000000000 +0200 ++++ qtnx-0.9/qtnxwindow.h 2008-10-15 14:31:27.000000000 +0200 +@@ -24,8 +24,10 @@ + #include <QStatusBar> + #include <QTimer> + +-#include "nxclientlib.h" +-#include "nxdata.h" ++#include <nxclientlib.h> ++#include <nxdata.h> ++ ++ + #include "nxparsexml.h" + + #include "qtnxsessions.h" diff --git a/packages/qtnx/files/ssh_dnserror.patch b/packages/qtnx/files/ssh_dnserror.patch new file mode 100644 index 0000000000..b4072c7aca --- /dev/null +++ b/packages/qtnx/files/ssh_dnserror.patch @@ -0,0 +1,51 @@ +Index: qtnx-0.9/qtnxwindow.cpp +=================================================================== +--- qtnx-0.9.orig/qtnxwindow.cpp 2008-11-05 18:53:29.000000000 +0100 ++++ qtnx-0.9/qtnxwindow.cpp 2008-11-05 18:54:39.000000000 +0100 +@@ -271,6 +271,15 @@ + reinitialiseClient(); + } + ++void QtNXWindow::dnsFailed() ++{ ++ QMessageBox::critical(this, tr("DNS Lookup Failure"), ++ tr("Are you really connected to the network?"), QMessageBox::Ok, QMessageBox::NoButton, ++ QMessageBox::NoButton); ++ ++ reinitialiseClient(); ++} ++ + void QtNXWindow::handleAtCapacity() + { + QMessageBox::critical(this, tr("Server at capacity"), +@@ -381,6 +390,7 @@ + publicKey = binaryPath + "/id.key"; + #endif + ++ cout << "invoke backend" << endl; + m_NXClient->invokeNXSSH(publicKey, config.serverHost, config.encryption, "", + config.serverPort); + +@@ -602,6 +612,10 @@ + case NXCL_PROCESS_ERROR: + handleStatus(tr("An error occurred running a helper program")); + break; ++ case NXCL_DNS_ERROR: ++ handleStatus(tr("DNS error occurred")); ++ dnsFailed(); ++ break; + default: + break; + } +Index: qtnx-0.9/qtnxwindow.h +=================================================================== +--- qtnx-0.9.orig/qtnxwindow.h 2008-11-05 18:53:29.000000000 +0100 ++++ qtnx-0.9/qtnxwindow.h 2008-11-05 18:53:29.000000000 +0100 +@@ -122,6 +122,7 @@ + void resumeResumePressed(QString); + void sshContinue(QString); + void failedLogin(); ++ void dnsFailed(); + void showLogWindow(); + void quit(); + private: diff --git a/packages/qtnx/qtnx.inc b/packages/qtnx/qtnx.inc index b20339001e..8380d2b685 100644 --- a/packages/qtnx/qtnx.inc +++ b/packages/qtnx/qtnx.inc @@ -2,7 +2,7 @@ DESCRIPTION = "This a the freesource nx client, build with qt" HOMEPAGE = "http://freenx.berlios.de/" SECTION = "libs" LICENSE = "GPL" -PR = "r1" +PR = "r2" DEPENDS = "libnxcl" @@ -10,6 +10,11 @@ SRC_URI = "http://download.berlios.de/freenx/freenx-client-${PV}.tar.bz2 \ file://pro.patch;patch=1 \ file://id-path.patch;patch=1 \ file://scroll.patch;patch=1 \ + file://keymap.patch;patch=1 \ + file://dodnx.patch;patch=1 \ + file://keychooser.patch;patch=1 \ + file://sessionfiles.patch;patch=1 \ + file://ssh_dnserror.patch;patch=1 \ " S = "${WORKDIR}/freenx-client-${PV}/qtnx" |