60auto main(
int argc,
char *argv[]) ->
int {
61#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
62 QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
63 QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
68 QString name = qgetenv(
"USER");
70 name = qgetenv(
"USERNAME");
73 QApplication app(argc, argv);
76 const QStringList args = app.arguments();
77 bool consumeNextArg =
false;
78 for (
int i = 1; i < args.count(); ++i) {
79 const auto &arg = args.at(i);
82 consumeNextArg =
false;
83 appendWithSpaceIfSuffixNotEmpty(text, joinRemainingArgs(args, i + 1));
88 consumeNextArg =
false;
92 if (arg.startsWith(
'-')) {
97 const bool optionTakesSeparateValue =
98 !arg.contains(
'=') && i + 1 < args.count() && arg.startsWith(
"--") &&
99 !arg.startsWith(
"---") && !args[i + 1].startsWith(
'-');
100 if (optionTakesSeparateValue)
101 consumeNextArg =
true;
110 if ((text.indexOf(
"-psn_") == 0) || (text.indexOf(
"-session") == 0)) {
121 Q_INIT_RESOURCE(resources);
122 Q_INIT_RESOURCE(qmake_qmake_qm_files);
124 QCoreApplication::setOrganizationName(
"IJHack");
125 QCoreApplication::setOrganizationDomain(
"ijhack.org");
126 QCoreApplication::setApplicationName(
"QtPass");
127 QCoreApplication::setApplicationVersion(VERSION);
130 QTranslator translator;
131 QString locale = QLocale::system().name();
133 QString(
":localization/localization_%1.qm").arg(locale))) {
135 SingleApplication::installTranslator(&translator);
136 SingleApplication::setLayoutDirection(
137 QObject::tr(
"LTR") ==
"RTL" ? Qt::RightToLeft : Qt::LeftToRight);
139 QApplication::installTranslator(&translator);
140 QApplication::setLayoutDirection(
141 QObject::tr(
"LTR") ==
"RTL" ? Qt::RightToLeft : Qt::LeftToRight);
149 QApplication::setWindowIcon(QIcon(
":artwork/icon.png"));
152 QObject::connect(&app, &SingleApplication::messageAvailable, &w,
156 QGuiApplication::setDesktopFileName(
"qtpass");
159#if QT_VERSION < QT_VERSION_CHECK(5, 12, 0)
160 static int cursorScreen =
161 app.desktop()->screenNumber(app.desktop()->cursor().pos());
162 QPoint cursorScreenCenter =
163 app.desktop()->screenGeometry(cursorScreen).center();
164 QRect windowFrameGeo = w.frameGeometry();
165 windowFrameGeo.moveCenter(cursorScreenCenter);
166 w.move(windowFrameGeo.topLeft());
168 QScreen *screen = QGuiApplication::screenAt(QCursor::pos());
170 screen = QGuiApplication::primaryScreen();
172 const QPoint cursorScreenCenter = screen->geometry().center();
173 QRect windowFrameGeo = w.frameGeometry();
174 windowFrameGeo.moveCenter(cursorScreenCenter);
175 w.move(windowFrameGeo.topLeft());
182 return SingleApplication::exec();
184 return QApplication::exec();
The MainWindow class does way too much, not only is it a switchboard, configuration handler and more,...
void messageAvailable(const QString &message)
MainWindow::messageAvailable we have some text/message/search to do.
auto main(int argc, char *argv[]) -> int
main
#define SingleApplication