diff --git a/src/capture/widget/colorpicker.cpp b/src/capture/widget/colorpicker.cpp index 52fff63a..2c5f8463 100644 --- a/src/capture/widget/colorpicker.cpp +++ b/src/capture/widget/colorpicker.cpp @@ -22,26 +22,27 @@ #include ColorPicker::ColorPicker(QWidget *parent) : QWidget(parent) { + ConfigHandler config; + m_colorList = config.getUserColors(); m_colorAreaSize = CaptureButton::buttonBaseSize() * 0.6; setMouseTracking(true); // save the color values in member variables for faster access - ConfigHandler config; m_uiColor = config.uiMainColorValue(); m_drawColor = config.drawColorValue(); // extraSize represents the extra space needed for the highlight of the // selected color. const int extraSize = 6; - double radius = (colorList.size()*m_colorAreaSize/1.3)/(3.141592); + double radius = (m_colorList.size()*m_colorAreaSize/1.3)/(3.141592); resize(radius*2 + m_colorAreaSize + extraSize, radius*2 + m_colorAreaSize+ extraSize); - double degree = 360 / (colorList.size()); + double degree = 360 / (m_colorList.size()); double degreeAcum = degree; // this line is the radius of the circle which will be rotated to add // the color components. QLineF baseLine = QLineF(QPoint(radius+extraSize/2, radius+extraSize/2), QPoint(radius*2, radius)); - for (int i = 0; ipos())) { - m_drawColor = colorList.at(i); + m_drawColor = m_colorList.at(i); update(); break; } @@ -108,18 +109,5 @@ QVector ColorPicker::handleMask() const { for (const QRect &rect: m_colorAreaList) { areas.append(rect); } - return areas; } - -QVector ColorPicker::colorList = { - Qt::darkRed, - Qt::red, - Qt::yellow, - Qt::green, - Qt::darkGreen, - Qt::cyan, - Qt::blue, - Qt::magenta, - Qt::darkMagenta -}; diff --git a/src/capture/widget/colorpicker.h b/src/capture/widget/colorpicker.h index fc3d5516..9a7f74c8 100644 --- a/src/capture/widget/colorpicker.h +++ b/src/capture/widget/colorpicker.h @@ -40,7 +40,7 @@ protected: private: int m_colorAreaSize; QVector m_colorAreaList; - static QVector colorList; + QVector m_colorList; QColor m_uiColor, m_drawColor; diff --git a/src/capture/workers/launcher/applauncherwidget.cpp b/src/capture/workers/launcher/applauncherwidget.cpp index d20ded44..1336f4bc 100644 --- a/src/capture/workers/launcher/applauncherwidget.cpp +++ b/src/capture/workers/launcher/applauncherwidget.cpp @@ -134,14 +134,14 @@ void AppLauncherWidget::searchChanged(const QString &text) { m_filterList->show(); m_filterList->clear(); QRegExp regexp(text, Qt::CaseInsensitive, QRegExp::Wildcard); - QVector apps; + QVector apps; for (auto const& i : catIconNames.toStdMap()) { const QString &cat = i.first; if (!m_appsMap.contains(cat)) { continue; } - const QVector &appList = m_appsMap[cat]; + const QVector &appList = m_appsMap[cat]; for (const DesktopAppData &app: appList) { if (!apps.contains(app) && (app.name.contains(regexp) || app.description.contains(regexp) )) @@ -170,7 +170,7 @@ void AppLauncherWidget::initListWidget() { QListWidget *itemsWidget = new QListWidget(); configureListView(itemsWidget); - const QVector &appList = m_appsMap[cat]; + const QVector &appList = m_appsMap[cat]; addAppsToListWidget(itemsWidget, appList); m_tabWidget->addTab(itemsWidget, QIcon::fromTheme(iconName), ""); @@ -197,7 +197,7 @@ void AppLauncherWidget::initAppMap() { m_appsMap = m_parser.getAppsByCategory(categories); // Unify multimedia. - QVector multimediaList; + QVector multimediaList; QStringList multimediaNames; multimediaNames << "AudioVideo" << "Audio" << "Video"; for (const QString &name : multimediaNames) { @@ -227,7 +227,7 @@ void AppLauncherWidget::configureListView(QListWidget *widget) { } void AppLauncherWidget::addAppsToListWidget( - QListWidget *widget, const QVector &appList) + QListWidget *widget, const QVector &appList) { for (const DesktopAppData &app: appList) { QListWidgetItem *buttonItem = new QListWidgetItem(widget); diff --git a/src/capture/workers/launcher/applauncherwidget.h b/src/capture/workers/launcher/applauncherwidget.h index bdb375ce..2225c4ce 100644 --- a/src/capture/workers/launcher/applauncherwidget.h +++ b/src/capture/workers/launcher/applauncherwidget.h @@ -43,13 +43,13 @@ private: void initAppMap(); void configureListView(QListWidget *widget); void addAppsToListWidget(QListWidget *widget, - const QVector &appList); + const QVector &appList); DesktopFileParser m_parser; QPixmap m_pixmap; QString m_tempFile; bool m_keepOpen; - QMap> m_appsMap; + QMap> m_appsMap; QCheckBox *m_keepOpenCheckbox; QCheckBox *m_terminalCheckbox; QVBoxLayout *m_layout; diff --git a/src/config/buttonlistview.h b/src/config/buttonlistview.h index 5ae1f19c..bf56b526 100644 --- a/src/config/buttonlistview.h +++ b/src/config/buttonlistview.h @@ -35,7 +35,7 @@ protected: void initButtonList(); private: - QVector m_listButtons; + QVector m_listButtons; QMap m_buttonTypeByName; void updateActiveButtons(QListWidgetItem *); diff --git a/src/main.cpp b/src/main.cpp index 116cd75e..8c65ffe0 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -36,7 +36,7 @@ int main(int argc, char *argv[]) { // required for the button serialization - qRegisterMetaTypeStreamOperators >("QVector"); + qRegisterMetaTypeStreamOperators >("QVector"); qApp->setApplicationVersion(static_cast(APP_VERSION)); QTranslator translator; diff --git a/src/utils/confighandler.cpp b/src/utils/confighandler.cpp index cc1f0448..c0c2c89f 100644 --- a/src/utils/confighandler.cpp +++ b/src/utils/confighandler.cpp @@ -26,26 +26,50 @@ ConfigHandler::ConfigHandler(){ } QVector ConfigHandler::getButtons() { - QVector buttons; + QVector buttons; if (m_settings.contains("buttons")) { - QVector buttonsInt = m_settings.value("buttons").value >(); + QVector buttonsInt = m_settings.value("buttons").value >(); bool modified = normalizeButtons(buttonsInt); if (modified) { m_settings.setValue("buttons", QVariant::fromValue(buttonsInt)); } buttons = fromIntToButton(buttonsInt); } else { - buttons = CaptureButton::getIterableButtonTypes(); + buttons = CaptureButton::getIterableButtonTypes(); } return buttons; } void ConfigHandler::setButtons(const QVector &buttons) { - QVector l = fromButtonToInt(buttons); + QVector l = fromButtonToInt(buttons); normalizeButtons(l); m_settings.setValue("buttons", QVariant::fromValue(l)); } +QVector ConfigHandler::getUserColors() { + QVector colors; + if (m_settings.contains("userColors")) { + colors = m_settings.value("userColors").value >(); + } else { + colors = { + Qt::darkRed, + Qt::red, + Qt::yellow, + Qt::green, + Qt::darkGreen, + Qt::cyan, + Qt::blue, + Qt::magenta, + Qt::darkMagenta, + }; + } + return colors; +} + +void ConfigHandler::setUserColors(const QVector &l) { + m_settings.setValue("userColors", QVariant::fromValue(l)); +} + QString ConfigHandler::savePathValue() { return m_settings.value("savePath").toString(); } @@ -210,7 +234,7 @@ void ConfigHandler::setDefaults() { } void ConfigHandler::setAllTheButtons() { - QVector buttons; + QVector buttons; auto listTypes = CaptureButton::getIterableButtonTypes(); for (const CaptureButton::ButtonType t: listTypes) { buttons << static_cast(t); @@ -224,14 +248,14 @@ QString ConfigHandler::configFilePath() const { bool ConfigHandler::normalizeButtons(QVector &buttons) { auto listTypes = CaptureButton::getIterableButtonTypes(); - QVector listTypesInt; - for(auto i: listTypes) - listTypesInt << static_cast(i); + QVector listTypesInt; + for(auto i: listTypes) + listTypesInt << static_cast(i); bool hasChanged = false; - for (int i = 0; i < buttons.size(); i++) { - if (!listTypesInt.contains(buttons.at(i))) { - buttons.remove(i); + for (int i = 0; i < buttons.size(); i++) { + if (!listTypesInt.contains(buttons.at(i))) { + buttons.remove(i); hasChanged = true; } } @@ -243,18 +267,18 @@ bool ConfigHandler::normalizeButtons(QVector &buttons) { } QVector ConfigHandler::fromIntToButton( - const QVector &l) + const QVector &l) { - QVector buttons; + QVector buttons; for (auto const i: l) buttons << static_cast(i); return buttons; } QVector ConfigHandler::fromButtonToInt( - const QVector &l) + const QVector &l) { - QVector buttons; + QVector buttons; for (auto const i: l) buttons << static_cast(i); return buttons; diff --git a/src/utils/confighandler.h b/src/utils/confighandler.h index 97d12ab2..c5cefe34 100644 --- a/src/utils/confighandler.h +++ b/src/utils/confighandler.h @@ -26,8 +26,11 @@ class ConfigHandler public: explicit ConfigHandler(); - QVector getButtons(); - void setButtons(const QVector &); + QVector getButtons(); + void setButtons(const QVector &); + + QVector getUserColors(); + void setUserColors(const QVector &); QString savePathValue(); void setSavePath(const QString &); @@ -73,9 +76,9 @@ public: private: QSettings m_settings; - bool normalizeButtons(QVector &); + bool normalizeButtons(QVector &); - QVector fromIntToButton(const QVector &l); - QVector fromButtonToInt(const QVector &l); + QVector fromIntToButton(const QVector &l); + QVector fromButtonToInt(const QVector &l); }; diff --git a/src/utils/desktopfileparse.cpp b/src/utils/desktopfileparse.cpp index 5096cb4a..8a5e986f 100644 --- a/src/utils/desktopfileparse.cpp +++ b/src/utils/desktopfileparse.cpp @@ -128,7 +128,7 @@ int DesktopFileParser::processDirectory(const QDir &dir) { } QVector DesktopFileParser::getAppsByCategory(const QString &category) { - QVector res; + QVector res; for (const DesktopAppData &app : m_appList) { if (app.categories.contains(category)) { res.append(app); @@ -140,7 +140,7 @@ QVector DesktopFileParser::getAppsByCategory(const QString &cate QMap> DesktopFileParser::getAppsByCategory( const QStringList &categories) { - QMap> res; + QMap> res; for (const DesktopAppData &app : m_appList) { for (const QString &category: categories) { if (app.categories.contains(category)) { diff --git a/src/utils/desktopfileparse.h b/src/utils/desktopfileparse.h index 0b117a27..55a4e796 100644 --- a/src/utils/desktopfileparse.h +++ b/src/utils/desktopfileparse.h @@ -57,8 +57,8 @@ struct DesktopFileParser { DesktopAppData parseDesktopFile(const QString &fileName, bool &ok) const; int processDirectory(const QDir &dir); - QVector getAppsByCategory(const QString &category); - QMap> getAppsByCategory( + QVector getAppsByCategory(const QString &category); + QMap> getAppsByCategory( const QStringList &categories); private: @@ -68,5 +68,5 @@ private: QString m_localeDescriptionShort; QIcon m_defaultIcon; - QVector m_appList; + QVector m_appList; }; diff --git a/src/utils/systemnotification.cpp b/src/utils/systemnotification.cpp index c7564553..dcccbffb 100644 --- a/src/utils/systemnotification.cpp +++ b/src/utils/systemnotification.cpp @@ -34,7 +34,7 @@ void SystemNotification::sendMessage( } #ifndef Q_OS_WIN - QList args; + QList args; args << (qAppName()) //appname << static_cast(0) //id << "flameshot.png" //icon