CPaster: Use PagedSettings

Change-Id: I826030f9a691c9e9c929deb1624d9705d3222e23
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2023-05-15 16:29:22 +02:00
parent 0672199de8
commit 520412d147
6 changed files with 17 additions and 42 deletions

View File

@@ -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,

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -47,7 +47,7 @@ bool Protocol::checkConfiguration(QString *)
return true;
}
Core::IOptionsPage *Protocol::settingsPage() const
const Core::IOptionsPage *Protocol::settingsPage() const
{
return nullptr;
}

View File

@@ -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;