diff --git a/settingsprovider.cpp b/settingsprovider.cpp index 34d6963..535b321 100644 --- a/settingsprovider.cpp +++ b/settingsprovider.cpp @@ -1,6 +1,6 @@ #include "settingsprovider.h" -#include #include +#include SettingsProvider::SettingsProvider(QSettings &settings) { @@ -9,9 +9,9 @@ SettingsProvider::SettingsProvider(QSettings &settings) QStringList SettingsProvider::userEntriesPaths() const { - //TODO: make it configurable, but we stick with this for now. + // TODO: make it configurable, but we stick with this for now. QFileInfo fi(this->settings->fileName()); - return { fi.absoluteDir().absolutePath() }; + return {fi.absoluteDir().absolutePath()}; } QStringList SettingsProvider::systemApplicationsEntriesPaths() const @@ -19,9 +19,12 @@ QStringList SettingsProvider::systemApplicationsEntriesPaths() const return settings->value("sysAppsPaths", "/usr/share/applications/").toStringList(); } +int SettingsProvider::getMaxCols() const +{ + return settings->value("maxColumns", 3).toInt(); +} + bool SettingsProvider::singleInstanceMode() const { return settings->value("singleInstance", true).toBool(); } - - diff --git a/settingsprovider.h b/settingsprovider.h index 117ca6c..ceb81f5 100644 --- a/settingsprovider.h +++ b/settingsprovider.h @@ -1,17 +1,19 @@ #ifndef SETTINGSPROVIDER_H #define SETTINGSPROVIDER_H -#include #include +#include class SettingsProvider { -private: + private: QSettings *settings; -public: + + public: SettingsProvider(QSettings &settings); virtual QStringList userEntriesPaths() const; virtual QStringList systemApplicationsEntriesPaths() const; + virtual int getMaxCols() const; virtual bool singleInstanceMode() const; }; diff --git a/window.cpp b/window.cpp index cfa7c25..e2f4cd3 100644 --- a/window.cpp +++ b/window.cpp @@ -28,8 +28,8 @@ #include #include -#include "window.h" #include "entryprovider.h" +#include "window.h" Window::Window(EntryProvider &entryProvider, SettingsProvider &configProvider) { this->entryProvider = &entryProvider; @@ -324,6 +324,7 @@ void Window::filterGridFor(QString filter) int currow = 0; int curcol = 0; int i = 1; + const int MAX_COLS = this->settingsProvider->getMaxCols(); for(EntryPushButton *button : this->systemEntryButtons) { if(button->getName().contains(filter, Qt::CaseInsensitive)) @@ -335,7 +336,7 @@ void Window::filterGridFor(QString filter) } grid->addWidget(button, currow, curcol++); this->buttonsInGrid.append(button); - if(curcol == 3) + if(curcol == MAX_COLS) { curcol = 0; ++currow;