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 "cpastertr.h"
|
||||||
#include "fileshareprotocolsettingspage.h"
|
#include "fileshareprotocolsettingspage.h"
|
||||||
|
|
||||||
#include <coreplugin/icore.h>
|
|
||||||
#include <coreplugin/messagemanager.h>
|
#include <coreplugin/messagemanager.h>
|
||||||
|
|
||||||
#include <utils/fileutils.h>
|
#include <utils/fileutils.h>
|
||||||
@@ -29,20 +28,13 @@ const char textElementC[] = "text";
|
|||||||
|
|
||||||
namespace CodePaster {
|
namespace CodePaster {
|
||||||
|
|
||||||
FileShareProtocol::FileShareProtocol() :
|
FileShareProtocol::FileShareProtocol() = default;
|
||||||
m_settingsPage(new FileShareProtocolSettingsPage(&m_settings))
|
|
||||||
{
|
|
||||||
m_settings.readSettings(Core::ICore::settings());
|
|
||||||
}
|
|
||||||
|
|
||||||
FileShareProtocol::~FileShareProtocol()
|
FileShareProtocol::~FileShareProtocol() = default;
|
||||||
{
|
|
||||||
delete m_settingsPage;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString FileShareProtocol::name() const
|
QString FileShareProtocol::name() const
|
||||||
{
|
{
|
||||||
return m_settingsPage->displayName();
|
return m_settings.displayName();
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned FileShareProtocol::capabilities() const
|
unsigned FileShareProtocol::capabilities() const
|
||||||
@@ -55,9 +47,9 @@ bool FileShareProtocol::hasSettings() const
|
|||||||
return true;
|
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,
|
static bool parse(const QString &fileName,
|
||||||
|
|||||||
@@ -8,8 +8,6 @@
|
|||||||
|
|
||||||
namespace CodePaster {
|
namespace CodePaster {
|
||||||
|
|
||||||
class FileShareProtocolSettingsPage;
|
|
||||||
|
|
||||||
/* FileShareProtocol: Allows for pasting via a shared network
|
/* FileShareProtocol: Allows for pasting via a shared network
|
||||||
* drive by writing XML files. */
|
* drive by writing XML files. */
|
||||||
|
|
||||||
@@ -22,7 +20,7 @@ public:
|
|||||||
QString name() const override;
|
QString name() const override;
|
||||||
unsigned capabilities() const override;
|
unsigned capabilities() const override;
|
||||||
bool hasSettings() const override;
|
bool hasSettings() const override;
|
||||||
Core::IOptionsPage *settingsPage() const override;
|
const Core::IOptionsPage *settingsPage() const override;
|
||||||
|
|
||||||
bool checkConfiguration(QString *errorMessage = nullptr) override;
|
bool checkConfiguration(QString *errorMessage = nullptr) override;
|
||||||
void fetch(const QString &id) override;
|
void fetch(const QString &id) override;
|
||||||
@@ -35,7 +33,6 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
FileShareProtocolSettings m_settings;
|
FileShareProtocolSettings m_settings;
|
||||||
FileShareProtocolSettingsPage *m_settingsPage;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // CodePaster
|
} // CodePaster
|
||||||
|
|||||||
@@ -15,8 +15,10 @@ namespace CodePaster {
|
|||||||
|
|
||||||
FileShareProtocolSettings::FileShareProtocolSettings()
|
FileShareProtocolSettings::FileShareProtocolSettings()
|
||||||
{
|
{
|
||||||
|
setId("X.CodePaster.FileSharePaster");
|
||||||
|
setDisplayName(Tr::tr("Fileshare"));
|
||||||
|
setCategory(Constants::CPASTER_SETTINGS_CATEGORY);
|
||||||
setSettingsGroup("FileSharePasterSettings");
|
setSettingsGroup("FileSharePasterSettings");
|
||||||
setAutoApply(false);
|
|
||||||
|
|
||||||
registerAspect(&path);
|
registerAspect(&path);
|
||||||
path.setSettingsKey("Path");
|
path.setSettingsKey("Path");
|
||||||
@@ -30,18 +32,8 @@ FileShareProtocolSettings::FileShareProtocolSettings()
|
|||||||
displayCount.setDefaultValue(10);
|
displayCount.setDefaultValue(10);
|
||||||
displayCount.setSuffix(' ' + Tr::tr("entries"));
|
displayCount.setSuffix(' ' + Tr::tr("entries"));
|
||||||
displayCount.setLabelText(Tr::tr("&Display:"));
|
displayCount.setLabelText(Tr::tr("&Display:"));
|
||||||
}
|
|
||||||
|
|
||||||
// Settings page
|
setLayouter([this](QWidget *widget) {
|
||||||
|
|
||||||
FileShareProtocolSettingsPage::FileShareProtocolSettingsPage(FileShareProtocolSettings *settings)
|
|
||||||
{
|
|
||||||
setId("X.CodePaster.FileSharePaster");
|
|
||||||
setDisplayName(Tr::tr("Fileshare"));
|
|
||||||
setCategory(Constants::CPASTER_SETTINGS_CATEGORY);
|
|
||||||
setSettings(settings);
|
|
||||||
|
|
||||||
setLayouter([&s = *settings](QWidget *widget) {
|
|
||||||
using namespace Layouting;
|
using namespace Layouting;
|
||||||
|
|
||||||
auto label = new QLabel(Tr::tr(
|
auto label = new QLabel(Tr::tr(
|
||||||
@@ -52,12 +44,14 @@ FileShareProtocolSettingsPage::FileShareProtocolSettingsPage(FileShareProtocolSe
|
|||||||
Column {
|
Column {
|
||||||
Form {
|
Form {
|
||||||
label, br,
|
label, br,
|
||||||
s.path, br,
|
path, br,
|
||||||
s.displayCount
|
displayCount
|
||||||
},
|
},
|
||||||
st
|
st
|
||||||
}.attachTo(widget);
|
}.attachTo(widget);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
readSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace CodePaster
|
} // namespace CodePaster
|
||||||
|
|||||||
@@ -5,11 +5,9 @@
|
|||||||
|
|
||||||
#include <coreplugin/dialogs/ioptionspage.h>
|
#include <coreplugin/dialogs/ioptionspage.h>
|
||||||
|
|
||||||
#include <utils/aspects.h>
|
|
||||||
|
|
||||||
namespace CodePaster {
|
namespace CodePaster {
|
||||||
|
|
||||||
class FileShareProtocolSettings : public Utils::AspectContainer
|
class FileShareProtocolSettings : public Core::PagedSettings
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
FileShareProtocolSettings();
|
FileShareProtocolSettings();
|
||||||
@@ -18,10 +16,4 @@ public:
|
|||||||
Utils::IntegerAspect displayCount;
|
Utils::IntegerAspect displayCount;
|
||||||
};
|
};
|
||||||
|
|
||||||
class FileShareProtocolSettingsPage final : public Core::IOptionsPage
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
explicit FileShareProtocolSettingsPage(FileShareProtocolSettings *settings);
|
|
||||||
};
|
|
||||||
|
|
||||||
} // CodePaster
|
} // CodePaster
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ bool Protocol::checkConfiguration(QString *)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
Core::IOptionsPage *Protocol::settingsPage() const
|
const Core::IOptionsPage *Protocol::settingsPage() const
|
||||||
{
|
{
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ public:
|
|||||||
|
|
||||||
virtual unsigned capabilities() const = 0;
|
virtual unsigned capabilities() const = 0;
|
||||||
virtual bool hasSettings() const;
|
virtual bool hasSettings() const;
|
||||||
virtual Core::IOptionsPage *settingsPage() const;
|
virtual const Core::IOptionsPage *settingsPage() const;
|
||||||
|
|
||||||
virtual bool checkConfiguration(QString *errorMessage = nullptr);
|
virtual bool checkConfiguration(QString *errorMessage = nullptr);
|
||||||
virtual void fetch(const QString &id) = 0;
|
virtual void fetch(const QString &id) = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user