Skip to content
Snippets Groups Projects
Commit 0757139c authored by con's avatar con
Browse files

Avoid multiple shows of same form editor info bar.

parent e1935a0e
No related branches found
No related tags found
No related merge requests found
......@@ -50,8 +50,6 @@ DesignerXmlEditor::DesignerXmlEditor(QDesignerFormWindowInterface *form,
m_designerEditor(new FormWindowEditor(this, form))
{
setReadOnly(true);
connect(Core::EditorManager::instance(), SIGNAL(currentEditorChanged(Core::IEditor*)),
SLOT(updateEditorInfoBar(Core::IEditor*)));
}
TextEditor::BaseTextEditorEditable *DesignerXmlEditor::createEditableInterface()
......@@ -61,22 +59,6 @@ TextEditor::BaseTextEditorEditable *DesignerXmlEditor::createEditableInterface()
return m_designerEditor->textEditable();
}
void DesignerXmlEditor::updateEditorInfoBar(Core::IEditor *editor)
{
if (editor == m_designerEditor) {
Core::EditorManager::instance()->showEditorInfoBar(Constants::INFO_READ_ONLY,
tr("This file can only be edited in Design Mode."),
tr("Open Designer"), this, SLOT(designerModeClicked()));
}
if (!editor)
Core::EditorManager::instance()->hideEditorInfoBar(Constants::INFO_READ_ONLY);
}
void DesignerXmlEditor::designerModeClicked()
{
Core::ICore::instance()->modeManager()->activateMode(QLatin1String(Core::Constants::MODE_DESIGN));
}
FormWindowEditor *DesignerXmlEditor::designerEditor() const
{
return m_designerEditor;
......
......@@ -58,10 +58,6 @@ public:
FormWindowEditor *designerEditor() const;
private slots:
void designerModeClicked();
void updateEditorInfoBar(Core::IEditor *editor);
protected:
virtual TextEditor::BaseTextEditorEditable *createEditableInterface();
......
......@@ -34,9 +34,11 @@
#include "designerconstants.h"
#include "designerxmleditor.h"
#include <coreplugin/coreconstants.h>
#include <coreplugin/icore.h>
#include <coreplugin/fileiconprovider.h>
#include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/modemanager.h>
#include <QtCore/QFileInfo>
#include <QtCore/QDebug>
......@@ -53,6 +55,8 @@ FormEditorFactory::FormEditorFactory()
Core::FileIconProvider *iconProvider = Core::FileIconProvider::instance();
iconProvider->registerIconOverlayForSuffix(QIcon(QLatin1String(":/formeditor/images/qt_ui.png")),
QLatin1String("ui"));
connect(Core::EditorManager::instance(), SIGNAL(currentEditorChanged(Core::IEditor*)),
SLOT(updateEditorInfoBar(Core::IEditor*)));
}
QString FormEditorFactory::id() const
......@@ -82,6 +86,22 @@ QStringList FormEditorFactory::mimeTypes() const
return m_mimeTypes;
}
void FormEditorFactory::updateEditorInfoBar(Core::IEditor *editor)
{
if (qobject_cast<FormWindowEditor *>(editor)) {
Core::EditorManager::instance()->showEditorInfoBar(Constants::INFO_READ_ONLY,
tr("This file can only be edited in Design Mode."),
tr("Open Designer"), this, SLOT(designerModeClicked()));
} else {
Core::EditorManager::instance()->hideEditorInfoBar(Constants::INFO_READ_ONLY);
}
}
void FormEditorFactory::designerModeClicked()
{
Core::ICore::instance()->modeManager()->activateMode(QLatin1String(Core::Constants::MODE_DESIGN));
}
} // namespace Internal
} // namespace Designer
......
......@@ -56,6 +56,10 @@ public:
Core::IFile *open(const QString &fileName);
Core::IEditor *createEditor(QWidget *parent);
private slots:
void designerModeClicked();
void updateEditorInfoBar(Core::IEditor *editor);
private:
const QStringList m_mimeTypes;
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment