forked from qt-creator/qt-creator
DesignMode: Apply 'static pattern'
Also: - and replace some occurrences of DesignMode::instance()->id() by Core::Constants::MODE_DESIGN for less dependence on the lifetime of the DesignMode object (and less indirection) - remove storage if DesignMode::instance() values when direct use of the static functions suffice - remove some unused items from the interface - use member-initialization in DesignMode::Private. Change-Id: Ie66c06da0fc0a3ccc588b8079e51db6b39284152 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -40,8 +40,6 @@
|
||||
|
||||
#include <QStackedWidget>
|
||||
|
||||
static Core::DesignMode *m_instance = 0;
|
||||
|
||||
namespace Core {
|
||||
|
||||
struct DesignEditorInfo
|
||||
@@ -60,17 +58,15 @@ public:
|
||||
|
||||
public:
|
||||
QPointer<IEditor> m_currentEditor;
|
||||
bool m_isActive;
|
||||
bool m_isRequired;
|
||||
bool m_isActive = false;
|
||||
bool m_isRequired = false;
|
||||
QList<DesignEditorInfo*> m_editors;
|
||||
QStackedWidget *m_stackWidget;
|
||||
Context m_activeContext;
|
||||
};
|
||||
|
||||
DesignModePrivate::DesignModePrivate()
|
||||
: m_isActive(false),
|
||||
m_isRequired(false),
|
||||
m_stackWidget(new QStackedWidget)
|
||||
: m_stackWidget(new QStackedWidget)
|
||||
{}
|
||||
|
||||
DesignModePrivate::~DesignModePrivate()
|
||||
@@ -78,10 +74,13 @@ DesignModePrivate::~DesignModePrivate()
|
||||
delete m_stackWidget;
|
||||
}
|
||||
|
||||
static DesignMode *m_instance = nullptr;
|
||||
static DesignModePrivate *d = nullptr;
|
||||
|
||||
DesignMode::DesignMode()
|
||||
: d(new DesignModePrivate)
|
||||
{
|
||||
m_instance = this;
|
||||
d = new DesignModePrivate;
|
||||
|
||||
ICore::addPreCloseListener([]() -> bool {
|
||||
m_instance->currentEditorChanged(0);
|
||||
@@ -121,19 +120,11 @@ void DesignMode::setDesignModeIsRequired()
|
||||
d->m_isRequired = true;
|
||||
}
|
||||
|
||||
bool DesignMode::designModeIsRequired() const
|
||||
bool DesignMode::designModeIsRequired()
|
||||
{
|
||||
return d->m_isRequired;
|
||||
}
|
||||
|
||||
QStringList DesignMode::registeredMimeTypes() const
|
||||
{
|
||||
QStringList rc;
|
||||
foreach (const DesignEditorInfo *i, d->m_editors)
|
||||
rc += i->mimeTypes;
|
||||
return rc;
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a widget to be displayed when an editor with a file specified in
|
||||
* mimeTypes is opened. This also appends the additionalContext in ICore to
|
||||
|
||||
Reference in New Issue
Block a user