[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [plasma-desktop/andriy/keyboard] kcms/keyboard: port UI code to kf5 (button groups)
From: Andriy Rysin <arysin () gmail ! com>
Date: 2014-10-06 16:26:16
Message-ID: E1XbB72-0004ji-Ou () scm ! kde ! org
[Download RAW message or body]
Git commit 0b60beec31e5e6c711394334f1936268fd785afd by Andriy Rysin.
Committed on 06/10/2014 at 16:23.
Pushed by rysin into branch 'andriy/keyboard'.
port UI code to kf5 (button groups)
M +25 -12 kcms/keyboard/kcmmisc.cpp
M +5 -3 kcms/keyboard/kcmmisc.h
M +6 -14 kcms/keyboard/kcmmiscwidget.ui
M +5 -3 kcms/keyboard/keyboard_hardware.cpp
M +1 -0 kcms/keyboard/xinput_helper.cpp
http://commits.kde.org/plasma-desktop/0b60beec31e5e6c711394334f1936268fd785afd
diff --git a/kcms/keyboard/kcmmisc.cpp b/kcms/keyboard/kcmmisc.cpp
index c13946e..381e4c6 100644
--- a/kcms/keyboard/kcmmisc.cpp
+++ b/kcms/keyboard/kcmmisc.cpp
@@ -32,6 +32,7 @@
#include <QX11Info>
#include <QSpinBox>
#include <QDoubleSpinBox>
+#include <QButtonGroup>
#include <klocale.h>
#include <kconfig.h>
@@ -62,15 +63,27 @@ KCMiscKeyboardWidget::KCMiscKeyboardWidget(QWidget *parent)
ui.rateSlider->setPageStep(500);
ui.rateSlider->setTickInterval(498);
- connect(ui.keyboardRepeatButtonGroup, SIGNAL(clicked()), this, SLOT(changed()));
- connect(ui.keyboardRepeatButtonGroup, SIGNAL(changed(int)), this, \
SLOT(keyboardRepeatStateChanged(int))); connect(ui.delay, SIGNAL(valueChanged(int)), this, \
SLOT(delaySpinboxChanged(int))); connect(ui.delaySlider, SIGNAL(valueChanged(int)), this, \
SLOT(delaySliderChanged(int))); connect(ui.rate, SIGNAL(valueChanged(double)), this, \
SLOT(rateSpinboxChanged(double))); connect(ui.rateSlider, SIGNAL(valueChanged(int)), this, \
SLOT(rateSliderChanged(int)));
connect(ui.click, SIGNAL(valueChanged(int)), this, SLOT(changed()));
- connect(ui.numlockButtonGroup, SIGNAL(released(int)), this, SLOT(changed()));
+
+ _numlockButtonGroup = new QButtonGroup(ui.numlockButtonGroup);
+ _numlockButtonGroup->addButton(ui.radioButton1, 0);
+ _numlockButtonGroup->addButton(ui.radioButton2, 1);
+ _numlockButtonGroup->addButton(ui.radioButton3, 2);
+
+ connect(_numlockButtonGroup, SIGNAL(buttonClicked(int)), this, SLOT(changed()));
+
+ _keyboardRepeatButtonGroup = new QButtonGroup(ui.keyboardRepeatButtonGroup);
+ _keyboardRepeatButtonGroup->addButton(ui.keyboardRepeatOnRadioButton, 0);
+ _keyboardRepeatButtonGroup->addButton(ui.keyboardRepeatOffRadioButton, 1);
+ _keyboardRepeatButtonGroup->addButton(ui.keyboardRepeatUnchangedRadioButton, 2);
+
+ connect(_keyboardRepeatButtonGroup, SIGNAL(buttonClicked(int)), this, SLOT(changed()));
+ connect(_keyboardRepeatButtonGroup, SIGNAL(buttonClicked(int)), this, \
SLOT(keyboardRepeatStateChanged(int)));
// Not sure why we need this - if XKB is not found the whole keyboard module won't be compiled
//#if !defined(HAVE_XTEST) && !defined(HAVE_XKB)
@@ -95,7 +108,7 @@ int KCMiscKeyboardWidget::getClick()
// set the slider and LCD values
void KCMiscKeyboardWidget::setRepeat(TriState keyboardRepeat, int delay_, double rate_)
{
- TriStateHelper::setTriState( ui.keyboardRepeatButtonGroup, keyboardRepeat );
+ TriStateHelper::setTriState( _keyboardRepeatButtonGroup, keyboardRepeat );
// ui.repeatBox->setChecked(r == AutoRepeatModeOn);
ui.delay->setValue(delay_);
ui.rate->setValue(rate_);
@@ -108,15 +121,15 @@ void KCMiscKeyboardWidget::setClickVolume(int v)
ui.click->setValue(v);
}
-TriState TriStateHelper::getTriState(const KButtonGroup* group)
+TriState TriStateHelper::getTriState(const QButtonGroup* group)
{
- int selected = group->selected();
+ int selected = group->checkedId();
return selected < 0 ? STATE_UNCHANGED : getTriState(selected);
}
-void TriStateHelper::setTriState(KButtonGroup* group, TriState state)
+void TriStateHelper::setTriState(QButtonGroup* group, TriState state)
{
- group->setSelected( getInt(state) );
+ group->button( getInt(state) )->click();
}
void KCMiscKeyboardWidget::load()
@@ -152,7 +165,7 @@ void KCMiscKeyboardWidget::load()
// setRepeat(kbd.global_auto_repeat, ui.delay->value(), ui.rate->value());
numlockState = TriStateHelper::getTriState(config.readEntry( "NumLock", \
TriStateHelper::getInt(STATE_UNCHANGED) ));
- TriStateHelper::setTriState( ui.numlockButtonGroup, numlockState );
+ TriStateHelper::setTriState( _numlockButtonGroup, numlockState );
ui.delay->blockSignals(false);
ui.rate->blockSignals(false);
@@ -164,8 +177,8 @@ void KCMiscKeyboardWidget::save()
KConfigGroup config(KSharedConfig::openConfig("kcminputrc", KConfig::NoGlobals), "Keyboard");
clickVolume = getClick();
- keyboardRepeat = TriStateHelper::getTriState(ui.keyboardRepeatButtonGroup);
- numlockState = TriStateHelper::getTriState(ui.numlockButtonGroup);
+ keyboardRepeat = TriStateHelper::getTriState(_keyboardRepeatButtonGroup);
+ numlockState = TriStateHelper::getTriState(_numlockButtonGroup);
config.writeEntry("ClickVolume",clickVolume);
config.writeEntry("KeyboardRepeating", TriStateHelper::getInt(keyboardRepeat));
@@ -179,7 +192,7 @@ void KCMiscKeyboardWidget::defaults()
{
setClickVolume(50);
setRepeat(STATE_ON, 660, 25);
- TriStateHelper::setTriState( ui.numlockButtonGroup, STATE_UNCHANGED );
+ TriStateHelper::setTriState( _numlockButtonGroup, STATE_UNCHANGED );
emit changed(true);
}
diff --git a/kcms/keyboard/kcmmisc.h b/kcms/keyboard/kcmmisc.h
index 411bdd2..d40c15b 100644
--- a/kcms/keyboard/kcmmisc.h
+++ b/kcms/keyboard/kcmmisc.h
@@ -27,17 +27,17 @@
#include <QString>
#include <QWidget>
+class QButtonGroup;
class Ui_KeyboardConfigWidget;
enum TriState {
STATE_ON = 0, STATE_OFF = 1, STATE_UNCHANGED = 2
};
-class KButtonGroup;
class TriStateHelper {
public:
- static void setTriState(KButtonGroup* group, TriState state);
- static TriState getTriState(const KButtonGroup* group);
+ static void setTriState(QButtonGroup* group, TriState state);
+ static TriState getTriState(const QButtonGroup* group);
static TriState getTriState(int state) { return static_cast<TriState>(state); }
static int getInt(TriState state) { return static_cast<int>(state); }
@@ -84,6 +84,8 @@ private:
enum TriState keyboardRepeat;
enum TriState numlockState;
+ QButtonGroup* _numlockButtonGroup;
+ QButtonGroup* _keyboardRepeatButtonGroup;
Ui_KeyboardConfigWidget& ui;
};
diff --git a/kcms/keyboard/kcmmiscwidget.ui b/kcms/keyboard/kcmmiscwidget.ui
index eefe235..5dd0c80 100644
--- a/kcms/keyboard/kcmmiscwidget.ui
+++ b/kcms/keyboard/kcmmiscwidget.ui
@@ -12,7 +12,7 @@
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
- <widget class="KButtonGroup" name="numlockGroupBox">
+ <widget class="QGroupBox" name="numlockGroupBox">
<property name="whatsThis">
<string>If supported, this option allows you to setup the state of NumLock after KDE \
startup.<p>You can configure NumLock to be turned on or off, or configure KDE not to set NumLock \
state.</string> </property>
@@ -21,27 +21,27 @@
</property>
<layout class="QGridLayout" name="gridLayout_7">
<item row="0" column="0">
- <widget class="KButtonGroup" name="numlockButtonGroup">
+ <widget class="QGroupBox" name="numlockButtonGroup">
<property name="flat">
<bool>true</bool>
</property>
<layout class="QGridLayout" name="gridLayout_6">
<item row="0" column="0">
- <widget class="QRadioButton" name="RadioButton1">
+ <widget class="QRadioButton" name="radioButton1">
<property name="text">
<string>T&urn on</string>
</property>
</widget>
</item>
<item row="1" column="0">
- <widget class="QRadioButton" name="RadioButton1_2">
+ <widget class="QRadioButton" name="radioButton2">
<property name="text">
<string>&Turn off</string>
</property>
</widget>
</item>
<item row="2" column="0">
- <widget class="QRadioButton" name="RadioButton1_3">
+ <widget class="QRadioButton" name="radioButton3">
<property name="text">
<string>Leave unchan&ged</string>
</property>
@@ -60,7 +60,7 @@
</property>
<layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="0">
- <widget class="KButtonGroup" name="keyboardRepeatButtonGroup">
+ <widget class="QGroupBox" name="keyboardRepeatButtonGroup">
<property name="flat">
<bool>true</bool>
</property>
@@ -310,14 +310,6 @@
</item>
</layout>
</widget>
- <customwidgets>
- <customwidget>
- <class>KButtonGroup</class>
- <extends>QGroupBox</extends>
- <header>kbuttongroup.h</header>
- <container>1</container>
- </customwidget>
- </customwidgets>
<resources/>
<connections/>
</ui>
diff --git a/kcms/keyboard/keyboard_hardware.cpp b/kcms/keyboard/keyboard_hardware.cpp
index aa86f69..a75fc29 100644
--- a/kcms/keyboard/keyboard_hardware.cpp
+++ b/kcms/keyboard/keyboard_hardware.cpp
@@ -49,11 +49,13 @@ void set_repeatrate(int delay, double rate)
XkbDescPtr xkb = XkbAllocKeyboard();
if (xkb) {
Display* dpy = QX11Info::display();
- int res = XkbGetControls(dpy, XkbRepeatKeysMask, xkb);
+ //int res =
+ XkbGetControls(dpy, XkbRepeatKeysMask, xkb);
xkb->ctrls->repeat_delay = delay;
xkb->ctrls->repeat_interval = (int)floor(1000/rate + 0.5);
- res = XkbSetControls(dpy, XkbRepeatKeysMask, xkb);
- XkbFreeKeyboard(xkb, 0, true);
+ //res =
+ XkbSetControls(dpy, XkbRepeatKeysMask, xkb);
+ XkbFreeKeyboard(xkb, 0, true);
return;
}
}
diff --git a/kcms/keyboard/xinput_helper.cpp b/kcms/keyboard/xinput_helper.cpp
index 83a8359..f15fbdf 100644
--- a/kcms/keyboard/xinput_helper.cpp
+++ b/kcms/keyboard/xinput_helper.cpp
@@ -43,6 +43,7 @@ XInputEventNotifier::XInputEventNotifier(QWidget* parent):
XEventNotifier(), //TODO: destruct properly?
xinputEventType(-1)
{
+ Q_UNUSED(parent)
}
void XInputEventNotifier::start()
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic