2
* Copyright (C) 2013 ~ 2014 National University of Defense Technology(NUDT) & Kylin Ltd.
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation; version 3.
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
13
* You should have received a copy of the GNU General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
16
#ifndef SESSIONDISPATCHER_H
17
#define SESSIONDISPATCHER_H
21
#include <QDBusInterface>
22
#include <QDBusConnection>
24
//#include "modaldialog.h"
25
//#include "newcharacter.h"
26
//#include "selectdialog.h"
27
//#include "httpdownload.h"
32
class SessionDispatcher : public QObject
36
explicit SessionDispatcher(QObject *parent = 0);
38
QDBusInterface *sessioniface;
39
void getAutoStartAppStatus();
40
void changeAutoStartAppStatus(QString appName);
44
void scanSystemCleanerItems(QMap<QString, QVariant> data);
47
// Q_INVOKABLE void show_slider_qt();
48
// Q_INVOKABLE void check_user_qt();
49
// void http_get_img_resource();
51
/*Q_INVOKABLE*/ void open_folder_qt(QString path);
52
// Q_INVOKABLE void get_distrowatch_url_qt();
53
// Q_INVOKABLE QStringList get_distrowatch_info_qt();
54
// QMap<QString, QVariant> distrowatchInfo;
55
// Q_INVOKABLE void get_ubuntukylin_distrowatch_info_qt();
56
// Q_INVOKABLE QString getDistrowatchSingleInfo(QString key);
57
// Q_INVOKABLE QStringList get_default_all_distrowatch();
58
// Q_INVOKABLE void get_default_ubuntukylin_distrowatch();
59
// void set_default_all_distrowatch(QString key, QString value);
60
// void set_default_ubuntukylin_distrowatch(QString key, QString value);
62
/*Q_INVOKABLE*/ bool judge_camera_qt();
63
/*Q_INVOKABLE*/ void call_camera_qt();
64
QMap<QString, QVariant> batteryInfo;
65
/*Q_INVOKABLE */bool judge_power_is_exists_qt();
66
/*Q_INVOKABLE */QMap<QString, QVariant> read_battery_info_qt();
69
/*Q_INVOKABLE*/ void popup_login_dialog();
70
// Q_INVOKABLE void popup_register_dialog();
72
// Q_INVOKABLE void logout_ubuntukylin_account();
74
// //得到SessionDbus的验证值,可以通过其判断该服务是否正在运行
75
// Q_INVOKABLE QString get_session_daemon_qt();
77
// Q_INVOKABLE void scan_history_records_qt(QString flag);
79
// Q_INVOKABLE void scan_system_history_qt();
81
//// Q_INVOKABLE int scan_dash_history_qt();
83
//// Q_INVOKABLE QStringList scan_of_same_qt(QString abspath);
85
// Q_INVOKABLE void scan_of_large_qt(QString abspath, int size);
86
// //扫描firefox和chromium的cookies
87
// Q_INVOKABLE void cookies_scan_function_qt(QString flag);
92
// Q_INVOKABLE void cache_scan_function_qt(QStringList argList, QString flag);
93
// //扫描不需要的package和old kernel
94
// Q_INVOKABLE void package_scan_function_qt(QStringList argList);
95
// Q_INVOKABLE QStringList get_cache_arglist(int i);
96
// Q_INVOKABLE QStringList get_package_arglist(int i);
98
// Q_INVOKABLE QStringList get_browser_cache_arglist();
101
/*Q_INVOKABLE*/ void exit_qt();
103
// Q_INVOKABLE void showFeatureDialog();
105
// Q_INVOKABLE void showCheckscreenDialog();
107
// Q_INVOKABLE void showWarningDialog(QString title, QString content);
109
// Q_INVOKABLE bool showConfirmDialog(QString title, QString content);
112
// Q_INVOKABLE QString get_locale_version();
114
/*Q_INVOKABLE*/ QString getHomePath();
116
//----get system message
118
QMap<QString, QVariant> systemInfo;
120
/*Q_INVOKABLE */QMap<QString, QVariant> get_system_message_qt();
122
// Q_INVOKABLE QString getSingleInfo(QString key);
123
// Q_INVOKABLE QString getBatterySingleInfo(QString key);
125
// //恢复ubuntukylin默认配置
126
// Q_INVOKABLE QString get_uk_default_setting_string(QString key, QString name);
127
// Q_INVOKABLE double get_uk_default_setting_double(QString key, QString name);
128
// Q_INVOKABLE int get_uk_default_setting_int(QString key, QString name);
129
// Q_INVOKABLE bool get_uk_default_setting_bool(QString key, QString name);
130
// Q_INVOKABLE void restore_uk_default_setting(QString key, QString name);
132
// /*-------------------get and set default value-------------------*/
133
// //获取和设置字体默认值:sound.py
134
// Q_INVOKABLE QString get_default_sound_string_qt(QString flag/*QString schema, QString key*/);
135
// Q_INVOKABLE void set_default_launcher_have_showdesktopicon_qt();
137
// /*-------------------desktop of beauty-------------------*/
138
/*Q_INVOKABLE*/ bool set_show_desktop_icons_qt(bool flag);
139
/*Q_INVOKABLE*/ bool get_show_desktop_icons_qt();
140
/*Q_INVOKABLE*/ bool set_show_homefolder_qt(bool flag);
141
/*Q_INVOKABLE*/ bool get_show_homefolder_qt();
142
/*Q_INVOKABLE*/ bool set_show_network_qt(bool flag);
143
/*Q_INVOKABLE*/ bool get_show_network_qt();
144
/*Q_INVOKABLE*/ bool set_show_trash_qt(bool flag);
145
/*Q_INVOKABLE*/ bool get_show_trash_qt();
146
/*Q_INVOKABLE*/ bool set_show_devices_qt(bool flag);
147
/*Q_INVOKABLE*/ bool get_show_devices_qt();
150
// Q_INVOKABLE bool get_show_cinnamon_desktop_icons_qt();
151
// Q_INVOKABLE bool set_show_cinnamon_desktop_icons_qt(bool flag);
152
// Q_INVOKABLE bool get_show_cinnamon_computer_qt();
153
// Q_INVOKABLE bool set_show_cinnamon_computer_qt(bool flag);
154
// Q_INVOKABLE bool get_show_cinnamon_homefolder_qt();
155
// Q_INVOKABLE bool set_show_cinnamon_homefolder_qt(bool flag);
156
// Q_INVOKABLE bool get_show_cinnamon_network_qt();
157
// Q_INVOKABLE bool set_show_cinnamon_network_qt(bool flag);
158
// Q_INVOKABLE bool get_show_cinnamon_trash_qt();
159
// Q_INVOKABLE bool set_show_cinnamon_trash_qt(bool flag);
160
// Q_INVOKABLE bool get_show_cinnamon_devices_qt();
161
// Q_INVOKABLE bool set_show_cinnamon_devices_qt(bool flag);
163
// /*-------------------unity of beauty-------------------*/
164
/*Q_INVOKABLE*/ bool set_launcher_autohide_qt(bool flag);
165
/*Q_INVOKABLE*/ bool get_launcher_autohide_qt();
166
/*Q_INVOKABLE*/ bool set_launcher_icon_size_qt(int num);
167
/*Q_INVOKABLE*/ int get_launcher_icon_size_qt();
168
/*Q_INVOKABLE*/ bool set_launcher_have_showdesktopicon_qt(bool flag);
169
/*Q_INVOKABLE*/ bool get_launcher_have_showdesktopicon_qt();
173
/*Q_INVOKABLE*/ double get_launcher_transparency_qt();
174
/*Q_INVOKABLE*/ bool set_launcher_transparency_qt(double opacity);
176
/*Q_INVOKABLE*/ QStringList get_all_launcher_icon_colourings_qt();
177
/*Q_INVOKABLE*/ int get_launcher_icon_colouring_qt();
178
/*Q_INVOKABLE*/ bool set_launcher_icon_colouring_qt(int colouring);
180
/*Q_INVOKABLE*/ int get_dash_blur_experimental_qt();
181
/*Q_INVOKABLE*/ bool set_dash_blur_experimental_qt(int blur);
183
/*Q_INVOKABLE*/ double get_panel_transparency_qt();
184
/*Q_INVOKABLE*/ bool set_panel_transparency_qt(double opacity);
186
/*Q_INVOKABLE*/ QStringList get_all_time_format_qt();
187
/*Q_INVOKABLE*/ QString get_time_format_qt();
188
/*Q_INVOKABLE*/ bool set_time_format_qt(QString format);
189
/*Q_INVOKABLE*/ bool get_show_seconds_qt();
190
/*Q_INVOKABLE*/ bool set_show_seconds_qt(bool flag);
191
/*Q_INVOKABLE*/ bool get_show_week_qt();
192
/*Q_INVOKABLE*/ bool set_show_week_qt(bool flag);
193
/*Q_INVOKABLE*/ bool get_show_date_qt();
194
/*Q_INVOKABLE*/ bool set_show_date_qt(bool flag);
196
/*Q_INVOKABLE*/ QStringList get_all_power_icon_policy_qt();
197
/*Q_INVOKABLE*/ QString get_power_icon_policy_qt();
198
/*Q_INVOKABLE*/ bool set_power_icon_policy_qt(QString flag);
199
/*Q_INVOKABLE*/ bool get_show_power_time_qt();
200
/*Q_INVOKABLE*/ bool set_show_power_time_qt(bool flag);
201
/*Q_INVOKABLE*/ bool get_show_power_percentage_qt();
202
/*Q_INVOKABLE*/ bool set_show_power_percentage_qt(bool flag);
204
// /*-------------------theme of beauty-------------------*/
205
/*Q_INVOKABLE */QStringList get_themes_qt();
206
/*Q_INVOKABLE */QString get_theme_qt();
207
/*Q_INVOKABLE */void set_theme_qt(QString theme);
208
/*Q_INVOKABLE */QStringList get_icon_themes_qt();
209
/*Q_INVOKABLE */QString get_icon_theme_qt();
210
/*Q_INVOKABLE*/ void set_icon_theme_qt(QString theme);
211
/*Q_INVOKABLE*/ QStringList get_cursor_themes_qt();
212
/*Q_INVOKABLE*/ QString get_cursor_theme_qt();
213
/*Q_INVOKABLE*/ void set_cursor_theme_qt(QString theme);
214
/*Q_INVOKABLE*/ int get_cursor_size_qt();
215
/*Q_INVOKABLE*/ void set_cursor_size_qt(int size);
217
// Q_INVOKABLE QStringList get_window_themes_qt();
218
// Q_INVOKABLE QString get_current_window_theme_qt();
219
// Q_INVOKABLE void set_window_theme_qt(QString theme);
221
// /*-------------------fonts of beauty-------------------*/
222
// Q_INVOKABLE void restore_default_font_signal(QString flag);
223
// Q_INVOKABLE void show_font_dialog(QString flag, QString current_font);
224
// Q_INVOKABLE QString show_folder_dialog();
225
// Q_INVOKABLE QString show_file_path_dialog();
226
/*Q_INVOKABLE*/ QString get_font_qt();
227
// Q_INVOKABLE bool set_font_qt_default(QString font);
228
bool set_font_qt(QString font);
229
/*Q_INVOKABLE*/ QString get_desktop_font_qt();
230
/*Q_INVOKABLE*/ bool set_desktop_font_qt_default();//when is null ,we set a default value
231
bool set_desktop_font_qt(QString font);
232
/*Q_INVOKABLE*/ QString get_document_font_qt();
233
// Q_INVOKABLE bool set_document_font_qt_default(QString font);
234
bool set_document_font_qt(QString font);
235
/*Q_INVOKABLE*/ QString get_monospace_font_qt();
236
// Q_INVOKABLE bool set_monospace_font_qt_default(QString font);
237
bool set_monospace_font_qt(QString font);
238
/*Q_INVOKABLE*/ QString get_window_title_font_qt();
239
// Q_INVOKABLE bool set_window_title_font_qt_default(QString font);
240
bool set_window_title_font_qt(QString font);
241
/*Q_INVOKABLE*/ double get_font_zoom_qt();
242
/*Q_INVOKABLE*/ bool set_font_zoom_qt(double zoom);
244
/*Q_INVOKABLE*/ QStringList get_smooth_style_list_qt();
245
/*Q_INVOKABLE*/ QString get_smooth_style_qt();
246
/*Q_INVOKABLE*/ bool set_smooth_style_qt(QString style);
247
/*Q_INVOKABLE*/ QStringList get_antialiasing_style_list_qt();
248
/*Q_INVOKABLE*/ QString get_antialiasing_style_qt();
249
/*Q_INVOKABLE*/ bool set_antialiasing_style_qt(QString style);
251
// /*-------------------scrollbars of beauty-------------------*/
252
/*Q_INVOKABLE*/ bool set_scrollbars_mode_overlay_qt();
253
/*Q_INVOKABLE*/ bool set_scrollbars_mode_legacy_qt();
254
/*Q_INVOKABLE*/ QString get_scrollbars_mode_qt();
256
// /*-------------------touchpad of beauty-------------------*/
257
/*Q_INVOKABLE*/ bool set_touchpad_enable_qt(bool flag);
258
/*Q_INVOKABLE*/ bool get_touchpad_enable_qt();
259
/*Q_INVOKABLE*/ bool set_touchscrolling_mode_edge_qt();
260
/*Q_INVOKABLE*/ bool set_touchscrolling_mode_twofinger_qt();
261
/*Q_INVOKABLE*/ QString get_touchscrolling_mode_qt();
262
/*Q_INVOKABLE*/ bool set_touchscrolling_use_horizontal_qt(bool flag);
263
/*Q_INVOKABLE*/ bool get_touchscrolling_use_horizontal_qt();
265
// /*-------------------window of beauty-------------------*/
266
// Q_INVOKABLE void set_window_button_align_left_qt();
267
// Q_INVOKABLE void set_window_button_align_right_qt();
268
// Q_INVOKABLE QString get_window_button_align_qt();
269
/*Q_INVOKABLE*/ bool set_menus_have_icons_qt(bool flag);
270
/*Q_INVOKABLE*/ bool get_menus_have_icons_qt();
271
/*Q_INVOKABLE*/ QStringList get_titlebar_wheel_qt();
272
/*Q_INVOKABLE*/ QString get_current_titlebar_wheel_qt();
273
/*Q_INVOKABLE*/ void set_titlebar_wheel_qt(QString value);
274
/*Q_INVOKABLE*/ QStringList get_titlebar_double_qt();
275
/*Q_INVOKABLE*/ QString get_current_titlebar_double_qt();
276
/*Q_INVOKABLE*/ void set_titlebar_double_qt(QString value);
277
/*Q_INVOKABLE*/ QStringList get_titlebar_middle_qt();
278
/*Q_INVOKABLE*/ QString get_current_titlebar_middle_qt();
279
/*Q_INVOKABLE*/ void set_titlebar_middle_qt(QString value);
280
/*Q_INVOKABLE*/ QStringList get_titlebar_right_qt();
281
/*Q_INVOKABLE*/ QString get_current_titlebar_right_qt();
282
/*Q_INVOKABLE*/ void set_titlebar_right_qt(QString value);
284
// /*-------------------sound of beauty-------------------*/
285
/*Q_INVOKABLE*/ void set_sound_event_enable_qt(bool flag);
286
/*Q_INVOKABLE*/ bool get_sound_event_enable_qt();
287
/*Q_INVOKABLE*/ void set_input_feedback_sounds_enable_qt(bool flag);
288
/*Q_INVOKABLE*/ bool get_input_feedback_sounds_enable_qt();
289
/*Q_INVOKABLE*/ void set_login_music_enable_qt(bool flag);
290
/*Q_INVOKABLE*/ bool get_login_music_enable_qt();
291
/*Q_INVOKABLE*/ QString get_sound_theme_qt();
292
/*Q_INVOKABLE*/ void set_sound_theme_qt(QString theme);
294
/*-------------------filemanager of beauty-------------------*/
295
/*Q_INVOKABLE*/ void set_location_replace_pathbar_qt(bool flag);
296
/*Q_INVOKABLE*/ bool get_location_replace_pathbar_qt();
297
/*Q_INVOKABLE*/ void set_auto_mount_media_qt(bool flag);
298
/*Q_INVOKABLE*/ bool get_auto_mount_media_qt();
299
/*Q_INVOKABLE*/ void set_auto_open_folder_qt(bool flag);
300
/*Q_INVOKABLE*/ bool get_auto_open_folder_qt();
301
/*Q_INVOKABLE*/ void set_prompt_autorun_programs_qt(bool flag);
302
/*Q_INVOKABLE*/ bool get_prompt_autorun_programs_qt();
303
/*Q_INVOKABLE*/ void set_thumbnail_icon_size_qt(int size);
304
/*Q_INVOKABLE*/ int get_thumbnail_icon_size_qt();
305
/*Q_INVOKABLE*/ void set_thumbnail_cache_time_qt(int value);
306
/*Q_INVOKABLE*/ int get_thumbnail_cache_time_qt();
307
/*Q_INVOKABLE*/ void set_thumbnail_cache_size_qt(int size);
308
/*Q_INVOKABLE*/ int get_thumbnail_cache_size_qt();
310
// Q_INVOKABLE QString access_current_desktop_qt();
311
//// Q_INVOKABLE QString judge_desktop_is_unity_qt();
312
//// Q_INVOKABLE QString judge_desktop_is_cinnamon_qt();
314
// //-------------pinback
315
// bool submit_uk_pingback();
316
// /*bool*/void access_server_pingback();
318
// void get_current_weather_dict_qt();//当天天气数据获取完成后,通过该函数返回其获取的值给currentInfo
320
// QMap<QString, QVariant> currentInfo;
321
// QMap<QString, QVariant> yahoocurrentInfo;
322
// //通过键得到对应的单个信息的值,flag= forecast/current
323
// Q_INVOKABLE QString getSingleWeatherInfo(QString key, QString flag);
326
// Q_INVOKABLE void showWizardController();
327
// void initConfigFile();
328
// QString getCityIdInfo();
329
// QStringList getLatandLon();//得到纬度和经度
330
// void get_current_yahoo_weather_dict_qt();//yahoo当天天气数据获取完成后,通过该函数返回其获取的值给yahoocurrentInfo
333
// Q_INVOKABLE void change_maincheckbox_status(QString status);
335
/*Q_INVOKABLE*/ void onekey_scan_function_qt(QStringList selectedList);
336
// Q_INVOKABLE void let_detail_info_page_to_update_data(QString infoFlag);
339
void tellAutoModel(const QStringList &data);
340
void showAutoModel();
341
void finishScanWork(QString msg);
342
void isScanning(QString msg);
345
void tellCleanerDetailData(const QStringList &data);
346
void tellCleanerDetailStatus(const QString &status);
347
// void notifyFontStyleToQML(QString font_style);
348
// void startChangeQMLCity();//发送开始更换QML城市
349
// void startUpdateForecastWeahter(QString flag);//发送开始更换六天天气预报
350
// void showKeyandData(QString key, QString value);//根据天气的key显示对应的数据
352
// void startChangeMaincheckboxStatus(QString status);
354
// void appendContentToCacheModel(QString flag, QString path, QString fileFlag, QString sizeValue);
356
// void tellQMLCaheOver(QString flag);
357
// //把package和old kernel扫描结果告诉QML
358
// void appendPackageContentToCacheModel(QString flag, QString pkgName, QString description, QString sizeValue);
359
// //package和old kernel扫描完后告诉QML
360
// void tellQMLPackageOver();
361
// //把cookies扫描结果告诉QML
362
// void appendCookiesContentToModel(QString flag, QString domain, QString num);
363
// //cookies扫描完后告诉QML
364
// void tellQMLCookiesOver(QString cookiesFlag);
366
void tellScanResultToQML(QString flag, QString msg);
367
// void ssoSuccessSignal(QString displayName, QString emailAddress);
368
// void ssoLoginLogoutSignal(bool loginFlag);
369
// //告诉QML界面,标题栏控制按钮位置发生变化了,准备改变优客助手自身的控制按钮位置
370
// void startChangeControlBtnPosition(QString position);
371
// void tellQMLHistoryNumber(QString flag, int num);
372
// void tellQMLLargeFileList(QStringList filelist);
373
// void tellDetailPageUpdateData(QString infoFlag);
375
// void backToHomePage(int index);//0412
376
// void finishAccessAllDistrowatch(QString update_rate);
377
// void finishAccessUKDistrowatch();
380
void handlerAutoManageData(QStringList data);
381
// void handlerAutoManageData(const QVariantMap &data);
383
void handlerAutoManageStatus(QString status);
384
void handlerAutoManageError(QString status);
386
void handlerScanCleanerData(QStringList data);
387
void handlerScanCleanerStatus(QString status);
388
void handlerScanCleanerError(QString status);
390
// Q_INVOKABLE void get_current_weather_qt();
392
// void accord_flag_access_weather(QString key, QString value);
394
void handler_scan_complete(QString msg);
396
void handler_scan_process(QString msg);
398
void handler_total_data_transmit(QString flag, QString msg);
400
// void handler_change_city();
401
// //接收缓存信号,把数据动态堆加到model中
402
// void handler_append_cache_data_to_model(QString flag, QString path, QString fileFlag, QString sizeValue);//data_transmit_by_cache(self, flag0, path, flag1, size):
404
// void handler_cache_scan_over(QString flag);
405
// //接收package和old kernel信号,把数据动态堆加到model中
406
// void handler_append_package_data_to_model(QString flag, QString pkgName, QString description, QString sizeValue);
407
// //接收package和old kernel扫描完后的信号
408
// void handler_package_scan_over();
409
// //接收cookies信号,把数据动态堆加到model中
410
// void handler_append_cookies_to_model(QString flag, QString domain, QString num);
411
// //接收cookies扫描完后的信号
412
// void handler_cookies_scan_over(QString cookiesFlag);
414
// QString score_count_level(int score);
416
// void handler_change_titlebar_position(QString position);
417
// void handlerHistoryNumber(QString flag, int num);
418
// void handlerLargeFileList(QStringList filelist);
420
// void handlerBackToHomePage(int index);
421
// void handlerDistrowatchAllSignal(QString update_rate);
422
// void handlerDistrowatchUKSignal(bool uk_flag);
424
// void handlerYoukerID(QString displayName, QString emailAddress);
425
// void handlerLogoutSuccess();
426
// void handlerLoginFail();
428
// void handlerWeatherPingback(bool result);
429
// void handlerUnZip(bool result);
432
// int mainwindow_width;
433
// int mainwindow_height;
434
// QSettings * mSettings;
435
// QSettings * default_Settings;
436
// QSettings * distrowatch_Settings;
437
// QTimer *updatetimer;
438
// NewCharacter *slidershow; //新版特性界面
439
// SelectDialog *selectDialog;
440
// HttpDownLoad *httpdownload;
444
// void unzip_resource_uk();
447
#endif // SESSIONDISPATCHER_H