aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Moore <ken@ixsystems.com>2016-11-17 09:48:24 -0500
committerKen Moore <ken@ixsystems.com>2016-11-17 09:48:24 -0500
commit834e242d561f727a33f19f9e62ad0c8f9f903d0d (patch)
treeb932fe7a5de23a2f659397c42c96ba508553a89d
parentAdd a general session option for whether to show the application crash notifi... (diff)
downloadlumina-834e242d561f727a33f19f9e62ad0c8f9f903d0d.tar.gz
lumina-834e242d561f727a33f19f9e62ad0c8f9f903d0d.tar.bz2
lumina-834e242d561f727a33f19f9e62ad0c8f9f903d0d.zip
Add a new page for mouse-settings in lumina-config (disabled for the moment)
-rw-r--r--src-qt5/core-utils/lumina-config/pages/getPage.h4
-rw-r--r--src-qt5/core-utils/lumina-config/pages/page_mouse.cpp65
-rw-r--r--src-qt5/core-utils/lumina-config/pages/page_mouse.h33
-rw-r--r--src-qt5/core-utils/lumina-config/pages/page_mouse.ui58
-rw-r--r--src-qt5/core-utils/lumina-config/pages/pages.pri9
5 files changed, 165 insertions, 4 deletions
diff --git a/src-qt5/core-utils/lumina-config/pages/getPage.h b/src-qt5/core-utils/lumina-config/pages/getPage.h
index fba3998b..ea0cfb00 100644
--- a/src-qt5/core-utils/lumina-config/pages/getPage.h
+++ b/src-qt5/core-utils/lumina-config/pages/getPage.h
@@ -38,7 +38,7 @@ static QList<PAGEINFO> KnownPages(){
list << PageInfo("interface-menu", QObject::tr("Menu"), QObject::tr("Menu Plugins"), "preferences-plugin",QObject::tr("Change what options are shown on the desktop context menu"), "interface", QStringList(), QStringList() << "desktop" << "menu" << "plugins" << "shortcuts");
list << PageInfo("session-locale", QObject::tr("Localization"), QObject::tr("Locale Settings"), "preferences-desktop-locale",QObject::tr("Change the default locale settings for this user"), "user", QStringList(), QStringList() << "user"<<"locale"<<"language"<<"translations");
list << PageInfo("session-options", QObject::tr("General Options"), QObject::tr("User Settings"), "configure",QObject::tr("Change basic user settings such as time/date formats"), "user", QStringList(), QStringList() << "user"<<"settings"<<"time"<<"date"<<"icon"<<"reset"<<"numlock"<<"clock");
-
+ //list << PageInfo("mouse", QObject::tr("Mouse Settings"), QObject::tr("Mouse Settings"), "input-mouse",QObject::tr("Adjust mouse settings"), "user", QStringList(), QStringList() << "user"<<"speed"<<"accel"<<"mouse");
//Now sort the items according to the translated name
QStringList names;
for(int i=0; i<list.length(); i++){ names << list[i].name; }
@@ -66,6 +66,7 @@ static QList<PAGEINFO> KnownPages(){
#include "page_session_locale.h"
#include "page_session_options.h"
#include "page_compton.h"
+#include "page_mouse.h"
static PageWidget* GetNewPage(QString id, QWidget *parent){
//Find the page that matches this "id"
@@ -82,6 +83,7 @@ static PageWidget* GetNewPage(QString id, QWidget *parent){
else if(id=="session-locale"){ page = new page_session_locale(parent); }
else if(id=="session-options"){ page = new page_session_options(parent); }
else if(id=="compton"){ page = new page_compton(parent); }
+ else if(id=="mouse"){ page = new page_mouse(parent); }
//Return the main control_panel page as the fallback/default
if(page==0){ id.clear(); page = new page_main(parent); }
page->setWhatsThis(id);
diff --git a/src-qt5/core-utils/lumina-config/pages/page_mouse.cpp b/src-qt5/core-utils/lumina-config/pages/page_mouse.cpp
new file mode 100644
index 00000000..675a8b25
--- /dev/null
+++ b/src-qt5/core-utils/lumina-config/pages/page_mouse.cpp
@@ -0,0 +1,65 @@
+//===========================================
+// Lumina Desktop Source Code
+// Copyright (c) 2016, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#include "page_mouse.h"
+#include "ui_page_mouse.h"
+#include "getPage.h"
+
+//==========
+// PUBLIC
+//==========
+page_mouse::page_mouse(QWidget *parent) : PageWidget(parent), ui(new Ui::page_mouse()){
+ ui->setupUi(this);
+ connect(ui->slider_accel, SIGNAL(valueChanged(int)), this, SLOT(accelChanged(int)) );
+ updateIcons();
+}
+
+page_mouse::~page_mouse(){
+
+}
+
+//================
+// PUBLIC SLOTS
+//================
+void page_mouse::SaveSettings(){
+
+ emit HasPendingChanges(false);
+}
+
+void page_mouse::LoadSettings(int){
+ emit HasPendingChanges(false);
+ emit ChangePageTitle( tr("Desktop Settings") );
+
+}
+
+void page_mouse::updateIcons(){
+
+}
+
+//=================
+// PRIVATE
+//=================
+
+//=================
+// PRIVATE SLOTS
+//=================
+void page_mouse::accelChanged(int val){
+ if(val<=4){
+ val = 4-val;
+ ui->label_accel->setText( QString("1/%1").arg(QString::number(val)) );
+ QProcess::startDetached("xset mouse 1/"+QString::number(val));
+ }else{
+ val = val-4;
+ if(val%2==0){
+ val = val/2;
+ ui->label_accel->setText( QString::number(val) );
+ QProcess::startDetached("xset mouse "+QString::number(val));
+ }else{
+ ui->label_accel->setText( QString::number(val)+"/2" );
+ QProcess::startDetached("xset mouse "+QString::number(val)+"/2");
+ }
+ }
+}
diff --git a/src-qt5/core-utils/lumina-config/pages/page_mouse.h b/src-qt5/core-utils/lumina-config/pages/page_mouse.h
new file mode 100644
index 00000000..f005760f
--- /dev/null
+++ b/src-qt5/core-utils/lumina-config/pages/page_mouse.h
@@ -0,0 +1,33 @@
+//===========================================
+// Lumina Desktop Source Code
+// Copyright (c) 2016, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#ifndef _LUMINA_CONFIG_PAGE_MOUSE_H
+#define _LUMINA_CONFIG_PAGE_MOUSE_H
+#include "../globals.h"
+#include "PageWidget.h"
+
+namespace Ui{
+ class page_mouse;
+};
+
+class page_mouse : public PageWidget{
+ Q_OBJECT
+public:
+ page_mouse(QWidget *parent);
+ ~page_mouse();
+
+public slots:
+ void SaveSettings();
+ void LoadSettings(int screennum);
+ void updateIcons();
+
+private:
+ Ui::page_mouse *ui;
+
+private slots:
+ void accelChanged(int val);
+};
+#endif
diff --git a/src-qt5/core-utils/lumina-config/pages/page_mouse.ui b/src-qt5/core-utils/lumina-config/pages/page_mouse.ui
new file mode 100644
index 00000000..619e38dc
--- /dev/null
+++ b/src-qt5/core-utils/lumina-config/pages/page_mouse.ui
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>page_mouse</class>
+ <widget class="QWidget" name="page_mouse">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>400</width>
+ <height>300</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Form</string>
+ </property>
+ <layout class="QFormLayout" name="formLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Mouse Acceleration</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QSlider" name="slider_accel">
+ <property name="maximum">
+ <number>20</number>
+ </property>
+ <property name="value">
+ <number>4</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="tickPosition">
+ <enum>QSlider::TicksBelow</enum>
+ </property>
+ <property name="tickInterval">
+ <number>2</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_accel">
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/src-qt5/core-utils/lumina-config/pages/pages.pri b/src-qt5/core-utils/lumina-config/pages/pages.pri
index b1db2860..b36ca7ba 100644
--- a/src-qt5/core-utils/lumina-config/pages/pages.pri
+++ b/src-qt5/core-utils/lumina-config/pages/pages.pri
@@ -13,7 +13,8 @@ HEADERS += $${PWD}/getPage.h \
$${PWD}/page_interface_panels.h \
$${PWD}/page_session_locale.h \
$${PWD}/page_session_options.h \
- $${PWD}/page_compton.h
+ $${PWD}/page_compton.h \
+ $${PWD}/page_mouse.h
SOURCES += $${PWD}/page_main.cpp \
@@ -28,7 +29,8 @@ SOURCES += $${PWD}/page_main.cpp \
$${PWD}/page_interface_panels.cpp \
$${PWD}/page_session_locale.cpp \
$${PWD}/page_session_options.cpp \
- $${PWD}/page_compton.cpp
+ $${PWD}/page_compton.cpp \
+ $${PWD}/page_mouse.cpp
FORMS += $${PWD}/page_main.ui \
@@ -43,4 +45,5 @@ FORMS += $${PWD}/page_main.ui \
$${PWD}/page_interface_panels.ui \
$${PWD}/page_session_locale.ui \
$${PWD}/page_session_options.ui \
- $${PWD}/page_compton.ui
+ $${PWD}/page_compton.ui \
+ $${PWD}/page_mouse.ui
bgstack15