CodePaster: Avoid use of global object pool

Change-Id: Ib81694d9dd3e8d040adc9ca12e9296e5cceb8208
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2018-02-07 11:48:18 +01:00
parent e48d8afedd
commit c9ceed697f
4 changed files with 6 additions and 8 deletions

View File

@@ -116,8 +116,7 @@ bool CodepasterPlugin::initialize(const QStringList &arguments, QString *errorMe
// Create the settings Page // Create the settings Page
m_settings->fromSettings(ICore::settings()); m_settings->fromSettings(ICore::settings());
SettingsPage *settingsPage = new SettingsPage(m_settings); SettingsPage *settingsPage = new SettingsPage(m_settings, this);
addAutoReleasedObject(settingsPage);
// Create the protocols and append them to the Settings // Create the protocols and append them to the Settings
Protocol *protos[] = {new PasteBinDotComProtocol, Protocol *protos[] = {new PasteBinDotComProtocol,
@@ -130,8 +129,6 @@ bool CodepasterPlugin::initialize(const QStringList &arguments, QString *errorMe
connect(protos[i], &Protocol::pasteDone, this, &CodepasterPlugin::finishPost); connect(protos[i], &Protocol::pasteDone, this, &CodepasterPlugin::finishPost);
connect(protos[i], &Protocol::fetchDone, this, &CodepasterPlugin::finishFetch); connect(protos[i], &Protocol::fetchDone, this, &CodepasterPlugin::finishFetch);
settingsPage->addProtocol(protos[i]->name()); settingsPage->addProtocol(protos[i]->name());
if (protos[i]->hasSettings())
addAutoReleasedObject(protos[i]->settingsPage());
m_protocols.append(protos[i]); m_protocols.append(protos[i]);
} }
@@ -167,7 +164,7 @@ bool CodepasterPlugin::initialize(const QStringList &arguments, QString *errorMe
connect(m_fetchUrlAction, &QAction::triggered, this, &CodepasterPlugin::fetchUrl); connect(m_fetchUrlAction, &QAction::triggered, this, &CodepasterPlugin::fetchUrl);
cpContainer->addAction(command); cpContainer->addAction(command);
addAutoReleasedObject(new CodePasterServiceImpl); new CodePasterServiceImpl(this);
return true; return true;
} }

View File

@@ -56,6 +56,7 @@ FileShareProtocol::FileShareProtocol() :
FileShareProtocol::~FileShareProtocol() FileShareProtocol::~FileShareProtocol()
{ {
delete m_settingsPage;
} }
QString FileShareProtocol::name() const QString FileShareProtocol::name() const

View File

@@ -62,8 +62,8 @@ Settings SettingsWidget::settings()
return rc; return rc;
} }
SettingsPage::SettingsPage(const QSharedPointer<Settings> &settings) : SettingsPage::SettingsPage(const QSharedPointer<Settings> &settings, QObject *parent)
m_settings(settings), m_widget(nullptr) : Core::IOptionsPage(parent), m_settings(settings), m_widget(nullptr)
{ {
setId("A.CodePaster.General"); setId("A.CodePaster.General");
setDisplayName(tr("General")); setDisplayName(tr("General"));

View File

@@ -56,7 +56,7 @@ class SettingsPage : public Core::IOptionsPage
Q_OBJECT Q_OBJECT
public: public:
explicit SettingsPage(const QSharedPointer<Settings> &settings); explicit SettingsPage(const QSharedPointer<Settings> &settings, QObject *parent);
~SettingsPage() override; ~SettingsPage() override;
QWidget *widget() override; QWidget *widget() override;