Don't show Design mode if "designer" plugins are disabled/not present.

Change-Id: Iee0a01491075e1e82c17211b5e119bd5e167763b
Reviewed-by: Marco Bubke <marco.bubke@nokia.com>
This commit is contained in:
Eike Ziller
2011-10-19 13:05:53 +02:00
parent 0ed824762c
commit ba23e21d87
7 changed files with 36 additions and 7 deletions

View File

@@ -54,6 +54,8 @@
#include <QtGui/QPlainTextEdit>
#include <QtGui/QStackedWidget>
static Core::DesignMode *m_instance = 0;
namespace Core {
class EditorManager;
@@ -103,6 +105,7 @@ public:
Internal::DesignModeCoreListener *m_coreListener;
QWeakPointer<Core::IEditor> m_currentEditor;
bool m_isActive;
bool m_isRequired;
QList<DesignEditorInfo*> m_editors;
QStackedWidget *m_stackWidget;
Context m_activeContext;
@@ -111,6 +114,7 @@ public:
DesignModePrivate::DesignModePrivate(DesignMode *q)
: m_coreListener(new Internal::DesignModeCoreListener(q)),
m_isActive(false),
m_isRequired(false),
m_stackWidget(new QStackedWidget)
{
}
@@ -118,6 +122,7 @@ DesignModePrivate::DesignModePrivate(DesignMode *q)
DesignMode::DesignMode()
: d(new DesignModePrivate(this))
{
m_instance = this;
setObjectName(QLatin1String("DesignMode"));
setEnabled(false);
setContext(Context(Constants::C_DESIGN_MODE));
@@ -146,6 +151,21 @@ DesignMode::~DesignMode()
delete d;
}
DesignMode *DesignMode::instance()
{
return m_instance;
}
void DesignMode::setDesignModeIsRequired()
{
d->m_isRequired = true;
}
bool DesignMode::designModeIsRequired() const
{
return d->m_isRequired;
}
QStringList DesignMode::registeredMimeTypes() const
{
QStringList rc;
@@ -163,6 +183,7 @@ void DesignMode::registerDesignWidget(QWidget *widget,
const QStringList &mimeTypes,
const Context &context)
{
setDesignModeIsRequired();
int index = d->m_stackWidget->addWidget(widget);
DesignEditorInfo *info = new DesignEditorInfo;