forked from qt-creator/qt-creator
KitManager: Move the instance setup to a function
Slightly nicer code and works well with settingspages nowadays. Change-Id: Ic12ff58f4b0f8db226843961eb2ab6fb8879429c Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
@@ -118,20 +118,16 @@ private:
|
|||||||
// --------------------------------------------------------------------------
|
// --------------------------------------------------------------------------
|
||||||
|
|
||||||
static Internal::KitManagerPrivate *d = nullptr;
|
static Internal::KitManagerPrivate *d = nullptr;
|
||||||
static KitManager *m_instance = nullptr;
|
|
||||||
|
|
||||||
KitManager *KitManager::instance()
|
KitManager *KitManager::instance()
|
||||||
{
|
{
|
||||||
if (!m_instance)
|
static KitManager theManager;
|
||||||
m_instance = new KitManager;
|
return &theManager;
|
||||||
return m_instance;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
KitManager::KitManager()
|
KitManager::KitManager()
|
||||||
{
|
{
|
||||||
d = new KitManagerPrivate;
|
d = new KitManagerPrivate;
|
||||||
QTC_CHECK(!m_instance);
|
|
||||||
m_instance = this;
|
|
||||||
|
|
||||||
connect(ICore::instance(), &ICore::saveSettingsRequested, this, &KitManager::saveKits);
|
connect(ICore::instance(), &ICore::saveSettingsRequested, this, &KitManager::saveKits);
|
||||||
|
|
||||||
@@ -144,8 +140,6 @@ void KitManager::destroy()
|
|||||||
{
|
{
|
||||||
delete d;
|
delete d;
|
||||||
d = nullptr;
|
d = nullptr;
|
||||||
delete m_instance;
|
|
||||||
m_instance = nullptr;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void KitManager::restoreKits()
|
void KitManager::restoreKits()
|
||||||
@@ -417,8 +411,8 @@ void KitManager::restoreKits()
|
|||||||
|
|
||||||
d->m_writer = std::make_unique<PersistentSettingsWriter>(settingsFileName(), "QtCreatorProfiles");
|
d->m_writer = std::make_unique<PersistentSettingsWriter>(settingsFileName(), "QtCreatorProfiles");
|
||||||
d->m_initialized = true;
|
d->m_initialized = true;
|
||||||
emit m_instance->kitsLoaded();
|
emit instance()->kitsLoaded();
|
||||||
emit m_instance->kitsChanged();
|
emit instance()->kitsChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
KitManager::~KitManager()
|
KitManager::~KitManager()
|
||||||
@@ -600,9 +594,9 @@ void KitManager::notifyAboutUpdate(Kit *k)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
if (Utils::contains(d->m_kitList, k))
|
if (Utils::contains(d->m_kitList, k))
|
||||||
emit m_instance->kitUpdated(k);
|
emit instance()->kitUpdated(k);
|
||||||
else
|
else
|
||||||
emit m_instance->unmanagedKitUpdated(k);
|
emit instance()->unmanagedKitUpdated(k);
|
||||||
}
|
}
|
||||||
|
|
||||||
Kit *KitManager::registerKit(const std::function<void (Kit *)> &init, Utils::Id id)
|
Kit *KitManager::registerKit(const std::function<void (Kit *)> &init, Utils::Id id)
|
||||||
@@ -624,7 +618,7 @@ Kit *KitManager::registerKit(const std::function<void (Kit *)> &init, Utils::Id
|
|||||||
if (!d->m_defaultKit || (!d->m_defaultKit->isValid() && kptr->isValid()))
|
if (!d->m_defaultKit || (!d->m_defaultKit->isValid() && kptr->isValid()))
|
||||||
setDefaultKit(kptr);
|
setDefaultKit(kptr);
|
||||||
|
|
||||||
emit m_instance->kitAdded(kptr);
|
emit instance()->kitAdded(kptr);
|
||||||
return kptr;
|
return kptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -647,7 +641,7 @@ void KitManager::setDefaultKit(Kit *k)
|
|||||||
if (k && !Utils::contains(d->m_kitList, k))
|
if (k && !Utils::contains(d->m_kitList, k))
|
||||||
return;
|
return;
|
||||||
d->m_defaultKit = k;
|
d->m_defaultKit = k;
|
||||||
emit m_instance->defaultkitChanged();
|
emit instance()->defaultkitChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
void KitManager::completeKit(Kit *k)
|
void KitManager::completeKit(Kit *k)
|
||||||
|
|||||||
@@ -127,13 +127,12 @@ protected:
|
|||||||
QAction *m_mutableAction = nullptr;
|
QAction *m_mutableAction = nullptr;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PROJECTEXPLORER_EXPORT KitManager : public QObject
|
class PROJECTEXPLORER_EXPORT KitManager final : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static KitManager *instance();
|
static KitManager *instance();
|
||||||
~KitManager() override;
|
|
||||||
|
|
||||||
static const QList<Kit *> kits();
|
static const QList<Kit *> kits();
|
||||||
static Kit *kit(const Kit::Predicate &predicate);
|
static Kit *kit(const Kit::Predicate &predicate);
|
||||||
@@ -170,6 +169,7 @@ signals:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
KitManager();
|
KitManager();
|
||||||
|
~KitManager() override;
|
||||||
|
|
||||||
static void destroy();
|
static void destroy();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user