Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
main.cpp
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3
4#include "mainwindow.h"
5#include "globals.h"
6
7#include <QtCore/QFile>
8#include <QtCore/QLibraryInfo>
9#include <QtCore/QLocale>
10#include <QtCore/QTranslator>
11
12#include <QtWidgets/QApplication>
13#include <QtGui/QPixmap>
14
15#ifdef Q_OS_MAC
16#include <QtCore/QUrl>
17#include <QtGui/QFileOpenEvent>
18#endif // Q_OS_MAC
19
21
22#ifdef Q_OS_MAC
24{
26
27public:
29 : m_mainWindow(0)
30 {
31 }
32
34 {
39 }
40 }
41
42protected:
44 {
45 if (object == qApp && event->type() == QEvent::FileOpen) {
46 QFileOpenEvent *e = static_cast<QFileOpenEvent*>(event);
48 if (!m_mainWindow)
50 else
52 return true;
53 }
55 }
56
57private:
60};
61#endif // Q_OS_MAC
62
63int main(int argc, char **argv)
64{
65 QApplication app(argc, argv);
66 QApplication::setOverrideCursor(Qt::WaitCursor);
67
68#ifdef Q_OS_MAC
69 ApplicationEventFilter eventFilter;
70 app.installEventFilter(&eventFilter);
71#endif // Q_OS_MAC
72
73 QStringList files;
74 QString resourceDir = QLibraryInfo::path(QLibraryInfo::TranslationsPath);
75 QStringList args = app.arguments();
76
77 for (int i = 1; i < args.size(); ++i) {
78 QString argument = args.at(i);
79 if (argument == QLatin1String("-resourcedir")) {
80 if (i + 1 < args.size()) {
81 resourceDir = QFile::decodeName(args.at(++i).toLocal8Bit());
82 } else {
83 // issue a warning
84 }
85 } else if (!files.contains(argument)) {
86 files.append(argument);
87 }
88 }
89
90 QTranslator translator;
91 QTranslator qtTranslator;
92 if (translator.load(QLocale(), QLatin1String("linguist"), QLatin1String("_"), resourceDir)) {
93 app.installTranslator(&translator);
94 if (qtTranslator.load(QLocale(), QLatin1String("qt"), QLatin1String("_"), resourceDir))
95 app.installTranslator(&qtTranslator);
96 else
97 app.removeTranslator(&translator);
98 }
99
100 app.setOrganizationName(QLatin1String("QtProject"));
101 app.setApplicationName(QLatin1String("Linguist"));
102
103 MainWindow mw;
104#ifdef Q_OS_MAC
105 eventFilter.setMainWindow(&mw);
106#endif // Q_OS_MAC
107 mw.show();
108 QApplication::restoreOverrideCursor();
109
110 mw.openFiles(files, true);
111
112 return app.exec();
113}
114
115#ifdef Q_OS_MAC
116#include "main.moc"
117#endif // Q_OS_MAC
int main(int argc, char *argv[])
[2]
Definition buffer.cpp:77