Add mythread

This commit is contained in:
balloonflower 2018-02-09 10:49:40 +08:00
parent d230c24648
commit cf24b5949c
17 changed files with 358 additions and 189 deletions

51
component/mythread.cpp Normal file
View File

@ -0,0 +1,51 @@
/*
* Copyright (C) 2013 ~ 2018 National University of Defense Technology(NUDT) & Tianjin 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 "mythread.h"
#include <QProcess>
#include <QEventLoop>
#include <QDebug>
MyThread::MyThread(QWidget *parent, QString command)
{
this->m_command = command;
}
void MyThread::run()
{
QEventLoop eventloop;
QProcess process;
connect(&process, SIGNAL(finished(int)), &eventloop, SLOT(quit()));
process.start(this->m_command);
eventloop.exec();
QString re = process.readAll();
if (!re.contains("Failure")) {
this->m_result = true;
}
else {
this->m_result = false;
}
}
bool MyThread::getCommandRunResult()
{
return this->m_result;
}

35
component/mythread.h Normal file
View File

@ -0,0 +1,35 @@
/*
* Copyright (C) 2013 ~ 2018 National University of Defense Technology(NUDT) & Tianjin 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 <QWidget>
#include <QThread>
class MyThread : public QThread
{
Q_OBJECT
public:
explicit MyThread(QWidget *parent = 0, QString command = "");
void run();
bool getCommandRunResult();
private:
QString m_command;
bool m_result;
};

View File

@ -40,10 +40,12 @@ SessionDispatcher::SessionDispatcher(QObject *parent)
// thread = new KThread(this); // thread = new KThread(this);
/*
//kobe //kobe
check_thread = new KThread(this); check_thread = new KThread(this);
scan_thread = new KThread(this); scan_thread = new KThread(this);
onekey_scan_thread = new KThread(this); onekey_scan_thread = new KThread(this);
*/
QObject::connect(sessioniface, SIGNAL(display_scan_process(QString)), this, SLOT(handler_scan_process(QString))); QObject::connect(sessioniface, SIGNAL(display_scan_process(QString)), this, SLOT(handler_scan_process(QString)));
QObject::connect(sessioniface, SIGNAL(scan_complete(QString)), this, SLOT(handler_scan_complete(QString))); QObject::connect(sessioniface, SIGNAL(scan_complete(QString)), this, SLOT(handler_scan_complete(QString)));
@ -65,7 +67,7 @@ SessionDispatcher::SessionDispatcher(QObject *parent)
} }
SessionDispatcher::~SessionDispatcher() { SessionDispatcher::~SessionDispatcher() {
check_thread->terminate(); /*check_thread->terminate();
check_thread->wait(); check_thread->wait();
if(check_thread != NULL) { if(check_thread != NULL) {
delete check_thread; delete check_thread;
@ -82,7 +84,7 @@ SessionDispatcher::~SessionDispatcher() {
if(onekey_scan_thread != NULL) { if(onekey_scan_thread != NULL) {
delete onekey_scan_thread; delete onekey_scan_thread;
onekey_scan_thread = NULL; onekey_scan_thread = NULL;
} }*/
// thread->terminate(); // thread->terminate();
@ -99,7 +101,8 @@ SessionDispatcher::~SessionDispatcher() {
} }
//dbus服务退出 //dbus服务退出
void SessionDispatcher::exit_qt() { void SessionDispatcher::exit_qt()
{
sessioniface->call("exit"); sessioniface->call("exit");
} }
@ -109,7 +112,8 @@ QString SessionDispatcher::get_os_release_qt()
return reply.value(); return reply.value();
} }
bool SessionDispatcher::submit_uk_pingback() { bool SessionDispatcher::submit_uk_pingback()
{
QDBusReply<bool> reply = sessioniface->call("submit_uk_pingback", qApp->applicationVersion()); QDBusReply<bool> reply = sessioniface->call("submit_uk_pingback", qApp->applicationVersion());
return reply.value(); return reply.value();
} }
@ -120,11 +124,11 @@ QStringList SessionDispatcher::checkNewVersion()
return reply.value(); return reply.value();
} }
bool SessionDispatcher::start_check_source_useable_qt() void SessionDispatcher::start_check_source_useable_qt()
{ {
// QDBusReply<bool> reply = sessioniface->call("start_check_source_useable"); sessioniface->call("start_check_source_useable");
// return reply.value();
if (check_thread->isRunning()) { /*if (check_thread->isRunning()) {
qDebug() << "check_thread is running......"; qDebug() << "check_thread is running......";
} }
else { else {
@ -134,7 +138,7 @@ bool SessionDispatcher::start_check_source_useable_qt()
check_thread->start(); check_thread->start();
// qDebug() << "check_thread is ready to run......"; // qDebug() << "check_thread is ready to run......";
} }
return true; return true;*/
} }
void SessionDispatcher::runApp(QString pkgname) void SessionDispatcher::runApp(QString pkgname)
@ -209,7 +213,8 @@ void SessionDispatcher::handlerScanCleanerError(QString status)
//// } //// }
//} //}
bool SessionDispatcher::judge_power_is_exists_qt() { bool SessionDispatcher::judge_power_is_exists_qt()
{
QDBusReply<bool> reply = sessioniface->call("judge_power_is_exists"); QDBusReply<bool> reply = sessioniface->call("judge_power_is_exists");
return reply.value(); return reply.value();
} }
@ -242,52 +247,63 @@ QMap<QString, QVariant> SessionDispatcher::read_battery_info_qt()
} }
} }
void SessionDispatcher::open_folder_qt(QString path) { void SessionDispatcher::open_folder_qt(QString path)
{
sessioniface->call("open_folder", path); sessioniface->call("open_folder", path);
} }
void SessionDispatcher::check_user_qt() { void SessionDispatcher::check_user_qt()
{
// sessioniface->call("check_user"); // sessioniface->call("check_user");
} }
//弹出登录框 //弹出登录框
void SessionDispatcher::popup_login_dialog() { void SessionDispatcher::popup_login_dialog()
{
//add ubuntukylin sso //add ubuntukylin sso
// sessioniface->call("slot_do_login_account"); // sessioniface->call("slot_do_login_account");
} }
void SessionDispatcher::popup_register_dialog() { void SessionDispatcher::popup_register_dialog()
{
//add ubuntukylin sso //add ubuntukylin sso
// sessioniface->call("slot_do_register"); // sessioniface->call("slot_do_register");
} }
//退出登录 //退出登录
void SessionDispatcher::logout_ubuntukylin_account() { void SessionDispatcher::logout_ubuntukylin_account()
{
//add ubuntukylin sso //add ubuntukylin sso
// sessioniface->call("slot_do_logout"); // sessioniface->call("slot_do_logout");
} }
void SessionDispatcher::handlerYoukerID(QString displayName, QString emailAddress) { void SessionDispatcher::handlerYoukerID(QString displayName, QString emailAddress)
{
emit this->ssoSuccessSignal(displayName, emailAddress); emit this->ssoSuccessSignal(displayName, emailAddress);
} }
void SessionDispatcher::handlerLogoutSuccess() { void SessionDispatcher::handlerLogoutSuccess()
{
emit this->ssoLoginLogoutSignal(true); emit this->ssoLoginLogoutSignal(true);
} }
void SessionDispatcher::handlerLoginFail() { void SessionDispatcher::handlerLoginFail()
{
emit this->ssoLoginLogoutSignal(false); emit this->ssoLoginLogoutSignal(false);
} }
void SessionDispatcher::handler_scan_complete(QString msg) { void SessionDispatcher::handler_scan_complete(QString msg)
{
emit finishScanWork(msg); emit finishScanWork(msg);
} }
void SessionDispatcher::handler_scan_process(QString msg) { void SessionDispatcher::handler_scan_process(QString msg)
{
emit isScanning(msg); emit isScanning(msg);
} }
void SessionDispatcher::handler_total_data_transmit(QString flag, QString msg) { void SessionDispatcher::handler_total_data_transmit(QString flag, QString msg)
{
emit tellScanResult(flag, msg); emit tellScanResult(flag, msg);
} }
@ -296,12 +312,17 @@ void SessionDispatcher::handler_total_data_transmit(QString flag, QString msg) {
// return locale; // return locale;
//} //}
void SessionDispatcher::onekey_scan_function_qt(QStringList selectedList) { void SessionDispatcher::onekey_scan_function_qt(QStringList selectedList)
{
// QMap<QString, QVariant> data; // QMap<QString, QVariant> data;
// thread->initValues(data, selectedList, sessioniface, "onekey_scan_function"); // thread->initValues(data, selectedList, sessioniface, "onekey_scan_function");
// thread->start(); // thread->start();
if (scan_thread->isRunning()) {
sessioniface->call("onekey_scan_function", selectedList);
/*if (scan_thread->isRunning()) {
qDebug() << "onekey_scan_thread is running......"; qDebug() << "onekey_scan_thread is running......";
} }
else { else {
@ -309,15 +330,14 @@ void SessionDispatcher::onekey_scan_function_qt(QStringList selectedList) {
QMap<QString, QVariant> data; QMap<QString, QVariant> data;
onekey_scan_thread->initValues(data, selectedList, sessioniface, "onekey_scan_function"); onekey_scan_thread->initValues(data, selectedList, sessioniface, "onekey_scan_function");
onekey_scan_thread->start(); onekey_scan_thread->start();
} }*/
} }
void SessionDispatcher::scanSystemCleanerItems(QMap<QString, QVariant> data) void SessionDispatcher::scanSystemCleanerItems(QMap<QString, QVariant> data)
{ {
// QStringList tmp; sessioniface->call("get_scan_result", data);
// thread->initValues(data, tmp, sessioniface, "get_scan_result");
// thread->start(); /*if (scan_thread->isRunning()) {
if (scan_thread->isRunning()) {
qDebug() << "scan_thread is running......"; qDebug() << "scan_thread is running......";
} }
else { else {
@ -332,10 +352,11 @@ void SessionDispatcher::scanSystemCleanerItems(QMap<QString, QVariant> data)
// et.start(); // et.start();
// while(et.elapsed()<300) // while(et.elapsed()<300)
// QCoreApplication::processEvents(); // QCoreApplication::processEvents();
} }*/
} }
QString SessionDispatcher::getHomePath() { QString SessionDispatcher::getHomePath()
{
QString homepath = QDir::homePath(); QString homepath = QDir::homePath();
return homepath; return homepath;
} }
@ -369,62 +390,74 @@ QMap<QString, QVariant> SessionDispatcher::get_system_message_qt()
} }
/*-----------------------------desktop of beauty-----------------------------*/ /*-----------------------------desktop of beauty-----------------------------*/
bool SessionDispatcher::set_show_desktop_icons_qt(bool flag) { bool SessionDispatcher::set_show_desktop_icons_qt(bool flag)
{
QDBusReply<bool> reply = sessioniface->call("set_show_desktop_icons", flag); QDBusReply<bool> reply = sessioniface->call("set_show_desktop_icons", flag);
return reply.value(); return reply.value();
} }
bool SessionDispatcher::get_show_desktop_icons_qt() { bool SessionDispatcher::get_show_desktop_icons_qt()
{
QDBusReply<bool> reply = sessioniface->call("get_show_desktop_icons"); QDBusReply<bool> reply = sessioniface->call("get_show_desktop_icons");
return reply.value(); return reply.value();
} }
bool SessionDispatcher::set_show_computer_qt(bool flag) { bool SessionDispatcher::set_show_computer_qt(bool flag)
{
QDBusReply<bool> reply = sessioniface->call("set_show_computer", flag); QDBusReply<bool> reply = sessioniface->call("set_show_computer", flag);
return reply.value(); return reply.value();
} }
bool SessionDispatcher::get_show_computer_qt() { bool SessionDispatcher::get_show_computer_qt()
{
QDBusReply<bool> reply = sessioniface->call("get_show_computer"); QDBusReply<bool> reply = sessioniface->call("get_show_computer");
return reply.value(); return reply.value();
} }
bool SessionDispatcher::set_show_homefolder_qt(bool flag) { bool SessionDispatcher::set_show_homefolder_qt(bool flag)
{
QDBusReply<bool> reply = sessioniface->call("set_show_homefolder", flag); QDBusReply<bool> reply = sessioniface->call("set_show_homefolder", flag);
return reply.value(); return reply.value();
} }
bool SessionDispatcher::get_show_homefolder_qt() { bool SessionDispatcher::get_show_homefolder_qt()
{
QDBusReply<bool> reply = sessioniface->call("get_show_homefolder"); QDBusReply<bool> reply = sessioniface->call("get_show_homefolder");
return reply.value(); return reply.value();
} }
bool SessionDispatcher::set_show_network_qt(bool flag) { bool SessionDispatcher::set_show_network_qt(bool flag)
{
QDBusReply<bool> reply = sessioniface->call("set_show_network", flag); QDBusReply<bool> reply = sessioniface->call("set_show_network", flag);
return reply.value(); return reply.value();
} }
bool SessionDispatcher::get_show_network_qt() { bool SessionDispatcher::get_show_network_qt()
{
QDBusReply<bool> reply = sessioniface->call("get_show_network"); QDBusReply<bool> reply = sessioniface->call("get_show_network");
return reply.value(); return reply.value();
} }
bool SessionDispatcher::set_show_trash_qt(bool flag) { bool SessionDispatcher::set_show_trash_qt(bool flag)
{
QDBusReply<bool> reply = sessioniface->call("set_show_trash", flag); QDBusReply<bool> reply = sessioniface->call("set_show_trash", flag);
return reply.value(); return reply.value();
} }
bool SessionDispatcher::get_show_trash_qt() { bool SessionDispatcher::get_show_trash_qt()
{
QDBusReply<bool> reply = sessioniface->call("get_show_trash"); QDBusReply<bool> reply = sessioniface->call("get_show_trash");
return reply.value(); return reply.value();
} }
bool SessionDispatcher::set_show_devices_qt(bool flag) { bool SessionDispatcher::set_show_devices_qt(bool flag)
{
QDBusReply<bool> reply = sessioniface->call("set_show_devices", flag); QDBusReply<bool> reply = sessioniface->call("set_show_devices", flag);
return reply.value(); return reply.value();
} }
bool SessionDispatcher::get_show_devices_qt() { bool SessionDispatcher::get_show_devices_qt()
{
QDBusReply<bool> reply = sessioniface->call("get_show_devices"); QDBusReply<bool> reply = sessioniface->call("get_show_devices");
return reply.value(); return reply.value();
} }
@ -493,35 +526,41 @@ bool SessionDispatcher::get_show_devices_qt() {
// sessioniface->call("set_default_launcher_have_showdesktopicon"); // sessioniface->call("set_default_launcher_have_showdesktopicon");
//} //}
bool SessionDispatcher::set_launcher_autohide_qt(bool flag) { bool SessionDispatcher::set_launcher_autohide_qt(bool flag)
{
QDBusReply<bool> reply = sessioniface->call("set_launcher_autohide", flag); QDBusReply<bool> reply = sessioniface->call("set_launcher_autohide", flag);
return reply.value(); return reply.value();
// return true; // return true;
} }
bool SessionDispatcher::get_launcher_autohide_qt() { bool SessionDispatcher::get_launcher_autohide_qt()
{
QDBusReply<bool> reply = sessioniface->call("get_launcher_autohide"); QDBusReply<bool> reply = sessioniface->call("get_launcher_autohide");
return reply.value(); return reply.value();
// return true; // return true;
} }
bool SessionDispatcher::set_launcher_icon_size_qt(int num) { bool SessionDispatcher::set_launcher_icon_size_qt(int num)
{
QDBusReply<bool> reply = sessioniface->call("set_launcher_icon_size", num); QDBusReply<bool> reply = sessioniface->call("set_launcher_icon_size", num);
return reply.value(); return reply.value();
} }
int SessionDispatcher::get_launcher_icon_size_qt() { int SessionDispatcher::get_launcher_icon_size_qt()
{
QDBusReply<int> reply = sessioniface->call("get_launcher_icon_size"); QDBusReply<int> reply = sessioniface->call("get_launcher_icon_size");
return reply.value(); return reply.value();
// return 32; // return 32;
} }
bool SessionDispatcher::set_launcher_have_showdesktopicon_qt(bool flag) { bool SessionDispatcher::set_launcher_have_showdesktopicon_qt(bool flag)
{
QDBusReply<bool> reply = sessioniface->call("set_launcher_have_showdesktopicon", flag); QDBusReply<bool> reply = sessioniface->call("set_launcher_have_showdesktopicon", flag);
return reply.value(); return reply.value();
// return true; // return true;
} }
bool SessionDispatcher::get_launcher_have_showdesktopicon_qt() { bool SessionDispatcher::get_launcher_have_showdesktopicon_qt()
{
QDBusReply<bool> reply = sessioniface->call("get_launcher_have_showdesktopicon"); QDBusReply<bool> reply = sessioniface->call("get_launcher_have_showdesktopicon");
return reply.value(); return reply.value();
// return true; // return true;

View File

@ -24,7 +24,7 @@
#include <QtDBus> #include <QtDBus>
#include <QDBusInterface> #include <QDBusInterface>
#include <QDBusConnection> #include <QDBusConnection>
#include "kthread.h" //#include "kthread.h"
class SessionDispatcher : public QObject class SessionDispatcher : public QObject
{ {
@ -89,7 +89,7 @@ public:
bool set_show_devices_qt(bool flag); bool set_show_devices_qt(bool flag);
bool get_show_devices_qt(); bool get_show_devices_qt();
bool start_check_source_useable_qt(); void start_check_source_useable_qt();
// Q_INVOKABLE bool get_show_cinnamon_desktop_icons_qt(); // Q_INVOKABLE bool get_show_cinnamon_desktop_icons_qt();
// Q_INVOKABLE bool set_show_cinnamon_desktop_icons_qt(bool flag); // Q_INVOKABLE bool set_show_cinnamon_desktop_icons_qt(bool flag);
// Q_INVOKABLE bool get_show_cinnamon_computer_qt(); // Q_INVOKABLE bool get_show_cinnamon_computer_qt();
@ -354,9 +354,9 @@ public slots:
private: private:
QDBusInterface *sessioniface; QDBusInterface *sessioniface;
KThread *check_thread; /*KThread *check_thread;
KThread *scan_thread; KThread *scan_thread;
KThread *onekey_scan_thread; KThread *onekey_scan_thread;*/
}; };
#endif // SESSIONDISPATCHER_H #endif // SESSIONDISPATCHER_H

View File

@ -19,7 +19,9 @@
#include "youkersystemdbus.h" #include "youkersystemdbus.h"
#include <QDebug> #include <QDebug>
#include <QDBusReply>
#include <QMap> #include <QMap>
#include <QDir>
SystemDispatcher::SystemDispatcher(QObject *parent) SystemDispatcher::SystemDispatcher(QObject *parent)
: QObject(parent) : QObject(parent)
@ -48,13 +50,12 @@ SystemDispatcher::SystemDispatcher(QObject *parent)
// emit this->dbusInitFinished(); // emit this->dbusInitFinished();
thread = new KThread(this); /*thread = new KThread(this);
clean_thread = new KThread(this);*/
clean_thread = new KThread(this);
} }
SystemDispatcher::~SystemDispatcher() { SystemDispatcher::~SystemDispatcher() {
thread->terminate(); /*thread->terminate();
thread->wait(); thread->wait();
if(thread != NULL) { if(thread != NULL) {
delete thread; delete thread;
@ -66,7 +67,7 @@ SystemDispatcher::~SystemDispatcher() {
if(clean_thread != NULL) { if(clean_thread != NULL) {
delete clean_thread; delete clean_thread;
clean_thread = NULL; clean_thread = NULL;
} }*/
this->exit_qt(); this->exit_qt();
if (systemiface != NULL) { if (systemiface != NULL) {
@ -112,7 +113,7 @@ QString SystemDispatcher::get_current_cpufreq_scaling_governer_qt()
bool SystemDispatcher::update_myself() bool SystemDispatcher::update_myself()
{ {
QStringList tmp; /*QStringList tmp;
QMap<QString, QVariant> data; QMap<QString, QVariant> data;
QEventLoop q; QEventLoop q;
KThread *apt_thread = new KThread(this); KThread *apt_thread = new KThread(this);
@ -122,7 +123,7 @@ bool SystemDispatcher::update_myself()
q.exec(); q.exec();
if(apt_thread->isFinished()){ if(apt_thread->isFinished()){
q.quit(); q.quit();
} }*/
return true; return true;
// QDBusReply<bool> reply = systemiface->call("install", "kylin-assistant"); // QDBusReply<bool> reply = systemiface->call("install", "kylin-assistant");
// return reply.value(); // return reply.value();
@ -130,7 +131,7 @@ bool SystemDispatcher::update_myself()
bool SystemDispatcher::update_source() bool SystemDispatcher::update_source()
{ {
QStringList tmp; /*QStringList tmp;
QMap<QString, QVariant> data; QMap<QString, QVariant> data;
QEventLoop q; QEventLoop q;
KThread *source_thread = new KThread(this); KThread *source_thread = new KThread(this);
@ -140,7 +141,7 @@ bool SystemDispatcher::update_source()
q.exec(); q.exec();
if(source_thread->isFinished()){ if(source_thread->isFinished()){
q.quit(); q.quit();
} }*/
return true; return true;
} }
@ -158,7 +159,10 @@ bool SystemDispatcher::delete_file_qt(QString filename)
void SystemDispatcher::cleanAllSelectItems(QMap<QString, QVariant> selectMap) void SystemDispatcher::cleanAllSelectItems(QMap<QString, QVariant> selectMap)
{ {
if (clean_thread->isRunning()) { systemiface->call("remove_select_items", selectMap);
/*if (clean_thread->isRunning()) {
qDebug() << "clean_thread is running......"; qDebug() << "clean_thread is running......";
} }
else { else {
@ -179,7 +183,7 @@ void SystemDispatcher::cleanAllSelectItems(QMap<QString, QVariant> selectMap)
// QElapsedTimer et; // QElapsedTimer et;
// et.start(); // et.start();
// while(et.elapsed()<300) // while(et.elapsed()<300)
// QCoreApplication::processEvents(); // QCoreApplication::processEvents();*/
} }
//void SystemDispatcher::kill_root_process_qt(QString pid) { //void SystemDispatcher::kill_root_process_qt(QString pid) {
@ -491,8 +495,13 @@ QString SystemDispatcher::delete_plymouth_qt(QString plymouthName) {
return reply.value(); return reply.value();
} }
void SystemDispatcher::clean_by_main_one_key_qt() { void SystemDispatcher::clean_by_main_one_key_qt()
if (thread->isRunning()) { {
QStringList argList;
argList << "1" << "1" << "1";
systemiface->call("onekey_clean_crufts_function", argList);
/*if (thread->isRunning()) {
qDebug() << "onekey_clean_thread is running......"; qDebug() << "onekey_clean_thread is running......";
} }
else { else {
@ -502,5 +511,5 @@ void SystemDispatcher::clean_by_main_one_key_qt() {
QMap<QString, QVariant> data; QMap<QString, QVariant> data;
thread->initValues(data, argList, systemiface, "onekey_clean_crufts_function"); thread->initValues(data, argList, systemiface, "onekey_clean_crufts_function");
thread->start(); thread->start();
} }*/
} }

View File

@ -23,7 +23,7 @@
#include <QObject> #include <QObject>
#include <QDBusInterface> #include <QDBusInterface>
#include <QDBusConnection> #include <QDBusConnection>
#include "kthread.h" //#include "kthread.h"
class SystemDispatcher : public QObject class SystemDispatcher : public QObject
{ {
@ -117,8 +117,8 @@ public slots:
private: private:
QDBusInterface *systemiface; QDBusInterface *systemiface;
KThread *thread; // KThread *thread;
KThread *clean_thread; // KThread *clean_thread;
}; };
#endif // YOUKERSYSTEMDBUS_H #endif // YOUKERSYSTEMDBUS_H

View File

@ -41,8 +41,8 @@
ShredDialog::ShredDialog(QWidget *parent) : ShredDialog::ShredDialog(QWidget *parent) :
QWidget(parent) QWidget(parent)
{ {
// setWindowFlags(Qt::FramelessWindowHint); setWindowFlags(Qt::FramelessWindowHint);
this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint);//Attention: Qt::WindowCloseButtonHint make showMinimized() valid // this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint);//Attention: Qt::WindowCloseButtonHint make showMinimized() valid
this->setStyleSheet("QDialog{border: 1px solid white;border-radius:1px;background-color: #ffffff;}"); this->setStyleSheet("QDialog{border: 1px solid white;border-radius:1px;background-color: #ffffff;}");
this->setWindowIcon(QIcon(":/res/kylin-assistant.png")); this->setWindowIcon(QIcon(":/res/kylin-assistant.png"));
this->setFixedSize(500, 471); this->setFixedSize(500, 471);

View File

@ -62,10 +62,10 @@ StartupWidget::StartupWidget(QWidget *parent)
qRegisterMetaType<StartupDataPtrList>(); qRegisterMetaType<StartupDataPtrList>();
qRegisterMetaType<QList<StartupData>>(); qRegisterMetaType<QList<StartupData>>();
this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint);//Attention: Qt::WindowCloseButtonHint make showMinimized() valid // this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint);//Attention: Qt::WindowCloseButtonHint make showMinimized() valid
this->setAutoFillBackground(true); this->setAutoFillBackground(true);
this->setMouseTracking(true); this->setMouseTracking(true);
// this->setWindowFlags(this->windowFlags() | Qt::FramelessWindowHint | Qt::WindowCloseButtonHint);//去掉边框 this->setWindowFlags(/*this->windowFlags() | */Qt::FramelessWindowHint | Qt::WindowCloseButtonHint);//去掉边框
// this->setAttribute(Qt::WA_TranslucentBackground);//背景透明 // this->setAttribute(Qt::WA_TranslucentBackground);//背景透明
// this->setAutoFillBackground(true); // this->setAutoFillBackground(true);
// this->setMouseTracking(true); // this->setMouseTracking(true);

View File

@ -39,8 +39,8 @@ const int spacing = 8;
PropertiesDialog::PropertiesDialog(QWidget *parent, pid_t processId) : QDialog(parent) PropertiesDialog::PropertiesDialog(QWidget *parent, pid_t processId) : QDialog(parent)
, mousePressed(false) , mousePressed(false)
{ {
// this->setWindowFlags(this->windowFlags() | Qt::FramelessWindowHint/* | Qt::WindowCloseButtonHint*/| Qt::WindowStaysOnTopHint); this->setWindowFlags(this->windowFlags() | Qt::FramelessWindowHint/* | Qt::WindowCloseButtonHint*/| Qt::WindowStaysOnTopHint);
this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint);//Attention: Qt::WindowCloseButtonHint make showMinimized() valid // this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint);//Attention: Qt::WindowCloseButtonHint make showMinimized() valid
this->setAttribute(Qt::WA_TranslucentBackground); this->setAttribute(Qt::WA_TranslucentBackground);
this->setAttribute(Qt::WA_Resized, false); this->setAttribute(Qt::WA_Resized, false);

View File

@ -39,8 +39,8 @@ SystemMonitor::SystemMonitor(QWidget *parent)
// this->setWindowFlags(this->windowFlags() | Qt::FramelessWindowHint | Qt::WindowCloseButtonHint);//去掉边框 // this->setWindowFlags(this->windowFlags() | Qt::FramelessWindowHint | Qt::WindowCloseButtonHint);//去掉边框
// this->setAttribute(Qt::WA_TranslucentBackground);//背景透明 // this->setAttribute(Qt::WA_TranslucentBackground);//背景透明
// this->setWindowFlags(Qt::FramelessWindowHint); this->setWindowFlags(Qt::FramelessWindowHint);
this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint);//Attention: Qt::WindowCloseButtonHint make showMinimized() valid // this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint);//Attention: Qt::WindowCloseButtonHint make showMinimized() valid
this->setAutoFillBackground(true); this->setAutoFillBackground(true);
this->setMouseTracking(true); this->setMouseTracking(true);

View File

@ -16,8 +16,8 @@ MyDialog::MyDialog(const QString &title, const QString &message, QWidget *parent
QDialog(parent) QDialog(parent)
, mousePressed(false) , mousePressed(false)
{ {
// this->setWindowFlags(this->windowFlags() | Qt::FramelessWindowHint/* | Qt::WindowCloseButtonHint*/); this->setWindowFlags(this->windowFlags() | Qt::FramelessWindowHint/* | Qt::WindowCloseButtonHint*/);
this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint);//Attention: Qt::WindowCloseButtonHint make showMinimized() valid // this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint);//Attention: Qt::WindowCloseButtonHint make showMinimized() valid
this->setAttribute(Qt::WA_TranslucentBackground); this->setAttribute(Qt::WA_TranslucentBackground);
// this->setAttribute(Qt::WA_DeleteOnClose, false); // this->setAttribute(Qt::WA_DeleteOnClose, false);

View File

@ -21,7 +21,6 @@
#include <QVBoxLayout> #include <QVBoxLayout>
#include <QDebug> #include <QDebug>
#include "../component/utils.h" #include "../component/utils.h"
#include "../dbusproxy/youkersessiondbus.h"
CleanerWidget::CleanerWidget(QWidget *parent) : CleanerWidget::CleanerWidget(QWidget *parent) :
QWidget(parent) QWidget(parent)
@ -36,8 +35,6 @@ CleanerWidget::CleanerWidget(QWidget *parent) :
statked_widget = new QStackedWidget(this); statked_widget = new QStackedWidget(this);
p_mainwindow = NULL; p_mainwindow = NULL;
// systemProxy = NULL;
// sessionProxy = NULL;
main_widget = NULL; main_widget = NULL;
detail_widget = NULL; detail_widget = NULL;
} }
@ -50,8 +47,8 @@ CleanerWidget::~CleanerWidget()
void CleanerWidget::initUI(QString skin) void CleanerWidget::initUI(QString skin)
{ {
//20180101 //20180101
main_widget = new CleanerMainWidget(this, /*sessionProxy, */p_mainwindow, toolKits, skin); main_widget = new CleanerMainWidget(this, p_mainwindow, toolKits, skin);
detail_widget = new CleanerDetailWidget(this, /*sessionProxy, systemProxy, */p_mainwindow, toolKits ,skin); detail_widget = new CleanerDetailWidget(this, p_mainwindow, toolKits ,skin);
connect(this, SIGNAL(transCleanSignal()), detail_widget, SLOT(receiveCleanSignal())); connect(this, SIGNAL(transCleanSignal()), detail_widget, SLOT(receiveCleanSignal()));
connect(this, SIGNAL(transScanSignal()), main_widget, SLOT(receiveScanSignal())); connect(this, SIGNAL(transScanSignal()), main_widget, SLOT(receiveScanSignal()));
@ -60,10 +57,6 @@ void CleanerWidget::initUI(QString skin)
connect(detail_widget, SIGNAL(sendScanOverStatus(bool)), this, SIGNAL(tranScanOverSignal(bool))); connect(detail_widget, SIGNAL(sendScanOverStatus(bool)), this, SIGNAL(tranScanOverSignal(bool)));
connect(this, SIGNAL(clearDetailPage()), detail_widget, SLOT(CleanUIAndData())); connect(this, SIGNAL(clearDetailPage()), detail_widget, SLOT(CleanUIAndData()));
//20180101
// connect(sessionProxy, SIGNAL(tellCleanerDetailData(QStringList)), detail_widget, SLOT(showReciveData(QStringList)));
// connect(sessionProxy, SIGNAL(tellCleanerDetailStatus(QString)), detail_widget, SLOT(showReciveStatus(QString)));
statked_widget->addWidget(main_widget); statked_widget->addWidget(main_widget);
statked_widget->addWidget(detail_widget); statked_widget->addWidget(detail_widget);
@ -83,7 +76,6 @@ void CleanerWidget::initUI(QString skin)
void CleanerWidget::resetSkin(QString skin) void CleanerWidget::resetSkin(QString skin)
{ {
//20180101
if(main_widget != NULL) if(main_widget != NULL)
main_widget->resetCurrentSkin(skin); main_widget->resetCurrentSkin(skin);
if(detail_widget != NULL) if(detail_widget != NULL)

View File

@ -144,6 +144,7 @@ bool DataWorker::copyAppointedFile(QString filename)
void DataWorker::onStartOneKeyScan(const QStringList &categorys) void DataWorker::onStartOneKeyScan(const QStringList &categorys)
{ {
m_sessionInterface->onekey_scan_function_qt(categorys); m_sessionInterface->onekey_scan_function_qt(categorys);
// QCoreApplication::processEvents();
} }
//---------------clean on homepage //---------------clean on homepage
@ -157,6 +158,23 @@ void DataWorker::onStartOneKeyClean()
void DataWorker::onStartScanSystem(QMap<QString, QVariant> itemsMap) void DataWorker::onStartScanSystem(QMap<QString, QVariant> itemsMap)
{ {
m_sessionInterface->scanSystemCleanerItems(itemsMap); m_sessionInterface->scanSystemCleanerItems(itemsMap);
// QEventLoop loop;
// MyThread *t = new MyThread(0,QString("aaa"));
// connect(t, SIGNAL(finished()), &loop, SLOT(quit()));
// t->start();
// loop.exec();
// int i = t->getMyThreadResult();
// if(i == 0)//success
// {
// return true;
// }else
// {
// return false;
// }
// delete t;
} }
//-------------clean //-------------clean

View File

@ -298,16 +298,16 @@ void MainTopWidget::initActionRightContent()
scan_button->setFixedSize(182, 58); scan_button->setFixedSize(182, 58);
clean_button->setFixedSize(182, 58); clean_button->setFixedSize(182, 58);
} }
scan_button->show(); scan_button->setVisible(true);
clean_button->setFocusPolicy(Qt::NoFocus); clean_button->setFocusPolicy(Qt::NoFocus);
clean_button->setObjectName("greenButton"); clean_button->setObjectName("greenButton");
clean_button->hide(); clean_button->setVisible(false);
back_button->setFocusPolicy(Qt::NoFocus); back_button->setFocusPolicy(Qt::NoFocus);
back_button->setFixedSize(50, 30); back_button->setFixedSize(50, 30);
// back_button->setObjectName("backButton"); // back_button->setObjectName("backButton");
back_button->setObjectName("underlineButton"); back_button->setObjectName("underlineButton");
back_button->hide();//setVisible(false) back_button->setVisible(false);
m_toolRightLayout->addWidget(scan_button); m_toolRightLayout->addWidget(scan_button);
m_toolRightLayout->addWidget(clean_button); m_toolRightLayout->addWidget(clean_button);
@ -372,11 +372,11 @@ void MainTopWidget::setLanguage()
void MainTopWidget::showCleanOverStatus() void MainTopWidget::showCleanOverStatus()
{ {
loading_label->stopLoading(); loading_label->stopLoading();
scan_button->show(); scan_button->setVisible(true);
scan_button->setEnabled(true); scan_button->setEnabled(true);
clean_button->hide(); clean_button->setVisible(false);
clean_button->setEnabled(true); clean_button->setEnabled(true);
back_button->hide(); back_button->setVisible(false);
doing_label->setText(tr("Clean OK")); doing_label->setText(tr("Clean OK"));
} }
@ -475,25 +475,25 @@ void MainTopWidget::accordScanOverStatusToChange(bool status)
{ {
if (status) { if (status) {
doing_label->setText(tr("Scaning......")); doing_label->setText(tr("Scaning......"));
doing_label->hide(); doing_label->setVisible(false);
loading_label->stopLoading(); loading_label->stopLoading();
scan_button->hide(); scan_button->setVisible(false);
scan_button->setEnabled(true); scan_button->setEnabled(true);
clean_button->show(); clean_button->setVisible(true);
clean_button->setEnabled(true); clean_button->setEnabled(true);
suggest_label->show(); suggest_label->setVisible(true);
back_button->show(); back_button->setVisible(true);
} }
else { else {
doing_label->setText(tr("Scaning......")); doing_label->setText(tr("Scaning......"));
doing_label->hide(); doing_label->setVisible(false);
loading_label->stopLoading(); loading_label->stopLoading();
scan_button->hide(); scan_button->setVisible(false);
scan_button->setEnabled(true); scan_button->setEnabled(true);
clean_button->hide(); clean_button->setVisible(false);
clean_button->setEnabled(true); clean_button->setEnabled(true);
suggest_label->show(); suggest_label->setVisible(true);
back_button->show(); back_button->setVisible(true);
} }
} }
@ -521,10 +521,10 @@ void MainTopWidget::showCleanReciveError(const QString &status)
void MainTopWidget::displayAnimation() void MainTopWidget::displayAnimation()
{ {
scan_button->setEnabled(false); // scan_button->setEnabled(false);
loading_label->startLoading(); loading_label->startLoading();
suggest_label->hide(); suggest_label->setVisible(false);
doing_label->show(); doing_label->setVisible(true);
emit this->showDetailData(); emit this->showDetailData();
} }
@ -593,19 +593,19 @@ void MainTopWidget::finishScanResult(QString msg)
if (msg.isEmpty()) { if (msg.isEmpty()) {
result_label->setText(tr("No garbage.")); result_label->setText(tr("No garbage."));
scan_button->setEnabled(true); scan_button->setEnabled(true);
clean_button->hide(); clean_button->setVisible(false);
} }
else else
{ {
result_label->setText(msg); result_label->setText(msg);
clean_button->show(); clean_button->setVisible(true);
clean_button->setEnabled(true); clean_button->setEnabled(true);
} }
scanFinishTime = this->getCurrentDateTime(); scanFinishTime = this->getCurrentDateTime();
// result_label->setText(tr("The lastest scan time is ") + this->getCurrentDateTime()); // result_label->setText(tr("The lastest scan time is ") + this->getCurrentDateTime());
this->writeSafeScanDate(); this->writeSafeScanDate();
scan_button->hide(); scan_button->setVisible(false);
back_button->show(); back_button->setVisible(true);
loading_label->stopLoading(); loading_label->stopLoading();
} }
} }
@ -627,15 +627,15 @@ void MainTopWidget::getCleanResult(QString msg/*, QString flag*/)
// if(flag == "onekey") { // if(flag == "onekey") {
if (msg == "yes") {//在弹出输入密码验证时,点击了取消按钮 if (msg == "yes") {//在弹出输入密码验证时,点击了取消按钮
loading_label->stopLoading(); loading_label->stopLoading();
clean_button->show(); clean_button->setVisible(true);
clean_button->setEnabled(true); clean_button->setEnabled(true);
back_button->show(); back_button->setVisible(true);
} }
else if (msg == "no") {//在弹出输入密码验证时,输入密码,验证通过,此时让动态图片开始显示 else if (msg == "no") {//在弹出输入密码验证时,输入密码,验证通过,此时让动态图片开始显示
//show dynamic image //show dynamic image
clean_button->show(); clean_button->setVisible(true);
clean_button->setEnabled(false); clean_button->setEnabled(false);
back_button->hide(); back_button->setVisible(false);
doing_label->setText(tr("Cleaning......"));//正在清理...... doing_label->setText(tr("Cleaning......"));//正在清理......
loading_label->startLoading(); loading_label->startLoading();
} }
@ -657,11 +657,11 @@ void MainTopWidget::getCleanResult(QString msg/*, QString flag*/)
cookies.clear(); cookies.clear();
garbage.clear(); garbage.clear();
loading_label->stopLoading(); loading_label->stopLoading();
scan_button->show(); scan_button->setVisible(true);
scan_button->setEnabled(true); scan_button->setEnabled(true);
clean_button->hide(); clean_button->setVisible(false);
clean_button->setEnabled(true); clean_button->setEnabled(true);
back_button->hide(); back_button->setVisible(false);
} }
// } // }
} }
@ -733,31 +733,33 @@ void MainTopWidget::getCleaningMessage(QString type, QString status)
void MainTopWidget::displayOrgPage() void MainTopWidget::displayOrgPage()
{ {
doing_label->hide(); doing_label->setVisible(false);
back_button->hide(); back_button->setVisible(false);
// loading_label->stopLoading(); // loading_label->stopLoading();
scan_button->show(); scan_button->setVisible(true);
scan_button->setEnabled(true); scan_button->setEnabled(true);
clean_button->hide(); clean_button->setVisible(false);
suggest_label->show(); suggest_label->setVisible(true);
} }
void MainTopWidget::onStartButtonClicked() void MainTopWidget::onStartButtonClicked()
{ {
doing_label->setText(tr("Scanning......"));//正在扫描...... doing_label->setText(tr("Scanning......"));//正在扫描......
if (m_isMain) { if (m_isMain) {
scan_button->setEnabled(false); scan_button->setVisible(false);
// scan_button->setEnabled(false);
loading_label->startLoading(); loading_label->startLoading();
suggest_label->hide(); suggest_label->setVisible(false);
scan_result_label->hide(); scan_result_label->setVisible(false);
result_label->hide(); result_label->setVisible(false);
doing_label->show(); doing_label->setVisible(true);
QStringList args; QStringList args;
args << "cache" << "history" << "cookies"; args << "cache" << "history" << "cookies";
emit this->startOneKeyScan(args); emit this->startOneKeyScan(args);
} }
else { else {
scan_button->setVisible(false);
emit this->sendScanSignal(); emit this->sendScanSignal();
} }
} }
@ -765,20 +767,20 @@ void MainTopWidget::onStartButtonClicked()
void MainTopWidget::onCleanButtonClicked() void MainTopWidget::onCleanButtonClicked()
{ {
if (m_isMain) { if (m_isMain) {
clean_button->hide(); clean_button->setVisible(false);
back_button->hide(); back_button->setVisible(false);
loading_label->startLoading(); loading_label->startLoading();
suggest_label->hide(); suggest_label->setVisible(false);
scan_result_label->hide(); scan_result_label->setVisible(false);
result_label->hide(); result_label->setVisible(false);
doing_label->setText(tr("Ready to Cleanup......"));//准备清理...... doing_label->setText(tr("Ready to Cleanup......"));//准备清理......
doing_label->show(); doing_label->setVisible(true);
emit this->startOneKeyClean(); emit this->startOneKeyClean();
} }
else { else {
clean_button->hide(); clean_button->setVisible(false);
back_button->hide(); back_button->setVisible(false);
emit this->sendCleanSignal(); emit this->sendCleanSignal();
} }
} }
@ -788,24 +790,24 @@ void MainTopWidget::onEndButtonClicked()
if (m_isMain) { if (m_isMain) {
result_label->setText(tr("The lastest scan time is ") + scanFinishTime); result_label->setText(tr("The lastest scan time is ") + scanFinishTime);
loading_label->stopLoading(); loading_label->stopLoading();
scan_button->show(); scan_button->setVisible(true);
scan_button->setEnabled(true); scan_button->setEnabled(true);
clean_button->hide(); clean_button->setVisible(false);
back_button->hide(); back_button->setVisible(false);
suggest_label->show(); suggest_label->setVisible(true);
scan_result_label->hide(); scan_result_label->setVisible(false);
result_label->show(); result_label->setVisible(true);
doing_label->hide(); doing_label->setVisible(false);
} }
else { else {
doing_label->hide(); doing_label->setVisible(false);
back_button->hide(); back_button->setVisible(false);
loading_label->stopLoading(); loading_label->stopLoading();
scan_button->show(); scan_button->setVisible(true);
scan_button->setEnabled(true); scan_button->setEnabled(true);
clean_button->hide(); clean_button->setVisible(false);
// back_button->hide(); // back_button->hide();
suggest_label->show(); suggest_label->setVisible(true);
// result_label->show(); // result_label->show();
emit this->showMainData(); emit this->showMainData();
} }
@ -819,18 +821,18 @@ void MainTopWidget::receivePolicyKitSignal(bool status)
*/ */
if(status)//ok if(status)//ok
{ {
clean_button->show(); clean_button->setVisible(true);
clean_button->setEnabled(false); clean_button->setEnabled(false);
back_button->hide();//0713 back_button->setVisible(false);
scan_button->hide(); scan_button->setVisible(false);
loading_label->startLoading(); loading_label->startLoading();
suggest_label->hide(); suggest_label->setVisible(false);
doing_label->setText(tr("Ready to Cleanup......"));//准备清理...... doing_label->setText(tr("Ready to Cleanup......"));//准备清理......
doing_label->show(); doing_label->setVisible(true);
} }
else { else {
clean_button->show(); clean_button->setVisible(true);
back_button->show(); back_button->setVisible(true);
} }
} }

View File

@ -69,8 +69,11 @@ MainWindow::MainWindow(QString cur_arch, int d_count, QWidget* parent/*, Qt::Win
if(this->desktop.isEmpty()) if(this->desktop.isEmpty())
this->desktop = qgetenv("XDG_SESSION_DESKTOP"); this->desktop = qgetenv("XDG_SESSION_DESKTOP");
this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint);//Attention: Qt::WindowCloseButtonHint make showMinimized() valid //For Unity
// this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowCloseButtonHint); // this->setWindowFlags(/*Qt::Window | */Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint);//Attention: Qt::WindowCloseButtonHint make showMinimized() valid
//For UKUI and Mate
this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowCloseButtonHint);
this->setAttribute(Qt::WA_TranslucentBackground); this->setAttribute(Qt::WA_TranslucentBackground);
this->setAutoFillBackground(true); this->setAutoFillBackground(true);
this->setMouseTracking(true); this->setMouseTracking(true);
@ -277,32 +280,39 @@ void MainWindow::onInitDataFinished()
this->m_cpulist = m_dataWorker->cpuModeList(); this->m_cpulist = m_dataWorker->cpuModeList();
this->m_currentCpuMode = m_dataWorker->cpuCurrentMode(); this->m_currentCpuMode = m_dataWorker->cpuCurrentMode();
connect(m_mainTopWidget, SIGNAL(startOneKeyScan(QStringList)), m_dataWorker, SLOT(onStartOneKeyScan(QStringList)));//Qt::QueuedConnection /*
connect(m_mainTopWidget, SIGNAL(startOneKeyClean()), m_dataWorker, SLOT(onStartOneKeyClean())); Qt::AutoConnection 线线线
connect(m_dataWorker, SIGNAL(isScanning(QString)), m_mainTopWidget, SLOT(getScanResult(QString))/*, Qt::BlockingQueuedConnection*/); Qt::DirectConnection 线线
connect(m_dataWorker, SIGNAL(finishScanWork(QString)), m_mainTopWidget, SLOT(finishScanResult(QString))/*, Qt::BlockingQueuedConnection*/); Qt::QueuedConnection 线线线线
connect(m_dataWorker, SIGNAL(tellScanResult(QString,QString)) ,m_mainTopWidget, SLOT(getScanAllResult(QString,QString))/*, Qt::BlockingQueuedConnection*/); Qt::BlockingQueuedConnection Qt::QueuedConnection类似slot都被执行线
connect(m_dataWorker, SIGNAL(finishCleanWorkMain(QString)), m_mainTopWidget, SLOT(getCleanResult(QString))/*, Qt::BlockingQueuedConnection*/); */
connect(m_dataWorker, SIGNAL(finishCleanWorkMainError(QString)), m_mainTopWidget, SLOT(finishCleanError(QString))/*, Qt::BlockingQueuedConnection*/); //kobe: why does ui died ??????????????????????
connect(m_dataWorker, SIGNAL(quickCleanProcess(QString,QString)), m_mainTopWidget, SLOT(getCleaningMessage(QString,QString))/*, Qt::QueuedConnection*/); connect(m_mainTopWidget, SIGNAL(startOneKeyScan(QStringList)), m_dataWorker, SLOT(onStartOneKeyScan(QStringList))/*, Qt::QueuedConnection*/);//Qt::QueuedConnection
connect(m_mainTopWidget, SIGNAL(startOneKeyClean()), m_dataWorker, SLOT(onStartOneKeyClean())/*, Qt::BlockingQueuedConnection*/);
connect(m_dataWorker, SIGNAL(isScanning(QString)), m_mainTopWidget, SLOT(getScanResult(QString)), Qt::BlockingQueuedConnection);//Qt::BlockingQueuedConnection
connect(m_dataWorker, SIGNAL(finishScanWork(QString)), m_mainTopWidget, SLOT(finishScanResult(QString)), Qt::BlockingQueuedConnection);
connect(m_dataWorker, SIGNAL(tellScanResult(QString,QString)) ,m_mainTopWidget, SLOT(getScanAllResult(QString,QString)), Qt::BlockingQueuedConnection);
connect(m_dataWorker, SIGNAL(finishCleanWorkMain(QString)), m_mainTopWidget, SLOT(getCleanResult(QString)), Qt::BlockingQueuedConnection);
connect(m_dataWorker, SIGNAL(finishCleanWorkMainError(QString)), m_mainTopWidget, SLOT(finishCleanError(QString)), Qt::BlockingQueuedConnection);
connect(m_dataWorker, SIGNAL(quickCleanProcess(QString,QString)), m_mainTopWidget, SLOT(getCleaningMessage(QString,QString)), Qt::BlockingQueuedConnection);
connect(cleaner_action_widget, SIGNAL(showDetailData()),cleaner_widget, SLOT(displayDetailPage())); connect(cleaner_action_widget, SIGNAL(showDetailData()),cleaner_widget, SLOT(displayDetailPage()));
connect(cleaner_action_widget, SIGNAL(showMainData()),cleaner_widget, SLOT(displayMainPage())); connect(cleaner_action_widget, SIGNAL(showMainData()),cleaner_widget, SLOT(displayMainPage()));
connect(cleaner_action_widget, SIGNAL(sendCleanSignal()),cleaner_widget, SIGNAL(transCleanSignal())); connect(cleaner_action_widget, SIGNAL(sendCleanSignal()),cleaner_widget, SIGNAL(transCleanSignal()));
connect(m_dataWorker, SIGNAL(tellCleanerDetailData(QStringList)), cleaner_widget, SIGNAL(tellCleanerDetailData(QStringList))); connect(m_dataWorker, SIGNAL(tellCleanerDetailData(QStringList)), cleaner_widget, SIGNAL(tellCleanerDetailData(QStringList)), Qt::BlockingQueuedConnection);
connect(m_dataWorker, SIGNAL(tellCleanerDetailStatus(QString)), cleaner_widget, SIGNAL(tellCleanerDetailStatus(QString))); connect(m_dataWorker, SIGNAL(tellCleanerDetailStatus(QString)), cleaner_widget, SIGNAL(tellCleanerDetailStatus(QString)), Qt::BlockingQueuedConnection);
connect(m_dataWorker, SIGNAL(tellCleanerDetailStatus(QString)), cleaner_action_widget, SLOT(showCleanReciveStatus(QString))); connect(m_dataWorker, SIGNAL(tellCleanerDetailStatus(QString)), cleaner_action_widget, SLOT(showCleanReciveStatus(QString)), Qt::BlockingQueuedConnection);
connect(m_dataWorker, SIGNAL(tellCleanerDetailError(QString)), cleaner_action_widget, SLOT(showCleanReciveError(QString))); connect(m_dataWorker, SIGNAL(tellCleanerDetailError(QString)), cleaner_action_widget, SLOT(showCleanReciveError(QString)), Qt::BlockingQueuedConnection);
connect(m_dataWorker, SIGNAL(sendCleanOverSignal()), cleaner_widget, SLOT(displayMainPage())); connect(m_dataWorker, SIGNAL(sendCleanOverSignal()), cleaner_widget, SLOT(displayMainPage()));
connect(m_dataWorker, SIGNAL(sendCleanOverSignal()), cleaner_action_widget, SLOT(displayOrgPage())); connect(m_dataWorker, SIGNAL(sendCleanOverSignal()), cleaner_action_widget, SLOT(displayOrgPage()));
connect(m_dataWorker, SIGNAL(sendCleanOverSignal()), cleaner_action_widget, SLOT(showCleanOverStatus())); connect(m_dataWorker, SIGNAL(sendCleanOverSignal()), cleaner_action_widget, SLOT(showCleanOverStatus()));
connect(m_dataWorker, SIGNAL(policykitCleanSignal(bool)), cleaner_action_widget, SLOT(receivePolicyKitSignal(bool))); connect(m_dataWorker, SIGNAL(policykitCleanSignal(bool)), cleaner_action_widget, SLOT(receivePolicyKitSignal(bool)));
connect(m_dataWorker, SIGNAL(tellCleanerMainData(QStringList)), cleaner_action_widget, SLOT(showCleanerData(QStringList))); connect(m_dataWorker, SIGNAL(tellCleanerMainData(QStringList)), cleaner_action_widget, SLOT(showCleanerData(QStringList)), Qt::BlockingQueuedConnection);
connect(m_dataWorker, SIGNAL(tellCleanerMainStatus(QString, QString)), cleaner_action_widget, SLOT(showCleanerStatus(QString, QString))); connect(m_dataWorker, SIGNAL(tellCleanerMainStatus(QString, QString)), cleaner_action_widget, SLOT(showCleanerStatus(QString, QString)), Qt::BlockingQueuedConnection);
connect(m_dataWorker, SIGNAL(sendCleanErrorSignal(QString)), cleaner_action_widget, SLOT(showCleanerError(QString))); connect(m_dataWorker, SIGNAL(sendCleanErrorSignal(QString)), cleaner_action_widget, SLOT(showCleanerError(QString)), Qt::BlockingQueuedConnection);
connect(cleaner_widget, SIGNAL(startScanSystem(QMap<QString,QVariant>)), m_dataWorker, SLOT(onStartScanSystem(QMap<QString,QVariant>))); connect(cleaner_widget, SIGNAL(startScanSystem(QMap<QString,QVariant>)), m_dataWorker, SLOT(onStartScanSystem(QMap<QString,QVariant>)));
connect(cleaner_widget, SIGNAL(startCleanSystem(QMap<QString,QVariant>)), m_dataWorker, SLOT(onStartCleanSystem(QMap<QString,QVariant>))); connect(cleaner_widget, SIGNAL(startCleanSystem(QMap<QString,QVariant>)), m_dataWorker, SLOT(onStartCleanSystem(QMap<QString,QVariant>)));
@ -737,13 +747,24 @@ void MainWindow::startDbusDaemon()
{ {
// qDebug() << "mainwindow thread id=" << QThread::currentThreadId(); // qDebug() << "mainwindow thread id=" << QThread::currentThreadId();
m_dataWorker = new DataWorker(this->desktop); m_dataWorker = new DataWorker(this->desktop);
/*QThread *thread = new QThread;
m_dataWorker->moveToThread(thread);
thread->start();
connect(thread, SIGNAL(started()), m_dataWorker, SLOT(doWork()), Qt::QueuedConnection);
connect(m_dataWorker, SIGNAL(dataLoadFinished()), this, SLOT(onInitDataFinished()), Qt::QueuedConnection);
connect(thread, &QThread::finished, this, [=] {
thread->deleteLater();
qDebug() << "DataWorker thread finished......";
});*/
QThread *w_thread = ThreadPool::Instance()->createNewThread(); QThread *w_thread = ThreadPool::Instance()->createNewThread();
m_dataWorker->moveToThread(w_thread); m_dataWorker->moveToThread(w_thread);
// connect(w_thread, SIGNAL(started()), m_dataWorker, SLOT(doWork())); // connect(w_thread, SIGNAL(started()), m_dataWorker, SLOT(doWork()));
// connect(m_dataWorker, SIGNAL(dataLoadFinished()), this, SLOT(onInitDataFinished())); // connect(m_dataWorker, SIGNAL(dataLoadFinished()), this, SLOT(onInitDataFinished()));
// connect(w_thread, &QThread::finished, w_thread, &QThread::deleteLater, Qt::QueuedConnection); // connect(w_thread, &QThread::finished, w_thread, &QThread::deleteLater, Qt::QueuedConnection);
connect(w_thread, &QThread::started, m_dataWorker, &DataWorker::doWork/*, Qt::QueuedConnection*/); connect(w_thread, &QThread::started, m_dataWorker, &DataWorker::doWork/*, Qt::QueuedConnection*/);
connect(m_dataWorker, &DataWorker::dataLoadFinished, this, &MainWindow::onInitDataFinished, Qt::QueuedConnection); connect(m_dataWorker, &DataWorker::dataLoadFinished, this, &MainWindow::onInitDataFinished/*, Qt::BlockingQueuedConnection*/);
connect(w_thread, &QThread::finished, this, [=] { connect(w_thread, &QThread::finished, this, [=] {
w_thread->deleteLater(); w_thread->deleteLater();
qDebug() << "DataWorker thread finished......"; qDebug() << "DataWorker thread finished......";

View File

@ -161,7 +161,8 @@ QPushButton#blackButton:pressed{
QPushButton#underlineButton{ QPushButton#underlineButton{
/*background:transparent;*/ /*background:transparent;*/
background-color: rgba(0, 0, 0, 0); /*background-color: rgba(0, 0, 0, 0);*/
border:none;
text-decoration:underline; text-decoration:underline;
color:#cfd8dc; color:#cfd8dc;
font-family: "方正黑体_GBK"; font-family: "方正黑体_GBK";
@ -170,24 +171,26 @@ QPushButton#underlineButton{
} }
QPushButton#underlineButton:hover{ QPushButton#underlineButton:hover{
color:#ffffff; color:#ffffff;
text-decoration:underline; text-decoration:underline;
} }
QPushButton#whiteButton{ QPushButton#whiteButton{
color:#ffffff; border:none;
font-family: "方正黑体_GBK"; color:#ffffff;
font-size: 16px; font-family: "方正黑体_GBK";
text-align: center; font-size: 16px;
background:transparent; text-align: center;
/*background:transparent;*/
} }
QPushButton#checkButton{ QPushButton#checkButton{
border:none;
color:#3f96e4; color:#3f96e4;
font-family: "方正黑体_GBK"; font-family: "方正黑体_GBK";
font-size: 14px; font-size: 14px;
text-align: center; text-align: center;
background:transparent; /*background:transparent;*/
} }
QPushButton#checkButton:hover{ QPushButton#checkButton:hover{
@ -195,7 +198,7 @@ QPushButton#checkButton:hover{
font-family: "方正黑体_GBK"; font-family: "方正黑体_GBK";
font-size: 14px; font-size: 14px;
text-align: center; text-align: center;
background:transparent; /*background:transparent;*/
} }
QPushButton#checkButton:pressed{ QPushButton#checkButton:pressed{
@ -203,7 +206,7 @@ QPushButton#checkButton:pressed{
font-family: "方正黑体_GBK"; font-family: "方正黑体_GBK";
font-size: 14px; font-size: 14px;
text-align: center; text-align: center;
background:transparent; /*background:transparent;*/
} }
QPushButton#greenButton{ QPushButton#greenButton{
@ -236,7 +239,7 @@ QPushButton#backButton:pressed{
QPushButton#bottomButton{ QPushButton#bottomButton{
color:rgb(0, 120, 230); color:rgb(0, 120, 230);
background:transparent; /*background:transparent;*/
} }
QPushButton#bottomButton:hover{ QPushButton#bottomButton:hover{

View File

@ -67,6 +67,7 @@ SOURCES += main.cpp\
../component/systembutton.cpp \ ../component/systembutton.cpp \
../component/kylintitlebar.cpp \ ../component/kylintitlebar.cpp \
../component/threadpool.cpp \ ../component/threadpool.cpp \
../component/mythread.cpp \
../info/infounitwidget.cpp \ ../info/infounitwidget.cpp \
../info/infogui.cpp \ ../info/infogui.cpp \
../info/infoitemline.cpp \ ../info/infoitemline.cpp \
@ -102,7 +103,6 @@ SOURCES += main.cpp\
../dbusproxy/youkersystemdbus.cpp \ ../dbusproxy/youkersystemdbus.cpp \
../dbusproxy/youkersessiondbus.cpp \ ../dbusproxy/youkersessiondbus.cpp \
../info/devicemanager.cpp \ ../info/devicemanager.cpp \
kthread.cpp \
aboutdialog.cpp \ aboutdialog.cpp \
../cleaner/cleanlistwidget.cpp \ ../cleaner/cleanlistwidget.cpp \
../component/tipdialog.cpp \ ../component/tipdialog.cpp \
@ -133,7 +133,6 @@ HEADERS += mainwindow.h \
settingwidget.h \ settingwidget.h \
boxwidget.h \ boxwidget.h \
pluginmanager.h \ pluginmanager.h \
../component/workthread.h \
../component/plugininterface.h \ ../component/plugininterface.h \
../component/kylinlistmodel.h \ ../component/kylinlistmodel.h \
../component/utils.h \ ../component/utils.h \
@ -144,6 +143,7 @@ HEADERS += mainwindow.h \
../component/systembutton.h \ ../component/systembutton.h \
../component/kylintitlebar.h \ ../component/kylintitlebar.h \
../component/threadpool.h \ ../component/threadpool.h \
../component/mythread.h \
../info/infounitwidget.h \ ../info/infounitwidget.h \
../info/infogui.h \ ../info/infogui.h \
../info/infoitemline.h \ ../info/infoitemline.h \
@ -180,7 +180,6 @@ HEADERS += mainwindow.h \
../dbusproxy/youkersystemdbus.h \ ../dbusproxy/youkersystemdbus.h \
../dbusproxy/youkersessiondbus.h \ ../dbusproxy/youkersessiondbus.h \
../info/devicemanager.h \ ../info/devicemanager.h \
kthread.h \
aboutdialog.h \ aboutdialog.h \
../cleaner/cleanlistwidget.h \ ../cleaner/cleanlistwidget.h \
../component/tipdialog.h \ ../component/tipdialog.h \