Lomiri
Loading...
Searching...
No Matches
LomiriCommandLineParser.h
1/*
2 * Copyright (C) 2015 Canonical Ltd.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; version 3.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#ifndef LOMIRI_COMMAND_LINE_PARSER_H
18#define LOMIRI_COMMAND_LINE_PARSER_H
19
20#include <QCommandLineParser>
21#include <QSize>
22#include <QString>
23
24class LomiriCommandLineParser {
25public:
26 LomiriCommandLineParser(const QCoreApplication &app);
27
28 QSize windowGeometry() const { return m_windowGeometry; }
29 bool hasTestability() const { return m_hasTestability; }
30 bool hasFrameless() const { return m_hasFrameless; }
31
32 #ifdef LOMIRI_ENABLE_TOUCH_EMULATION
33 bool hasMouseToTouch() const { return m_hasMouseToTouch; }
34 #endif
35
36 bool hasFullscreen() const { return m_hasFullscreen; }
37 QString mode() const { return m_mode; }
38
39 QString qmlfie() const { return m_qmlfile; }
40
41protected:
42 int parsePixelsValue(const QString &str);
43 static float getenvFloat(const char* name, float defaultValue);
44 void resolveMode(QCommandLineParser &parser, QCommandLineOption &modeOption);
45
46 float m_gridUnit;
47
48 QSize m_windowGeometry;
49 bool m_hasTestability;
50 bool m_hasFrameless;
51
52 #ifdef LOMIRI_ENABLE_TOUCH_EMULATION
53 bool m_hasMouseToTouch;
54 #endif
55
56 bool m_hasFullscreen;
57 QString m_mode;
58 QString m_qmlfile;
59};
60
61#endif // LOMIRI_COMMAND_LINE_PARSER_H