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