forked from qt-creator/qt-creator
Fixed resource file issue with Qt Designer and switching to edit mode while debugging
This commit is contained in:
@@ -186,10 +186,9 @@ void DesignMode::currentEditorChanged(Core::IEditor *editor)
|
|||||||
if (!mimeEditorAvailable)
|
if (!mimeEditorAvailable)
|
||||||
setEnabled(false);
|
setEnabled(false);
|
||||||
|
|
||||||
if ((!mimeEditorAvailable && core->modeManager()->currentMode() == this)
|
if (!mimeEditorAvailable && core->modeManager()->currentMode() == this)
|
||||||
|| !modeActivated)
|
|
||||||
{
|
{
|
||||||
// switch back to edit mode
|
// switch back to edit mode - we don't want to be here
|
||||||
core->modeManager()->activateMode(Constants::MODE_EDIT);
|
core->modeManager()->activateMode(Constants::MODE_EDIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ Core::GeneratedFiles FormClassWizard::generateFiles(const QWizard *w, QString *e
|
|||||||
// UI
|
// UI
|
||||||
Core::GeneratedFile uiFile(formFileName);
|
Core::GeneratedFile uiFile(formFileName);
|
||||||
uiFile.setContents(params.uiTemplate());
|
uiFile.setContents(params.uiTemplate());
|
||||||
uiFile.setEditorId(QLatin1String(Constants::FORMEDITOR_ID));
|
uiFile.setEditorId(QLatin1String(Constants::DESIGNER_XML_EDITOR_ID));
|
||||||
|
|
||||||
QString source, header;
|
QString source, header;
|
||||||
Designer::FormClassWizardGenerationParameters generationParameters;
|
Designer::FormClassWizardGenerationParameters generationParameters;
|
||||||
|
|||||||
@@ -144,6 +144,7 @@ void FormWindowEditor::setFile(Core::IFile *file)
|
|||||||
}
|
}
|
||||||
|
|
||||||
m_file = file;
|
m_file = file;
|
||||||
|
m_formWindow->setFileName(file->fileName());
|
||||||
|
|
||||||
if (m_file) {
|
if (m_file) {
|
||||||
connect(m_file, SIGNAL(changed()), this, SIGNAL(changed()));
|
connect(m_file, SIGNAL(changed()), this, SIGNAL(changed()));
|
||||||
@@ -185,6 +186,9 @@ bool FormWindowEditor::createNew(const QString &contents)
|
|||||||
|
|
||||||
if (qdesigner_internal::FormWindowBase *fw = qobject_cast<qdesigner_internal::FormWindowBase *>(m_formWindow))
|
if (qdesigner_internal::FormWindowBase *fw = qobject_cast<qdesigner_internal::FormWindowBase *>(m_formWindow))
|
||||||
fw->setDesignerGrid(qdesigner_internal::FormWindowBase::defaultDesignerGrid());
|
fw->setDesignerGrid(qdesigner_internal::FormWindowBase::defaultDesignerGrid());
|
||||||
|
|
||||||
|
initializeResources();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -216,32 +220,43 @@ bool FormWindowEditor::open(const QString &fileName /*= QString()*/)
|
|||||||
return false;
|
return false;
|
||||||
m_formWindow->setDirty(false);
|
m_formWindow->setDirty(false);
|
||||||
|
|
||||||
ProjectExplorer::ProjectExplorerPlugin *pe = ProjectExplorer::ProjectExplorerPlugin::instance();
|
initializeResources(fileName);
|
||||||
ProjectExplorer::SessionManager *session = pe->session();
|
|
||||||
m_sessionNode = session->sessionNode();
|
|
||||||
m_sessionWatcher = new ProjectExplorer::NodesWatcher();
|
|
||||||
connect(m_sessionWatcher, SIGNAL(filesAdded()), this, SLOT(updateResources()));
|
|
||||||
connect(m_sessionWatcher, SIGNAL(filesRemoved()), this, SLOT(updateResources()));
|
|
||||||
connect(m_sessionWatcher, SIGNAL(foldersAdded()), this, SLOT(updateResources()));
|
|
||||||
connect(m_sessionWatcher, SIGNAL(foldersRemoved()), this, SLOT(updateResources()));
|
|
||||||
m_sessionNode->registerWatcher(m_sessionWatcher);
|
|
||||||
|
|
||||||
if (qdesigner_internal::FormWindowBase *fw = qobject_cast<qdesigner_internal::FormWindowBase *>(m_formWindow)) {
|
|
||||||
QtResourceSet *rs = fw->resourceSet();
|
|
||||||
m_originalUiQrcPaths = rs->activeQrcPaths();
|
|
||||||
}
|
|
||||||
|
|
||||||
emit opened(fileName);
|
|
||||||
updateResources();
|
|
||||||
|
|
||||||
QDesignerFormWindowManagerInterface *fwm = FormEditorW::instance()->designerEditor()->formWindowManager();
|
|
||||||
fwm->setActiveFormWindow(m_formWindow);
|
|
||||||
|
|
||||||
setDisplayName(fi.fileName());
|
setDisplayName(fi.fileName());
|
||||||
|
|
||||||
}
|
}
|
||||||
emit changed();
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
void FormWindowEditor::initializeResources(const QString &fileName /*= QString()*/)
|
||||||
|
{
|
||||||
|
ProjectExplorer::ProjectExplorerPlugin *pe = ProjectExplorer::ProjectExplorerPlugin::instance();
|
||||||
|
ProjectExplorer::SessionManager *session = pe->session();
|
||||||
|
|
||||||
|
m_sessionNode = session->sessionNode();
|
||||||
|
m_sessionWatcher = new ProjectExplorer::NodesWatcher();
|
||||||
|
|
||||||
|
connect(m_sessionWatcher, SIGNAL(filesAdded()), this, SLOT(updateResources()));
|
||||||
|
connect(m_sessionWatcher, SIGNAL(filesRemoved()), this, SLOT(updateResources()));
|
||||||
|
connect(m_sessionWatcher, SIGNAL(foldersAdded()), this, SLOT(updateResources()));
|
||||||
|
connect(m_sessionWatcher, SIGNAL(foldersRemoved()), this, SLOT(updateResources()));
|
||||||
|
m_sessionNode->registerWatcher(m_sessionWatcher);
|
||||||
|
|
||||||
|
if (qdesigner_internal::FormWindowBase *fw = qobject_cast<qdesigner_internal::FormWindowBase *>(m_formWindow)) {
|
||||||
|
QtResourceSet *rs = fw->resourceSet();
|
||||||
|
m_originalUiQrcPaths = rs->activeQrcPaths();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!fileName.isEmpty())
|
||||||
|
emit opened(fileName);
|
||||||
|
|
||||||
|
updateResources();
|
||||||
|
|
||||||
|
QDesignerFormWindowManagerInterface *fwm = FormEditorW::instance()->designerEditor()->formWindowManager();
|
||||||
|
fwm->setActiveFormWindow(m_formWindow);
|
||||||
|
|
||||||
|
emit changed();
|
||||||
|
}
|
||||||
|
|
||||||
void FormWindowEditor::updateResources()
|
void FormWindowEditor::updateResources()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -113,6 +113,8 @@ private slots:
|
|||||||
void updateResources();
|
void updateResources();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void initializeResources(const QString &fileName = QString());
|
||||||
|
|
||||||
QWidget *m_containerWidget;
|
QWidget *m_containerWidget;
|
||||||
QString m_displayName;
|
QString m_displayName;
|
||||||
QList<int> m_context;
|
QList<int> m_context;
|
||||||
|
|||||||
@@ -66,6 +66,6 @@ Core::GeneratedFiles FormWizard::generateFiles(const QWizard *w,
|
|||||||
|
|
||||||
Core::GeneratedFile file(fileName);
|
Core::GeneratedFile file(fileName);
|
||||||
file.setContents(formTemplate);
|
file.setContents(formTemplate);
|
||||||
file.setEditorId(QLatin1String(Constants::FORMEDITOR_ID));
|
file.setEditorId(QLatin1String(Constants::DESIGNER_XML_EDITOR_ID));
|
||||||
return Core::GeneratedFiles() << file;
|
return Core::GeneratedFiles() << file;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -204,6 +204,7 @@ void BauhausPlugin::createDesignModeWidget()
|
|||||||
Core::Constants::PASTE, m_context->context());
|
Core::Constants::PASTE, m_context->context());
|
||||||
command->setDefaultKeySequence(QKeySequence::Paste);
|
command->setDefaultKeySequence(QKeySequence::Paste);
|
||||||
editMenu->addAction(command, Core::Constants::G_EDIT_COPYPASTE);
|
editMenu->addAction(command, Core::Constants::G_EDIT_COPYPASTE);
|
||||||
|
Core::ModeManager *modeManager = creatorCore->modeManager();
|
||||||
|
|
||||||
command = actionManager->registerAction(m_mainWidget->selectAllAction(),
|
command = actionManager->registerAction(m_mainWidget->selectAllAction(),
|
||||||
Core::Constants::SELECTALL, m_context->context());
|
Core::Constants::SELECTALL, m_context->context());
|
||||||
@@ -218,7 +219,8 @@ void BauhausPlugin::createDesignModeWidget()
|
|||||||
|
|
||||||
m_mainWidget->addAction(deleteAction);
|
m_mainWidget->addAction(deleteAction);
|
||||||
|
|
||||||
Core::ModeManager *modeManager = creatorCore->modeManager();
|
connect(m_editorManager, SIGNAL(currentEditorChanged(Core::IEditor*)),
|
||||||
|
this, SLOT(updateEditor(Core::IEditor*)));
|
||||||
|
|
||||||
connect(modeManager, SIGNAL(currentModeChanged(Core::IMode*)),
|
connect(modeManager, SIGNAL(currentModeChanged(Core::IMode*)),
|
||||||
this, SLOT(modeChanged(Core::IMode*)));
|
this, SLOT(modeChanged(Core::IMode*)));
|
||||||
@@ -228,6 +230,16 @@ void BauhausPlugin::createDesignModeWidget()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BauhausPlugin::updateEditor(Core::IEditor *editor)
|
||||||
|
{
|
||||||
|
Core::ICore *creatorCore = Core::ICore::instance();
|
||||||
|
if (editor->id() == QmlJSEditor::Constants::C_QMLJSEDITOR_ID
|
||||||
|
&& creatorCore->modeManager()->currentMode() == m_designMode)
|
||||||
|
{
|
||||||
|
m_mainWidget->showEditor(editor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void BauhausPlugin::modeChanged(Core::IMode *mode)
|
void BauhausPlugin::modeChanged(Core::IMode *mode)
|
||||||
{
|
{
|
||||||
if (mode == m_designMode) {
|
if (mode == m_designMode) {
|
||||||
@@ -236,7 +248,6 @@ void BauhausPlugin::modeChanged(Core::IMode *mode)
|
|||||||
} else {
|
} else {
|
||||||
if (m_isActive) {
|
if (m_isActive) {
|
||||||
m_isActive = false;
|
m_isActive = false;
|
||||||
|
|
||||||
m_mainWidget->showEditor(0);
|
m_mainWidget->showEditor(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -84,6 +84,7 @@ private slots:
|
|||||||
void modeChanged(Core::IMode *mode);
|
void modeChanged(Core::IMode *mode);
|
||||||
void textEditorsClosed(QList<Core::IEditor *> editors);
|
void textEditorsClosed(QList<Core::IEditor *> editors);
|
||||||
void updateActions(Core::IEditor* editor);
|
void updateActions(Core::IEditor* editor);
|
||||||
|
void updateEditor(Core::IEditor *editor);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void createDesignModeWidget();
|
void createDesignModeWidget();
|
||||||
|
|||||||
Reference in New Issue
Block a user