feat: ISSUE #I69IJI 自动关闭到托盘以防止下载和安装中断

添加托盘图标,主窗口关闭后仍然在后台运行;左键单机托盘图标显示主窗口

Log: 添加托盘图标;重构 MainWindow 构造函数,拆分 UI 初始化代码至单独函数;修改启动时窗口渐变动画初始化位置至 showEvent 中
This commit is contained in:
zty199
2023-01-30 18:30:43 +08:00
parent 4b40e3caca
commit cf549c540d
9 changed files with 443 additions and 279 deletions

View File

@@ -1,21 +1,15 @@
#ifndef MAINWINDOWDTK_H
#define MAINWINDOWDTK_H
#include "widgets/base/basewidgetopacity.h"
#include <DMainWindow>
#include <DTitlebar>
#include <DPushButton>
#include <DSearchEdit>
#include <QGraphicsDropShadowEffect>
#include <DGuiApplicationHelper>
#include <QPushButton>
#include <QDir>
#include <QDesktopServices>
#include "widgets/base/basewidgetopacity.h"
#include "widgets/downloadlistwidget.h"
#include "widgets/common/progressbutton.h"
#include "utils/widgetanimation.h"
#include "dbus/dbussparkstoreservice.h"
#include <QSystemTrayIcon>
DWIDGET_USE_NAMESPACE
@@ -23,6 +17,8 @@ namespace Ui {
class MainWindow;
}
class ProgressButton;
class DownloadListWidget;
class MainWindow : public BaseWidgetOpacity
{
Q_OBJECT
@@ -34,8 +30,14 @@ public:
void openUrl(const QString &url);
private:
void initUI();
void initTitleBar();
void initTitleBarMenu();
void initLeftMenu();
void initTrayIcon();
void initConnections();
void initDbus();
void initConfig();
void initTmpDir();
void switchPage(int now);
void updateUi(int now);
@@ -46,13 +48,16 @@ private slots:
void on_pushButton_14_clicked();
private:
QList<int> pageHistory;
Ui::MainWindow *ui;
DownloadListWidget *downloadlistwidget;
ProgressButton *downloadButton;
QPushButton *backButtom;
DPushButton *backButton;
DSearchEdit *searchEdit;
ProgressButton *downloadButton;
DownloadListWidget *downloadlistwidget;
QSystemTrayIcon *trayIcon = nullptr;
QList<int> pageHistory;
};
#endif // MAINWINDOWDTK_H