gui: single instance mode.
This commit is contained in:
@@ -55,7 +55,7 @@ target_link_libraries(frelayGUI PRIVATE
|
||||
Qt${QT_VERSION_MAJOR}::Network
|
||||
ClientCore Protocol
|
||||
Util
|
||||
Struct
|
||||
Struct SingleApplication::SingleApplication
|
||||
)
|
||||
|
||||
if(NOT DEFINED COMPILER_USE_MINGW)
|
||||
|
||||
24
Gui/main.cpp
24
Gui/main.cpp
@@ -1,6 +1,7 @@
|
||||
#include <QApplication>
|
||||
#include <QDir>
|
||||
#include <QFile>
|
||||
#include <SingleApplication>
|
||||
|
||||
#include "frelayGUI.h"
|
||||
|
||||
@@ -22,21 +23,28 @@ int main(int argc, char* argv[])
|
||||
#endif
|
||||
|
||||
CRASHELPER_MARK_ENTRY();
|
||||
QApplication a(argc, argv);
|
||||
SingleApplication a(argc, argv);
|
||||
|
||||
#ifdef _WIN32
|
||||
QFont font("Microsoft YaHei", 9);
|
||||
a.setFont(font);
|
||||
// a.setStyle("fusion");
|
||||
a.setStyle("windows");
|
||||
#endif
|
||||
|
||||
qInstallMessageHandler(frelayGUI::ControlMsgHander);
|
||||
qRegisterMetaType<QSharedPointer<FrameBuffer>>("QSharedPointer<FrameBuffer>");
|
||||
qRegisterMetaType<InfoClientVec>("InfoClientVec");
|
||||
qRegisterMetaType<DirFileInfoVec>("DirFileInfoVec");
|
||||
|
||||
#ifdef _WIN32
|
||||
QFont font("Microsoft YaHei", 9);
|
||||
a.setFont(font);
|
||||
a.setWindowIcon(QIcon(":/ico/main.ico"));
|
||||
a.setStyle("Windows");
|
||||
#endif
|
||||
|
||||
frelayGUI w;
|
||||
|
||||
QObject::connect(&a, &SingleApplication::instanceStarted, &w, [&w]() {
|
||||
w.showNormal();
|
||||
w.raise();
|
||||
w.activateWindow();
|
||||
});
|
||||
|
||||
w.show();
|
||||
return a.exec();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user