mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 09:23:03 +00:00
chore: 添加注释
添加部分注释,方便代码阅读 Log: 添加部分注释 Change-Id: I7cdb5bc80aa8bbd94ae0601fbae7760e55b6b119
This commit is contained in:
parent
a074f5fd8f
commit
4277b4a852
@ -197,9 +197,11 @@ int main(int argc, char *argv[])
|
||||
translator.load("/usr/share/dde-network-utils/translations/dde-network-utils_" + QLocale::system().name());
|
||||
app.installTranslator(&translator);
|
||||
|
||||
// 设置日志输出到控制台以及文件
|
||||
DLogManager::registerConsoleAppender();
|
||||
DLogManager::registerFileAppender();
|
||||
|
||||
// 启动入参 dde-dock --help可以看到一下内容, -x不加载插件 -r 一般用在startdde启动任务栏
|
||||
QCommandLineOption disablePlugOption(QStringList() << "x" << "disable-plugins", "do not load plugins.");
|
||||
QCommandLineOption runOption(QStringList() << "r" << "run-by-stardde", "run by startdde.");
|
||||
QCommandLineParser parser;
|
||||
@ -210,6 +212,7 @@ int main(int argc, char *argv[])
|
||||
parser.addOption(runOption);
|
||||
parser.process(app);
|
||||
|
||||
// 任务栏单进程限制
|
||||
DGuiApplicationHelper::setSingleInstanceInterval(-1);
|
||||
if (!app.setSingleInstance(QString("dde-dock_%1").arg(getuid()))) {
|
||||
qDebug() << "set single instance failed!";
|
||||
@ -226,10 +229,12 @@ int main(int argc, char *argv[])
|
||||
QDBusConnection::sessionBus().registerService("com.deepin.dde.Dock");
|
||||
QDBusConnection::sessionBus().registerObject("/com/deepin/dde/Dock", "com.deepin.dde.Dock", &mw);
|
||||
|
||||
// 当任务栏以-r参数启动时,设置CANSHOW未false,之后调用launch不显示任务栏
|
||||
qApp->setProperty("CANSHOW", !parser.isSet(runOption));
|
||||
|
||||
mw.launch();
|
||||
|
||||
// 判断是否进入安全模式,是否带有入参 -x
|
||||
if (!IsSaveMode() && !parser.isSet(disablePlugOption)) {
|
||||
DockItemManager::instance()->startLoadPlugins();
|
||||
qApp->setProperty("PLUGINSLOADED", true);
|
||||
|
@ -309,7 +309,7 @@ void MainPanelControl::insertItem(int index, DockItem *item)
|
||||
case DockItem::Placeholder:
|
||||
addAppAreaItem(index, item);
|
||||
break;
|
||||
case DockItem::TrayPlugin:
|
||||
case DockItem::TrayPlugin: // 此处只会有一个tray系统托盘插件,微信、声音、网络蓝牙等等,都在系统托盘插件中处理的
|
||||
addTrayAreaItem(index, item);
|
||||
break;
|
||||
case DockItem::Plugins:
|
||||
|
@ -199,6 +199,11 @@ void MainWindow::relaodPlugins()
|
||||
qApp->setProperty("PLUGINSLOADED", true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief MainWindow::mousePressEvent
|
||||
* @param e
|
||||
* @note 右键显示任务栏的菜单
|
||||
*/
|
||||
void MainWindow::mousePressEvent(QMouseEvent *e)
|
||||
{
|
||||
e->ignore();
|
||||
@ -266,6 +271,10 @@ void MainWindow::initMember()
|
||||
m_updateDragAreaTimer->setSingleShot(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief MainWindow::initSNIHost
|
||||
* @note 将Dock注册到StatusNotifierWatcher服务上
|
||||
*/
|
||||
void MainWindow::initSNIHost()
|
||||
{
|
||||
// registor dock as SNI Host on dbus
|
||||
|
@ -40,7 +40,6 @@ DWIDGET_USE_NAMESPACE
|
||||
|
||||
using XEventMonitor = ::com::deepin::api::XEventMonitor;
|
||||
|
||||
class MainPanel;
|
||||
class MainPanelControl;
|
||||
class QTimer;
|
||||
class MenuWorker;
|
||||
@ -110,12 +109,6 @@ class MainWindow : public DBlurEffectWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
enum Flag{
|
||||
Motion = 1 << 0,
|
||||
Button = 1 << 1,
|
||||
Key = 1 << 2
|
||||
};
|
||||
|
||||
public:
|
||||
explicit MainWindow(QWidget *parent = nullptr);
|
||||
~MainWindow() override;
|
||||
@ -124,7 +117,6 @@ public:
|
||||
void setGeometry(const QRect &rect);
|
||||
void sendNotifications();
|
||||
|
||||
friend class MainPanel;
|
||||
friend class MainPanelControl;
|
||||
|
||||
MainPanelControl *panel() {return m_mainPanel;}
|
||||
@ -167,14 +159,14 @@ private slots:
|
||||
void touchRequestResizeDock();
|
||||
|
||||
private:
|
||||
MainPanelControl *m_mainPanel;
|
||||
MainPanelControl *m_mainPanel; // 任务栏
|
||||
DPlatformWindowHandle m_platformWindowHandle;
|
||||
DWindowManagerHelper *m_wmHelper;
|
||||
MultiScreenWorker *m_multiScreenWorker;
|
||||
MultiScreenWorker *m_multiScreenWorker; // 多屏幕管理
|
||||
MenuWorker *m_menuWorker;
|
||||
QTimer *m_shadowMaskOptimizeTimer;
|
||||
QDBusConnectionInterface *m_dbusDaemonInterface;
|
||||
org::kde::StatusNotifierWatcher *m_sniWatcher;
|
||||
org::kde::StatusNotifierWatcher *m_sniWatcher; // DBUS状态通知
|
||||
DragWidget *m_dragWidget;
|
||||
|
||||
QString m_sniHostService;
|
||||
|
@ -26,6 +26,10 @@
|
||||
|
||||
#include <QLabel>
|
||||
|
||||
/**
|
||||
* @brief The FashionTrayControlWidget class
|
||||
* @note 系统托盘上的展开合并按钮
|
||||
*/
|
||||
class FashionTrayControlWidget : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
@ -302,6 +302,10 @@ void TrayPlugin::initXEmbed()
|
||||
m_refreshXEmbedItemsTimer->start();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief TrayPlugin::initSNI
|
||||
* @note 初始化监听信号绑定
|
||||
*/
|
||||
void TrayPlugin::initSNI()
|
||||
{
|
||||
connect(m_refreshSNIItemsTimer, &QTimer::timeout, this, &TrayPlugin::sniItemsChanged);
|
||||
@ -311,6 +315,10 @@ void TrayPlugin::initSNI()
|
||||
m_refreshSNIItemsTimer->start();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief TrayPlugin::sniItemsChanged
|
||||
* @note 移除关闭的item,插入新增item
|
||||
*/
|
||||
void TrayPlugin::sniItemsChanged()
|
||||
{
|
||||
const QStringList &itemServicePaths = m_sniWatcher->registeredStatusNotifierItems();
|
||||
@ -399,6 +407,7 @@ void TrayPlugin::trayXEmbedAdded(const QString &itemKey, quint32 winId)
|
||||
void TrayPlugin::traySNIAdded(const QString &itemKey, const QString &sniServicePath)
|
||||
{
|
||||
QFutureWatcher<bool> *watcher = new QFutureWatcher<bool>();
|
||||
// 开线程去处理添加任务
|
||||
connect(watcher, &QFutureWatcher<int>::finished, this, [=] {
|
||||
watcher->deleteLater();
|
||||
if (!watcher->result()) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user