mirror of
https://bitbucket.org/smil3y/kde-workspace.git
synced 2025-02-23 18:32:50 +00:00
qguiplatformplugin_kde: apply the cursor theme
for when not even X11 Xfixes extension can do it (as was done by KGlobalSettings, however the difference being no check is done if it is full Katana session - it is simply assumed it is the case when the platform plugin is loaded) Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
10e08246ca
commit
39e320492d
2 changed files with 33 additions and 8 deletions
|
@ -1,10 +1,13 @@
|
||||||
project(qguiplatformplugin_kde)
|
project(qguiplatformplugin_kde)
|
||||||
|
|
||||||
set(kde_SOURCES qguiplatformplugin_kde.cpp)
|
set(kde_SOURCES qguiplatformplugin_kde.cpp)
|
||||||
|
|
||||||
kde4_add_plugin(kde ${kde_SOURCES})
|
kde4_add_plugin(kde ${kde_SOURCES})
|
||||||
|
|
||||||
target_link_libraries(kde KDE4::kio ${QT_QTGUI_LIBRARY})
|
target_link_libraries(kde KDE4::kio ${QT_QTGUI_LIBRARY})
|
||||||
|
if (X11_Xcursor_FOUND)
|
||||||
|
target_link_libraries(kde ${X11_Xcursor_LIB})
|
||||||
|
endif()
|
||||||
|
|
||||||
install(
|
install(
|
||||||
TARGETS kde LIBRARY
|
TARGETS kde LIBRARY
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "config-X11.h"
|
||||||
|
|
||||||
#include <KStandardDirs>
|
#include <KStandardDirs>
|
||||||
#include <KGlobal>
|
#include <KGlobal>
|
||||||
#include <KComponentData>
|
#include <KComponentData>
|
||||||
|
@ -38,6 +40,13 @@
|
||||||
#include <QtGui/QToolBar>
|
#include <QtGui/QToolBar>
|
||||||
#include <QtGui/QMainWindow>
|
#include <QtGui/QMainWindow>
|
||||||
#include <QtGui/QGuiPlatformPlugin>
|
#include <QtGui/QGuiPlatformPlugin>
|
||||||
|
#include <QtGui/QX11Info>
|
||||||
|
|
||||||
|
#ifdef HAVE_XCURSOR
|
||||||
|
# include <X11/Xlib.h>
|
||||||
|
# include <X11/Xcursor/Xcursor.h>
|
||||||
|
# include <fixx11h.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Map a Katie filter string into a KDE one.
|
* Map a Katie filter string into a KDE one.
|
||||||
|
@ -434,19 +443,32 @@ private slots:
|
||||||
|
|
||||||
void updateMouse()
|
void updateMouse()
|
||||||
{
|
{
|
||||||
KConfigGroup cg(KGlobal::config(), "KDE");
|
#if defined(HAVE_XCURSOR)
|
||||||
int num = cg.readEntry("CursorBlinkRate", QApplication::cursorFlashTime());
|
{
|
||||||
|
KConfig inputconfig("kcminputrc");
|
||||||
|
KConfigGroup mousegroup = inputconfig.group("Mouse");
|
||||||
|
const QByteArray cursortheme = mousegroup.readEntry("cursorTheme", QByteArray(KDE_DEFAULT_CURSOR_THEME));
|
||||||
|
const int cursorsize = mousegroup.readEntry("cursorSize", -1);
|
||||||
|
XcursorSetTheme(QX11Info::display(), cursortheme);
|
||||||
|
if (cursorsize > 0) {
|
||||||
|
XcursorSetDefaultSize(QX11Info::display(), cursorsize);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
KConfigGroup kdegroup(KGlobal::config(), "KDE");
|
||||||
|
int num = kdegroup.readEntry("CursorBlinkRate", QApplication::cursorFlashTime());
|
||||||
num = qBound(200, num, 2000);
|
num = qBound(200, num, 2000);
|
||||||
QApplication::setCursorFlashTime(num);
|
QApplication::setCursorFlashTime(num);
|
||||||
num = cg.readEntry("DoubleClickInterval", QApplication::doubleClickInterval());
|
num = kdegroup.readEntry("DoubleClickInterval", QApplication::doubleClickInterval());
|
||||||
QApplication::setDoubleClickInterval(num);
|
QApplication::setDoubleClickInterval(num);
|
||||||
num = cg.readEntry("StartDragTime", QApplication::startDragTime());
|
num = kdegroup.readEntry("StartDragTime", QApplication::startDragTime());
|
||||||
QApplication::setStartDragTime(num);
|
QApplication::setStartDragTime(num);
|
||||||
num = cg.readEntry("StartDragDist", QApplication::startDragDistance());
|
num = kdegroup.readEntry("StartDragDist", QApplication::startDragDistance());
|
||||||
QApplication::setStartDragDistance(num);
|
QApplication::setStartDragDistance(num);
|
||||||
num = cg.readEntry("WheelScrollLines", QApplication::wheelScrollLines());
|
num = kdegroup.readEntry("WheelScrollLines", QApplication::wheelScrollLines());
|
||||||
QApplication::setWheelScrollLines(num);
|
QApplication::setWheelScrollLines(num);
|
||||||
bool showIcons = cg.readEntry("ShowIconsInMenuItems", !QApplication::testAttribute(Qt::AA_DontShowIconsInMenus));
|
bool showIcons = kdegroup.readEntry("ShowIconsInMenuItems", !QApplication::testAttribute(Qt::AA_DontShowIconsInMenus));
|
||||||
QApplication::setAttribute(Qt::AA_DontShowIconsInMenus, !showIcons);
|
QApplication::setAttribute(Qt::AA_DontShowIconsInMenus, !showIcons);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Reference in a new issue