diff --git a/main.cpp b/main.cpp index 3d9b2ac7135c677bf96b3c59ec3f09832efd82c1..8e24610eefd6ae3549101e9dbf2cf6573707e470 100644 --- a/main.cpp +++ b/main.cpp @@ -22,6 +22,11 @@ int main(int argc, char *argv[]) a.setProductIcon(QIcon(":/icons/deepin/builtin/icons/grid_48px.svg")); a.setApplicationDescription("ccc-app-manager是一款方便的第三方应用管理工具\n支持应用的安装,卸载,安装包提取等功能\n感谢yzzi开发了好用的oh-my-dde系统配置工具,我把工具的启动入口加到了本项目中"); a.setQuitOnLastWindowClosed(true);//关闭主窗口后关闭关于 + // 单例运行 + if (!a.setSingleInstance("ccc-app-manager")) { + qInfo() << Q_FUNC_INFO << "ccc-app-manager is a single instance, exit!"; + exit(0); + } // 保存窗口主题设置 DApplicationSettings settings; @@ -31,5 +36,10 @@ int main(int argc, char *argv[]) Dtk::Widget::moveToCenter(&w); + QObject::connect(&a, &DApplication::newInstanceStarted, &a, [&w] { + w.showNormal(); + w.activateWindow(); + }); + return a.exec(); }