valentina/src/app/puzzle/vpuzzlecommandline.h

58 lines
1.6 KiB
C
Raw Normal View History

2020-04-03 22:05:03 +02:00
#ifndef VPUZZLECOMMANDLINE_H
#define VPUZZLECOMMANDLINE_H
#include <memory>
#include <QCoreApplication>
#include <QCommandLineParser>
2020-04-13 11:43:25 +02:00
class VPuzzleCommandLine;
using VPuzzleCommandLinePtr = std::shared_ptr<VPuzzleCommandLine>;
2020-04-03 22:05:03 +02:00
class VPuzzleCommandLine: public QObject
{
Q_OBJECT
public:
virtual ~VPuzzleCommandLine() = default;
2020-04-13 11:47:19 +02:00
/** @brief if user enabled export from cmd */
2020-04-03 22:05:03 +02:00
bool IsExportEnabled() const;
/** @brief path to export file or empty string if not */
QString OptionExportFile() const;
/** @brief list with paths to the raw layout data files */
QStringList OptionRawLayouts() const;
2020-04-13 11:47:19 +02:00
/** @brief if user enabled test mode from cmd */
2020-04-03 22:05:03 +02:00
bool IsTestModeEnabled() const;
2020-04-13 11:47:19 +02:00
/** @brief if gui enabled or not */
2020-04-03 22:05:03 +02:00
bool IsGuiEnabled() const;
2020-04-13 11:47:19 +02:00
/** @brief the file name which should be loaded */
2020-04-06 23:57:01 +02:00
QStringList OptionFileNames() const;
2020-04-13 11:47:19 +02:00
/** @brief if high dpi scaling is enabled */
bool IsNoScalingEnabled() const;
2020-04-03 22:05:03 +02:00
protected:
VPuzzleCommandLine();
2020-04-13 11:43:25 +02:00
/** @brief create the single instance of the class inside puzzleapplication */
static VPuzzleCommandLinePtr Instance(const QCoreApplication &app);
2020-04-03 22:05:03 +02:00
private:
Q_DISABLE_COPY(VPuzzleCommandLine)
2020-04-13 11:43:25 +02:00
static VPuzzleCommandLinePtr instance;
2020-04-03 22:05:03 +02:00
QCommandLineParser parser;
bool isGuiEnabled;
friend class PuzzleApplication;
2020-04-03 22:05:03 +02:00
2020-04-13 11:47:19 +02:00
/** @brief add options to the QCommandLineParser that there are in the cmd can be */
2020-04-03 22:05:03 +02:00
void InitCommandLineOptions();
2020-04-06 23:57:01 +02:00
2020-04-03 22:05:03 +02:00
bool IsOptionSet(const QString &option)const;
QString OptionValue(const QString &option) const;
QStringList OptionValues(const QString &option) const;
};
#endif // VPUZZLECOMMANDLINE_H