DtkWidget 5.6.0.2
DTK Widget module
dapplication_p.h
1// SPDX-FileCopyrightText: 2015 - 2022 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DAPPLICATION_P_H
6#define DAPPLICATION_P_H
7
8#include <DObjectPrivate>
9
10#include <DApplication>
11#include <DPathBuf>
12
13#include <QIcon>
14#include <QPointer>
15
16class QLocalServer;
17class QTranslator;
18
19DCORE_USE_NAMESPACE
20DWIDGET_BEGIN_NAMESPACE
21
22class DAboutDialog;
23
24class DApplicationPrivate : public DObjectPrivate
25{
26 D_DECLARE_PUBLIC(DApplication)
27
28public:
31
32 D_DECL_DEPRECATED QString theme() const;
33 D_DECL_DEPRECATED void setTheme(const QString &theme);
34
35 bool setSingleInstanceBySemaphore(const QString &key);
36#ifdef Q_OS_UNIX
37 bool setSingleInstanceByDbus(const QString &key);
38#endif
39
40 bool loadDtkTranslator(QList<QLocale> localeFallback);
41 bool loadTranslator(QList<DPathBuf> translateDirs, const QString &name, QList<QLocale> localeFallback);
42 void _q_onNewInstanceStarted();
43
44 // 为控件适应当前虚拟键盘的位置
45 void doAcclimatizeVirtualKeyboard(QWidget *window, QWidget *widget, bool allowResizeContentsMargins);
46 void acclimatizeVirtualKeyboardForFocusWidget(bool allowResizeContentsMargins);
47 void _q_panWindowContentsForVirtualKeyboard();
48 void _q_resizeWindowContentsForVirtualKeyboard();
49
50 static bool isUserManualExists();
51public:
52// int m_pidLockFD = 0;
53 QLocalServer *m_localServer = nullptr;
54#ifdef Q_OS_UNIX
55 QStringList m_monitoredStartupApps;
56#endif
57
58 QString productName;
59 QIcon productIcon;
60 QString appLicense;
61 QString appDescription;
62 QString homePage;
63 QString acknowledgementPage;
64 bool acknowledgementPageVisible = true;
65
66 bool visibleMenuShortcutText = false;
67 bool visibleMenuCheckboxWidget = false;
68 bool visibleMenuIcon = false;
69 bool autoActivateWindows = false;
70
71 DAppHandler *appHandler = Q_NULLPTR;
72 DAboutDialog *aboutDialog = Q_NULLPTR;
73
74 // 需要自适应虚拟键盘环境的窗口
75 QPointer<QWidget> activeInputWindow;
76 // 上一次为适配虚拟键盘所设置的值
77 QPair<int, int> lastContentsMargins;
78 QMargins activeInputWindowContentsMargins;
79 QList<QWidget*> acclimatizeVirtualKeyboardWindows;
80};
81
82DWIDGET_END_NAMESPACE
83
84#endif // DAPPLICATION_P_H
DAboutDialog 类提供了应用程序的关于对话框,规范所有 deepin 应用关于窗口设计规范,符合 Deepin 风格.
Definition: daboutdialog.h:14
Definition: dapplication.h:164
Definition: dapplication_p.h:25
DApplication 是 DTK 中用于替换 QCoreApplication 相关功能实现的类.
Definition: dapplication.h:31