started to refactor Application

This commit is contained in:
fourtf
2018-07-07 11:41:01 +02:00
parent 6a418e6e59
commit c609a9fd37
32 changed files with 195 additions and 147 deletions
@@ -33,7 +33,7 @@ AccountController::AccountController()
});
}
void AccountController::load()
void AccountController::initialize(Application &app)
{
this->twitch.load();
}
@@ -1,5 +1,7 @@
#pragma once
#include "common/Singleton.hpp"
#include <QObject>
#include "common/SignalVector.hpp"
@@ -11,14 +13,14 @@ namespace chatterino {
class AccountModel;
class AccountController
class AccountController : public Singleton
{
public:
AccountController();
AccountModel *createModel(QObject *parent);
void load();
virtual void initialize(Application &app) override;
TwitchAccountManager twitch;
@@ -43,6 +43,11 @@ CommandController::CommandController()
this->items.itemRemoved.connect(addFirstMatchToMap);
}
void CommandController::initialize(Application &app)
{
this->load();
}
void CommandController::load()
{
auto app = getApp();
@@ -1,5 +1,7 @@
#pragma once
#include "common/Singleton.hpp"
#include <QMap>
#include <memory>
#include <mutex>
@@ -12,7 +14,7 @@ class Channel;
class CommandModel;
class CommandController
class CommandController : public Singleton
{
public:
CommandController();
@@ -20,14 +22,16 @@ public:
QString execCommand(const QString &text, std::shared_ptr<Channel> channel, bool dryRun);
QStringList getDefaultTwitchCommandList();
void load();
void save();
virtual void initialize(Application &app) override;
virtual void save() override;
CommandModel *createModel(QObject *parent);
UnsortedSignalVector<Command> items;
private:
void load();
QMap<QString, Command> commandsMap_;
std::mutex mutex_;
@@ -12,7 +12,7 @@ HighlightController::HighlightController()
{
}
void HighlightController::initialize()
void HighlightController::initialize(Application &app)
{
assert(!this->initialized_);
this->initialized_ = true;
@@ -1,5 +1,7 @@
#pragma once
#include "common/Singleton.hpp"
#include "common/SignalVector.hpp"
#include "controllers/highlights/HighlightBlacklistUser.hpp"
#include "controllers/highlights/HighlightPhrase.hpp"
@@ -12,12 +14,12 @@ class UserHighlightModel;
class HighlightModel;
class HighlightBlacklistModel;
class HighlightController
class HighlightController : public Singleton
{
public:
HighlightController();
void initialize();
virtual void initialize(Application &app) override;
UnsortedSignalVector<HighlightPhrase> phrases;
UnsortedSignalVector<HighlightBlacklistUser> blacklistedUsers;
+1 -1
View File
@@ -7,7 +7,7 @@
namespace chatterino {
void IgnoreController::initialize()
void IgnoreController::initialize(Application &)
{
assert(!this->initialized_);
this->initialized_ = true;
+4 -2
View File
@@ -1,5 +1,7 @@
#pragma once
#include "common/Singleton.hpp"
#include "common/SignalVector.hpp"
#include "controllers/ignores/IgnorePhrase.hpp"
#include "singletons/Settings.hpp"
@@ -8,10 +10,10 @@ namespace chatterino {
class IgnoreModel;
class IgnoreController
class IgnoreController : public Singleton
{
public:
void initialize();
virtual void initialize(Application &app) override;
UnsortedSignalVector<IgnorePhrase> phrases;
@@ -12,7 +12,7 @@ ModerationActions::ModerationActions()
{
}
void ModerationActions::initialize()
void ModerationActions::initialize(Application &app)
{
assert(!this->initialized_);
this->initialized_ = true;
@@ -1,5 +1,7 @@
#pragma once
#include "common/Singleton.hpp"
#include "common/ChatterinoSetting.hpp"
#include "common/SignalVector.hpp"
#include "controllers/moderationactions/ModerationAction.hpp"
@@ -8,12 +10,12 @@ namespace chatterino {
class ModerationActionModel;
class ModerationActions
class ModerationActions final : public Singleton
{
public:
ModerationActions();
void initialize();
virtual void initialize(Application &app) override;
UnsortedSignalVector<ModerationAction> items;
@@ -1,5 +1,7 @@
#pragma once
#include "common/Singleton.hpp"
#include "common/SignalVector.hpp"
#include "controllers/taggedusers/TaggedUser.hpp"
@@ -7,7 +9,7 @@ namespace chatterino {
class TaggedUsersModel;
class TaggedUsersController
class TaggedUsersController : public Singleton
{
public:
TaggedUsersController();