forked from qt-creator/qt-creator
CodePaster: Avoid use of global object pool
Change-Id: Ib81694d9dd3e8d040adc9ca12e9296e5cceb8208 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
@@ -56,6 +56,7 @@ FileShareProtocol::FileShareProtocol() :
|
|||||||
|
|
||||||
FileShareProtocol::~FileShareProtocol()
|
FileShareProtocol::~FileShareProtocol()
|
||||||
{
|
{
|
||||||
|
delete m_settingsPage;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString FileShareProtocol::name() const
|
QString FileShareProtocol::name() const
|
||||||
|
@@ -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"));
|
||||||
|
@@ -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;
|
||||||
|
Reference in New Issue
Block a user