[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/workspace/kcontrol/keyboard
From: Andriy Rysin <arysin () gmail ! com>
Date: 2010-09-11 13:36:09
Message-ID: 20100911133609.4CF3DAC88C () svn ! kde ! org
[Download RAW message or body]
SVN commit 1174210 by rysin:
don't set the keyboard model if it already has right value
M +5 -2 x11_helper.cpp
M +1 -1 x11_helper.h
M +5 -47 xkb_helper.cpp
--- trunk/KDE/kdebase/workspace/kcontrol/keyboard/x11_helper.cpp #1174209:1174210
@@ -221,6 +221,7 @@
return false;
}
+ if( fetchType == ALL || fetchType == LAYOUTS_ONLY ) {
QStringList layouts = names[2].split(OPTIONS_SEPARATOR);
QStringList variants = names[3].split(OPTIONS_SEPARATOR);
@@ -231,17 +232,19 @@
qDebug() << "Fetched layout groups from X server:"
<< "\tlayouts:" << xkbConfig->layouts
<< "\tvariants:" << xkbConfig->variants;
+ }
- if( fetchType == ALL ) {
+ if( fetchType == ALL || fetchType == MODEL_ONLY ) {
xkbConfig->keyboardModel = (names[1] != NULL ? names[1] : "");
qDebug() << "Fetched keyboard model from X server:" << xkbConfig->keyboardModel;
+ }
+ if( fetchType == ALL ) {
if( names.count() >= 5 ) {
QString options = (names[4] != NULL ? names[4] : "");
xkbConfig->options = options.split(OPTIONS_SEPARATOR);
qDebug() << "Fetched xkbOptions from X server:" << options;
}
-
}
XFree(prop_data);
--- trunk/KDE/kdebase/workspace/kcontrol/keyboard/x11_helper.h #1174209:1174210
@@ -112,7 +112,7 @@
static QList<LayoutUnit> getLayoutsList();
static QStringList getLayoutsListAsString(const QList<LayoutUnit>& layoutsList);
- enum FetchType { ALL, LAYOUTS_ONLY };
+ enum FetchType { ALL, LAYOUTS_ONLY, MODEL_ONLY };
static bool getGroupNames(Display* dpy, XkbConfig* xkbConfig, FetchType fetchType);
private:
--- trunk/KDE/kdebase/workspace/kcontrol/keyboard/xkb_helper.cpp #1174209:1174210
@@ -22,6 +22,7 @@
#include <QtCore/QDir>
#include <QtCore/QString>
#include <QtCore/QStringList>
+#include <QtGui/QX11Info>
#include <kglobal.h>
#include <kstandarddirs.h>
@@ -72,26 +73,17 @@
}
}
-//bool XkbHelper::initializeKeyboardLayouts()
-//{
-// getSetxkbmapExe();
-// if( ! setxkbmapNotFound ) {
-//
-// KeyboardConfig config;
-// config.load();
-//
-// return XkbHelper::initializeKeyboardLayouts(config);
-// }
-// return false;
-//}
-
bool XkbHelper::initializeKeyboardLayouts(KeyboardConfig& config)
{
QStringList setxkbmapCommandArguments;
if( ! config.keyboardModel.isEmpty() ) {
+ XkbConfig xkbConfig;
+ X11Helper::getGroupNames(QX11Info::display(), &xkbConfig, X11Helper::MODEL_ONLY);
+ if( xkbConfig.keyboardModel != config.keyboardModel ) {
setxkbmapCommandArguments.append("-model");
setxkbmapCommandArguments.append(config.keyboardModel);
}
+ }
if( config.configureLayouts ) {
QStringList layouts;
QStringList variants;
@@ -136,37 +128,3 @@
}
return false;
}
-
-//bool XkbHelper::initializeKeyboardHardware(KeyboardConfig& config)
-//{
-// int numlockState = config.numlockState;
-// if( config.numlockState != KeyboardConfig::NO_CHANGE ) {
-// //TODO:
-//// numlockx_change_numlock_state( numlockState == 0 );
-// }
-//
-// if( config.keyboardRepeat ) {
-// //TODO:
-//// set_repeatrate(config.repeatDelay, config.repeatRate);
-// }
-//
-// //TODO:
-//// clickVolume
-//}
-//
-//extern "C"
-//{
-// KDE_EXPORT void kcminit_keyboard()
-// {
-// //TODO: better check if xkb is supported?
-// getSetxkbmapExe();
-// if( ! setxkbmapNotFound ) {
-//
-// KeyboardConfig config;
-// config.load();
-//
-// KCMInit::initializeKeyboardHardware(config);
-// KCMInit::initializeKeyboardLayouts(config);
-// }
-// }
-//}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic