From 7e555843ca3e9217918538e0c0084d92236c797a Mon Sep 17 00:00:00 2001 From: fourtf Date: Sun, 22 Sep 2019 15:30:04 +0200 Subject: [PATCH] added class containing program arguments --- chatterino.pro | 2 ++ src/Application.cpp | 1 + src/common/Args.cpp | 30 ++++++++++++++++++++++++++++++ src/common/Args.hpp | 17 +++++++++++++++++ src/main.cpp | 1 + 5 files changed, 51 insertions(+) create mode 100644 src/common/Args.cpp create mode 100644 src/common/Args.hpp diff --git a/chatterino.pro b/chatterino.pro index 0230bba3..56857ea0 100644 --- a/chatterino.pro +++ b/chatterino.pro @@ -76,6 +76,7 @@ SOURCES += \ src/Application.cpp \ src/autogenerated/ResourcesAutogen.cpp \ src/BrowserExtension.cpp \ + src/common/Args.cpp \ src/common/Channel.cpp \ src/common/ChannelChatters.cpp \ src/common/CompletionModel.cpp \ @@ -233,6 +234,7 @@ HEADERS += \ src/autogenerated/ResourcesAutogen.hpp \ src/BrowserExtension.hpp \ src/common/Aliases.hpp \ + src/common/Args.hpp \ src/common/Atomic.hpp \ src/common/Channel.hpp \ src/common/ChannelChatters.hpp \ diff --git a/src/Application.cpp b/src/Application.cpp index a5c7e83e..c4e12a26 100644 --- a/src/Application.cpp +++ b/src/Application.cpp @@ -2,6 +2,7 @@ #include +#include "common/Args.hpp" #include "controllers/accounts/AccountController.hpp" #include "controllers/commands/CommandController.hpp" #include "controllers/highlights/HighlightController.hpp" diff --git a/src/common/Args.cpp b/src/common/Args.cpp new file mode 100644 index 00000000..ab2704f8 --- /dev/null +++ b/src/common/Args.cpp @@ -0,0 +1,30 @@ +#include "Args.hpp" + +namespace chatterino { + +Args::Args(const QStringList &args) +{ + for (auto &&arg : args) + { + if (arg == "--crash-recovery") + { + this->crashRecovery = true; + } + } +} + +static Args *instance = nullptr; + +void initArgs(const QStringList &args) +{ + instance = new Args(args); +} + +const Args &getArgs() +{ + assert(instance); + + return *instance; +} + +} // namespace chatterino diff --git a/src/common/Args.hpp b/src/common/Args.hpp new file mode 100644 index 00000000..c27932c8 --- /dev/null +++ b/src/common/Args.hpp @@ -0,0 +1,17 @@ +#pragma once + +namespace chatterino { + +/// Command line arguments passed to Chatterino. +class Args +{ +public: + Args(const QStringList &args); + + bool crashRecovery{}; +}; + +void initArgs(const QStringList &args); +const Args &getArgs(); + +} // namespace chatterino diff --git a/src/main.cpp b/src/main.cpp index 6cce245e..7809a03e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -26,6 +26,7 @@ int main(int argc, char **argv) } else { + initArgs(args); Paths paths; Settings settings(paths.settingsDirectory);