2017-12-21 11:51:56 +08:00
|
|
|
|
/*
|
|
|
|
|
* Copyright (C) 2013 ~ 2015 National University of Defense Technology(NUDT) & Kylin Ltd.
|
|
|
|
|
*
|
|
|
|
|
* Authors:
|
|
|
|
|
* Kobe Lee xiangli@ubuntukylin.com/kobe24_lixiang@126.com
|
|
|
|
|
*
|
|
|
|
|
* This program is free software; you can redistribute it and/or modify
|
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
|
|
* the Free Software Foundation; version 3.
|
|
|
|
|
*
|
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
|
*
|
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#include "touchpadwidget.h"
|
|
|
|
|
#include <QDebug>
|
|
|
|
|
#include <QLabel>
|
|
|
|
|
#include <QComboBox>
|
|
|
|
|
#include <QRadioButton>
|
|
|
|
|
#include <QButtonGroup>
|
|
|
|
|
#include <QHBoxLayout>
|
|
|
|
|
#include <QVBoxLayout>
|
|
|
|
|
|
2018-01-17 11:45:16 +08:00
|
|
|
|
TouchpadWidget::TouchpadWidget(QWidget *parent, QString cur_desktop) :
|
|
|
|
|
SettingModulePage(parent),
|
2017-12-21 11:51:56 +08:00
|
|
|
|
desktop(cur_desktop)
|
|
|
|
|
{
|
|
|
|
|
touchpad_label = new QLabel();
|
|
|
|
|
horizontal_scrolling_label = new QLabel();
|
|
|
|
|
scrollbar_type_label = new QLabel();
|
|
|
|
|
scrolling_mode_label = new QLabel();
|
|
|
|
|
touchpad_switcher = new KylinSwitcher();
|
|
|
|
|
horizontal_scrolling_switcher = new KylinSwitcher();
|
|
|
|
|
features_radio = new QRadioButton();
|
|
|
|
|
features_radio->setFocusPolicy(Qt::NoFocus);
|
|
|
|
|
// features_radio->setChecked(true);
|
|
|
|
|
features_radio->setObjectName("features_radio");
|
|
|
|
|
standard_radio = new QRadioButton();
|
|
|
|
|
standard_radio->setFocusPolicy(Qt::NoFocus);
|
|
|
|
|
// standard_radio->setChecked(false);
|
|
|
|
|
standard_radio->setObjectName("standard_radio");
|
|
|
|
|
QButtonGroup *btnGroup1 = new QButtonGroup();
|
|
|
|
|
btnGroup1->addButton(features_radio);
|
|
|
|
|
btnGroup1->addButton(standard_radio);
|
|
|
|
|
|
|
|
|
|
disable_radio = new QRadioButton();
|
|
|
|
|
disable_radio->setFocusPolicy(Qt::NoFocus);
|
|
|
|
|
disable_radio->setObjectName("disable_radio");
|
|
|
|
|
edge_radio = new QRadioButton();
|
|
|
|
|
edge_radio->setFocusPolicy(Qt::NoFocus);
|
|
|
|
|
// edge_radio->setChecked(true);
|
|
|
|
|
edge_radio->setObjectName("edge_radio");
|
|
|
|
|
two_finger_radio = new QRadioButton();
|
|
|
|
|
two_finger_radio->setFocusPolicy(Qt::NoFocus);
|
|
|
|
|
// two_finger_radio->setChecked(false);
|
|
|
|
|
two_finger_radio->setObjectName("two_finger_radio");
|
|
|
|
|
QButtonGroup *btnGroup2 = new QButtonGroup();
|
|
|
|
|
btnGroup2->addButton(disable_radio);
|
|
|
|
|
btnGroup2->addButton(edge_radio);
|
|
|
|
|
btnGroup2->addButton(two_finger_radio);
|
|
|
|
|
|
|
|
|
|
if (this->desktop == "mate" || this->desktop == "MATE" || this->desktop == "UKUI" || this->desktop == "ukui") {
|
|
|
|
|
scrollbar_type_label->hide();
|
|
|
|
|
features_radio->hide();
|
|
|
|
|
standard_radio->hide();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
touchpad_label->setFixedWidth(180);
|
|
|
|
|
horizontal_scrolling_label->setFixedWidth(180);
|
|
|
|
|
scrollbar_type_label->setFixedWidth(180);
|
|
|
|
|
scrolling_mode_label->setFixedWidth(180);
|
|
|
|
|
|
2018-01-17 11:45:16 +08:00
|
|
|
|
//20180101
|
2017-12-21 11:51:56 +08:00
|
|
|
|
//kobe1510
|
2018-01-17 11:45:16 +08:00
|
|
|
|
/*this->release = sessionproxy->get_os_release_qt();
|
2017-12-21 11:51:56 +08:00
|
|
|
|
if(this->release.endsWith("15.10-wily")) {
|
|
|
|
|
touchpad_label->hide();
|
|
|
|
|
touchpad_switcher->hide();
|
|
|
|
|
horizontal_scrolling_label->hide();
|
|
|
|
|
horizontal_scrolling_switcher->hide();
|
|
|
|
|
scrollbar_type_label->hide();
|
|
|
|
|
features_radio->hide();
|
|
|
|
|
standard_radio->hide();
|
2018-01-17 11:45:16 +08:00
|
|
|
|
}*/
|
2017-12-21 11:51:56 +08:00
|
|
|
|
|
|
|
|
|
QHBoxLayout *layout1 = new QHBoxLayout();
|
|
|
|
|
layout1->setSpacing(10);
|
|
|
|
|
layout1->addWidget(touchpad_label);
|
|
|
|
|
layout1->addWidget(touchpad_switcher);
|
|
|
|
|
layout1->addStretch();
|
|
|
|
|
QHBoxLayout *layout2 = new QHBoxLayout();
|
|
|
|
|
layout2->setSpacing(10);
|
|
|
|
|
layout2->addWidget(horizontal_scrolling_label);
|
|
|
|
|
layout2->addWidget(horizontal_scrolling_switcher);
|
|
|
|
|
layout2->addStretch();
|
|
|
|
|
QHBoxLayout *layout3 = new QHBoxLayout();
|
|
|
|
|
layout3->setSpacing(10);
|
|
|
|
|
layout3->addWidget(scrollbar_type_label);
|
|
|
|
|
layout3->addWidget(features_radio);
|
|
|
|
|
layout3->addWidget(standard_radio);
|
|
|
|
|
layout3->addStretch();
|
|
|
|
|
QHBoxLayout *layout4 = new QHBoxLayout();
|
|
|
|
|
layout4->setSpacing(10);
|
|
|
|
|
layout4->addWidget(scrolling_mode_label);
|
|
|
|
|
layout4->addWidget(disable_radio);
|
|
|
|
|
layout4->addWidget(edge_radio);
|
|
|
|
|
layout4->addWidget(two_finger_radio);
|
|
|
|
|
layout4->addStretch();
|
|
|
|
|
QVBoxLayout *layout = new QVBoxLayout();
|
|
|
|
|
layout->addLayout(layout1);
|
|
|
|
|
layout->addLayout(layout2);
|
|
|
|
|
layout->addLayout(layout3);
|
|
|
|
|
layout->addLayout(layout4);
|
|
|
|
|
layout->addStretch();
|
|
|
|
|
setLayout(layout);
|
|
|
|
|
layout->setSpacing(10);
|
|
|
|
|
layout->setContentsMargins(20, 20, 0, 0);
|
|
|
|
|
|
|
|
|
|
// splitter->addWidget(top_widget);
|
|
|
|
|
// splitter->addWidget(bottom_widget);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// QHBoxLayout *main_layout = new QHBoxLayout;
|
|
|
|
|
// main_layout->addStretch();
|
|
|
|
|
// main_layout->addWidget(splitter);
|
|
|
|
|
// main_layout->setSpacing(0);
|
|
|
|
|
// main_layout->setContentsMargins(0, 0, 0, 0);
|
|
|
|
|
// setLayout(main_layout);
|
2018-01-17 11:45:16 +08:00
|
|
|
|
// this->initSettingData();
|
2017-12-21 11:51:56 +08:00
|
|
|
|
this->setLanguage();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TouchpadWidget::~TouchpadWidget()
|
|
|
|
|
{
|
|
|
|
|
if (touchpad_label != NULL) {
|
|
|
|
|
delete touchpad_label;
|
|
|
|
|
touchpad_label = NULL;
|
|
|
|
|
}
|
|
|
|
|
if (horizontal_scrolling_label != NULL) {
|
|
|
|
|
delete horizontal_scrolling_label;
|
|
|
|
|
horizontal_scrolling_label = NULL;
|
|
|
|
|
}
|
|
|
|
|
if (scrollbar_type_label != NULL) {
|
|
|
|
|
delete scrollbar_type_label;
|
|
|
|
|
scrollbar_type_label = NULL;
|
|
|
|
|
}
|
|
|
|
|
if (scrolling_mode_label != NULL) {
|
|
|
|
|
delete scrolling_mode_label;
|
|
|
|
|
scrolling_mode_label = NULL;
|
|
|
|
|
}
|
|
|
|
|
if (touchpad_switcher != NULL) {
|
|
|
|
|
delete touchpad_switcher;
|
|
|
|
|
touchpad_switcher = NULL;
|
|
|
|
|
}
|
|
|
|
|
if (horizontal_scrolling_switcher != NULL) {
|
|
|
|
|
delete horizontal_scrolling_switcher;
|
|
|
|
|
horizontal_scrolling_switcher = NULL;
|
|
|
|
|
}
|
|
|
|
|
if (features_radio != NULL) {
|
|
|
|
|
delete features_radio;
|
|
|
|
|
features_radio = NULL;
|
|
|
|
|
}
|
|
|
|
|
if (standard_radio != NULL) {
|
|
|
|
|
delete standard_radio;
|
|
|
|
|
standard_radio = NULL;
|
|
|
|
|
}
|
|
|
|
|
if (disable_radio != NULL) {
|
|
|
|
|
delete disable_radio;
|
|
|
|
|
disable_radio = NULL;
|
|
|
|
|
}
|
|
|
|
|
if (edge_radio != NULL) {
|
|
|
|
|
delete edge_radio;
|
|
|
|
|
edge_radio = NULL;
|
|
|
|
|
}
|
|
|
|
|
if (two_finger_radio != NULL) {
|
|
|
|
|
delete two_finger_radio;
|
|
|
|
|
two_finger_radio = NULL;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2018-01-17 11:45:16 +08:00
|
|
|
|
QString TouchpadWidget::settingModuleName()
|
|
|
|
|
{
|
|
|
|
|
return "TouchPadPage";
|
|
|
|
|
}
|
|
|
|
|
|
2017-12-21 11:51:56 +08:00
|
|
|
|
void TouchpadWidget::setLanguage() {
|
|
|
|
|
// title_label->setText(tr("Touchpad settings"));
|
|
|
|
|
// description_label->setText(tr("Setting the relevant properties of your touchpad,make the operation more convenient."));
|
|
|
|
|
// back_btn->setText(tr("Back"));
|
|
|
|
|
touchpad_label->setText(tr("Enable touchpad") + ":");
|
|
|
|
|
horizontal_scrolling_label->setText(tr("Enable horizontal scrolling") + ":");
|
|
|
|
|
scrollbar_type_label->setText(tr("Scrollbar type") + ":");
|
|
|
|
|
scrolling_mode_label->setText(tr("Touchpad scrolling mode") + ":");//触摸板滚动模式
|
|
|
|
|
features_radio->setText(tr("Features Type"));
|
|
|
|
|
standard_radio->setText(tr("Standard Type"));
|
|
|
|
|
disable_radio->setText(tr("Disabled"));//禁用
|
|
|
|
|
edge_radio->setText(tr("Edge Scrolling"));//边界滚动
|
|
|
|
|
two_finger_radio->setText(tr("Two-finger Scrolling"));//双指滚动
|
|
|
|
|
}
|
|
|
|
|
|
2018-01-17 11:45:16 +08:00
|
|
|
|
void TouchpadWidget::initSettingData()
|
2017-12-21 11:51:56 +08:00
|
|
|
|
{
|
2018-01-17 11:45:16 +08:00
|
|
|
|
if (this->desktop == "mate" || this->desktop == "MATE" || this->desktop == "UKUI" || this->desktop == "ukui")
|
|
|
|
|
{
|
|
|
|
|
emit requestMateOrUnityTouchpadData(true);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
emit requestMateOrUnityTouchpadData(false);
|
|
|
|
|
}
|
|
|
|
|
|
2017-12-21 11:51:56 +08:00
|
|
|
|
|
|
|
|
|
//kobe1510
|
2018-01-17 11:45:16 +08:00
|
|
|
|
/*if(!this->release.endsWith("15.10-wily")) {
|
2017-12-21 11:51:56 +08:00
|
|
|
|
touchpad_switcher->switchedOn = sessionproxy->get_touchpad_enable_qt();
|
|
|
|
|
horizontal_scrolling_switcher->switchedOn = sessionproxy->get_touchscrolling_use_horizontal_qt();
|
|
|
|
|
QString mode_value = sessionproxy->get_scrollbars_mode_qt();
|
|
|
|
|
if(mode_value == "overlay-auto") {
|
|
|
|
|
features_radio->setChecked(true);
|
|
|
|
|
standard_radio->setChecked(false);
|
|
|
|
|
}
|
|
|
|
|
else if(mode_value == "normal") {
|
|
|
|
|
standard_radio->setChecked(true);
|
|
|
|
|
features_radio->setChecked(false);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (this->desktop == "mate" || this->desktop == "MATE" || this->desktop == "UKUI" || this->desktop == "ukui")
|
|
|
|
|
{
|
|
|
|
|
int scroll_value = sessionproxy->get_mate_touchscrolling_mode_qt();
|
|
|
|
|
if(scroll_value == 0) {
|
|
|
|
|
disable_radio->setChecked(true);
|
|
|
|
|
edge_radio->setChecked(false);
|
|
|
|
|
two_finger_radio->setChecked(false);
|
|
|
|
|
}
|
|
|
|
|
else if(scroll_value == 1) {
|
|
|
|
|
edge_radio->setChecked(true);
|
|
|
|
|
disable_radio->setChecked(false);
|
|
|
|
|
two_finger_radio->setChecked(false);
|
|
|
|
|
}
|
|
|
|
|
else if(scroll_value == 2) {
|
|
|
|
|
two_finger_radio->setChecked(true);
|
|
|
|
|
disable_radio->setChecked(false);
|
|
|
|
|
edge_radio->setChecked(false);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
QString scroll_value = sessionproxy->get_touchscrolling_mode_qt();
|
|
|
|
|
if(scroll_value == "disabled") {
|
|
|
|
|
disable_radio->setChecked(true);
|
|
|
|
|
edge_radio->setChecked(false);
|
|
|
|
|
two_finger_radio->setChecked(false);
|
|
|
|
|
}
|
|
|
|
|
else if(scroll_value == "edge-scrolling") {
|
|
|
|
|
edge_radio->setChecked(true);
|
|
|
|
|
disable_radio->setChecked(false);
|
|
|
|
|
two_finger_radio->setChecked(false);
|
|
|
|
|
}
|
|
|
|
|
else if(scroll_value == "two-finger-scrolling") {
|
|
|
|
|
two_finger_radio->setChecked(true);
|
|
|
|
|
disable_radio->setChecked(false);
|
|
|
|
|
edge_radio->setChecked(false);
|
|
|
|
|
}
|
2018-01-17 11:45:16 +08:00
|
|
|
|
}*/
|
|
|
|
|
|
2017-12-21 11:51:56 +08:00
|
|
|
|
this->initConnect();
|
|
|
|
|
}
|
|
|
|
|
|
2018-01-17 11:45:16 +08:00
|
|
|
|
void TouchpadWidget::onSendTouchPadValue(bool touchpadEnable, bool touchscrollingHorizontal, const QString &mode_value, int scroll_int_value, const QString &scroll_string_value)
|
|
|
|
|
{
|
|
|
|
|
touchpad_switcher->switchedOn = touchpadEnable;
|
|
|
|
|
horizontal_scrolling_switcher->switchedOn = touchscrollingHorizontal;
|
|
|
|
|
if(mode_value == "overlay-auto") {
|
|
|
|
|
features_radio->setChecked(true);
|
|
|
|
|
standard_radio->setChecked(false);
|
|
|
|
|
}
|
|
|
|
|
else if(mode_value == "normal") {
|
|
|
|
|
standard_radio->setChecked(true);
|
|
|
|
|
features_radio->setChecked(false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (this->desktop == "mate" || this->desktop == "MATE" || this->desktop == "UKUI" || this->desktop == "ukui")
|
|
|
|
|
{
|
|
|
|
|
if(scroll_int_value == 0) {
|
|
|
|
|
disable_radio->setChecked(true);
|
|
|
|
|
edge_radio->setChecked(false);
|
|
|
|
|
two_finger_radio->setChecked(false);
|
|
|
|
|
}
|
|
|
|
|
else if(scroll_int_value == 1) {
|
|
|
|
|
edge_radio->setChecked(true);
|
|
|
|
|
disable_radio->setChecked(false);
|
|
|
|
|
two_finger_radio->setChecked(false);
|
|
|
|
|
}
|
|
|
|
|
else if(scroll_int_value == 2) {
|
|
|
|
|
two_finger_radio->setChecked(true);
|
|
|
|
|
disable_radio->setChecked(false);
|
|
|
|
|
edge_radio->setChecked(false);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if(scroll_string_value == "disabled") {
|
|
|
|
|
disable_radio->setChecked(true);
|
|
|
|
|
edge_radio->setChecked(false);
|
|
|
|
|
two_finger_radio->setChecked(false);
|
|
|
|
|
}
|
|
|
|
|
else if(scroll_string_value == "edge-scrolling") {
|
|
|
|
|
edge_radio->setChecked(true);
|
|
|
|
|
disable_radio->setChecked(false);
|
|
|
|
|
two_finger_radio->setChecked(false);
|
|
|
|
|
}
|
|
|
|
|
else if(scroll_string_value == "two-finger-scrolling") {
|
|
|
|
|
two_finger_radio->setChecked(true);
|
|
|
|
|
disable_radio->setChecked(false);
|
|
|
|
|
edge_radio->setChecked(false);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-12-21 11:51:56 +08:00
|
|
|
|
void TouchpadWidget::initConnect() {
|
|
|
|
|
// connect(back_btn, SIGNAL(clicked()), this, SIGNAL(showSettingMainWidget()));
|
|
|
|
|
connect(touchpad_switcher, SIGNAL(clicked()), this, SLOT(setTouchpad()));
|
|
|
|
|
connect(horizontal_scrolling_switcher, SIGNAL(clicked()), this, SLOT(setHorizontalScrolling()));
|
|
|
|
|
connect(features_radio, SIGNAL(clicked(/*bool*/)), this, SLOT(setRadioButtonRowStatus(/*bool*/)));
|
|
|
|
|
connect(standard_radio, SIGNAL(clicked(/*bool*/)), this, SLOT(setRadioButtonRowStatus(/*bool*/)));
|
|
|
|
|
connect(disable_radio, SIGNAL(clicked(/*bool*/)), this, SLOT(setRadioButtonRowStatus(/*bool*/)));
|
|
|
|
|
connect(edge_radio, SIGNAL(clicked(/*bool*/)), this, SLOT(setRadioButtonRowStatus(/*bool*/)));
|
|
|
|
|
connect(two_finger_radio, SIGNAL(clicked(/*bool*/)), this, SLOT(setRadioButtonRowStatus(/*bool*/)));
|
|
|
|
|
|
2018-01-17 11:45:16 +08:00
|
|
|
|
// connect(sessionproxy, SIGNAL(string_value_notify(QString, QString)), this, SLOT(touchpadwidget_notify_string(QString, QString)));
|
|
|
|
|
// connect(sessionproxy, SIGNAL(bool_value_notify(QString, bool)), this, SLOT(touchpadwidget_notify_bool(QString, bool)));
|
|
|
|
|
// connect(sessionproxy, SIGNAL(int_value_notify(QString, int)), this, SLOT(touchpadwidget_notify_int(QString, int)));
|
2017-12-21 11:51:56 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void TouchpadWidget::touchpadwidget_notify_string(QString key, QString value)
|
|
|
|
|
{
|
|
|
|
|
if (key == "scroll-method") {
|
|
|
|
|
if(value == "disabled") {
|
|
|
|
|
disable_radio->setChecked(true);
|
|
|
|
|
edge_radio->setChecked(false);
|
|
|
|
|
two_finger_radio->setChecked(false);
|
|
|
|
|
}
|
|
|
|
|
else if(value == "edge-scrolling") {
|
|
|
|
|
edge_radio->setChecked(true);
|
|
|
|
|
disable_radio->setChecked(false);
|
|
|
|
|
two_finger_radio->setChecked(false);
|
|
|
|
|
}
|
|
|
|
|
else if(value == "two-finger-scrolling") {
|
|
|
|
|
two_finger_radio->setChecked(true);
|
|
|
|
|
disable_radio->setChecked(false);
|
|
|
|
|
edge_radio->setChecked(false);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (key == "scrollbar-mode") {
|
|
|
|
|
if(value == "overlay-auto") {
|
|
|
|
|
features_radio->setChecked(true);
|
|
|
|
|
standard_radio->setChecked(false);
|
|
|
|
|
}
|
|
|
|
|
else if(value == "normal") {
|
|
|
|
|
standard_radio->setChecked(true);
|
|
|
|
|
features_radio->setChecked(false);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void TouchpadWidget::touchpadwidget_notify_bool(QString key, bool value)
|
|
|
|
|
{
|
|
|
|
|
if (key == "touchpad-enabled") {
|
|
|
|
|
touchpad_switcher->switchedOn = value;
|
|
|
|
|
}
|
|
|
|
|
else if (key == "horiz-scroll-enabled") {
|
|
|
|
|
horizontal_scrolling_switcher->switchedOn = value;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void TouchpadWidget::touchpadwidget_notify_int(QString key, int value)
|
|
|
|
|
{
|
|
|
|
|
if (key == "scroll-method") {
|
|
|
|
|
if(value == 0) {
|
|
|
|
|
disable_radio->setChecked(true);
|
|
|
|
|
edge_radio->setChecked(false);
|
|
|
|
|
two_finger_radio->setChecked(false);
|
|
|
|
|
}
|
|
|
|
|
else if(value == 1) {
|
|
|
|
|
edge_radio->setChecked(true);
|
|
|
|
|
disable_radio->setChecked(false);
|
|
|
|
|
two_finger_radio->setChecked(false);
|
|
|
|
|
}
|
|
|
|
|
else if(value == 2) {
|
|
|
|
|
two_finger_radio->setChecked(true);
|
|
|
|
|
disable_radio->setChecked(false);
|
|
|
|
|
edge_radio->setChecked(false);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void TouchpadWidget::setTouchpad()
|
|
|
|
|
{
|
2018-01-17 11:45:16 +08:00
|
|
|
|
emit resetTouchpad(touchpad_switcher->switchedOn);
|
|
|
|
|
// sessionproxy->set_touchpad_enable_qt(touchpad_switcher->switchedOn);
|
2017-12-21 11:51:56 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void TouchpadWidget::setHorizontalScrolling()
|
|
|
|
|
{
|
2018-01-17 11:45:16 +08:00
|
|
|
|
emit resetHorizontalScrolling(horizontal_scrolling_switcher->switchedOn);
|
|
|
|
|
// sessionproxy->set_touchscrolling_use_horizontal_qt(horizontal_scrolling_switcher->switchedOn);
|
2017-12-21 11:51:56 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void TouchpadWidget::setRadioButtonRowStatus(/*bool status*/)
|
|
|
|
|
{
|
|
|
|
|
QObject *obj = sender(); //返回发出信号的对象,用QObject类型接收
|
|
|
|
|
QRadioButton* pbtn = qobject_cast<QRadioButton*>(obj);
|
|
|
|
|
QString obj_name = pbtn->objectName();
|
|
|
|
|
if(obj_name == "features_radio")
|
|
|
|
|
{
|
2018-01-17 11:45:16 +08:00
|
|
|
|
emit setScrollbarOverlayOrLegacyMode(true);
|
|
|
|
|
// sessionproxy->set_scrollbars_mode_overlay_qt();
|
2017-12-21 11:51:56 +08:00
|
|
|
|
}
|
|
|
|
|
else if(obj_name == "standard_radio")
|
|
|
|
|
{
|
2018-01-17 11:45:16 +08:00
|
|
|
|
emit setScrollbarOverlayOrLegacyMode(false);
|
|
|
|
|
// sessionproxy->set_scrollbars_mode_legacy_qt();
|
2017-12-21 11:51:56 +08:00
|
|
|
|
}
|
|
|
|
|
else if(obj_name == "disable_radio")
|
|
|
|
|
{
|
|
|
|
|
if (this->desktop == "mate" || this->desktop == "MATE" || this->desktop == "UKUI" || this->desktop == "ukui")
|
2018-01-17 11:45:16 +08:00
|
|
|
|
emit setMateTouchscrollingMode(0);
|
|
|
|
|
// sessionproxy->set_mate_touchscrolling_mode_qt(0);
|
2017-12-21 11:51:56 +08:00
|
|
|
|
else {
|
2018-01-17 11:45:16 +08:00
|
|
|
|
emit setUnityTouchscrollingMode(0);
|
|
|
|
|
// sessionproxy->set_touchscrolling_mode_disabled_qt();
|
2017-12-21 11:51:56 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if(obj_name == "edge_radio")
|
|
|
|
|
{
|
|
|
|
|
if (this->desktop == "mate" || this->desktop == "MATE" || this->desktop == "UKUI" || this->desktop == "ukui")
|
2018-01-17 11:45:16 +08:00
|
|
|
|
emit setMateTouchscrollingMode(1);
|
|
|
|
|
// sessionproxy->set_mate_touchscrolling_mode_qt(1);
|
2017-12-21 11:51:56 +08:00
|
|
|
|
else {
|
2018-01-17 11:45:16 +08:00
|
|
|
|
emit setUnityTouchscrollingMode(1);
|
|
|
|
|
// sessionproxy->set_touchscrolling_mode_edge_qt();
|
2017-12-21 11:51:56 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if(obj_name == "two_finger_radio")
|
|
|
|
|
{
|
|
|
|
|
if (this->desktop == "mate" || this->desktop == "MATE" || this->desktop == "UKUI" || this->desktop == "ukui")
|
2018-01-17 11:45:16 +08:00
|
|
|
|
emit setMateTouchscrollingMode(2);
|
|
|
|
|
// sessionproxy->set_mate_touchscrolling_mode_qt(2);
|
2017-12-21 11:51:56 +08:00
|
|
|
|
else {
|
2018-01-17 11:45:16 +08:00
|
|
|
|
emit setUnityTouchscrollingMode(2);
|
|
|
|
|
// sessionproxy->set_touchscrolling_mode_twofinger_qt();
|
2017-12-21 11:51:56 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|