diff --git a/entrypushbutton.h b/entrypushbutton.h index a50b910..e7c30c9 100644 --- a/entrypushbutton.h +++ b/entrypushbutton.h @@ -18,7 +18,7 @@ #include #include -#include "config.h" +#include "entryprovider.h" class EntryPushButton : public QPushButton { Q_OBJECT @@ -44,8 +44,8 @@ public: void setRow(int row); void setCol(int col); void setShortcutKey(QString key); - - }; + + #endif // ENTRYPUSHBUTTON_H diff --git a/main.cpp b/main.cpp index 9392554..691ea60 100644 --- a/main.cpp +++ b/main.cpp @@ -19,13 +19,12 @@ #include #include #include -#include "configprovider.h" +#include +#include "settingsprovider.h" +#include "entryprovider.h" #include "window.h" #include "singleinstanceserver.h" - - - int main(int argc, char *argv[]) { QApplication app(argc, argv); @@ -58,7 +57,8 @@ int main(int argc, char *argv[]) QSettings settings(configDirectoryPath + "qsrun.config", QSettings::NativeFormat); - ConfigProvider configProvider(configDirectoryPath, settings); + SettingsProvider settingsProvider { settings }; + EntryProvider entryProvider(settingsProvider.userEntriesPaths(), settingsProvider.systemApplicationsEntriesPaths()); //TODO if setting single instance mode QLocalSocket localSocket; localSocket.connectToServer("/tmp/qsrun.socket"); @@ -78,7 +78,7 @@ int main(int argc, char *argv[]) { qDebug() << "Failed to listen on socket!"; } - Window *w = new Window { configProvider }; + Window *w = new Window { entryProvider, settingsProvider }; QObject::connect(&server, &SingleInstanceServer::receivedMaximizationRequest, [&w]{ if(w != nullptr) { diff --git a/qsrun.pro b/qsrun.pro index d2fa854..23923a8 100644 --- a/qsrun.pro +++ b/qsrun.pro @@ -7,19 +7,21 @@ TARGET = qsrun INCLUDEPATH += . # Input -HEADERS += config.h window.h \ - entrypushbutton.h \ - calculationengine.h \ - singleinstanceserver.h \ - configprovider.h -SOURCES += config.cpp main.cpp window.cpp \ - entrypushbutton.cpp \ - calculationengine.cpp \ - singleinstanceserver.cpp \ - configprovider.cpp +HEADERS += calculationengine.h \ + entryprovider.h \ + entrypushbutton.h \ + settingsprovider.h \ + singleinstanceserver.h \ + window.h +SOURCES += calculationengine.cpp \ + entryprovider.cpp \ + entrypushbutton.cpp \ + main.cpp \ + settingsprovider.cpp \ + singleinstanceserver.cpp \ + window.cpp QT += widgets sql network QT_CONFIG -= no-pkg-config LIBS += -lcln CONFIG += link_pkgconfig PKGCONFIG += libqalculate - diff --git a/window.cpp b/window.cpp index 44cbe51..f2c5475 100644 --- a/window.cpp +++ b/window.cpp @@ -28,10 +28,11 @@ #include #include #include "window.h" -#include "configprovider.h" -Window::Window(ConfigProvider &configProvider) +#include "entryprovider.h" +Window::Window(EntryProvider &entryProvider, SettingsProvider &configProvider) { - this->configProvider = &configProvider; + this->entryProvider = &entryProvider; + this->settingsProvider = &configProvider; createGui(); initFromConfig(); this->lineEdit->installEventFilter(this); @@ -55,8 +56,8 @@ void Window::initFromConfig() { try { - this->userEntryButtons = generateEntryButtons(configProvider->getUserEntries()); - this->systemEntryButtons = generateEntryButtons(configProvider->getSystemEntries()); + this->userEntryButtons = generateEntryButtons(entryProvider->getUserEntries()); + this->systemEntryButtons = generateEntryButtons(entryProvider->getSystemEntries()); } catch(const ConfigFormatException &e) { @@ -124,7 +125,7 @@ void Window::buttonClick(const EntryPushButton &config) void Window::closeWindow() { - if(configProvider->singleInstanceMode()) + if(settingsProvider->singleInstanceMode()) { this->lineEdit->setText(""); hide(); diff --git a/window.h b/window.h index f1f4296..62ac26b 100644 --- a/window.h +++ b/window.h @@ -30,16 +30,16 @@ #include #include #include -#include "config.h" #include "entrypushbutton.h" #include "calculationengine.h" -#include "configprovider.h" +#include "settingsprovider.h" class Window : public QWidget { Q_OBJECT private: - ConfigProvider *configProvider; + EntryProvider *entryProvider; + SettingsProvider *settingsProvider; CalculationEngine calcEngine; QString calculationresult; QVector userEntryButtons; @@ -71,7 +71,7 @@ private slots: void lineEditReturnPressed(); void showCalculationResultContextMenu(const QPoint &point); public: - Window(ConfigProvider &configProvider); + Window(EntryProvider &entryProvider, SettingsProvider &settingsProvider); void setSystemConfig(const QVector &config); bool eventFilter(QObject *obj, QEvent *event); void focusInput();