summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2023-05-15 16:29:22 +0200
committerhjk <hjk@qt.io>2023-05-17 06:07:54 +0000
commit520412d147b12ed8fda1a13aef96d79b953590c5 (patch)
tree6c9104d107c4a20694b1cfc27f2f1e220ab574bb /src
parent0672199de83042fa160f0abbb5c6077642b0d261 (diff)
downloadqt-creator-520412d147b12ed8fda1a13aef96d79b953590c5.tar.gz
CPaster: Use PagedSettings
Change-Id: I826030f9a691c9e9c929deb1624d9705d3222e23 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/cpaster/fileshareprotocol.cpp18
-rw-r--r--src/plugins/cpaster/fileshareprotocol.h5
-rw-r--r--src/plugins/cpaster/fileshareprotocolsettingspage.cpp22
-rw-r--r--src/plugins/cpaster/fileshareprotocolsettingspage.h10
-rw-r--r--src/plugins/cpaster/protocol.cpp2
-rw-r--r--src/plugins/cpaster/protocol.h2
6 files changed, 17 insertions, 42 deletions
diff --git a/src/plugins/cpaster/fileshareprotocol.cpp b/src/plugins/cpaster/fileshareprotocol.cpp
index 6ceb8a4e13..e9b85ee1af 100644
--- a/src/plugins/cpaster/fileshareprotocol.cpp
+++ b/src/plugins/cpaster/fileshareprotocol.cpp
@@ -6,7 +6,6 @@
#include "cpastertr.h"
#include "fileshareprotocolsettingspage.h"
-#include <coreplugin/icore.h>
#include <coreplugin/messagemanager.h>
#include <utils/fileutils.h>
@@ -29,20 +28,13 @@ const char textElementC[] = "text";
namespace CodePaster {
-FileShareProtocol::FileShareProtocol() :
- m_settingsPage(new FileShareProtocolSettingsPage(&m_settings))
-{
- m_settings.readSettings(Core::ICore::settings());
-}
+FileShareProtocol::FileShareProtocol() = default;
-FileShareProtocol::~FileShareProtocol()
-{
- delete m_settingsPage;
-}
+FileShareProtocol::~FileShareProtocol() = default;
QString FileShareProtocol::name() const
{
- return m_settingsPage->displayName();
+ return m_settings.displayName();
}
unsigned FileShareProtocol::capabilities() const
@@ -55,9 +47,9 @@ bool FileShareProtocol::hasSettings() const
return true;
}
-Core::IOptionsPage *FileShareProtocol::settingsPage() const
+const Core::IOptionsPage *FileShareProtocol::settingsPage() const
{
- return m_settingsPage;
+ return &m_settings;
}
static bool parse(const QString &fileName,
diff --git a/src/plugins/cpaster/fileshareprotocol.h b/src/plugins/cpaster/fileshareprotocol.h
index 100c0aece0..db03bb11bf 100644
--- a/src/plugins/cpaster/fileshareprotocol.h
+++ b/src/plugins/cpaster/fileshareprotocol.h
@@ -8,8 +8,6 @@
namespace CodePaster {
-class FileShareProtocolSettingsPage;
-
/* FileShareProtocol: Allows for pasting via a shared network
* drive by writing XML files. */
@@ -22,7 +20,7 @@ public:
QString name() const override;
unsigned capabilities() const override;
bool hasSettings() const override;
- Core::IOptionsPage *settingsPage() const override;
+ const Core::IOptionsPage *settingsPage() const override;
bool checkConfiguration(QString *errorMessage = nullptr) override;
void fetch(const QString &id) override;
@@ -35,7 +33,6 @@ public:
private:
FileShareProtocolSettings m_settings;
- FileShareProtocolSettingsPage *m_settingsPage;
};
} // CodePaster
diff --git a/src/plugins/cpaster/fileshareprotocolsettingspage.cpp b/src/plugins/cpaster/fileshareprotocolsettingspage.cpp
index e2e382c94b..f3c6daad53 100644
--- a/src/plugins/cpaster/fileshareprotocolsettingspage.cpp
+++ b/src/plugins/cpaster/fileshareprotocolsettingspage.cpp
@@ -15,8 +15,10 @@ namespace CodePaster {
FileShareProtocolSettings::FileShareProtocolSettings()
{
+ setId("X.CodePaster.FileSharePaster");
+ setDisplayName(Tr::tr("Fileshare"));
+ setCategory(Constants::CPASTER_SETTINGS_CATEGORY);
setSettingsGroup("FileSharePasterSettings");
- setAutoApply(false);
registerAspect(&path);
path.setSettingsKey("Path");
@@ -30,18 +32,8 @@ FileShareProtocolSettings::FileShareProtocolSettings()
displayCount.setDefaultValue(10);
displayCount.setSuffix(' ' + Tr::tr("entries"));
displayCount.setLabelText(Tr::tr("&Display:"));
-}
-
-// Settings page
-FileShareProtocolSettingsPage::FileShareProtocolSettingsPage(FileShareProtocolSettings *settings)
-{
- setId("X.CodePaster.FileSharePaster");
- setDisplayName(Tr::tr("Fileshare"));
- setCategory(Constants::CPASTER_SETTINGS_CATEGORY);
- setSettings(settings);
-
- setLayouter([&s = *settings](QWidget *widget) {
+ setLayouter([this](QWidget *widget) {
using namespace Layouting;
auto label = new QLabel(Tr::tr(
@@ -52,12 +44,14 @@ FileShareProtocolSettingsPage::FileShareProtocolSettingsPage(FileShareProtocolSe
Column {
Form {
label, br,
- s.path, br,
- s.displayCount
+ path, br,
+ displayCount
},
st
}.attachTo(widget);
});
+
+ readSettings();
}
} // namespace CodePaster
diff --git a/src/plugins/cpaster/fileshareprotocolsettingspage.h b/src/plugins/cpaster/fileshareprotocolsettingspage.h
index 3b92c3596d..36a06c2106 100644
--- a/src/plugins/cpaster/fileshareprotocolsettingspage.h
+++ b/src/plugins/cpaster/fileshareprotocolsettingspage.h
@@ -5,11 +5,9 @@
#include <coreplugin/dialogs/ioptionspage.h>
-#include <utils/aspects.h>
-
namespace CodePaster {
-class FileShareProtocolSettings : public Utils::AspectContainer
+class FileShareProtocolSettings : public Core::PagedSettings
{
public:
FileShareProtocolSettings();
@@ -18,10 +16,4 @@ public:
Utils::IntegerAspect displayCount;
};
-class FileShareProtocolSettingsPage final : public Core::IOptionsPage
-{
-public:
- explicit FileShareProtocolSettingsPage(FileShareProtocolSettings *settings);
-};
-
} // CodePaster
diff --git a/src/plugins/cpaster/protocol.cpp b/src/plugins/cpaster/protocol.cpp
index d26396205a..c2630d09c1 100644
--- a/src/plugins/cpaster/protocol.cpp
+++ b/src/plugins/cpaster/protocol.cpp
@@ -47,7 +47,7 @@ bool Protocol::checkConfiguration(QString *)
return true;
}
-Core::IOptionsPage *Protocol::settingsPage() const
+const Core::IOptionsPage *Protocol::settingsPage() const
{
return nullptr;
}
diff --git a/src/plugins/cpaster/protocol.h b/src/plugins/cpaster/protocol.h
index a8d233619b..90464768c2 100644
--- a/src/plugins/cpaster/protocol.h
+++ b/src/plugins/cpaster/protocol.h
@@ -38,7 +38,7 @@ public:
virtual unsigned capabilities() const = 0;
virtual bool hasSettings() const;
- virtual Core::IOptionsPage *settingsPage() const;
+ virtual const Core::IOptionsPage *settingsPage() const;
virtual bool checkConfiguration(QString *errorMessage = nullptr);
virtual void fetch(const QString &id) = 0;