From 1ec60982101ddb987161e8a77aef597e83ba42bc Mon Sep 17 00:00:00 2001 From: Petr Mironychev <9195189+Palm1r@users.noreply.github.com> Date: Sun, 10 Nov 2024 18:56:57 +0100 Subject: [PATCH] Move ButtonAspect --- settings/ButtonAspect.hpp | 45 ++++++++++++++++++++++++++++++ settings/CMakeLists.txt | 2 ++ settings/ContextSettings.cpp | 2 ++ settings/ContextSettings.hpp | 2 +- settings/CustomPromptSettings.cpp | 2 ++ settings/CustomPromptSettings.hpp | 3 +- settings/GeneralSettings.cpp | 1 + settings/GeneralSettings.hpp | 2 +- settings/PresetPromptsSettings.cpp | 2 ++ settings/PresetPromptsSettings.hpp | 3 +- settings/SettingsTr.hpp | 31 ++++++++++++++++++++ settings/SettingsUtils.hpp | 26 ----------------- 12 files changed, 91 insertions(+), 30 deletions(-) create mode 100644 settings/ButtonAspect.hpp create mode 100644 settings/SettingsTr.hpp diff --git a/settings/ButtonAspect.hpp b/settings/ButtonAspect.hpp new file mode 100644 index 0000000..100ff6a --- /dev/null +++ b/settings/ButtonAspect.hpp @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2024 Petr Mironychev + * + * This file is part of QodeAssist. + * + * QodeAssist is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * QodeAssist is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with QodeAssist. If not, see . + */ + +#pragma once + +#include +#include +#include + +class ButtonAspect : public Utils::BaseAspect +{ + Q_OBJECT + +public: + ButtonAspect(Utils::AspectContainer *container = nullptr) + : Utils::BaseAspect(container) + {} + + void addToLayout(Layouting::Layout &parent) override + { + auto button = new QPushButton(m_buttonText); + connect(button, &QPushButton::clicked, this, &ButtonAspect::clicked); + parent.addItem(button); + } + + QString m_buttonText; +signals: + void clicked(); +}; diff --git a/settings/CMakeLists.txt b/settings/CMakeLists.txt index e885f4b..882cc76 100644 --- a/settings/CMakeLists.txt +++ b/settings/CMakeLists.txt @@ -5,6 +5,8 @@ add_library(QodeAssistSettings STATIC PresetPromptsSettings.hpp PresetPromptsSettings.cpp SettingsUtils.hpp SettingsConstants.hpp + ButtonAspect.hpp + SettingsTr.hpp ) target_link_libraries(QodeAssistSettings diff --git a/settings/ContextSettings.cpp b/settings/ContextSettings.cpp index b18f757..d861f03 100644 --- a/settings/ContextSettings.cpp +++ b/settings/ContextSettings.cpp @@ -25,6 +25,8 @@ #include #include "SettingsConstants.hpp" +#include "SettingsTr.hpp" +#include "SettingsUtils.hpp" namespace QodeAssist::Settings { ContextSettings &contextSettings() diff --git a/settings/ContextSettings.hpp b/settings/ContextSettings.hpp index 83c8630..e207af0 100644 --- a/settings/ContextSettings.hpp +++ b/settings/ContextSettings.hpp @@ -21,7 +21,7 @@ #include -#include "SettingsUtils.hpp" +#include "ButtonAspect.hpp" namespace QodeAssist::Settings { diff --git a/settings/CustomPromptSettings.cpp b/settings/CustomPromptSettings.cpp index c2b2f12..584ce6b 100644 --- a/settings/CustomPromptSettings.cpp +++ b/settings/CustomPromptSettings.cpp @@ -27,6 +27,8 @@ #include #include "SettingsConstants.hpp" +#include "SettingsTr.hpp" +#include "SettingsUtils.hpp" namespace QodeAssist::Settings { diff --git a/settings/CustomPromptSettings.hpp b/settings/CustomPromptSettings.hpp index 18780ac..0f679ae 100644 --- a/settings/CustomPromptSettings.hpp +++ b/settings/CustomPromptSettings.hpp @@ -19,9 +19,10 @@ #pragma once -#include "SettingsUtils.hpp" #include +#include "ButtonAspect.hpp" + namespace QodeAssist::Settings { class CustomPromptSettings : public Utils::AspectContainer diff --git a/settings/GeneralSettings.cpp b/settings/GeneralSettings.cpp index fc54e1c..1c64d87 100644 --- a/settings/GeneralSettings.cpp +++ b/settings/GeneralSettings.cpp @@ -31,6 +31,7 @@ #include "Provider.hpp" #include "ProvidersManager.hpp" #include "SettingsConstants.hpp" +#include "SettingsTr.hpp" #include "SettingsUtils.hpp" namespace QodeAssist::Settings { diff --git a/settings/GeneralSettings.hpp b/settings/GeneralSettings.hpp index 392eca8..6584659 100644 --- a/settings/GeneralSettings.hpp +++ b/settings/GeneralSettings.hpp @@ -21,7 +21,7 @@ #include -#include "SettingsUtils.hpp" +#include "ButtonAspect.hpp" namespace QodeAssist::LLMCore { class Provider; diff --git a/settings/PresetPromptsSettings.cpp b/settings/PresetPromptsSettings.cpp index cc6af09..861dd1a 100644 --- a/settings/PresetPromptsSettings.cpp +++ b/settings/PresetPromptsSettings.cpp @@ -26,6 +26,8 @@ #include "RequestType.hpp" #include "SettingsConstants.hpp" +#include "SettingsTr.hpp" +#include "SettingsUtils.hpp" namespace QodeAssist::Settings { diff --git a/settings/PresetPromptsSettings.hpp b/settings/PresetPromptsSettings.hpp index bf0386a..9cae0f1 100644 --- a/settings/PresetPromptsSettings.hpp +++ b/settings/PresetPromptsSettings.hpp @@ -19,9 +19,10 @@ #pragma once -#include "SettingsUtils.hpp" #include +#include "ButtonAspect.hpp" + namespace QodeAssist::Settings { class PresetPromptsSettings : public Utils::AspectContainer diff --git a/settings/SettingsTr.hpp b/settings/SettingsTr.hpp new file mode 100644 index 0000000..ec2b40f --- /dev/null +++ b/settings/SettingsTr.hpp @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2024 Petr Mironychev + * + * This file is part of QodeAssist. + * + * QodeAssist is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * QodeAssist is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with QodeAssist. If not, see . + */ + +#pragma once + +#include + +namespace QodeAssist::Settings { + +struct Tr +{ + Q_DECLARE_TR_FUNCTIONS(QtC::QodeAssist) +}; + +} // namespace QodeAssist::Settings diff --git a/settings/SettingsUtils.hpp b/settings/SettingsUtils.hpp index 6ff07bf..2761ec2 100644 --- a/settings/SettingsUtils.hpp +++ b/settings/SettingsUtils.hpp @@ -29,11 +29,6 @@ namespace QodeAssist::Settings { -struct Tr -{ - Q_DECLARE_TR_FUNCTIONS(QtC::QodeAssist) -}; - inline bool pingUrl(const QUrl &url, int timeout = 5000) { if (!url.isValid()) { @@ -72,25 +67,4 @@ void resetAspect(AspectType &aspect) aspect.setVolatileValue(aspect.defaultValue()); } -class ButtonAspect : public Utils::BaseAspect -{ - Q_OBJECT - -public: - ButtonAspect(Utils::AspectContainer *container = nullptr) - : Utils::BaseAspect(container) - {} - - void addToLayout(Layouting::Layout &parent) override - { - auto button = new QPushButton(m_buttonText); - connect(button, &QPushButton::clicked, this, &ButtonAspect::clicked); - parent.addItem(button); - } - - QString m_buttonText; -signals: - void clicked(); -}; - } // namespace QodeAssist::Settings