Hello community, here is the log from the commit of package krdc for openSUSE:Factory checked in at 2013-09-09 11:11:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/krdc (Old) and /work/SRC/openSUSE:Factory/.krdc.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "krdc" Changes: -------- --- /work/SRC/openSUSE:Factory/krdc/krdc.changes 2013-08-16 13:46:46.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.krdc.new/krdc.changes 2013-09-09 11:11:06.000000000 +0200 @@ -1,0 +2,7 @@ +Sun Sep 1 10:37:48 UTC 2013 - [email protected] + +- Update to 4.11.1 + * KDE 4.11.1 bugfix release + * See http://www.kde.org/announcements/announce-4.11.1.php + +------------------------------------------------------------------- Old: ---- krdc-4.11.0.tar.xz New: ---- krdc-4.11.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ krdc.spec ++++++ --- /var/tmp/diff_new_pack.GsoxEw/_old 2013-09-09 11:11:07.000000000 +0200 +++ /var/tmp/diff_new_pack.GsoxEw/_new 2013-09-09 11:11:07.000000000 +0200 @@ -18,16 +18,18 @@ Name: krdc BuildRequires: LibVNCServer-devel +BuildRequires: freerdp +BuildRequires: freerdp-devel BuildRequires: libkde4-devel BuildRequires: oxygen-icon-theme-large -Version: 4.11.0 +Version: 4.11.1 Release: 0 Summary: Remote Desktop Connection License: GPL-2.0+ Group: Productivity/Networking/Remote Desktop Source0: %{name}-%{version}.tar.xz BuildRoot: %{_tmppath}/%{name}-%{version}-build -Recommends: rdesktop +Requires: freerdp %kde4_runtime_requires %description @@ -49,7 +51,7 @@ %ifarch ppc ppc64 export RPM_OPT_FLAGS="%{optflags} -mminimal-toc" %endif - %cmake_kde4 -d build -- -DBUILD_EXPERIMENTAL_TUBES_SUPPORT="on" + %cmake_kde4 -d build make %install ++++++ krdc-4.11.0.tar.xz -> krdc-4.11.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/krdc-4.11.0/mainwindow.cpp new/krdc-4.11.1/mainwindow.cpp --- old/krdc-4.11.0/mainwindow.cpp 2013-07-10 01:46:12.000000000 +0200 +++ new/krdc-4.11.1/mainwindow.cpp 2013-08-28 19:16:31.000000000 +0200 @@ -43,7 +43,6 @@ #include <KActionCollection> #include <KActionMenu> #include <KComboBox> -#include <KEditToolBar> #include <KIcon> #include <KInputDialog> #include <KLineEdit> @@ -54,7 +53,6 @@ #include <KNotifyConfigWidget> #include <KPluginInfo> #include <KPushButton> -#include <KShortcutsDialog> #include <KStatusBar> #include <KToggleAction> #include <KToggleFullScreenAction> @@ -119,7 +117,7 @@ createDockWidget(); - createGUI("krdcui.rc"); + setupGUI(ToolBar | Keys | Save | Create); if (Settings::systemTrayIcon()) { m_systemTrayIcon = new SystemTrayIcon(this); @@ -136,8 +134,6 @@ if (Settings::openSessions().count() == 0) // just create a new connection tab if there are no open sessions m_tabWidget->addTab(newConnectionWidget(), i18n("New Connection")); - setAutoSaveSettings(); // e.g toolbar position, mainwindow size, ... - if (Settings::rememberSessions()) // give some time to create and show the window first QTimer::singleShot(100, this, SLOT(restoreOpenSessions())); } @@ -201,8 +197,6 @@ KStandardAction::quit(this, SLOT(quit()), actionCollection()); KStandardAction::preferences(this, SLOT(preferences()), actionCollection()); - KStandardAction::configureToolbars(this, SLOT(configureToolbars()), actionCollection()); - KStandardAction::keyBindings(this, SLOT(configureKeys()), actionCollection()); QAction *configNotifyAction = KStandardAction::configureNotifications(this, SLOT(configureNotifications()), actionCollection()); configNotifyAction->setVisible(false); m_menubarAction = KStandardAction::showMenubar(this, SLOT(showMenubar()), actionCollection()); @@ -975,18 +969,6 @@ KNotifyConfigWidget::configure(this); } -void MainWindow::configureKeys() -{ - KShortcutsDialog::configure(actionCollection()); -} - -void MainWindow::configureToolbars() -{ - KEditToolBar edit(actionCollection()); - connect(&edit, SIGNAL(newToolBarConfig()), this, SLOT(newToolbarConfig())); - edit.exec(); -} - void MainWindow::showMenubar() { if (m_menubarAction->isChecked()) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/krdc-4.11.0/mainwindow.h new/krdc-4.11.1/mainwindow.h --- old/krdc-4.11.0/mainwindow.h 2013-07-10 01:46:12.000000000 +0200 +++ new/krdc-4.11.1/mainwindow.h 2013-08-28 19:16:31.000000000 +0200 @@ -78,8 +78,6 @@ void quit(bool systemEvent = false); void preferences(); void configureNotifications(); - void configureKeys(); - void configureToolbars(); void showMenubar(); void resizeTabWidget(int w, int h); void statusChanged(RemoteView::RemoteStatus status); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/krdc-4.11.0/rdp/rdpview.cpp new/krdc-4.11.1/rdp/rdpview.cpp --- old/krdc-4.11.0/rdp/rdpview.cpp 2013-07-10 01:46:12.000000000 +0200 +++ new/krdc-4.11.1/rdp/rdpview.cpp 2013-08-28 19:16:31.000000000 +0200 @@ -110,34 +110,37 @@ { m_container->show(); - if (m_hostPreferences->walletSupport()) { - if (m_url.userName().isEmpty()) { - QString userName; - bool ok = false; - - userName = KInputDialog::getText(i18n("Enter Username"), - i18n("Please enter the username you would like to use for login."), - Settings::defaultRdpUserName(), &ok, this); + if (m_url.userName().isEmpty()) { + QString userName; + bool ok = false; + + userName = KInputDialog::getText(i18n("Enter Username"), + i18n("Please enter the username you would like to use for login."), + Settings::defaultRdpUserName(), &ok, this); - if (ok) - m_url.setUserName(userName); + if (ok) { + m_url.setUserName(userName); } + } + + if (!m_url.userName().isEmpty()) { + const bool useLdapLogin = Settings::recognizeLdapLogins() && m_url.userName().contains('\\'); + kDebug(5012) << "Is LDAP login:" << useLdapLogin << m_url.userName(); - if (!m_url.userName().isEmpty()) { - const bool useLdapLogin = Settings::recognizeLdapLogins() && m_url.userName().contains('\\'); - kDebug(5012) << "Is LDAP login:" << useLdapLogin << m_url.userName(); - QString walletPassword = readWalletPassword(useLdapLogin); - - if (!walletPassword.isNull()) - m_url.setPassword(walletPassword); - else { - KPasswordDialog dialog(this); - dialog.setPrompt(i18n("Access to the system requires a password.")); - if (dialog.exec() == KPasswordDialog::Accepted) { - m_url.setPassword(dialog.password()); + QString walletPassword = QString(); + if (m_hostPreferences->walletSupport()) { + walletPassword = readWalletPassword(useLdapLogin); + } + if (!walletPassword.isNull()) { + m_url.setPassword(walletPassword); + } else { + KPasswordDialog dialog(this); + dialog.setPrompt(i18n("Access to the system requires a password.")); + if (dialog.exec() == KPasswordDialog::Accepted) { + m_url.setPassword(dialog.password()); - if (m_hostPreferences->walletSupport()) - saveWalletPassword(dialog.password(), useLdapLogin); + if (m_hostPreferences->walletSupport()) { + saveWalletPassword(dialog.password(), useLdapLogin); } } } @@ -157,7 +160,7 @@ } arguments << "-g" << QString::number(width) + 'x' + QString::number(height); - arguments << "-k" << m_hostPreferences->keyboardLayout(); + arguments << "-k" << keymapToXfreerdp(m_hostPreferences->keyboardLayout()); if (!m_url.userName().isEmpty()) { // if username contains a domain, it needs to be set with another parameter @@ -380,4 +383,173 @@ // do nothing.. grabKeyboard seems not to be supported in QX11EmbedContainer } +QString RdpView::keymapToXfreerdp(const QString &keyboadLayout) +{ + if (keymapToXfreerdpHash.isEmpty()) { + keymapToXfreerdpHash = initKeymapToXfreerdp(); + } + return keymapToXfreerdpHash[keyboadLayout]; +} + +// list of xfreerdp --kbd-list +// this is a mapping for rdesktop comptibilty (old settings will still work) +// needs to be completed (when not in message freeze; needs new localization) +QHash<QString, QString> RdpView::initKeymapToXfreerdp() +{ + QHash<QString, QString> keymapToXfreerdpHash; + + // Keyboard Layouts + keymapToXfreerdpHash["ar"] = "0x00000401"; // Arabic (101) + // keymapToXfreerdpHash[""] = "0x00000402"; // Bulgarian + // keymapToXfreerdpHash[""] = "0x00000404"; // Chinese (Traditional) - US Keyboard + keymapToXfreerdpHash["cs"] = "0x00000405"; // Czech + keymapToXfreerdpHash["da"] = "0x00000406"; // Danish + keymapToXfreerdpHash["fo"] = "0x00000406"; // Danish, Faroese; legacy for rdesktop + keymapToXfreerdpHash["de"] = "0x00000407"; // German + // keymapToXfreerdpHash[""] = "0x00000408"; // Greek + keymapToXfreerdpHash["en-us"] = "0x00000409"; // US + keymapToXfreerdpHash["es"] = "0x0000040A"; // Spanish + keymapToXfreerdpHash["fi"] = "0x0000040B"; // Finnish + keymapToXfreerdpHash["fr"] = "0x0000040C"; // French + keymapToXfreerdpHash["he"] = "0x0000040D"; // Hebrew + keymapToXfreerdpHash["hu"] = "0x0000040E"; // Hungarian + keymapToXfreerdpHash["is"] = "0x0000040F"; // Icelandic + keymapToXfreerdpHash["it"] = "0x00000410"; // Italian + keymapToXfreerdpHash["ja"] = "0x00000411"; // Japanese + keymapToXfreerdpHash["ko"] = "0x00000412"; // Korean + keymapToXfreerdpHash["nl"] = "0x00000413"; // Dutch + keymapToXfreerdpHash["no"] = "0x00000414"; // Norwegian + keymapToXfreerdpHash["pl"] = "0x00000415"; // Polish (Programmers) + keymapToXfreerdpHash["pt-br"] = "0x00000416"; // Portuguese (Brazilian ABNT) + // keymapToXfreerdpHash[""] = "0x00000418"; // Romanian + keymapToXfreerdpHash["ru"] = "0x00000419"; // Russian + keymapToXfreerdpHash["hr"] = "0x0000041A"; // Croatian + // keymapToXfreerdpHash[""] = "0x0000041B"; // Slovak + // keymapToXfreerdpHash[""] = "0x0000041C"; // Albanian + keymapToXfreerdpHash["sv"] = "0x0000041D"; // Swedish + keymapToXfreerdpHash["th"] = "0x0000041E"; // Thai Kedmanee + keymapToXfreerdpHash["tr"] = "0x0000041F"; // Turkish Q + // keymapToXfreerdpHash[""] = "0x00000420"; // Urdu + // keymapToXfreerdpHash[""] = "0x00000422"; // Ukrainian + // keymapToXfreerdpHash[""] = "0x00000423"; // Belarusian + keymapToXfreerdpHash["sl"] = "0x00000424"; // Slovenian + keymapToXfreerdpHash["et"] = "0x00000425"; // Estonian + keymapToXfreerdpHash["lv"] = "0x00000426"; // Latvian + keymapToXfreerdpHash["lt"] = "0x00000427"; // Lithuanian IBM + // keymapToXfreerdpHash[""] = "0x00000429"; // Farsi + // keymapToXfreerdpHash[""] = "0x0000042A"; // Vietnamese + // keymapToXfreerdpHash[""] = "0x0000042B"; // Armenian Eastern + // keymapToXfreerdpHash[""] = "0x0000042C"; // Azeri Latin + keymapToXfreerdpHash["mk"] = "0x0000042F"; // FYRO Macedonian + // keymapToXfreerdpHash[""] = "0x00000437"; // Georgian + // keymapToXfreerdpHash[""] = "0x00000438"; // Faeroese + // keymapToXfreerdpHash[""] = "0x00000439"; // Devanagari - INSCRIPT + // keymapToXfreerdpHash[""] = "0x0000043A"; // Maltese 47-key + // keymapToXfreerdpHash[""] = "0x0000043B"; // Norwegian with Sami + // keymapToXfreerdpHash[""] = "0x0000043F"; // Kazakh + // keymapToXfreerdpHash[""] = "0x00000440"; // Kyrgyz Cyrillic + // keymapToXfreerdpHash[""] = "0x00000444"; // Tatar + // keymapToXfreerdpHash[""] = "0x00000445"; // Bengali + // keymapToXfreerdpHash[""] = "0x00000446"; // Punjabi + // keymapToXfreerdpHash[""] = "0x00000447"; // Gujarati + // keymapToXfreerdpHash[""] = "0x00000449"; // Tamil + // keymapToXfreerdpHash[""] = "0x0000044A"; // Telugu + // keymapToXfreerdpHash[""] = "0x0000044B"; // Kannada + // keymapToXfreerdpHash[""] = "0x0000044C"; // Malayalam + // keymapToXfreerdpHash[""] = "0x0000044E"; // Marathi + // keymapToXfreerdpHash[""] = "0x00000450"; // Mongolian Cyrillic + // keymapToXfreerdpHash[""] = "0x00000452"; // United Kingdom Extended + // keymapToXfreerdpHash[""] = "0x0000045A"; // Syriac + // keymapToXfreerdpHash[""] = "0x00000461"; // Nepali + // keymapToXfreerdpHash[""] = "0x00000463"; // Pashto + // keymapToXfreerdpHash[""] = "0x00000465"; // Divehi Phonetic + // keymapToXfreerdpHash[""] = "0x0000046E"; // Luxembourgish + // keymapToXfreerdpHash[""] = "0x00000481"; // Maori + // keymapToXfreerdpHash[""] = "0x00000804"; // Chinese (Simplified) - US Keyboard + keymapToXfreerdpHash["de-ch"] = "0x00000807"; // Swiss German + keymapToXfreerdpHash["en-gb"] = "0x00000809"; // United Kingdom + // keymapToXfreerdpHash[""] = "0x0000080A"; // Latin American + keymapToXfreerdpHash["fr-be"] = "0x0000080C"; // Belgian French + keymapToXfreerdpHash["nl-be"] = "0x00000813"; // Belgian (Period) + keymapToXfreerdpHash["pt"] = "0x00000816"; // Portuguese + // keymapToXfreerdpHash[""] = "0x0000081A"; // Serbian (Latin) + // keymapToXfreerdpHash[""] = "0x0000082C"; // Azeri Cyrillic + // keymapToXfreerdpHash[""] = "0x0000083B"; // Swedish with Sami + // keymapToXfreerdpHash[""] = "0x00000843"; // Uzbek Cyrillic + // keymapToXfreerdpHash[""] = "0x0000085D"; // Inuktitut Latin + // keymapToXfreerdpHash[""] = "0x00000C0C"; // Canadian French (legacy) + // keymapToXfreerdpHash[""] = "0x00000C1A"; // Serbian (Cyrillic) + keymapToXfreerdpHash["fr-ca"] = "0x00001009"; // Canadian French + keymapToXfreerdpHash["fr-ch"] = "0x0000100C"; // Swiss French + // keymapToXfreerdpHash[""] = "0x0000141A"; // Bosnian + // keymapToXfreerdpHash[""] = "0x00001809"; // Irish + // keymapToXfreerdpHash[""] = "0x0000201A"; // Bosnian Cyrillic + + // Keyboard Layout Variants + // keymapToXfreerdpHash[""] = "0x00010401"; // Arabic (102) + // keymapToXfreerdpHash[""] = "0x00010402"; // Bulgarian (Latin) + // keymapToXfreerdpHash[""] = "0x00010405"; // Czech (QWERTY) + // keymapToXfreerdpHash[""] = "0x00010407"; // German (IBM) + // keymapToXfreerdpHash[""] = "0x00010408"; // Greek (220) + keymapToXfreerdpHash["en-dv"] = "0x00010409"; // United States-Dvorak + // keymapToXfreerdpHash[""] = "0x0001040A"; // Spanish Variation + // keymapToXfreerdpHash[""] = "0x0001040E"; // Hungarian 101-key + // keymapToXfreerdpHash[""] = "0x00010410"; // Italian (142) + // keymapToXfreerdpHash[""] = "0x00010415"; // Polish (214) + // keymapToXfreerdpHash[""] = "0x00010416"; // Portuguese (Brazilian ABNT2) + // keymapToXfreerdpHash[""] = "0x00010419"; // Russian (Typewriter) + // keymapToXfreerdpHash[""] = "0x0001041B"; // Slovak (QWERTY) + // keymapToXfreerdpHash[""] = "0x0001041E"; // Thai Pattachote + // keymapToXfreerdpHash[""] = "0x0001041F"; // Turkish F + // keymapToXfreerdpHash[""] = "0x00010426"; // Latvian (QWERTY) + // keymapToXfreerdpHash[""] = "0x00010427"; // Lithuanian + // keymapToXfreerdpHash[""] = "0x0001042B"; // Armenian Western + // keymapToXfreerdpHash[""] = "0x00010439"; // Hindi Traditional + // keymapToXfreerdpHash[""] = "0x0001043A"; // Maltese 48-key + // keymapToXfreerdpHash[""] = "0x0001043B"; // Sami Extended Norway + // keymapToXfreerdpHash[""] = "0x00010445"; // Bengali (Inscript) + // keymapToXfreerdpHash[""] = "0x0001045A"; // Syriac Phonetic + // keymapToXfreerdpHash[""] = "0x00010465"; // Divehi Typewriter + // keymapToXfreerdpHash[""] = "0x0001080C"; // Belgian (Comma) + // keymapToXfreerdpHash[""] = "0x0001083B"; // Finnish with Sami + // keymapToXfreerdpHash[""] = "0x00011009"; // Canadian Multilingual Standard + // keymapToXfreerdpHash[""] = "0x00011809"; // Gaelic + // keymapToXfreerdpHash[""] = "0x00020401"; // Arabic (102) AZERTY + // keymapToXfreerdpHash[""] = "0x00020405"; // Czech Programmers + // keymapToXfreerdpHash[""] = "0x00020408"; // Greek (319) + // keymapToXfreerdpHash[""] = "0x00020409"; // United States-International + // keymapToXfreerdpHash[""] = "0x0002041E"; // Thai Kedmanee (non-ShiftLock) + // keymapToXfreerdpHash[""] = "0x0002083B"; // Sami Extended Finland-Sweden + // keymapToXfreerdpHash[""] = "0x00030408"; // Greek (220) Latin + // keymapToXfreerdpHash[""] = "0x00030409"; // United States-Dvorak for left hand + // keymapToXfreerdpHash[""] = "0x0003041E"; // Thai Pattachote (non-ShiftLock) + // keymapToXfreerdpHash[""] = "0x00040408"; // Greek (319) Latin + // keymapToXfreerdpHash[""] = "0x00040409"; // United States-Dvorak for right hand + // keymapToXfreerdpHash[""] = "0x00050408"; // Greek Latin + // keymapToXfreerdpHash[""] = "0x00050409"; // US English Table for IBM Arabic 238_L + // keymapToXfreerdpHash[""] = "0x00060408"; // Greek Polytonic + // keymapToXfreerdpHash[""] = "0xB0000407"; // German Neo + + // Keyboard Input Method Editors (IMEs) + // keymapToXfreerdpHash[""] = "0xE0010404"; // Chinese (Traditional) - Phonetic + // keymapToXfreerdpHash[""] = "0xE0010411"; // Japanese Input System (MS-IME2002) + // keymapToXfreerdpHash[""] = "0xE0010412"; // Korean Input System (IME 2000) + // keymapToXfreerdpHash[""] = "0xE0010804"; // Chinese (Simplified) - QuanPin + // keymapToXfreerdpHash[""] = "0xE0020404"; // Chinese (Traditional) - ChangJie + // keymapToXfreerdpHash[""] = "0xE0020804"; // Chinese (Simplified) - ShuangPin + // keymapToXfreerdpHash[""] = "0xE0030404"; // Chinese (Traditional) - Quick + // keymapToXfreerdpHash[""] = "0xE0030804"; // Chinese (Simplified) - ZhengMa + // keymapToXfreerdpHash[""] = "0xE0040404"; // Chinese (Traditional) - Big5 Code + // keymapToXfreerdpHash[""] = "0xE0050404"; // Chinese (Traditional) - Array + // keymapToXfreerdpHash[""] = "0xE0050804"; // Chinese (Simplified) - NeiMa + // keymapToXfreerdpHash[""] = "0xE0060404"; // Chinese (Traditional) - DaYi + // keymapToXfreerdpHash[""] = "0xE0070404"; // Chinese (Traditional) - Unicode + // keymapToXfreerdpHash[""] = "0xE0080404"; // Chinese (Traditional) - New Phonetic + // keymapToXfreerdpHash[""] = "0xE0090404"; // Chinese (Traditional) - New ChangJie + // keymapToXfreerdpHash[""] = "0xE00E0804"; // Chinese (Traditional) - Microsoft Pinyin IME 3.0 + // keymapToXfreerdpHash[""] = "0xE00F0404"; // Chinese (Traditional) - Alphanumeric + + return keymapToXfreerdpHash; +} + #include "rdpview.moc" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/krdc-4.11.0/rdp/rdpview.h new/krdc-4.11.1/rdp/rdpview.h --- old/krdc-4.11.0/rdp/rdpview.h 2013-07-10 01:46:12.000000000 +0200 +++ new/krdc-4.11.1/rdp/rdpview.h 2013-08-28 19:16:31.000000000 +0200 @@ -71,6 +71,9 @@ bool eventFilter(QObject *obj, QEvent *event); private: + QString keymapToXfreerdp(const QString &keyboadLayout); + QHash<QString, QString> initKeymapToXfreerdp(); + QString m_name; QString m_user; QString m_password; @@ -90,4 +93,6 @@ void receivedStandardOutput(); // catches xfreerdp output }; +static QHash<QString, QString> keymapToXfreerdpHash; + #endif -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
