RabbitCommon v2.2.6
Loading...
Searching...
No Matches
main.cpp
1
5#include <QLoggingCategory>
6#include <QApplication>
7
8#ifdef BUILD_QUIWidget
9 #include "QUIWidget/QUIWidget.h"
10#endif
11#include <QTranslator>
12#include <QDir>
13#include <QCommandLineOption>
14#include <QCommandLineParser>
15#include <QDebug>
16#include <QThread>
17
18#include "RabbitCommonTools.h"
19#include "RabbitCommonDir.h"
20#include "MainWindow.h"
21
22#ifdef HAVE_UPDATE
23 #include "FrmUpdater.h"
24#endif
25
26static Q_LOGGING_CATEGORY(log, "RabbitCommon.main")
27
28int main(int argc, char *argv[])
29{
31
32 QApplication a(argc, argv);
33#ifdef RabbitCommon_VERSION
34 a.setApplicationVersion(RabbitCommon_VERSION);
35#endif
36 a.setApplicationName("RabbitCommon");
37
38 RabbitCommon::CTools::Instance()->Init();
39 RabbitCommon::CTools::Instance()->InstallTranslator("RabbitCommonApp");
40
41 qDebug(log) << "GetDirApplication:"
42 << RabbitCommon::CDir::Instance()->GetDirApplication();
43 qDebug(log) << "GetDirApplicationInstallRoot:"
44 << RabbitCommon::CDir::Instance()->GetDirApplicationInstallRoot();
45 qInfo(log) << "GetDirUserDocument"
46 << RabbitCommon::CDir::Instance()->GetDirUserDocument();
47
48 // Must after install translator
49 a.setApplicationDisplayName(QObject::tr("RabbitCommon"));
50
51 // [Use CFrmUpdater GenerateUpdateJson]
52 QCommandLineParser parser;
53 parser.addHelpOption();
54 parser.addVersionOption();
55
56 QCommandLineOption noexample(QStringList() << "e" << "no-examples",
57 "no example",
58 "no example");
59 parser.addOption(noexample);
60
61#ifdef HAVE_UPDATE
62 CFrmUpdater* updater = new CFrmUpdater();
63 if(a.arguments().length() > 1) {
64 updater->GenerateUpdateJson(parser);
65 parser.process(QApplication::arguments());
66 return 0;
67 }
68#endif
69
70 // [Use CFrmUpdater GenerateUpdateJson]
71
72 MainWindow *m = new MainWindow();
73 m->setWindowIcon(QIcon(":/icon/RabbitCommon/App"));
74 m->setWindowTitle(a.applicationDisplayName());
75
76#ifdef BUILD_QUIWidget
77 QUIWidget quiwidget;
78 // quiwidget.setPixmap(QUIWidget::Lab_Ico, ":/icon/RabbitCommon/App");
79 // quiwidget.setTitle(QObject::tr("Rabbit Common - QUIWidget"));
80 quiwidget.setMainWidget(m);
81 quiwidget.setAlignment(Qt::AlignCenter);
82 quiwidget.setVisible(QUIWidget::BtnMenu, true);
83 quiwidget.show();
84#else
85 m->show();
86#endif
87
88 int nRet = a.exec();
89
90#ifndef BUILD_QUIWidget
91 delete m;
92#endif
93
94 return nRet;
95}
Updater.
Definition FrmUpdater.h:70
int GenerateUpdateJson()
Generate update json configure file.
static bool EnableCoreDump(bool bPrompt=true)
Enable core dump.
QSharedPointer< QTranslator > InstallTranslator(const QString szName=QString(), TranslationType type=TranslationType::Application, const QString szPluginDir="plugins", const QString szLanguage=QLocale::system().name())
Install translation.
void Init(const QString szLanguage=QLocale::system().name())