RabbitCommon v2.3.3
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#ifdef HAVE_UPDATE
22 #include "FrmUpdater.h"
23#endif
24
25static Q_LOGGING_CATEGORY(log, "RabbitCommon.main")
26
27int main(int argc, char *argv[])
28{
29 QApplication a(argc, argv);
30#ifdef RabbitCommon_VERSION
31 a.setApplicationVersion(RabbitCommon_VERSION);
32#endif
33 a.setApplicationName("RabbitCommon");
34
35 RabbitCommon::CTools::Instance()->Init();
36 RabbitCommon::CTools::Instance()->InstallTranslator("RabbitCommonApp");
37
38 qDebug(log) << "GetDirApplication:"
39 << RabbitCommon::CDir::Instance()->GetDirApplication();
40 qDebug(log) << "GetDirApplicationInstallRoot:"
41 << RabbitCommon::CDir::Instance()->GetDirApplicationInstallRoot();
42 qInfo(log) << "GetDirUserDocument"
43 << RabbitCommon::CDir::Instance()->GetDirUserDocument();
44
45 // Must after install translator
46 a.setApplicationDisplayName(QObject::tr("RabbitCommon"));
47
48 // [Use CFrmUpdater GenerateUpdateJson]
49 QCommandLineParser parser;
50 parser.addHelpOption();
51 parser.addVersionOption();
52
53 QCommandLineOption noexample(QStringList() << "e" << "no-examples",
54 "no example",
55 "no example");
56 parser.addOption(noexample);
57
58#ifdef HAVE_UPDATE
59 CFrmUpdater* updater = new CFrmUpdater();
60 if(a.arguments().length() > 1) {
61 updater->GenerateUpdateJson(parser);
62 parser.process(QApplication::arguments());
63 return 0;
64 }
65#endif
66
67 // [Use CFrmUpdater GenerateUpdateJson]
68
69 MainWindow *m = new MainWindow();
70 m->setWindowIcon(QIcon(":/icon/RabbitCommon/App"));
71 m->setWindowTitle(a.applicationDisplayName());
72
73#ifdef BUILD_QUIWidget
74 QUIWidget quiwidget;
75 // quiwidget.setPixmap(QUIWidget::Lab_Ico, ":/icon/RabbitCommon/App");
76 // quiwidget.setTitle(QObject::tr("Rabbit Common - QUIWidget"));
77 quiwidget.setMainWidget(m);
78 quiwidget.setAlignment(Qt::AlignCenter);
79 quiwidget.setVisible(QUIWidget::BtnMenu, true);
80 quiwidget.show();
81#else
82 m->show();
83#endif
84
85 int nRet = a.exec();
86
87#ifndef BUILD_QUIWidget
88 delete m;
89#endif
90
91 RabbitCommon::CTools::Instance()->Clean();
92 return nRet;
93}
Updater.
Definition FrmUpdater.h:75
int GenerateUpdateJson()
Generate update json configure file.
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(QString szApplicationName=QCoreApplication::applicationName(), QString szApplicationDirPath=QCoreApplication::applicationDirPath(), QString szApplicationInstallRoot=QString(), const QString szLanguage=QLocale::system().name())
Initialize the resource, which is called only once at the beginning of the program,...