aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src-qt5/core-utils/lumina-config/pages/page_mouse_trueos.cpp160
1 files changed, 7 insertions, 153 deletions
diff --git a/src-qt5/core-utils/lumina-config/pages/page_mouse_trueos.cpp b/src-qt5/core-utils/lumina-config/pages/page_mouse_trueos.cpp
index 63c0838e..60bc2872 100644
--- a/src-qt5/core-utils/lumina-config/pages/page_mouse_trueos.cpp
+++ b/src-qt5/core-utils/lumina-config/pages/page_mouse_trueos.cpp
@@ -8,8 +8,6 @@
#include "ui_page_mouse_trueos.h"
#include "getPage.h"
-#include <QSpinBox>
-#include <QDoubleSpinBox>
#include <QDebug>
#include <QProcess>
@@ -19,48 +17,30 @@
//==========
page_mouse_trueos::page_mouse_trueos(QWidget *parent) : PageWidget(parent), ui(new Ui::page_mouse_trueos()){
ui->setupUi(this);
-// devices = LInput::listDevices();
- //DEBUG Code
- /*qDebug() << "List Devices:";
- for(int i=0; i<devices.length(); i++){
- if(!devices[i]->isPointer()){
- ::free( devices.takeAt(i));
- i--;
- }else{
- qDebug() << "Found Pointer:" << devices[i]->devNumber();
- qDebug() << " - isExtension:" << devices[i]->isExtension();
- QList<int> props = devices[i]->listProperties();
- qDebug() << " - Properties:";
- for(int j=0; j<props.length(); j++){
- qDebug() << " --" <<devices[i]->propertyName(props[j])+" ("+QString::number(props[j])+")" <<" = " << devices[i]->getPropertyValue(props[j]);
- }
- }
- }*/
QString program = "/usr/sbin/moused";
+
ui->slider_mouseAcceleration->setRange(1,200);
ui->slider_mouseAcceleration->setValue(100);
- ui->slider_doubleClickThreshold->setRange(1,1000);
- ui->slider_doubleClickThreshold->setValue(500);
-
connect( ui->slider_mouseAcceleration, SIGNAL(valueChanged(int)), this, SLOT(setValue(double)));
realAccelValue = ( ui->slider_mouseAcceleration->value() / divisor);
realAccelValueString = QString::number(ui->slider_mouseAcceleration->value() / divisor, 'f', 2);
+
+ ui->slider_doubleClickThreshold->setRange(1,1000);
+ ui->slider_doubleClickThreshold->setValue(500);
connect( ui->slider_doubleClickThreshold, SIGNAL(valueChanged(int)), this, SLOT(setValue(double)));
realDoubleClickValue = (ui->slider_doubleClickThreshold->value());
realDoubleClickValueString = QString::number(ui->slider_doubleClickThreshold->value());
- connect( ui->button_apply, SIGNAL(clicked()), this, SLOT(updateMoused()));
+ ui->combobox_resolutionBox->setCurrentIndex(1);
+ connect(ui->combobox_resolutionBox, SIGNAL(currentIndexChanged(QString)), this, SLOT(setMouseResolution()) );
connect(ui->checkBoxHandedness, SIGNAL(toggled(bool)), this, SLOT(swapHandedness()) );
connect(ui->checkBoxTerminateDrift, SIGNAL(toggled(bool)), this, SLOT(terminateDrift()) );
- ui->combobox_resolutionBox->setCurrentIndex(1);
- connect(ui->combobox_resolutionBox, SIGNAL(currentIndexChanged(QString)), this, SLOT(setMouseResolution()) );
-
+ connect( ui->button_apply, SIGNAL(clicked()), this, SLOT(updateMoused()));
}
page_mouse_trueos::~page_mouse_trueos(){
-// for(int i=0; i<devices.length(); i++){ ::free(devices[i]); }
}
//================
@@ -74,15 +54,7 @@ void page_mouse_trueos::SaveSettings(){
void page_mouse_trueos::LoadSettings(int){
emit HasPendingChanges(false);
emit ChangePageTitle( tr("Mouse Settings") );
-
-}
-/*
-void page_mouse_trueos::updateIcons(){
- for(int i=0; i<ui->tabWidget->count(); i++){
- ui->tabWidget->setTabIcon( i, LXDG::findIcon( "input-"+ui->tabWidget->tabWhatsThis(i).section(":",0,0), "" ) );
- }
}
-*/
//=================
// PRIVATE
@@ -134,123 +106,5 @@ void page_mouse_trueos::updateMoused(){
qDebug() << "mousedargs" << mousedargs;
QProcess *moused = new QProcess(this);
moused->start(program, mousedargs);
-
-}
-
-/*
-void page_mouse_trueos::populateDeviceTree(QTreeWidget *tree, LInputDevice *device){
- QTreeWidgetItem *top = new QTreeWidgetItem(tree);
- if(device->isExtension()){
- top->setText( 0, QString(tr("Extension Device #%1")).arg(QString::number(tree->topLevelItemCount())) );
- }else{ top->setText(0, tr("Master Device")); }
- top->setWhatsThis(0, QString(device->isPointer() ? "mouse" : "keyboard")+":"+QString::number(device->devNumber()) ); //save this for later
- top->setFirstColumnSpanned(true);
- top->setExpanded(true);
- tree->addTopLevelItem(top);
- //Now add all the child properties to this item
- QList<int> props = device->listProperties();
- for(int i=0; i<props.length(); i++){
- if(device->propertyName(props[i]).toLower().contains("matrix")){ continue; } //skip this one - can not change from UI and most people will never want to anyway
- QTreeWidgetItem *tmp = new QTreeWidgetItem(top);
- tmp->setWhatsThis(0, QString::number(props[i]) );
- tmp->setText(0, device->propertyName(props[i]));
- top->addChild(tmp);
- populateDeviceItemValue(tree, tmp, device->getPropertyValue(props[i]), QString::number(device->devNumber())+":"+QString::number(props[i]) );
- }
- //Clean up the tree widget as needed
- top->sortChildren(0, Qt::AscendingOrder);
- tree->resizeColumnToContents(0);
}
-void page_mouse_trueos::populateDeviceItemValue(QTreeWidget *tree, QTreeWidgetItem *it, QVariant value, QString id){
- if(value.type()==QVariant::Int){
- //Could be a boolian - check the name for known "enable" states
- if(value.toInt() < 2 && (it->text(0).toLower().contains("enable") || it->text(0).toLower().contains("emulation") || it->text(0)==("XTEST Device") ) ){
- //Just use a checkable column within the item
- bool enabled = (value.toInt()==1);
- it->setText(1,"");
- it->setWhatsThis(1, "bool:"+id);
- it->setCheckState(1, enabled ? Qt::Checked : Qt::Unchecked);
- }else{
- //Use a QSpinBox
- QSpinBox *box = new QSpinBox();
- box->setRange(0,100);
- box->setValue( value.toInt() );
- box->setWhatsThis("int:"+id);
- tree->setItemWidget(it, 1, box);
- connect(box, SIGNAL(valueChanged(int)), this, SLOT(valueChanged()) );
- }
- }else if(value.type()==QVariant::Double){
- //Use a QDoubleSpinBox
- QDoubleSpinBox *box = new QDoubleSpinBox();
- box->setRange(0,1000);
- box->setValue( value.toInt() );
- box->setWhatsThis("double:"+id);
- tree->setItemWidget(it, 1, box);
- connect(box, SIGNAL(valueChanged(double)), this, SLOT(valueChanged()) );
-
- }else if(value.canConvert<QList<QVariant>>()){
- //Not Modifiable - just use the label in the item
- QList<QVariant> list = value.toList();
- QStringList txtList;
- for(int i=0; i<list.length(); i++){ txtList << list[i].toString(); }
- it->setText(1, txtList.join(", ") );
- it->setToolTip(1, txtList.join(", "));
- }else if( value.canConvert<QString>() ){
- //Not Modifiable - just use the label in the item
- it->setText(1, value.toString());
- }
-}
-//=================
-// PRIVATE SLOTS
-//=================
-void page_mouse_trueos::valueChanged(){
- //Now get the currently focused widget
- QWidget *foc = this->focusWidget();
- if(foc==0){ return; }
- //qDebug() << "Focus Widget:" << foc->whatsThis();
- //Now pull out the value and device/property numbers
- unsigned int dev = foc->whatsThis().section(":",1,1).toInt();
- int prop = foc->whatsThis().section(":",2,2).toInt();
- QVariant value;
- if(foc->whatsThis().startsWith("int:")){ value.setValue( static_cast<QSpinBox*>(foc)->value() ); }
- else if(foc->whatsThis().startsWith("double:")){ value.setValue( static_cast<QDoubleSpinBox*>(foc)->value() ); }
- //Now change the property for the device
- qDebug() << " - Device:" <<dev << "prop:" << prop << "value:" << value;
- for(int i=0; i<devices.length(); i++){
- if(devices[i]->devNumber() == dev){
- bool ok = devices[i]->setPropertyValue(prop, value);
- if(ok){ foc->setStyleSheet(""); }
- else{ foc->setStyleSheet("background: red"); }
- //qDebug() << " - Changed property:" << (ok ? "success" : "failure");
- break;
- }
- }
-}
-
-void page_mouse_trueos::itemClicked(QTreeWidgetItem *it, int col){
- if(col!=1){ return; } //only care about value changes
- if(it->whatsThis(1).isEmpty()){ return; }//not a checkable item
- qDebug() << "item Clicked:" << it->whatsThis(1) << it->text(0);
- //Now pull out the value and device/property numbers
- unsigned int dev = it->whatsThis(1).section(":",1,1).toInt();
- int prop = it->whatsThis(1).section(":",2,2).toInt();
- QVariant value( (it->checkState(1)==Qt::Checked) ? 1 : 0 );
- //Now change the property for the device
- qDebug() << " - Device:" <<dev << "prop:" << prop << "value:" << value;
- for(int i=0; i<devices.length(); i++){
- if(devices[i]->devNumber() == dev){
- //Since this "clicked" signal can get sent out even if the value has not changed, go ahead and make sure we have a different value first
- QVariant current = devices[i]->getPropertyValue(prop);
- //qDebug() << " - Current Value:" << current;
- if(value.toInt()!=current.toInt()){
- bool ok = devices[i]->setPropertyValue(prop, value);
- //if(ok){ foc->setStyleSheet(""); }
- //else{ foc->setStyleSheet("background: red"); }
- qDebug() << " - Changed property:" << (ok ? "success" : "failure");
- }
- break;
- }
- }
-}
-*/
bgstack15