forked from qt-creator/qt-creator
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:
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -47,7 +47,7 @@ bool Protocol::checkConfiguration(QString *)
|
||||
return true;
|
||||
}
|
||||
|
||||
Core::IOptionsPage *Protocol::settingsPage() const
|
||||
const Core::IOptionsPage *Protocol::settingsPage() const
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user