aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorEike Ziller <[email protected]>2013-05-27 17:21:01 +0200
committerEike Ziller <[email protected]>2013-05-27 17:21:01 +0200
commitd08ad0038df2366a0e9b6561e526dd846be9c5a1 (patch)
treeae641fbc2dc9056d2603bfe9b350516310943620 /src/plugins
parent1c34b266fb86a591eb9d7ef406780073e0d6a647 (diff)
parent5b648d8b6eb0fe9f2690a587116d71c71c9b4d96 (diff)
Merge remote-tracking branch 'origin/2.8'
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/QtcPlugin.qbs2
-rw-r--r--src/plugins/analyzerbase/analyzerbase.qbs2
-rw-r--r--src/plugins/android/androidmanifesteditor.cpp11
-rw-r--r--src/plugins/android/androidmanifesteditor.h6
-rw-r--r--src/plugins/autotoolsprojectmanager/autotoolsmanager.cpp20
-rw-r--r--src/plugins/bineditor/bineditorplugin.cpp6
-rw-r--r--src/plugins/cmakeprojectmanager/cmakeeditor.cpp2
-rw-r--r--src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp9
-rw-r--r--src/plugins/coreplugin/actionmanager/actioncontainer.cpp16
-rw-r--r--src/plugins/coreplugin/actionmanager/actioncontainer.h14
-rw-r--r--src/plugins/coreplugin/actionmanager/actioncontainer_p.h16
-rw-r--r--src/plugins/coreplugin/actionmanager/actionmanager.cpp18
-rw-r--r--src/plugins/coreplugin/actionmanager/actionmanager.h16
-rw-r--r--src/plugins/coreplugin/actionmanager/actionmanager_p.h2
-rw-r--r--src/plugins/coreplugin/coreplugin.qbs2
-rw-r--r--src/plugins/coreplugin/editormanager/ieditor.h10
-rw-r--r--src/plugins/coreplugin/mimetypemagicdialog.cpp12
-rw-r--r--src/plugins/coreplugin/mimetypemagicdialog.h3
-rw-r--r--src/plugins/coreplugin/progressmanager/progressmanager.cpp19
-rw-r--r--src/plugins/coreplugin/progressmanager/progressmanager_p.h1
-rw-r--r--src/plugins/coreplugin/removefiledialog.cpp12
-rw-r--r--src/plugins/coreplugin/removefiledialog.h3
-rw-r--r--src/plugins/cpptools/cpptools.qbs2
-rw-r--r--src/plugins/debugger/debugger.qbs2
-rw-r--r--src/plugins/debugger/debuggercore.h1
-rw-r--r--src/plugins/debugger/debuggerplugin.cpp12
-rw-r--r--src/plugins/debugger/debuggerrunner.cpp4
-rw-r--r--src/plugins/debugger/debuggerstartparameters.h2
-rw-r--r--src/plugins/debugger/gdb/gdbengine.cpp2
-rw-r--r--src/plugins/debugger/images/qml/app-on-top.pngbin2902 -> 178 bytes
-rw-r--r--src/plugins/debugger/images/qml/apply-on-save.pngbin3205 -> 426 bytes
-rw-r--r--src/plugins/debugger/images/qml/select.pngbin3308 -> 568 bytes
-rw-r--r--src/plugins/debugger/images/qml/zoom.pngbin3252 -> 537 bytes
-rw-r--r--src/plugins/debugger/lldb/lldbengine.cpp86
-rw-r--r--src/plugins/debugger/lldb/lldbengine.h3
-rw-r--r--src/plugins/debugger/loadcoredialog.cpp1
-rw-r--r--src/plugins/debugger/procinterrupt.cpp1
-rw-r--r--src/plugins/designer/formwindoweditor.cpp10
-rw-r--r--src/plugins/designer/formwindoweditor.h3
-rw-r--r--src/plugins/diffeditor/diffeditoreditable.cpp22
-rw-r--r--src/plugins/diffeditor/diffeditoreditable.h4
-rw-r--r--src/plugins/diffeditor/diffeditorwidget.cpp15
-rw-r--r--src/plugins/genericprojectmanager/genericprojectmanager.cpp17
-rw-r--r--src/plugins/git/branchdialog.cpp33
-rw-r--r--src/plugins/git/branchdialog.h9
-rw-r--r--src/plugins/git/gerrit/gerritdialog.cpp26
-rw-r--r--src/plugins/git/gerrit/gerritdialog.h6
-rw-r--r--src/plugins/git/gerrit/gerritplugin.cpp14
-rw-r--r--src/plugins/git/gerrit/gerritplugin.h2
-rw-r--r--src/plugins/git/gitclient.cpp184
-rw-r--r--src/plugins/git/gitclient.h34
-rw-r--r--src/plugins/git/gitorious/gitorioushostwidget.cpp12
-rw-r--r--src/plugins/git/gitorious/gitorioushostwidget.h7
-rw-r--r--src/plugins/git/gitorious/gitoriousprojectwidget.cpp12
-rw-r--r--src/plugins/git/gitorious/gitoriousprojectwidget.h9
-rw-r--r--src/plugins/git/gitorious/gitoriousrepositorywizardpage.cpp12
-rw-r--r--src/plugins/git/gitorious/gitoriousrepositorywizardpage.h7
-rw-r--r--src/plugins/git/gitplugin.cpp43
-rw-r--r--src/plugins/git/remotedialog.cpp12
-rw-r--r--src/plugins/git/remotedialog.h8
-rw-r--r--src/plugins/git/stashdialog.cpp12
-rw-r--r--src/plugins/git/stashdialog.h7
-rw-r--r--src/plugins/glsleditor/glsleditoreditable.cpp5
-rw-r--r--src/plugins/glsleditor/glsleditoreditable.h1
-rw-r--r--src/plugins/imageviewer/images/pause-small.pngbin3097 -> 399 bytes
-rw-r--r--src/plugins/imageviewer/images/play-small.pngbin3363 -> 630 bytes
-rw-r--r--src/plugins/imageviewer/imageviewer.cpp32
-rw-r--r--src/plugins/imageviewer/imageviewer.h11
-rw-r--r--src/plugins/imageviewer/imageviewerfile.cpp40
-rw-r--r--src/plugins/imageviewer/imageviewerfile.h10
-rw-r--r--src/plugins/mercurial/revertdialog.cpp12
-rw-r--r--src/plugins/mercurial/revertdialog.h3
-rw-r--r--src/plugins/mercurial/srcdestdialog.cpp12
-rw-r--r--src/plugins/mercurial/srcdestdialog.h4
-rw-r--r--src/plugins/projectexplorer/customwizard/customwizardparameters.cpp2
-rw-r--r--src/plugins/projectexplorer/doubletabwidget.cpp12
-rw-r--r--src/plugins/projectexplorer/doubletabwidget.h1
-rw-r--r--src/plugins/projectexplorer/iprojectmanager.h1
-rw-r--r--src/plugins/projectexplorer/projectexplorer.cpp39
-rw-r--r--src/plugins/projectexplorer/projectexplorer.qbs2
-rw-r--r--src/plugins/projectexplorer/projectwelcomepage.cpp2
-rw-r--r--src/plugins/projectexplorer/projectwizardpage.cpp12
-rw-r--r--src/plugins/projectexplorer/projectwizardpage.h5
-rw-r--r--src/plugins/projectexplorer/session.cpp12
-rw-r--r--src/plugins/projectexplorer/session.h1
-rw-r--r--src/plugins/projectexplorer/sessiondialog.cpp6
-rw-r--r--src/plugins/projectexplorer/targetsettingswidget.cpp12
-rw-r--r--src/plugins/projectexplorer/targetsettingswidget.h4
-rw-r--r--src/plugins/pythoneditor/pythoneditor.cpp5
-rw-r--r--src/plugins/pythoneditor/pythoneditor.h1
-rw-r--r--src/plugins/pythoneditor/pythoneditorwidget.cpp6
-rw-r--r--src/plugins/qbsprojectmanager/qbsbuildstep.cpp6
-rw-r--r--src/plugins/qbsprojectmanager/qbsprojectmanager.cpp23
-rw-r--r--src/plugins/qmldesigner/components/formeditor/transform.pngbin17296 -> 14619 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/busyindicator.pngbin4089 -> 1145 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/busyindicator16.pngbin3594 -> 826 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/busyindicatora.pngbin3546 -> 767 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/busyindicatora16.pngbin3385 -> 670 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/button.pngbin3537 -> 716 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/button16.pngbin3250 -> 502 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/buttoncolumn.pngbin3171 -> 523 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/buttoncolumn16.pngbin3117 -> 432 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/buttonrow.pngbin3174 -> 485 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/buttonrow16.pngbin3118 -> 429 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/checkbox.pngbin3530 -> 790 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/checkbox16.pngbin3297 -> 569 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/combobox.pngbin3870 -> 934 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/combobox16.pngbin3494 -> 659 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/progressbar.pngbin2968 -> 261 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/progressbar16.pngbin2970 -> 293 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/radiobutton.pngbin3805 -> 959 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/radiobutton16.pngbin3410 -> 627 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/slider.pngbin3576 -> 776 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/slider16.pngbin3266 -> 540 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/sliderh.pngbin3578 -> 814 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/sliderh16.pngbin3285 -> 554 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/tabbutton.pngbin3270 -> 545 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/tabbutton16.pngbin3108 -> 410 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/textarea.pngbin3644 -> 780 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/textarea16.pngbin3309 -> 549 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/textfield.pngbin3617 -> 755 bytes
-rw-r--r--src/plugins/qmldesigner/componentsplugin/images/textfield16.pngbin3265 -> 467 bytes
-rw-r--r--src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp2
-rw-r--r--src/plugins/qmljseditor/qmljseditor.qbs2
-rw-r--r--src/plugins/qmljstools/qmljstools.qbs2
-rw-r--r--src/plugins/qmlprojectmanager/qmlprojectmanager.cpp20
-rw-r--r--src/plugins/qnx/bardescriptoreditor.cpp22
-rw-r--r--src/plugins/qnx/bardescriptoreditor.h8
-rw-r--r--src/plugins/qt4projectmanager/customwidgetwizard/customwidgetpluginwizardpage.cpp12
-rw-r--r--src/plugins/qt4projectmanager/customwidgetwizard/customwidgetpluginwizardpage.h8
-rw-r--r--src/plugins/qt4projectmanager/profileeditor.cpp2
-rw-r--r--src/plugins/qt4projectmanager/qt4projectmanager.cpp22
-rw-r--r--src/plugins/qt4projectmanager/wizards/testwizardpage.cpp12
-rw-r--r--src/plugins/qt4projectmanager/wizards/testwizardpage.h9
-rw-r--r--src/plugins/qtsupport/qtsupport.qbs3
-rw-r--r--src/plugins/remotelinux/remotelinux.qbs2
-rw-r--r--src/plugins/resourceeditor/resourceeditorw.h4
-rw-r--r--src/plugins/texteditor/basetexteditor.cpp118
-rw-r--r--src/plugins/texteditor/basetexteditor.h51
-rw-r--r--src/plugins/texteditor/generichighlighter/managedefinitionsdialog.cpp12
-rw-r--r--src/plugins/texteditor/generichighlighter/managedefinitionsdialog.h4
-rw-r--r--src/plugins/texteditor/plaintexteditor.cpp8
-rw-r--r--src/plugins/texteditor/tabsettingswidget.cpp12
-rw-r--r--src/plugins/texteditor/tabsettingswidget.h3
-rw-r--r--src/plugins/texteditor/texteditor.qbs2
-rw-r--r--src/plugins/vcsbase/basecheckoutwizardpage.cpp12
-rw-r--r--src/plugins/vcsbase/basecheckoutwizardpage.h2
-rw-r--r--src/plugins/vcsbase/checkoutprogresswizardpage.cpp12
-rw-r--r--src/plugins/vcsbase/checkoutprogresswizardpage.h3
-rw-r--r--src/plugins/vcsbase/cleandialog.cpp12
-rw-r--r--src/plugins/vcsbase/cleandialog.h3
-rw-r--r--src/plugins/vcsbase/submiteditorwidget.cpp12
-rw-r--r--src/plugins/vcsbase/submiteditorwidget.h1
-rw-r--r--src/plugins/vcsbase/vcsbaseeditor.cpp2
-rw-r--r--src/plugins/vcsbase/vcsbasesubmiteditor.cpp20
-rw-r--r--src/plugins/vcsbase/vcsbasesubmiteditor.h5
156 files changed, 575 insertions, 969 deletions
diff --git a/src/plugins/QtcPlugin.qbs b/src/plugins/QtcPlugin.qbs
index e6ff4f33738..518df2a3a76 100644
--- a/src/plugins/QtcPlugin.qbs
+++ b/src/plugins/QtcPlugin.qbs
@@ -50,7 +50,7 @@ Product {
qbs.installDir: project.ide_plugin_path + "/" + provider
}
- ProductModule {
+ Export {
Depends { name: "ExtensionSystem" }
}
}
diff --git a/src/plugins/analyzerbase/analyzerbase.qbs b/src/plugins/analyzerbase/analyzerbase.qbs
index b3b062258e8..7a42610f1ba 100644
--- a/src/plugins/analyzerbase/analyzerbase.qbs
+++ b/src/plugins/analyzerbase/analyzerbase.qbs
@@ -44,7 +44,7 @@ QtcPlugin {
"images/analyzer_start_small.png",
]
- ProductModule {
+ Export {
Depends { name: "CPlusPlus" }
}
}
diff --git a/src/plugins/android/androidmanifesteditor.cpp b/src/plugins/android/androidmanifesteditor.cpp
index 576310f08fa..4b5b340bb19 100644
--- a/src/plugins/android/androidmanifesteditor.cpp
+++ b/src/plugins/android/androidmanifesteditor.cpp
@@ -73,17 +73,6 @@ Core::Id AndroidManifestEditor::id() const
return Constants::ANDROID_MANIFEST_EDITOR_ID;
}
-bool AndroidManifestEditor::duplicateSupported() const
-{
- return false;
-}
-
-Core::IEditor *AndroidManifestEditor::duplicate(QWidget *parent)
-{
- Q_UNUSED(parent);
- return 0;
-}
-
bool AndroidManifestEditor::isTemporary() const
{
return false;
diff --git a/src/plugins/android/androidmanifesteditor.h b/src/plugins/android/androidmanifesteditor.h
index c8a38dc99ab..b6073d9005b 100644
--- a/src/plugins/android/androidmanifesteditor.h
+++ b/src/plugins/android/androidmanifesteditor.h
@@ -46,15 +46,13 @@ class AndroidManifestEditorWidget;
class AndroidManifestEditor : public TextEditor::BaseTextEditor
{
Q_OBJECT
+
public:
explicit AndroidManifestEditor(AndroidManifestEditorWidget *editorWidget);
Core::Id id() const;
-
- bool duplicateSupported() const;
- Core::IEditor *duplicate(QWidget *parent);
-
bool isTemporary() const;
+
private slots:
void changeEditorPage(QAction *action);
diff --git a/src/plugins/autotoolsprojectmanager/autotoolsmanager.cpp b/src/plugins/autotoolsprojectmanager/autotoolsmanager.cpp
index 50e0a5a1a18..4e72214ab25 100644
--- a/src/plugins/autotoolsprojectmanager/autotoolsmanager.cpp
+++ b/src/plugins/autotoolsprojectmanager/autotoolsmanager.cpp
@@ -47,26 +47,14 @@ namespace Internal {
Project *AutotoolsManager::openProject(const QString &fileName, QString *errorString)
{
- QString canonicalFilePath = QFileInfo(fileName).canonicalFilePath();
-
- if (canonicalFilePath.isEmpty()) {
+ if (!QFileInfo(fileName).isFile()) {
if (errorString)
- *errorString = tr("Failed opening project '%1': Project file does not exist")
- .arg(QDir::toNativeSeparators(fileName));
+ *errorString = tr("Failed opening project '%1': Project is not a file")
+ .arg(fileName);
return 0;
}
- // Check whether the project is already open or not.
- ProjectExplorerPlugin *projectExplorer = ProjectExplorerPlugin::instance();
- foreach (Project *pi, projectExplorer->session()->projects()) {
- if (canonicalFilePath == pi->document()->fileName()) {
- *errorString = tr("Failed opening project '%1': Project already open")
- .arg(QDir::toNativeSeparators(canonicalFilePath));
- return 0;
- }
- }
-
- return new AutotoolsProject(this, canonicalFilePath);
+ return new AutotoolsProject(this, fileName);
}
QString AutotoolsManager::mimeType() const
diff --git a/src/plugins/bineditor/bineditorplugin.cpp b/src/plugins/bineditor/bineditorplugin.cpp
index e2834b4ba9d..f6e401dae7e 100644
--- a/src/plugins/bineditor/bineditorplugin.cpp
+++ b/src/plugins/bineditor/bineditorplugin.cpp
@@ -364,12 +364,6 @@ public:
QString displayName() const { return m_displayName; }
void setDisplayName(const QString &title) { m_displayName = title; emit changed(); }
- bool duplicateSupported() const { return false; }
- IEditor *duplicate(QWidget * /* parent */) { return 0; }
-
- QByteArray saveState() const { return QByteArray(); } // not supported
- bool restoreState(const QByteArray & /* state */) { return false; } // not supported
-
QWidget *toolBar() { return m_toolBar; }
bool isTemporary() const { return m_editor->isMemoryView(); }
diff --git a/src/plugins/cmakeprojectmanager/cmakeeditor.cpp b/src/plugins/cmakeprojectmanager/cmakeeditor.cpp
index d7aae9ba32d..f91450d541b 100644
--- a/src/plugins/cmakeprojectmanager/cmakeeditor.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeeditor.cpp
@@ -121,7 +121,7 @@ CMakeEditorWidget::CMakeEditorWidget(QWidget *parent, CMakeEditorFactory *factor
baseTextDocument()->setSyntaxHighlighter(new CMakeHighlighter);
m_commentDefinition.clearCommentStyles();
- m_commentDefinition.setSingleLine(QLatin1String("#"));
+ m_commentDefinition.singleLine = QLatin1Char('#');
ah->setupActions(this);
}
diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
index cadf683c6dc..63f13f62f92 100644
--- a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
@@ -126,8 +126,13 @@ void CMakeManager::runCMake(ProjectExplorer::Project *project)
ProjectExplorer::Project *CMakeManager::openProject(const QString &fileName, QString *errorString)
{
- Q_UNUSED(errorString)
- // TODO check whether this project is already opened
+ if (!QFileInfo(fileName).isFile()) {
+ if (errorString)
+ *errorString = tr("Failed opening project '%1': Project is not a file")
+ .arg(fileName);
+ return 0;
+ }
+
return new CMakeProject(this, fileName);
}
diff --git a/src/plugins/coreplugin/actionmanager/actioncontainer.cpp b/src/plugins/coreplugin/actionmanager/actioncontainer.cpp
index 9562e73bdfd..1d7da8f5b45 100644
--- a/src/plugins/coreplugin/actionmanager/actioncontainer.cpp
+++ b/src/plugins/coreplugin/actionmanager/actioncontainer.cpp
@@ -173,12 +173,12 @@ ActionContainer::OnAllDisabledBehavior ActionContainerPrivate::onAllDisabledBeha
return m_onAllDisabledBehavior;
}
-void ActionContainerPrivate::appendGroup(const Id &groupId)
+void ActionContainerPrivate::appendGroup(Id groupId)
{
m_groups.append(Group(groupId));
}
-void ActionContainerPrivate::insertGroup(const Id &before, const Id &groupId)
+void ActionContainerPrivate::insertGroup(Id before, Id groupId)
{
QList<Group>::iterator it = m_groups.begin();
while (it != m_groups.end()) {
@@ -190,7 +190,7 @@ void ActionContainerPrivate::insertGroup(const Id &before, const Id &groupId)
}
}
-QList<Group>::const_iterator ActionContainerPrivate::findGroup(const Id &groupId) const
+QList<Group>::const_iterator ActionContainerPrivate::findGroup(Id groupId) const
{
QList<Group>::const_iterator it = m_groups.constBegin();
while (it != m_groups.constEnd()) {
@@ -202,7 +202,7 @@ QList<Group>::const_iterator ActionContainerPrivate::findGroup(const Id &groupId
}
-QAction *ActionContainerPrivate::insertLocation(const Id &groupId) const
+QAction *ActionContainerPrivate::insertLocation(Id groupId) const
{
QList<Group>::const_iterator it = findGroup(groupId);
QTC_ASSERT(it != m_groups.constEnd(), return 0);
@@ -230,7 +230,7 @@ QAction *ActionContainerPrivate::insertLocation(QList<Group>::const_iterator gro
return 0;
}
-void ActionContainerPrivate::addAction(Command *command, const Id &groupId)
+void ActionContainerPrivate::addAction(Command *command, Id groupId)
{
if (!canAddAction(command))
return;
@@ -248,7 +248,7 @@ void ActionContainerPrivate::addAction(Command *command, const Id &groupId)
scheduleUpdate();
}
-void ActionContainerPrivate::addMenu(ActionContainer *menu, const Id &groupId)
+void ActionContainerPrivate::addMenu(ActionContainer *menu, Id groupId)
{
ActionContainerPrivate *containerPrivate = static_cast<ActionContainerPrivate *>(menu);
if (!containerPrivate->canBeAddedToMenu())
@@ -266,7 +266,7 @@ void ActionContainerPrivate::addMenu(ActionContainer *menu, const Id &groupId)
scheduleUpdate();
}
-void ActionContainerPrivate::addMenu(ActionContainer *before, ActionContainer *menu, const Id &groupId)
+void ActionContainerPrivate::addMenu(ActionContainer *before, ActionContainer *menu, Id groupId)
{
ActionContainerPrivate *containerPrivate = static_cast<ActionContainerPrivate *>(menu);
if (!containerPrivate->canBeAddedToMenu())
@@ -293,7 +293,7 @@ void ActionContainerPrivate::addMenu(ActionContainer *before, ActionContainer *m
/*! \a context \a group \a outSeparator
* \internal
*/
-Command *ActionContainerPrivate::addSeparator(const Context &context, const Id &group, QAction **outSeparator)
+Command *ActionContainerPrivate::addSeparator(const Context &context, Id group, QAction **outSeparator)
{
static int separatorIdCount = 0;
QAction *separator = new QAction(this);
diff --git a/src/plugins/coreplugin/actionmanager/actioncontainer.h b/src/plugins/coreplugin/actionmanager/actioncontainer.h
index 1f45dea7bcb..5115521354b 100644
--- a/src/plugins/coreplugin/actionmanager/actioncontainer.h
+++ b/src/plugins/coreplugin/actionmanager/actioncontainer.h
@@ -63,13 +63,13 @@ public:
virtual QMenu *menu() const = 0;
virtual QMenuBar *menuBar() const = 0;
- virtual QAction *insertLocation(const Id &group) const = 0;
- virtual void appendGroup(const Id &group) = 0;
- virtual void insertGroup(const Id &before, const Id &group) = 0;
- virtual void addAction(Command *action, const Id &group = Id()) = 0;
- virtual void addMenu(ActionContainer *menu, const Id &group = Id()) = 0;
- virtual void addMenu(ActionContainer *before, ActionContainer *menu, const Id &group = Id()) = 0;
- virtual Command *addSeparator(const Context &context, const Id &group = Id(), QAction **outSeparator = 0) = 0;
+ virtual QAction *insertLocation(Id group) const = 0;
+ virtual void appendGroup(Id group) = 0;
+ virtual void insertGroup(Id before, Id group) = 0;
+ virtual void addAction(Command *action, Id group = Id()) = 0;
+ virtual void addMenu(ActionContainer *menu, Id group = Id()) = 0;
+ virtual void addMenu(ActionContainer *before, ActionContainer *menu, Id group = Id()) = 0;
+ virtual Command *addSeparator(const Context &context, Id group = Id(), QAction **outSeparator = 0) = 0;
// This clears this menu and submenus from all actions and submenus.
// It does not destroy the submenus and commands, just removes them from their parents.
diff --git a/src/plugins/coreplugin/actionmanager/actioncontainer_p.h b/src/plugins/coreplugin/actionmanager/actioncontainer_p.h
index f085dffd032..f0f360e7570 100644
--- a/src/plugins/coreplugin/actionmanager/actioncontainer_p.h
+++ b/src/plugins/coreplugin/actionmanager/actioncontainer_p.h
@@ -56,13 +56,13 @@ public:
void setOnAllDisabledBehavior(OnAllDisabledBehavior behavior);
ActionContainer::OnAllDisabledBehavior onAllDisabledBehavior() const;
- QAction *insertLocation(const Id &groupId) const;
- void appendGroup(const Id &id);
- void insertGroup(const Id &before, const Id &groupId);
- void addAction(Command *action, const Id &group = Id());
- void addMenu(ActionContainer *menu, const Id &group = Id());
- void addMenu(ActionContainer *before, ActionContainer *menu, const Id &group = Id());
- Command *addSeparator(const Context &context, const Id &group = Id(), QAction **outSeparator = 0);
+ QAction *insertLocation(Id groupId) const;
+ void appendGroup(Id id);
+ void insertGroup(Id before, Id groupId);
+ void addAction(Command *action, Id group = Id());
+ void addMenu(ActionContainer *menu, Id group = Id());
+ void addMenu(ActionContainer *before, ActionContainer *menu, Id group = Id());
+ Command *addSeparator(const Context &context, Id group = Id(), QAction **outSeparator = 0);
virtual void clear();
Id id() const;
@@ -92,7 +92,7 @@ private slots:
void itemDestroyed();
private:
- QList<Group>::const_iterator findGroup(const Id &groupId) const;
+ QList<Group>::const_iterator findGroup(Id groupId) const;
QAction *insertLocation(QList<Group>::const_iterator group) const;
OnAllDisabledBehavior m_onAllDisabledBehavior;
diff --git a/src/plugins/coreplugin/actionmanager/actionmanager.cpp b/src/plugins/coreplugin/actionmanager/actionmanager.cpp
index 2a71ba62972..b9d11a1f562 100644
--- a/src/plugins/coreplugin/actionmanager/actionmanager.cpp
+++ b/src/plugins/coreplugin/actionmanager/actionmanager.cpp
@@ -177,7 +177,7 @@ ActionManager *ActionManager::instance()
Add your menu to some other menu or a menu bar via the
ActionManager::actionContainer and ActionContainer::addMenu methods.
*/
-ActionContainer *ActionManager::createMenu(const Id &id)
+ActionContainer *ActionManager::createMenu(Id id)
{
const ActionManagerPrivate::IdContainerMap::const_iterator it = m_instance->d->m_idContainerMap.constFind(id);
if (it != m_instance->d->m_idContainerMap.constEnd())
@@ -202,7 +202,7 @@ ActionContainer *ActionManager::createMenu(const Id &id)
or to add menus to the menu bar. The ActionManager owns
the returned ActionContainer.
*/
-ActionContainer *ActionManager::createMenuBar(const Id &id)
+ActionContainer *ActionManager::createMenuBar(Id id)
{
const ActionManagerPrivate::IdContainerMap::const_iterator it = m_instance->d->m_idContainerMap.constFind(id);
if (it != m_instance->d->m_idContainerMap.constEnd())
@@ -231,7 +231,7 @@ ActionContainer *ActionManager::createMenuBar(const Id &id)
A scriptable action can be called from a script without the need for the user
to interact with it.
*/
-Command *ActionManager::registerAction(QAction *action, const Id &id, const Context &context, bool scriptable)
+Command *ActionManager::registerAction(QAction *action, Id id, const Context &context, bool scriptable)
{
Action *a = m_instance->d->overridableAction(id);
if (a) {
@@ -253,7 +253,7 @@ Command *ActionManager::registerAction(QAction *action, const Id &id, const Cont
A scriptable shortcut can be called from a script without the need for the user
to interact with it.
*/
-Command *ActionManager::registerShortcut(QShortcut *shortcut, const Id &id, const Context &context, bool scriptable)
+Command *ActionManager::registerShortcut(QShortcut *shortcut, Id id, const Context &context, bool scriptable)
{
QTC_CHECK(!context.isEmpty());
Shortcut *sc = 0;
@@ -297,7 +297,7 @@ Command *ActionManager::registerShortcut(QShortcut *shortcut, const Id &id, cons
\sa ActionManager::registerAction()
*/
-Command *ActionManager::command(const Id &id)
+Command *ActionManager::command(Id id)
{
const ActionManagerPrivate::IdCmdMap::const_iterator it = m_instance->d->m_idCmdMap.constFind(id);
if (it == m_instance->d->m_idCmdMap.constEnd()) {
@@ -316,7 +316,7 @@ Command *ActionManager::command(const Id &id)
\sa ActionManager::createMenu()
\sa ActionManager::createMenuBar()
*/
-ActionContainer *ActionManager::actionContainer(const Id &id)
+ActionContainer *ActionManager::actionContainer(Id id)
{
const ActionManagerPrivate::IdContainerMap::const_iterator it = m_instance->d->m_idContainerMap.constFind(id);
if (it == m_instance->d->m_idContainerMap.constEnd()) {
@@ -348,7 +348,7 @@ QList<Command *> ActionManager::commands()
filters. If the user removes such an action, it also has to be unregistered from the action manager,
to make it disappear from shortcut settings etc.
*/
-void ActionManager::unregisterAction(QAction *action, const Id &id)
+void ActionManager::unregisterAction(QAction *action, Id id)
{
Action *a = 0;
CommandPrivate *c = m_instance->d->m_idCmdMap.value(id, 0);
@@ -379,7 +379,7 @@ void ActionManager::unregisterAction(QAction *action, const Id &id)
a corresponding shortcut also has to be unregistered from the action manager,
to make it disappear from shortcut settings etc.
*/
-void ActionManager::unregisterShortcut(const Core::Id &id)
+void ActionManager::unregisterShortcut(Id id)
{
Shortcut *sc = 0;
CommandPrivate *c = m_instance->d->m_idCmdMap.value(id, 0);
@@ -525,7 +525,7 @@ void ActionManagerPrivate::showShortcutPopup(const QString &shortcut)
m_presentationLabelTimer.start();
}
-Action *ActionManagerPrivate::overridableAction(const Id &id)
+Action *ActionManagerPrivate::overridableAction(Id id)
{
Action *a = 0;
if (CommandPrivate *c = m_idCmdMap.value(id, 0)) {
diff --git a/src/plugins/coreplugin/actionmanager/actionmanager.h b/src/plugins/coreplugin/actionmanager/actionmanager.h
index 7a0a4c8fafb..e459d0061b4 100644
--- a/src/plugins/coreplugin/actionmanager/actionmanager.h
+++ b/src/plugins/coreplugin/actionmanager/actionmanager.h
@@ -58,19 +58,19 @@ class CORE_EXPORT ActionManager : public QObject
public:
static ActionManager *instance();
- static ActionContainer *createMenu(const Id &id);
- static ActionContainer *createMenuBar(const Id &id);
+ static ActionContainer *createMenu(Id id);
+ static ActionContainer *createMenuBar(Id id);
- static Command *registerAction(QAction *action, const Id &id, const Context &context, bool scriptable = false);
- static Command *registerShortcut(QShortcut *shortcut, const Id &id, const Context &context, bool scriptable = false);
+ static Command *registerAction(QAction *action, Id id, const Context &context, bool scriptable = false);
+ static Command *registerShortcut(QShortcut *shortcut, Id id, const Context &context, bool scriptable = false);
- static Command *command(const Id &id);
- static ActionContainer *actionContainer(const Id &id);
+ static Command *command(Id id);
+ static ActionContainer *actionContainer(Id id);
static QList<Command *> commands();
- static void unregisterAction(QAction *action, const Id &id);
- static void unregisterShortcut(const Id &id);
+ static void unregisterAction(QAction *action, Id id);
+ static void unregisterShortcut(Id id);
static void setPresentationModeEnabled(bool enabled);
static bool isPresentationModeEnabled();
diff --git a/src/plugins/coreplugin/actionmanager/actionmanager_p.h b/src/plugins/coreplugin/actionmanager/actionmanager_p.h
index 62f783c8d60..3a0b3320120 100644
--- a/src/plugins/coreplugin/actionmanager/actionmanager_p.h
+++ b/src/plugins/coreplugin/actionmanager/actionmanager_p.h
@@ -72,7 +72,7 @@ public:
void showShortcutPopup(const QString &shortcut);
bool hasContext(const Context &context) const;
- Action *overridableAction(const Id &id);
+ Action *overridableAction(Id id);
public slots:
void containerDestroyed();
diff --git a/src/plugins/coreplugin/coreplugin.qbs b/src/plugins/coreplugin/coreplugin.qbs
index fc98dfaa4c1..d48f09016e4 100644
--- a/src/plugins/coreplugin/coreplugin.qbs
+++ b/src/plugins/coreplugin/coreplugin.qbs
@@ -254,7 +254,7 @@ QtcPlugin {
]
}
- ProductModule {
+ Export {
Depends { name: "cpp" }
Depends { name: "Aggregation" }
Depends { name: "Utils" }
diff --git a/src/plugins/coreplugin/editormanager/ieditor.h b/src/plugins/coreplugin/editormanager/ieditor.h
index ad915eb02e5..d4203131362 100644
--- a/src/plugins/coreplugin/editormanager/ieditor.h
+++ b/src/plugins/coreplugin/editormanager/ieditor.h
@@ -42,8 +42,8 @@ class IDocument;
class CORE_EXPORT IEditor : public IContext
{
Q_OBJECT
-public:
+public:
IEditor(QObject *parent = 0) : IContext(parent) {}
virtual ~IEditor() {}
@@ -54,11 +54,11 @@ public:
virtual QString displayName() const = 0;
virtual void setDisplayName(const QString &title) = 0;
- virtual bool duplicateSupported() const = 0;
- virtual IEditor *duplicate(QWidget *parent) = 0;
+ virtual bool duplicateSupported() const { return false; }
+ virtual IEditor *duplicate(QWidget * /*parent*/) { return 0; }
- virtual QByteArray saveState() const = 0;
- virtual bool restoreState(const QByteArray &state) = 0;
+ virtual QByteArray saveState() const { return QByteArray(); }
+ virtual bool restoreState(const QByteArray &/*state*/) { return true; }
virtual int currentLine() const { return 0; }
virtual int currentColumn() const { return 0; }
diff --git a/src/plugins/coreplugin/mimetypemagicdialog.cpp b/src/plugins/coreplugin/mimetypemagicdialog.cpp
index 9444b9c7440..5ba467e0aff 100644
--- a/src/plugins/coreplugin/mimetypemagicdialog.cpp
+++ b/src/plugins/coreplugin/mimetypemagicdialog.cpp
@@ -45,18 +45,6 @@ MimeTypeMagicDialog::MimeTypeMagicDialog(QWidget *parent) :
connect(ui.buttonBox, SIGNAL(accepted()), this, SLOT(validateAccept()));
}
-void MimeTypeMagicDialog::changeEvent(QEvent *e)
-{
- QDialog::changeEvent(e);
- switch (e->type()) {
- case QEvent::LanguageChange:
- ui.retranslateUi(this);
- break;
- default:
- break;
- }
-}
-
void MimeTypeMagicDialog::applyRecommended(bool checked)
{
if (checked) {
diff --git a/src/plugins/coreplugin/mimetypemagicdialog.h b/src/plugins/coreplugin/mimetypemagicdialog.h
index 24673bf16e8..b2cced80461 100644
--- a/src/plugins/coreplugin/mimetypemagicdialog.h
+++ b/src/plugins/coreplugin/mimetypemagicdialog.h
@@ -62,9 +62,6 @@ public:
void setMagicData(const MagicData &data);
MagicData magicData() const;
-protected:
- void changeEvent(QEvent *e);
-
private slots:
void applyRecommended(bool checked);
void validateAccept();
diff --git a/src/plugins/coreplugin/progressmanager/progressmanager.cpp b/src/plugins/coreplugin/progressmanager/progressmanager.cpp
index 330737ca0ca..37c47799e1e 100644
--- a/src/plugins/coreplugin/progressmanager/progressmanager.cpp
+++ b/src/plugins/coreplugin/progressmanager/progressmanager.cpp
@@ -51,6 +51,10 @@
#include <QStyle>
#include <QStyleOption>
#include <QTimer>
+#include <QVariant>
+
+static const char kSettingsGroup[] = "Progress";
+static const char kDetailsPinned[] = "DetailsPinned";
using namespace Core;
using namespace Core::Internal;
@@ -283,8 +287,18 @@ ProgressManagerPrivate::~ProgressManagerPrivate()
cleanup();
}
+void ProgressManagerPrivate::readSettings()
+{
+ QSettings *settings = ICore::settings();
+ settings->beginGroup(QLatin1String(kSettingsGroup));
+ m_progressViewPinned = settings->value(QLatin1String(kDetailsPinned), true).toBool();
+ settings->endGroup();
+}
+
void ProgressManagerPrivate::init()
{
+ readSettings();
+
m_statusBarWidgetContainer = new Core::StatusBarWidget;
m_statusBarWidget = new QWidget;
QHBoxLayout *layout = new QHBoxLayout(m_statusBarWidget);
@@ -658,6 +672,11 @@ void ProgressManagerPrivate::progressDetailsToggled(bool checked)
{
m_progressViewPinned = checked;
updateVisibility();
+
+ QSettings *settings = ICore::settings();
+ settings->beginGroup(QLatin1String(kSettingsGroup));
+ settings->setValue(QLatin1String(kDetailsPinned), m_progressViewPinned);
+ settings->endGroup();
}
ToggleButton::ToggleButton(QWidget *parent)
diff --git a/src/plugins/coreplugin/progressmanager/progressmanager_p.h b/src/plugins/coreplugin/progressmanager/progressmanager_p.h
index 44b572d0f28..dabd525a792 100644
--- a/src/plugins/coreplugin/progressmanager/progressmanager_p.h
+++ b/src/plugins/coreplugin/progressmanager/progressmanager_p.h
@@ -87,6 +87,7 @@ private slots:
void slotRemoveTask();
private:
+ void readSettings();
void initInternal();
void stopFadeOfSummaryProgress();
diff --git a/src/plugins/coreplugin/removefiledialog.cpp b/src/plugins/coreplugin/removefiledialog.cpp
index bf72c6e1207..c643ad5be37 100644
--- a/src/plugins/coreplugin/removefiledialog.cpp
+++ b/src/plugins/coreplugin/removefiledialog.cpp
@@ -59,15 +59,3 @@ bool RemoveFileDialog::isDeleteFileChecked() const
{
return m_ui->deleteFileCheckBox->isChecked();
}
-
-void RemoveFileDialog::changeEvent(QEvent *e)
-{
- QDialog::changeEvent(e);
- switch (e->type()) {
- case QEvent::LanguageChange:
- m_ui->retranslateUi(this);
- break;
- default:
- break;
- }
-}
diff --git a/src/plugins/coreplugin/removefiledialog.h b/src/plugins/coreplugin/removefiledialog.h
index 9f5c6edb6ef..ebe5c86bec2 100644
--- a/src/plugins/coreplugin/removefiledialog.h
+++ b/src/plugins/coreplugin/removefiledialog.h
@@ -51,9 +51,6 @@ public:
void setDeleteFileVisible(bool visible);
bool isDeleteFileChecked() const;
-protected:
- virtual void changeEvent(QEvent *e);
-
private:
Ui::RemoveFileDialog *m_ui;
};
diff --git a/src/plugins/cpptools/cpptools.qbs b/src/plugins/cpptools/cpptools.qbs
index 059a3dfc7e2..6f7114b3703 100644
--- a/src/plugins/cpptools/cpptools.qbs
+++ b/src/plugins/cpptools/cpptools.qbs
@@ -123,7 +123,7 @@ QtcPlugin {
cpp.defines: outer.concat(['SRCDIR="' + FileInfo.path(filePath) + '"'])
}
- ProductModule {
+ Export {
Depends { name: "CPlusPlus" }
}
}
diff --git a/src/plugins/debugger/debugger.qbs b/src/plugins/debugger/debugger.qbs
index 77cedce2d96..688805e2141 100644
--- a/src/plugins/debugger/debugger.qbs
+++ b/src/plugins/debugger/debugger.qbs
@@ -303,7 +303,7 @@ QtcPlugin {
]
}
- ProductModule {
+ Export {
Depends { name: "cpp" }
Depends { name: "QtcSsh" }
cpp.includePaths: ["."]
diff --git a/src/plugins/debugger/debuggercore.h b/src/plugins/debugger/debuggercore.h
index ec5bd3c4f39..18787baa8bb 100644
--- a/src/plugins/debugger/debuggercore.h
+++ b/src/plugins/debugger/debuggercore.h
@@ -123,6 +123,7 @@ public:
virtual Utils::SavedAction *action(int code) const = 0;
virtual bool boolSetting(int code) const = 0;
virtual QString stringSetting(int code) const = 0;
+ virtual QStringList stringListSetting(int code) const = 0;
virtual void setThreads(const QStringList &list, int index) = 0;
virtual DebuggerToolTipManager *toolTipManager() const = 0;
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index 36079eb1ee1..f90354e2b78 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -604,7 +604,7 @@ private:
const char m_wordWidth;
};
-bool fillParameters(DebuggerStartParameters *sp, const Kit *kit /* = 0 */, QString *errorMessage /* = 0 */)
+bool fillParameters(DebuggerStartParameters *sp, const Kit *kit, QString *errorMessage /* = 0 */)
{
if (!kit) {
// This code can only be reached when starting via the command line
@@ -667,7 +667,9 @@ bool fillParameters(DebuggerStartParameters *sp, const Kit *kit /* = 0 */, QStri
IDevice::ConstPtr device = DeviceKitInformation::device(kit);
if (device) {
sp->connParams = device->sshParameters();
- sp->remoteChannel = sp->connParams.host + QLatin1Char(':') + QString::number(sp->connParams.port);
+ // Could have been set from command line.
+ if (sp->remoteChannel.isEmpty())
+ sp->remoteChannel = sp->connParams.host + QLatin1Char(':') + QString::number(sp->connParams.port);
}
return true;
}
@@ -1191,6 +1193,7 @@ public slots:
SavedAction *action(int code) const;
bool boolSetting(int code) const;
QString stringSetting(int code) const;
+ QStringList stringListSetting(int code) const;
void showModuleSymbols(const QString &moduleName, const Symbols &symbols);
void showModuleSections(const QString &moduleName, const Sections &sections);
@@ -3307,6 +3310,11 @@ QString DebuggerPluginPrivate::stringSetting(int code) const
return m_debuggerSettings->item(code)->value().toString();
}
+QStringList DebuggerPluginPrivate::stringListSetting(int code) const
+{
+ return m_debuggerSettings->item(code)->value().toStringList();
+}
+
void DebuggerPluginPrivate::showModuleSymbols(const QString &moduleName,
const Symbols &symbols)
{
diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp
index 9f18893ff5d..1e45604c9ab 100644
--- a/src/plugins/debugger/debuggerrunner.cpp
+++ b/src/plugins/debugger/debuggerrunner.cpp
@@ -444,8 +444,8 @@ static bool fixupEngineTypes(DebuggerStartParameters &sp, RunConfiguration *rc,
if (const Target *target = rc->target())
if (!fillParameters(&sp, target->kit(), errorMessage))
return false;
- const bool useCppDebugger = aspect->useCppDebugger();
- const bool useQmlDebugger = aspect->useQmlDebugger();
+ const bool useCppDebugger = aspect->useCppDebugger() && (sp.languages & CppLanguage);
+ const bool useQmlDebugger = aspect->useQmlDebugger() && (sp.languages & QmlLanguage);
if (useQmlDebugger) {
if (useCppDebugger) {
sp.masterEngineType = QmlCppEngineType;
diff --git a/src/plugins/debugger/debuggerstartparameters.h b/src/plugins/debugger/debuggerstartparameters.h
index f492dbd3962..0e5f818f763 100644
--- a/src/plugins/debugger/debuggerstartparameters.h
+++ b/src/plugins/debugger/debuggerstartparameters.h
@@ -141,7 +141,7 @@ public:
namespace Internal {
-bool fillParameters(DebuggerStartParameters *sp, const ProjectExplorer::Kit *kit = 0, QString *errorMessage = 0);
+bool fillParameters(DebuggerStartParameters *sp, const ProjectExplorer::Kit *kit, QString *errorMessage = 0);
} // namespace Internal
} // namespace Debugger
diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index 2b8e213d1ce..b9ce9a083ab 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -1592,7 +1592,7 @@ void GdbEngine::handleStop1(const GdbMi &data)
if (!m_systemDumpersLoaded) {
m_systemDumpersLoaded = true;
- if (debuggerCore()->boolSetting(LoadGdbDumpers))
+ if (m_gdbVersion >= 70400 && debuggerCore()->boolSetting(LoadGdbDumpers))
postCommand("importPlainDumpers");
}
diff --git a/src/plugins/debugger/images/qml/app-on-top.png b/src/plugins/debugger/images/qml/app-on-top.png
index ddec5400c69..e89026d1943 100644
--- a/src/plugins/debugger/images/qml/app-on-top.png
+++ b/src/plugins/debugger/images/qml/app-on-top.png
Binary files differ
diff --git a/src/plugins/debugger/images/qml/apply-on-save.png b/src/plugins/debugger/images/qml/apply-on-save.png
index 666382c06dd..19e75ab66d0 100644
--- a/src/plugins/debugger/images/qml/apply-on-save.png
+++ b/src/plugins/debugger/images/qml/apply-on-save.png
Binary files differ
diff --git a/src/plugins/debugger/images/qml/select.png b/src/plugins/debugger/images/qml/select.png
index 672285582b5..b120f79024d 100644
--- a/src/plugins/debugger/images/qml/select.png
+++ b/src/plugins/debugger/images/qml/select.png
Binary files differ
diff --git a/src/plugins/debugger/images/qml/zoom.png b/src/plugins/debugger/images/qml/zoom.png
index ebae877310c..7f54ec11911 100644
--- a/src/plugins/debugger/images/qml/zoom.png
+++ b/src/plugins/debugger/images/qml/zoom.png
Binary files differ
diff --git a/src/plugins/debugger/lldb/lldbengine.cpp b/src/plugins/debugger/lldb/lldbengine.cpp
index 5786fda6d13..119382b8781 100644
--- a/src/plugins/debugger/lldb/lldbengine.cpp
+++ b/src/plugins/debugger/lldb/lldbengine.cpp
@@ -664,7 +664,67 @@ void LldbEngine::updateWatchData(const WatchData &data, const WatchUpdateFlags &
Q_UNUSED(data);
Q_UNUSED(flags);
WatchHandler *handler = watchHandler();
- runCommand(Command("updateData").arg("expanded", handler->expansionRequests()));
+
+ Command cmd("updateData");
+ cmd.arg("expanded", handler->expansionRequests());
+ cmd.arg("typeformats", handler->typeFormatRequests());
+ cmd.arg("formats", handler->individualFormatRequests());
+
+ QList<QByteArray> watcherData;
+// const QString fileName = stackHandler()->currentFrame().file;
+// if (!fileName.isEmpty()) {
+// const QString function = stackHandler()->currentFrame().function;
+// typedef DebuggerToolTipManager::ExpressionInamePair ExpressionInamePair;
+// typedef DebuggerToolTipManager::ExpressionInamePairs ExpressionInamePairs;
+
+// // Re-create tooltip items that are not filters on existing local variables in
+// // the tooltip model.
+// ExpressionInamePairs toolTips = DebuggerToolTipManager::instance()
+// ->treeWidgetExpressions(fileName, objectName(), function);
+
+// const QString currentExpression = tooltipExpression();
+// if (!currentExpression.isEmpty()) {
+// int currentIndex = -1;
+// for (int i = 0; i < toolTips.size(); ++i) {
+// if (toolTips.at(i).first == currentExpression) {
+// currentIndex = i;
+// break;
+// }
+// }
+// if (currentIndex < 0)
+// toolTips.push_back(ExpressionInamePair(currentExpression, tooltipIName(currentExpression)));
+// }
+
+// foreach (const ExpressionInamePair &p, toolTips) {
+// if (p.second.startsWith("tooltip")) {
+// QHash<QByteArray, QByteArray> hash;
+// hash["exp"] = p.first.toLatin1();
+// hash["id"] = p.second;
+// watcherData.append(Command::toData(hash));
+// }
+// }
+// }
+
+ QHashIterator<QByteArray, int> it(handler->watcherNames());
+ while (it.hasNext()) {
+ it.next();
+ QHash<QByteArray, QByteArray> hash;
+ hash["exp"] = '\'' + it.key() + '\'';
+ hash["id"] = "'watch." + QByteArray::number(it.value()) + '\'';
+ watcherData.append(Command::toData(hash));
+ }
+ cmd.args.append("'watchers':" + Command::toData(watcherData) + ',');
+
+ const static bool alwaysVerbose = !qgetenv("QTC_DEBUGGER_PYTHON_VERBOSE").isEmpty();
+ cmd.arg("passexeptions", alwaysVerbose);
+ cmd.arg("fancy", debuggerCore()->boolSetting(UseDebuggingHelpers));
+ cmd.arg("autoderef", debuggerCore()->boolSetting(AutoDerefPointers));
+ cmd.arg("dyntype", debuggerCore()->boolSetting(UseDynamicType));
+ //cmd.arg("partial", ??)
+ //cmd.arg("tooltipOnly", ??)
+ //cmd.arg("resultvarname", m_resultVarName);
+
+ runCommand(cmd);
}
void LldbEngine::handleLldbError(QProcess::ProcessError error)
@@ -1047,6 +1107,30 @@ const LldbEngine::Command &LldbEngine::Command::argHelper(const char *name, cons
return *this;
}
+QByteArray LldbEngine::Command::toData(const QList<QByteArray> &value)
+{
+ QByteArray res;
+ foreach (const QByteArray &item, value) {
+ if (!res.isEmpty())
+ res.append(',');
+ res += item;
+ }
+ return '[' + res + ']';
+}
+
+QByteArray LldbEngine::Command::toData(const QHash<QByteArray, QByteArray> &value)
+{
+ QByteArray res;
+ QHashIterator<QByteArray, QByteArray> it(value);
+ while (it.hasNext()) {
+ it.next();
+ if (!res.isEmpty())
+ res.append(',');
+ res += '\'' + it.key() + "':" + it.value();
+ }
+ return '{' + res + '}';
+}
+
const LldbEngine::Command &LldbEngine::Command::arg(const char *name, int value) const
{
return argHelper(name, QByteArray::number(value));
diff --git a/src/plugins/debugger/lldb/lldbengine.h b/src/plugins/debugger/lldb/lldbengine.h
index 71ff6681790..818ee91ca64 100644
--- a/src/plugins/debugger/lldb/lldbengine.h
+++ b/src/plugins/debugger/lldb/lldbengine.h
@@ -78,6 +78,9 @@ private:
const Command &beginGroup(const char *name = 0) const;
void endGroup() const;
+ static QByteArray toData(const QList<QByteArray> &value);
+ static QByteArray toData(const QHash<QByteArray, QByteArray> &value);
+
QByteArray function;
mutable QByteArray args;
private:
diff --git a/src/plugins/debugger/loadcoredialog.cpp b/src/plugins/debugger/loadcoredialog.cpp
index 283d490b957..8d4a4879da5 100644
--- a/src/plugins/debugger/loadcoredialog.cpp
+++ b/src/plugins/debugger/loadcoredialog.cpp
@@ -289,6 +289,7 @@ int AttachCoreDialog::exec()
{
connect(d->selectRemoteCoreButton, SIGNAL(clicked()), SLOT(selectRemoteCoreFile()));
connect(d->remoteCoreFileName, SIGNAL(textChanged(QString)), SLOT(changed()));
+ connect(d->localExecFileName, SIGNAL(changed(QString)), SLOT(changed()));
connect(d->localCoreFileName, SIGNAL(changed(QString)), SLOT(changed()));
connect(d->forceLocalCheckBox, SIGNAL(stateChanged(int)), SLOT(changed()));
connect(d->kitChooser, SIGNAL(activated(int)), SLOT(changed()));
diff --git a/src/plugins/debugger/procinterrupt.cpp b/src/plugins/debugger/procinterrupt.cpp
index e93b3260146..0ad32373af7 100644
--- a/src/plugins/debugger/procinterrupt.cpp
+++ b/src/plugins/debugger/procinterrupt.cpp
@@ -103,6 +103,7 @@ bool Debugger::Internal::interruptProcess(int pID, int engineType, QString *erro
// GDB: not supported
const bool useDebugBreakApi= true;
Q_UNUSED(engineExecutableIs64Bit)
+ Q_UNUSED(engineType)
#else
// Qt-Creator compiled 32 bit:
diff --git a/src/plugins/designer/formwindoweditor.cpp b/src/plugins/designer/formwindoweditor.cpp
index 53e25edb0d5..6ed794e19cb 100644
--- a/src/plugins/designer/formwindoweditor.cpp
+++ b/src/plugins/designer/formwindoweditor.cpp
@@ -215,16 +215,6 @@ void FormWindowEditor::setDisplayName(const QString &title)
emit changed();
}
-bool FormWindowEditor::duplicateSupported() const
-{
- return false;
-}
-
-Core::IEditor *FormWindowEditor::duplicate(QWidget *)
-{
- return 0;
-}
-
QByteArray FormWindowEditor::saveState() const
{
return d->m_textEditor.saveState();
diff --git a/src/plugins/designer/formwindoweditor.h b/src/plugins/designer/formwindoweditor.h
index ffac23ea5fd..05f8f786fa7 100644
--- a/src/plugins/designer/formwindoweditor.h
+++ b/src/plugins/designer/formwindoweditor.h
@@ -74,9 +74,6 @@ public:
virtual QString displayName() const;
virtual void setDisplayName(const QString &title);
- virtual bool duplicateSupported() const;
- virtual IEditor *duplicate(QWidget *parent);
-
virtual QByteArray saveState() const;
virtual bool restoreState(const QByteArray &state);
diff --git a/src/plugins/diffeditor/diffeditoreditable.cpp b/src/plugins/diffeditor/diffeditoreditable.cpp
index c1018ae14bb..50f1f0f2e76 100644
--- a/src/plugins/diffeditor/diffeditoreditable.cpp
+++ b/src/plugins/diffeditor/diffeditoreditable.cpp
@@ -98,17 +98,6 @@ void DiffEditorEditable::setDisplayName(const QString &title)
emit changed();
}
-bool DiffEditorEditable::duplicateSupported() const
-{
- return false;
-}
-
-Core::IEditor *DiffEditorEditable::duplicate(QWidget *parent)
-{
- Q_UNUSED(parent)
- return 0;
-}
-
Core::Id DiffEditorEditable::id() const
{
return Constants::DIFF_EDITOR_ID;
@@ -236,15 +225,4 @@ void DiffEditorEditable::activateEntry(int index)
updateEntryToolTip();
}
-QByteArray DiffEditorEditable::saveState() const
-{
- return QByteArray();
-}
-
-bool DiffEditorEditable::restoreState(const QByteArray &state)
-{
- Q_UNUSED(state)
- return true;
-}
-
} // namespace DiffEditor
diff --git a/src/plugins/diffeditor/diffeditoreditable.h b/src/plugins/diffeditor/diffeditoreditable.h
index 859a543e86a..8a0aff264e2 100644
--- a/src/plugins/diffeditor/diffeditoreditable.h
+++ b/src/plugins/diffeditor/diffeditoreditable.h
@@ -65,16 +65,12 @@ public:
Core::IDocument *document();
QString displayName() const;
void setDisplayName(const QString &title);
- bool duplicateSupported() const;
- Core::IEditor *duplicate(QWidget *parent);
Core::Id id() const;
bool isTemporary() const { return true; }
DiffEditorWidget *editorWidget() const { return m_editorWidget; }
QWidget *toolBar();
- QByteArray saveState() const;
- bool restoreState(const QByteArray &state);
public slots:
void activateEntry(int index);
diff --git a/src/plugins/diffeditor/diffeditorwidget.cpp b/src/plugins/diffeditor/diffeditorwidget.cpp
index 7d9bba20014..c2579fdec8e 100644
--- a/src/plugins/diffeditor/diffeditorwidget.cpp
+++ b/src/plugins/diffeditor/diffeditorwidget.cpp
@@ -29,7 +29,6 @@
#include "diffeditorwidget.h"
#include <QPlainTextEdit>
-#include <QSplitter>
#include <QVBoxLayout>
#include <QPlainTextDocumentLayout>
#include <QTextBlock>
@@ -45,6 +44,8 @@
#include <texteditor/basetextdocument.h>
#include <texteditor/texteditorsettings.h>
+#include <coreplugin/minisplitter.h>
+
static const int BASE_LEVEL = 0;
static const int FILE_LEVEL = 1;
static const int CHUNK_LEVEL = 2;
@@ -100,11 +101,9 @@ class DiffViewEditorEditable : public BaseTextEditor
Q_OBJECT
public:
DiffViewEditorEditable(BaseTextEditorWidget *editorWidget) : BaseTextEditor(editorWidget) {}
- virtual Core::Id id() const { return "DiffViewEditor"; }
- virtual bool duplicateSupported() const { return false; }
- virtual IEditor *duplicate(QWidget *parent) { Q_UNUSED(parent) return 0; }
- virtual bool isTemporary() const { return false; }
+ Core::Id id() const { return "DiffViewEditor"; }
+ bool isTemporary() const { return false; }
};
@@ -529,6 +528,8 @@ DiffEditorWidget::DiffEditorWidget(QWidget *parent)
m_leftEditor->setReadOnly(true);
m_leftEditor->setHighlightCurrentLine(false);
m_leftEditor->setWordWrapMode(QTextOption::NoWrap);
+ connect(settings, SIGNAL(fontSettingsChanged(TextEditor::FontSettings)),
+ m_leftEditor, SLOT(setFontSettings(TextEditor::FontSettings)));
m_leftEditor->setFontSettings(settings->fontSettings());
m_leftEditor->setCodeStyle(settings->codeStyle());
@@ -537,6 +538,8 @@ DiffEditorWidget::DiffEditorWidget(QWidget *parent)
m_rightEditor->setReadOnly(true);
m_rightEditor->setHighlightCurrentLine(false);
m_rightEditor->setWordWrapMode(QTextOption::NoWrap);
+ connect(settings, SIGNAL(fontSettingsChanged(TextEditor::FontSettings)),
+ m_rightEditor, SLOT(setFontSettings(TextEditor::FontSettings)));
m_rightEditor->setFontSettings(settings->fontSettings());
m_rightEditor->setCodeStyle(settings->codeStyle());
@@ -570,7 +573,7 @@ DiffEditorWidget::DiffEditorWidget(QWidget *parent)
connect(m_rightEditor->document()->documentLayout(), SIGNAL(documentSizeChanged(QSizeF)),
this, SLOT(rightDocumentSizeChanged()));
- m_splitter = new QSplitter(this);
+ m_splitter = new Core::MiniSplitter(this);
m_splitter->addWidget(m_leftEditor);
m_splitter->addWidget(m_rightEditor);
QVBoxLayout *l = new QVBoxLayout(this);
diff --git a/src/plugins/genericprojectmanager/genericprojectmanager.cpp b/src/plugins/genericprojectmanager/genericprojectmanager.cpp
index 329eb9f682d..2ae768efa4f 100644
--- a/src/plugins/genericprojectmanager/genericprojectmanager.cpp
+++ b/src/plugins/genericprojectmanager/genericprojectmanager.cpp
@@ -51,21 +51,14 @@ QString Manager::mimeType() const
ProjectExplorer::Project *Manager::openProject(const QString &fileName, QString *errorString)
{
- if (!QFileInfo(fileName).isFile())
+ if (!QFileInfo(fileName).isFile()) {
+ if (errorString)
+ *errorString = tr("Failed opening project '%1': Project is not a file")
+ .arg(fileName);
return 0;
-
- ProjectExplorer::ProjectExplorerPlugin *projectExplorer = ProjectExplorer::ProjectExplorerPlugin::instance();
- foreach (ProjectExplorer::Project *pi, projectExplorer->session()->projects()) {
- if (fileName == pi->document()->fileName()) {
- if (errorString)
- *errorString = tr("Failed opening project '%1': Project already open")
- .arg(QDir::toNativeSeparators(fileName));
- return 0;
- }
}
- GenericProject *project = new GenericProject(this, fileName);
- return project;
+ return new GenericProject(this, fileName);
}
void Manager::registerProject(GenericProject *project)
diff --git a/src/plugins/git/branchdialog.cpp b/src/plugins/git/branchdialog.cpp
index 40574ef1c53..e57ff1bd0fb 100644
--- a/src/plugins/git/branchdialog.cpp
+++ b/src/plugins/git/branchdialog.cpp
@@ -189,14 +189,9 @@ void BranchDialog::checkout()
if (branchCheckoutDialog.makeStashOfCurrentBranch()
|| branchCheckoutDialog.moveLocalChangesToNextBranch()) {
- GitClient::StashGuard stashGuard(m_repository,
- currentBranch + QLatin1String("-AutoStash"),
- NoPrompt);
- if (stashGuard.stashingFailed())
+ if (!gitClient->beginStashScope(m_repository, currentBranch + QLatin1String("-AutoStash"), NoPrompt))
return;
- stashGuard.preventPop();
- stashMessage = stashGuard.stashMessage();
-
+ stashMessage = gitClient->stashInfo(m_repository).stashMessage();
} else if (branchCheckoutDialog.discardLocalChanges()) {
gitClient->synchronousReset(m_repository);
}
@@ -295,9 +290,9 @@ void BranchDialog::merge()
QTC_CHECK(idx != m_model->currentBranch()); // otherwise the button would not be enabled!
const QString branch = m_model->branchName(idx);
- GitClient::StashGuard stashGuard(m_repository, QLatin1String("merge"), AllowUnstashed);
- if (!GitPlugin::instance()->gitClient()->synchronousMerge(m_repository, branch))
- stashGuard.preventPop();
+ GitClient *client = GitPlugin::instance()->gitClient();
+ if (client->beginStashScope(m_repository, QLatin1String("merge"), AllowUnstashed))
+ client->synchronousMerge(m_repository, branch);
}
void BranchDialog::rebase()
@@ -307,21 +302,9 @@ void BranchDialog::rebase()
QTC_CHECK(idx != m_model->currentBranch()); // otherwise the button would not be enabled!
const QString baseBranch = m_model->branchName(idx);
- GitClient::StashGuard stashGuard(m_repository, QLatin1String("rebase"));
- if (!GitPlugin::instance()->gitClient()->synchronousRebase(m_repository, baseBranch))
- stashGuard.preventPop();
-}
-
-void BranchDialog::changeEvent(QEvent *e)
-{
- QDialog::changeEvent(e);
- switch (e->type()) {
- case QEvent::LanguageChange:
- m_ui->retranslateUi(this);
- break;
- default:
- break;
- }
+ GitClient *client = GitPlugin::instance()->gitClient();
+ if (client->beginStashScope(m_repository, QLatin1String("rebase")))
+ client->synchronousRebase(m_repository, baseBranch);
}
QModelIndex BranchDialog::selectedIndex()
diff --git a/src/plugins/git/branchdialog.h b/src/plugins/git/branchdialog.h
index 34afa8aa559..c1b38ac6195 100644
--- a/src/plugins/git/branchdialog.h
+++ b/src/plugins/git/branchdialog.h
@@ -33,7 +33,6 @@
#include <QDialog>
QT_BEGIN_NAMESPACE
-class QPushButton;
class QModelIndex;
QT_END_NAMESPACE
@@ -52,7 +51,8 @@ class BranchModel;
* branches below. Offers to checkout/delete local branches.
*
*/
-class BranchDialog : public QDialog {
+class BranchDialog : public QDialog
+{
Q_OBJECT
public:
@@ -74,16 +74,11 @@ private slots:
void merge();
void rebase();
-protected:
- void changeEvent(QEvent *e);
-
private:
QModelIndex selectedIndex();
Ui::BranchDialog *m_ui;
-
BranchModel *m_model;
-
QString m_repository;
};
diff --git a/src/plugins/git/gerrit/gerritdialog.cpp b/src/plugins/git/gerrit/gerritdialog.cpp
index 7b1f55e8cf8..78438801aed 100644
--- a/src/plugins/git/gerrit/gerritdialog.cpp
+++ b/src/plugins/git/gerrit/gerritdialog.cpp
@@ -162,9 +162,9 @@ GerritDialog::GerritDialog(const QSharedPointer<GerritParameters> &p,
detailsLayout->addLayout(repoPathLayout);
m_displayButton = addActionButton(QString(), SLOT(slotFetchDisplay()));
- m_applyButton = addActionButton(QString(), SLOT(slotFetchApply()));
+ m_cherryPickButton = addActionButton(QString(), SLOT(slotFetchCherryPick()));
m_checkoutButton = addActionButton(QString(), SLOT(slotFetchCheckout()));
- m_refreshButton = addActionButton(tr("Refresh"), SLOT(slotRefresh()));
+ m_refreshButton = addActionButton(tr("&Refresh"), SLOT(slotRefresh()));
connect(m_model, SIGNAL(refreshStateChanged(bool)),
m_refreshButton, SLOT(setDisabled(bool)));
@@ -202,13 +202,13 @@ void GerritDialog::displayRepositoryPath()
if (m_repositoryChooser->path().isEmpty())
m_repositoryChooser->setPath(m_parameters->repositoryPath);
if (m_parameters->promptPath) {
- m_displayButton->setText(tr("Diff..."));
- m_applyButton->setText(tr("Apply..."));
- m_checkoutButton->setText(tr("Checkout..."));
+ m_displayButton->setText(tr("&Diff..."));
+ m_cherryPickButton->setText(tr("Cherry &Pick..."));
+ m_checkoutButton->setText(tr("&Checkout..."));
} else {
- m_displayButton->setText(tr("Diff"));
- m_applyButton->setText(tr("Apply"));
- m_checkoutButton->setText(tr("Checkout"));
+ m_displayButton->setText(tr("&Diff"));
+ m_cherryPickButton->setText(tr("Cherry &Pick"));
+ m_checkoutButton->setText(tr("&Checkout"));
}
}
@@ -262,10 +262,10 @@ void GerritDialog::slotFetchDisplay()
emit fetchDisplay(m_model->change(item->row()));
}
-void GerritDialog::slotFetchApply()
+void GerritDialog::slotFetchCherryPick()
{
if (const QStandardItem *item = currentItem())
- emit fetchApply(m_model->change(item->row()));
+ emit fetchCherryPick(m_model->change(item->row()));
}
void GerritDialog::slotFetchCheckout()
@@ -304,7 +304,7 @@ void GerritDialog::updateButtons()
{
const bool enabled = !m_fetchRunning && m_treeView->selectionModel()->currentIndex().isValid();
m_displayButton->setEnabled(enabled);
- m_applyButton->setEnabled(enabled);
+ m_cherryPickButton->setEnabled(enabled);
m_checkoutButton->setEnabled(enabled);
}
@@ -328,7 +328,7 @@ void GerritDialog::fetchStarted(const QSharedPointer<Gerrit::Internal::GerritCha
updateButtons();
const QString toolTip = tr("Fetching \"%1\"...").arg(change->title);
m_displayButton->setToolTip(toolTip);
- m_applyButton->setToolTip(toolTip);
+ m_cherryPickButton->setToolTip(toolTip);
m_checkoutButton->setToolTip(toolTip);
}
@@ -337,7 +337,7 @@ void GerritDialog::fetchFinished()
m_fetchRunning = false;
updateButtons();
m_displayButton->setToolTip(QString());
- m_applyButton->setToolTip(QString());
+ m_cherryPickButton->setToolTip(QString());
m_checkoutButton->setToolTip(QString());
}
diff --git a/src/plugins/git/gerrit/gerritdialog.h b/src/plugins/git/gerrit/gerritdialog.h
index 2aa8d96ac1f..7d8d1275c31 100644
--- a/src/plugins/git/gerrit/gerritdialog.h
+++ b/src/plugins/git/gerrit/gerritdialog.h
@@ -83,7 +83,7 @@ public:
signals:
void fetchDisplay(const QSharedPointer<Gerrit::Internal::GerritChange> &);
- void fetchApply(const QSharedPointer<Gerrit::Internal::GerritChange> &);
+ void fetchCherryPick(const QSharedPointer<Gerrit::Internal::GerritChange> &);
void fetchCheckout(const QSharedPointer<Gerrit::Internal::GerritChange> &);
public slots:
@@ -98,7 +98,7 @@ private slots:
void slotDoubleClicked(const QModelIndex &);
void slotRefreshStateChanged(bool);
void slotFetchDisplay();
- void slotFetchApply();
+ void slotFetchCherryPick();
void slotFetchCheckout();
void slotRefresh();
void displayRepositoryPath();
@@ -121,7 +121,7 @@ private:
Utils::PathChooser *m_repositoryChooser;
QDialogButtonBox *m_buttonBox;
QPushButton *m_displayButton;
- QPushButton *m_applyButton;
+ QPushButton *m_cherryPickButton;
QPushButton *m_checkoutButton;
QPushButton *m_refreshButton;
QLabel *m_repositoryChooserLabel;
diff --git a/src/plugins/git/gerrit/gerritplugin.cpp b/src/plugins/git/gerrit/gerritplugin.cpp
index e3403ca91ee..511b92cdd8b 100644
--- a/src/plugins/git/gerrit/gerritplugin.cpp
+++ b/src/plugins/git/gerrit/gerritplugin.cpp
@@ -79,7 +79,7 @@ namespace Internal {
enum FetchMode
{
FetchDisplay,
- FetchApply,
+ FetchCherryPick,
FetchCheckout
};
@@ -202,9 +202,9 @@ void FetchContext::processFinished(int exitCode, QProcess::ExitStatus es)
m_state = WritePatchFileState;
startWritePatchFile();
break;
- case FetchApply:
+ case FetchCherryPick:
case FetchCheckout:
- if (m_fetchMode == FetchApply) {
+ if (m_fetchMode == FetchCherryPick) {
cherryPick();
} else {
Git::Internal::GitPlugin::instance()->gitClient()->synchronousCheckout(
@@ -425,8 +425,8 @@ void GerritPlugin::openView()
gd->setModal(false);
connect(gd, SIGNAL(fetchDisplay(QSharedPointer<Gerrit::Internal::GerritChange>)),
this, SLOT(fetchDisplay(QSharedPointer<Gerrit::Internal::GerritChange>)));
- connect(gd, SIGNAL(fetchApply(QSharedPointer<Gerrit::Internal::GerritChange>)),
- this, SLOT(fetchApply(QSharedPointer<Gerrit::Internal::GerritChange>)));
+ connect(gd, SIGNAL(fetchCherryPick(QSharedPointer<Gerrit::Internal::GerritChange>)),
+ this, SLOT(fetchCherryPick(QSharedPointer<Gerrit::Internal::GerritChange>)));
connect(gd, SIGNAL(fetchCheckout(QSharedPointer<Gerrit::Internal::GerritChange>)),
this, SLOT(fetchCheckout(QSharedPointer<Gerrit::Internal::GerritChange>)));
connect(this, SIGNAL(fetchStarted(QSharedPointer<Gerrit::Internal::GerritChange>)),
@@ -464,9 +464,9 @@ void GerritPlugin::fetchDisplay(const QSharedPointer<Gerrit::Internal::GerritCha
fetch(change, FetchDisplay);
}
-void GerritPlugin::fetchApply(const QSharedPointer<Gerrit::Internal::GerritChange> &change)
+void GerritPlugin::fetchCherryPick(const QSharedPointer<Gerrit::Internal::GerritChange> &change)
{
- fetch(change, FetchApply);
+ fetch(change, FetchCherryPick);
}
void GerritPlugin::fetchCheckout(const QSharedPointer<Gerrit::Internal::GerritChange> &change)
diff --git a/src/plugins/git/gerrit/gerritplugin.h b/src/plugins/git/gerrit/gerritplugin.h
index 167c9c9aa3a..aafb083dbd4 100644
--- a/src/plugins/git/gerrit/gerritplugin.h
+++ b/src/plugins/git/gerrit/gerritplugin.h
@@ -70,7 +70,7 @@ public:
public slots:
void fetchDisplay(const QSharedPointer<Gerrit::Internal::GerritChange> &change);
- void fetchApply(const QSharedPointer<Gerrit::Internal::GerritChange> &change);
+ void fetchCherryPick(const QSharedPointer<Gerrit::Internal::GerritChange> &change);
void fetchCheckout(const QSharedPointer<Gerrit::Internal::GerritChange> &change);
void updateActions(bool hasTopLevel);
diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp
index e348c8de540..26b46292162 100644
--- a/src/plugins/git/gitclient.cpp
+++ b/src/plugins/git/gitclient.cpp
@@ -634,22 +634,28 @@ class ConflictHandler : public QObject
{
Q_OBJECT
public:
- ConflictHandler(QObject *parent,
+ ConflictHandler(VcsBase::Command *parentCommand,
const QString &workingDirectory,
const QString &command)
- : QObject(parent),
+ : QObject(parentCommand),
m_workingDirectory(workingDirectory),
m_command(command)
{
+ if (parentCommand) {
+ connect(parentCommand, SIGNAL(outputData(QByteArray)), this, SLOT(readStdOut(QByteArray)));
+ connect(parentCommand, SIGNAL(errorText(QString)), this, SLOT(readStdErr(QString)));
+ }
}
~ConflictHandler()
{
- if (m_commit.isEmpty())
+ if (m_commit.isEmpty()) {
GitPlugin::instance()->gitVersionControl()->emitRepositoryChanged(m_workingDirectory);
- else
+ GitPlugin::instance()->gitClient()->endStashScope(m_workingDirectory);
+ } else {
GitPlugin::instance()->gitClient()->handleMergeConflicts(
m_workingDirectory, m_commit, m_command);
+ }
}
void readStdOutString(const QString &data)
@@ -676,45 +682,6 @@ private:
QString m_commit;
};
-class RebaseManager : public QObject
-{
- Q_OBJECT
-
-public:
- RebaseManager(GitClient::StashGuard &stashGuard, QObject *parent) :
- QObject(parent),
- m_stashGuard(&stashGuard)
- {
- }
-
- ~RebaseManager()
- {
- delete m_stashGuard;
- }
-
-public slots:
- void readStdErr(const QString &error)
- {
- // rebase conflict is output to stdOut
- QRegExp conflictedCommit(QLatin1String("Could not apply ([^\\n]*)"));
- conflictedCommit.indexIn(error);
- m_commit = conflictedCommit.cap(1);
- }
-
- void finished(bool ok, int exitCode, const QVariant &workingDirectory)
- {
- Q_UNUSED(ok);
- if (exitCode != 0 && !m_commit.isEmpty()) {
- m_stashGuard->preventPop();
- GitPlugin::instance()->gitClient()->handleMergeConflicts(
- workingDirectory.toString(), m_commit, QLatin1String("rebase"));
- }
- }
-
-private:
- QString m_commit;
- GitClient::StashGuard *m_stashGuard;
-};
Core::IEditor *locateEditor(const char *property, const QString &entry)
{
@@ -2142,6 +2109,23 @@ QProcessEnvironment GitClient::processEnvironment() const
return environment;
}
+bool GitClient::beginStashScope(const QString &workingDirectory, const QString &keyword, StashFlag flag)
+{
+ StashInfo &stashInfo = m_stashInfo[workingDirectory];
+ return stashInfo.init(workingDirectory, keyword, flag);
+}
+
+GitClient::StashInfo &GitClient::stashInfo(const QString &workingDirectory)
+{
+ QTC_CHECK(m_stashInfo.contains(workingDirectory));
+ return m_stashInfo[workingDirectory];
+}
+
+void GitClient::endStashScope(const QString &workingDirectory)
+{
+ m_stashInfo[workingDirectory].end();
+}
+
bool GitClient::isValidRevision(const QString &revision) const
{
if (revision.length() < 1)
@@ -2339,9 +2323,7 @@ void GitClient::continuePreviousGitCommand(const QString &workingDirectory,
VcsBase::Command *command = createCommand(workingDirectory, 0, true);
command->addJob(arguments, -1);
command->execute();
- ConflictHandler *handler = new ConflictHandler(command, workingDirectory, gitCommand);
- connect(command, SIGNAL(outputData(QByteArray)), handler, SLOT(readStdOut(QByteArray)));
- connect(command, SIGNAL(errorText(QString)), handler, SLOT(readStdErr(QString)));
+ new ConflictHandler(command, workingDirectory, gitCommand);
} else {
GitPlugin::instance()->startCommit();
}
@@ -2880,7 +2862,8 @@ QString GitClient::synchronousTrackingBranch(const QString &workingDirectory, co
return remote + QLatin1Char('/') + rBranch;
}
-void GitClient::handleMergeConflicts(const QString &workingDir, const QString &commit, const QString &abortCommand)
+void GitClient::handleMergeConflicts(const QString &workingDir, const QString &commit,
+ const QString &abortCommand)
{
QString message = commit.isEmpty() ? tr("Conflicts detected")
: tr("Conflicts detected with commit %1").arg(commit);
@@ -3006,8 +2989,7 @@ bool GitClient::synchronousCherryPick(const QString &workingDirectory, const QSt
return executeAndHandleConflicts(workingDirectory, arguments, command);
}
-void GitClient::interactiveRebase(const QString &workingDirectory, const QString &commit,
- StashGuard &stashGuard, bool fixup)
+void GitClient::interactiveRebase(const QString &workingDirectory, const QString &commit, bool fixup)
{
QStringList arguments;
arguments << QLatin1String("rebase") << QLatin1String("-i");
@@ -3021,10 +3003,7 @@ void GitClient::interactiveRebase(const QString &workingDirectory, const QString
command->addJob(arguments, -1);
command->execute();
command->setCookie(workingDirectory);
- RebaseManager *rebaseManager = new RebaseManager(stashGuard, command);
- connect(command, SIGNAL(errorText(QString)), rebaseManager, SLOT(readStdErr(QString)));
- connect(command, SIGNAL(finished(bool,int,QVariant)),
- rebaseManager, SLOT(finished(bool,int,QVariant)));
+ new ConflictHandler(command, workingDirectory, QLatin1String("rebase"));
if (fixup)
m_disableEditor = false;
}
@@ -3299,50 +3278,45 @@ unsigned GitClient::synchronousGitVersion(QString *errorMessage) const
return version(major, minor, patch);
}
-GitClient::StashGuard::StashGuard(const QString &workingDirectory, const QString &keyword,
- StashFlag flag) :
- pop(true),
- workingDir(workingDirectory),
- flags(flag)
+GitClient::StashInfo::StashInfo() :
+ m_client(GitPlugin::instance()->gitClient())
{
- client = GitPlugin::instance()->gitClient();
- QString errorMessage;
- if (flags & NoPrompt)
- executeStash(keyword, &errorMessage);
- else
- stashPrompt(keyword, &errorMessage);
-
- if (stashResult == StashFailed)
- VcsBase::VcsBaseOutputWindow::instance()->appendError(errorMessage);
}
-GitClient::StashGuard::~StashGuard()
-{
- if (pop && stashResult == Stashed) {
- QString stashName;
- if (client->stashNameFromMessage(workingDir, message, &stashName))
- client->stashPop(workingDir, stashName);
- }
-}
-
-void GitClient::StashGuard::stashPrompt(const QString &keyword, QString *errorMessage)
+bool GitClient::StashInfo::init(const QString &workingDirectory, const QString &keyword,
+ StashFlag flag)
{
+ m_workingDir = workingDirectory;
+ m_flags = flag;
+ QString errorMessage;
QString statusOutput;
- switch (client->gitStatus(workingDir, StatusMode(NoUntracked | NoSubmodules),
- &statusOutput, errorMessage)) {
+ switch (m_client->gitStatus(m_workingDir, StatusMode(NoUntracked | NoSubmodules),
+ &statusOutput, &errorMessage)) {
case GitClient::StatusChanged:
+ if (m_flags & NoPrompt)
+ executeStash(keyword, &errorMessage);
+ else
+ stashPrompt(keyword, statusOutput, &errorMessage);
break;
case GitClient::StatusUnchanged:
- stashResult = StashUnchanged;
- return;
+ m_stashResult = StashUnchanged;
+ break;
case GitClient::StatusFailed:
- stashResult = StashFailed;
- return;
+ m_stashResult = StashFailed;
+ break;
}
+ if (m_stashResult == StashFailed)
+ VcsBase::VcsBaseOutputWindow::instance()->appendError(errorMessage);
+ return !stashingFailed();
+}
+
+void GitClient::StashInfo::stashPrompt(const QString &keyword, const QString &statusOutput,
+ QString *errorMessage)
+{
QMessageBox msgBox(QMessageBox::Question, tr("Uncommitted Changes Found"),
tr("What would you like to do with local changes in:")
- + QLatin1String("\n\n\"") + workingDir + QLatin1Char('\"'),
+ + QLatin1String("\n\n\"") + m_workingDir + QLatin1Char('\"'),
QMessageBox::NoButton, Core::ICore::mainWindow());
msgBox.setDetailedText(statusOutput);
@@ -3354,7 +3328,7 @@ void GitClient::StashGuard::stashPrompt(const QString &keyword, QString *errorMe
discardButton->setToolTip(tr("Discard (reset) local changes and continue."));
QPushButton *ignoreButton = 0;
- if (flags & AllowUnstashed) {
+ if (m_flags & AllowUnstashed) {
ignoreButton = msgBox.addButton(QMessageBox::Ignore);
ignoreButton->setToolTip(tr("Continue with local changes in working directory."));
}
@@ -3365,46 +3339,50 @@ void GitClient::StashGuard::stashPrompt(const QString &keyword, QString *errorMe
msgBox.exec();
if (msgBox.clickedButton() == discardButton) {
- if (!client->synchronousReset(workingDir, QStringList(), errorMessage))
- stashResult = StashFailed;
+ if (!m_client->synchronousReset(m_workingDir, QStringList(), errorMessage))
+ m_stashResult = StashFailed;
else
- stashResult = StashUnchanged;
+ m_stashResult = StashUnchanged;
} else if (msgBox.clickedButton() == ignoreButton) { // At your own risk, so.
- stashResult = NotStashed;
+ m_stashResult = NotStashed;
} else if (msgBox.clickedButton() == cancelButton) {
- stashResult = StashCanceled;
+ m_stashResult = StashCanceled;
} else if (msgBox.clickedButton() == stashButton) {
executeStash(keyword, errorMessage);
}
}
-void GitClient::StashGuard::executeStash(const QString &keyword, QString *errorMessage)
+void GitClient::StashInfo::executeStash(const QString &keyword, QString *errorMessage)
{
- message = creatorStashMessage(keyword);
- if (!client->executeSynchronousStash(workingDir, message, errorMessage))
- stashResult = StashFailed;
+ m_message = creatorStashMessage(keyword);
+ if (!m_client->executeSynchronousStash(m_workingDir, m_message, errorMessage))
+ m_stashResult = StashFailed;
else
- stashResult = Stashed;
+ m_stashResult = Stashed;
}
-void GitClient::StashGuard::preventPop()
+bool GitClient::StashInfo::stashingFailed() const
{
- pop = false;
-}
-
-bool GitClient::StashGuard::stashingFailed() const
-{
- switch (stashResult) {
+ switch (m_stashResult) {
case StashCanceled:
case StashFailed:
return true;
case NotStashed:
- return !(flags & AllowUnstashed);
+ return !(m_flags & AllowUnstashed);
default:
return false;
}
}
+void GitClient::StashInfo::end()
+{
+ if (m_stashResult == Stashed) {
+ QString stashName;
+ if (m_client->stashNameFromMessage(m_workingDir, m_message, &stashName))
+ m_client->stashPop(m_workingDir, stashName);
+ }
+ m_stashResult = NotStashed;
+}
} // namespace Internal
} // namespace Git
diff --git a/src/plugins/git/gitclient.h b/src/plugins/git/gitclient.h
index b1b81c89b0b..d71b47ac888 100644
--- a/src/plugins/git/gitclient.h
+++ b/src/plugins/git/gitclient.h
@@ -94,31 +94,28 @@ public:
enum CommandInProgress { NoCommand, Revert, CherryPick,
Rebase, Merge, RebaseMerge };
- class StashGuard
+ class StashInfo
{
public:
+ StashInfo();
enum StashResult { StashUnchanged, StashCanceled, StashFailed,
Stashed, NotStashed /* User did not want it */ };
- StashGuard(const QString &workingDirectory, const QString &keyword,
- StashFlag flag = Default);
- ~StashGuard();
-
- void preventPop();
+ bool init(const QString &workingDirectory, const QString &keyword, StashFlag flag = Default);
bool stashingFailed() const;
- StashResult result() const { return stashResult; }
- QString stashMessage() const { return message; }
+ void end();
+ StashResult result() const { return m_stashResult; }
+ QString stashMessage() const { return m_message; }
private:
- void stashPrompt(const QString &keyword, QString *errorMessage);
+ void stashPrompt(const QString &keyword, const QString &statusOutput, QString *errorMessage);
void executeStash(const QString &keyword, QString *errorMessage);
- bool pop;
- StashResult stashResult;
- QString message;
- QString workingDir;
- GitClient *client;
- StashFlag flags;
+ StashResult m_stashResult;
+ QString m_message;
+ QString m_workingDir;
+ GitClient *m_client;
+ StashFlag m_flags;
};
static const char *stashNamePrefix;
@@ -241,8 +238,7 @@ public:
const QString &topicBranch = QString());
bool synchronousRevert(const QString &workingDirectory, const QString &commit);
bool synchronousCherryPick(const QString &workingDirectory, const QString &commit);
- void interactiveRebase(const QString &workingDirectory, const QString &commit,
- StashGuard &stashGuard, bool fixup);
+ void interactiveRebase(const QString &workingDirectory, const QString &commit, bool fixup);
void synchronousAbortCommand(const QString &workingDir, const QString &abortCommand);
QString synchronousTrackingBranch(const QString &workingDirectory,
const QString &branch = QString());
@@ -302,6 +298,9 @@ public:
QProcessEnvironment processEnvironment() const;
+ bool beginStashScope(const QString &workingDirectory, const QString &keyword, StashFlag flag = Default);
+ StashInfo &stashInfo(const QString &workingDirectory);
+ void endStashScope(const QString &workingDirectory);
bool isValidRevision(const QString &revision) const;
void handleMergeConflicts(const QString &workingDir, const QString &commit, const QString &abortCommand);
@@ -386,6 +385,7 @@ private:
QSignalMapper *m_repositoryChangedSignalMapper;
GitSettings *m_settings;
QString m_gitQtcEditor;
+ QMap<QString, StashInfo> m_stashInfo;
bool m_disableEditor;
};
diff --git a/src/plugins/git/gitorious/gitorioushostwidget.cpp b/src/plugins/git/gitorious/gitorioushostwidget.cpp
index 22622f1a708..4c67c425a84 100644
--- a/src/plugins/git/gitorious/gitorioushostwidget.cpp
+++ b/src/plugins/git/gitorious/gitorioushostwidget.cpp
@@ -297,17 +297,5 @@ void GitoriousHostWidget::slotError(const QString &e)
m_errorClearTimer->start();
}
-void GitoriousHostWidget::changeEvent(QEvent *e)
-{
- QWidget::changeEvent(e);
- switch (e->type()) {
- case QEvent::LanguageChange:
- ui->retranslateUi(this);
- break;
- default:
- break;
- }
-}
-
} // namespace Internal
} // namespace Gitorious
diff --git a/src/plugins/git/gitorious/gitorioushostwidget.h b/src/plugins/git/gitorious/gitorioushostwidget.h
index c00cd07dcba..a96f564caed 100644
--- a/src/plugins/git/gitorious/gitorioushostwidget.h
+++ b/src/plugins/git/gitorious/gitorioushostwidget.h
@@ -54,8 +54,10 @@ namespace Ui {
* it receives the projects. As soon as there are projects, isValid() becomes
* true. */
-class GitoriousHostWidget : public QWidget {
+class GitoriousHostWidget : public QWidget
+{
Q_OBJECT
+
public:
GitoriousHostWidget(QWidget *parent = 0);
~GitoriousHostWidget();
@@ -72,9 +74,6 @@ signals:
public slots:
void selectRow(int);
-protected:
- void changeEvent(QEvent *e);
-
private slots:
void slotBrowse();
void slotDelete();
diff --git a/src/plugins/git/gitorious/gitoriousprojectwidget.cpp b/src/plugins/git/gitorious/gitoriousprojectwidget.cpp
index b374910f0e8..6c7d128dbbc 100644
--- a/src/plugins/git/gitorious/gitoriousprojectwidget.cpp
+++ b/src/plugins/git/gitorious/gitoriousprojectwidget.cpp
@@ -281,17 +281,5 @@ QSharedPointer<GitoriousProject> GitoriousProjectWidget::project() const
return QSharedPointer<GitoriousProject>(new GitoriousProject);
}
-void GitoriousProjectWidget::changeEvent(QEvent *e)
-{
- QWidget::changeEvent(e);
- switch (e->type()) {
- case QEvent::LanguageChange:
- ui->retranslateUi(this);
- break;
- default:
- break;
- }
-}
-
} // namespace Internal
} // namespace Gitorious
diff --git a/src/plugins/git/gitorious/gitoriousprojectwidget.h b/src/plugins/git/gitorious/gitoriousprojectwidget.h
index b9dc6422355..b55aaacf106 100644
--- a/src/plugins/git/gitorious/gitoriousprojectwidget.h
+++ b/src/plugins/git/gitorious/gitoriousprojectwidget.h
@@ -56,8 +56,10 @@ namespace Ui {
* it receives the projects. isValid() and signal validChanged are
* provided for use in a QWizardPage. Host matching happens via name as the
* hostIndex might change due to deleting hosts. */
-class GitoriousProjectWidget : public QWidget {
+class GitoriousProjectWidget : public QWidget
+{
Q_OBJECT
+
public:
explicit GitoriousProjectWidget(int hostIndex,
QWidget *parent = 0);
@@ -91,9 +93,6 @@ private slots:
void slotUpdateProjects(int hostIndex);
void slotUpdateCheckBoxChanged(int);
-protected:
- void changeEvent(QEvent *e);
-
private:
QStandardItem *itemFromIndex(const QModelIndex &idx) const;
QStandardItem *currentItem() const;
@@ -107,7 +106,7 @@ private:
bool m_valid;
};
-
} // namespace Internal
} // namespace Gitorious
+
#endif // GITORIOUSPROJECTWIDGET_H
diff --git a/src/plugins/git/gitorious/gitoriousrepositorywizardpage.cpp b/src/plugins/git/gitorious/gitoriousrepositorywizardpage.cpp
index da6ecd25ea7..d90719e5c2d 100644
--- a/src/plugins/git/gitorious/gitoriousrepositorywizardpage.cpp
+++ b/src/plugins/git/gitorious/gitoriousrepositorywizardpage.cpp
@@ -237,17 +237,5 @@ bool GitoriousRepositoryWizardPage::isComplete() const
return m_valid;
}
-void GitoriousRepositoryWizardPage::changeEvent(QEvent *e)
-{
- QWizardPage::changeEvent(e);
- switch (e->type()) {
- case QEvent::LanguageChange:
- ui->retranslateUi(this);
- break;
- default:
- break;
- }
-}
-
} // namespace Internal
} // namespace Gitorious
diff --git a/src/plugins/git/gitorious/gitoriousrepositorywizardpage.h b/src/plugins/git/gitorious/gitoriousrepositorywizardpage.h
index be6b4d39534..647887a9331 100644
--- a/src/plugins/git/gitorious/gitoriousrepositorywizardpage.h
+++ b/src/plugins/git/gitorious/gitoriousrepositorywizardpage.h
@@ -51,8 +51,10 @@ namespace Ui {
// A wizard page listing Gitorious repositories in a tree, by repository type.
-class GitoriousRepositoryWizardPage : public QWizardPage {
+class GitoriousRepositoryWizardPage : public QWizardPage
+{
Q_OBJECT
+
public:
explicit GitoriousRepositoryWizardPage(const GitoriousProjectWizardPage *projectPage,
QWidget *parent = 0);
@@ -67,9 +69,6 @@ public:
public slots:
void slotCurrentChanged(const QModelIndex &current, const QModelIndex &previous);
-protected:
- void changeEvent(QEvent *e);
-
private:
// return the repository (column 0) item.
QStandardItem *currentItem0() const;
diff --git a/src/plugins/git/gitplugin.cpp b/src/plugins/git/gitplugin.cpp
index ea8ca19f4cb..4ce7508d3dc 100644
--- a/src/plugins/git/gitplugin.cpp
+++ b/src/plugins/git/gitplugin.cpp
@@ -769,14 +769,14 @@ void GitPlugin::startRebase()
QString workingDirectory = currentState().currentDirectoryOrTopLevel();
if (workingDirectory.isEmpty() || !m_gitClient->canRebase(workingDirectory))
return;
- QScopedPointer<GitClient::StashGuard> stashGuard(
- new GitClient::StashGuard(workingDirectory, QLatin1String("Rebase-i")));
- if (stashGuard->stashingFailed())
+ if (!m_gitClient->beginStashScope(workingDirectory, QLatin1String("Rebase-i")))
return;
LogChangeDialog dialog(false);
dialog.setWindowTitle(tr("Interactive Rebase"));
if (dialog.runDialog(workingDirectory, QString(), false))
- m_gitClient->interactiveRebase(workingDirectory, dialog.commit(), *stashGuard.take(), false);
+ m_gitClient->interactiveRebase(workingDirectory, dialog.commit(), false);
+ else
+ m_gitClient->endStashScope(workingDirectory);
}
void GitPlugin::startChangeRelatedAction()
@@ -822,12 +822,10 @@ void GitPlugin::startChangeRelatedAction()
return;
}
- GitClient::StashGuard stashGuard(workingDirectory, command);
- if (stashGuard.stashingFailed())
+ if (!m_gitClient->beginStashScope(workingDirectory, command))
return;
- if (!(m_gitClient->*commandFunction)(workingDirectory, change))
- stashGuard.preventPop();
+ (m_gitClient->*commandFunction)(workingDirectory, change);
}
void GitPlugin::stageFile()
@@ -1035,12 +1033,9 @@ bool GitPlugin::submitEditorAboutToClose()
if (closeEditor) {
cleanCommitMessageFile();
if (commitType == FixupCommit) {
- QScopedPointer<GitClient::StashGuard> stashGuard(
- new GitClient::StashGuard(m_submitRepository, QLatin1String("Rebase-fixup"),
- NoPrompt));
- if (stashGuard->stashingFailed())
+ if (!m_gitClient->beginStashScope(m_submitRepository, QLatin1String("Rebase-fixup"), NoPrompt))
return false;
- m_gitClient->interactiveRebase(m_submitRepository, amendSHA1, *stashGuard.take(), true);
+ m_gitClient->interactiveRebase(m_submitRepository, amendSHA1, true);
} else {
m_gitClient->continueCommandIfNeeded(m_submitRepository);
}
@@ -1069,12 +1064,9 @@ void GitPlugin::pull()
}
}
- GitClient::StashGuard stashGuard(topLevel, QLatin1String("Pull"),
- rebase ? Default : AllowUnstashed);
- if (stashGuard.stashingFailed())
+ if (!m_gitClient->beginStashScope(topLevel, QLatin1String("Pull"), rebase ? Default : AllowUnstashed))
return;
- if (!m_gitClient->synchronousPull(topLevel, rebase))
- stashGuard.preventPop();
+ m_gitClient->synchronousPull(topLevel, rebase);
}
void GitPlugin::push()
@@ -1222,8 +1214,7 @@ void GitPlugin::promptApplyPatch()
void GitPlugin::applyPatch(const QString &workingDirectory, QString file)
{
// Ensure user has been notified about pending changes
- GitClient::StashGuard stashGuard(workingDirectory, QLatin1String("Apply-Patch"), AllowUnstashed);
- if (stashGuard.stashingFailed())
+ if (!m_gitClient->beginStashScope(workingDirectory, QLatin1String("Apply-Patch"), AllowUnstashed))
return;
// Prompt for file
if (file.isEmpty()) {
@@ -1231,8 +1222,10 @@ void GitPlugin::applyPatch(const QString &workingDirectory, QString file)
file = QFileDialog::getOpenFileName(Core::ICore::mainWindow(),
tr("Choose Patch"),
QString(), filter);
- if (file.isEmpty())
+ if (file.isEmpty()) {
+ m_gitClient->endStashScope(workingDirectory);
return;
+ }
}
// Run!
VcsBase::VcsBaseOutputWindow *outwin = VcsBase::VcsBaseOutputWindow::instance();
@@ -1245,6 +1238,7 @@ void GitPlugin::applyPatch(const QString &workingDirectory, QString file)
} else {
outwin->appendError(errorMessage);
}
+ m_gitClient->endStashScope(workingDirectory);
}
void GitPlugin::stash()
@@ -1253,11 +1247,10 @@ void GitPlugin::stash()
const VcsBase::VcsBasePluginState state = currentState();
QTC_ASSERT(state.hasTopLevel(), return);
- GitClient::StashGuard stashGuard(state.topLevel(), QString(), NoPrompt);
- if (stashGuard.stashingFailed())
+ QString topLevel = state.topLevel();
+ if (!m_gitClient->beginStashScope(topLevel, QString(), NoPrompt))
return;
- stashGuard.preventPop();
- if (stashGuard.result() == GitClient::StashGuard::Stashed && m_stashDialog)
+ if (m_gitClient->stashInfo(topLevel).result() == GitClient::StashInfo::Stashed && m_stashDialog)
m_stashDialog->refresh(state.topLevel(), true);
}
diff --git a/src/plugins/git/remotedialog.cpp b/src/plugins/git/remotedialog.cpp
index 4488719f73f..a027d62bf2d 100644
--- a/src/plugins/git/remotedialog.cpp
+++ b/src/plugins/git/remotedialog.cpp
@@ -198,17 +198,5 @@ void RemoteDialog::updateButtonState()
m_ui->removeButton->setEnabled(haveSelection);
}
-void RemoteDialog::changeEvent(QEvent *e)
-{
- QDialog::changeEvent(e);
- switch (e->type()) {
- case QEvent::LanguageChange:
- m_ui->retranslateUi(this);
- break;
- default:
- break;
- }
-}
-
} // namespace Internal
} // namespace Git
diff --git a/src/plugins/git/remotedialog.h b/src/plugins/git/remotedialog.h
index 92ecdbdc94a..7a8d00900b9 100644
--- a/src/plugins/git/remotedialog.h
+++ b/src/plugins/git/remotedialog.h
@@ -68,7 +68,8 @@ private:
// RemoteDialog:
// --------------------------------------------------------------------------
-class RemoteDialog : public QDialog {
+class RemoteDialog : public QDialog
+{
Q_OBJECT
public:
@@ -86,11 +87,6 @@ public slots:
void updateButtonState();
-private slots:
-
-protected:
- void changeEvent(QEvent *e);
-
private:
Ui::RemoteDialog *m_ui;
diff --git a/src/plugins/git/stashdialog.cpp b/src/plugins/git/stashdialog.cpp
index 1447230d39b..137a6ed9211 100644
--- a/src/plugins/git/stashdialog.cpp
+++ b/src/plugins/git/stashdialog.cpp
@@ -150,18 +150,6 @@ StashDialog::~StashDialog()
delete ui;
}
-void StashDialog::changeEvent(QEvent *e)
-{
- QDialog::changeEvent(e);
- switch (e->type()) {
- case QEvent::LanguageChange:
- ui->retranslateUi(this);
- break;
- default:
- break;
- }
-}
-
QString StashDialog::msgRepositoryLabel(const QString &repository)
{
return repository.isEmpty() ?
diff --git a/src/plugins/git/stashdialog.h b/src/plugins/git/stashdialog.h
index 37bfc77592f..15f24fc04b4 100644
--- a/src/plugins/git/stashdialog.h
+++ b/src/plugins/git/stashdialog.h
@@ -51,8 +51,10 @@ class StashModel;
* (in case restore fails due to conflicts) on current and
* delete on selection/all. */
-class StashDialog : public QDialog {
+class StashDialog : public QDialog
+{
Q_OBJECT
+
public:
explicit StashDialog(QWidget *parent = 0);
~StashDialog();
@@ -62,9 +64,6 @@ public:
public slots:
void refresh(const QString &repository, bool force);
-protected:
- void changeEvent(QEvent *e);
-
private slots:
void deleteAll();
void deleteSelection();
diff --git a/src/plugins/glsleditor/glsleditoreditable.cpp b/src/plugins/glsleditor/glsleditoreditable.cpp
index f999ca68258..c5586110f0d 100644
--- a/src/plugins/glsleditor/glsleditoreditable.cpp
+++ b/src/plugins/glsleditor/glsleditoreditable.cpp
@@ -50,10 +50,5 @@ GLSLEditorEditable::GLSLEditorEditable(GLSLTextEditorWidget *editor)
TextEditor::Constants::C_TEXTEDITOR));
}
-Core::Id GLSLEditorEditable::preferredModeType() const
-{
- return Core::Id();
-}
-
} // namespace Internal
} // namespace GLSLEditor
diff --git a/src/plugins/glsleditor/glsleditoreditable.h b/src/plugins/glsleditor/glsleditoreditable.h
index 9ef2ec797b4..3e6ce0a5292 100644
--- a/src/plugins/glsleditor/glsleditoreditable.h
+++ b/src/plugins/glsleditor/glsleditoreditable.h
@@ -49,7 +49,6 @@ public:
Core::Id id() const;
bool isTemporary() const { return false; }
bool open(QString *errorString, const QString &fileName, const QString &realFileName);
- Core::Id preferredModeType() const;
};
} // namespace Internal
diff --git a/src/plugins/imageviewer/images/pause-small.png b/src/plugins/imageviewer/images/pause-small.png
index 114d89b12bd..66d1f46d3db 100644
--- a/src/plugins/imageviewer/images/pause-small.png
+++ b/src/plugins/imageviewer/images/pause-small.png
Binary files differ
diff --git a/src/plugins/imageviewer/images/play-small.png b/src/plugins/imageviewer/images/play-small.png
index 011598a746f..3a7a99fb247 100644
--- a/src/plugins/imageviewer/images/play-small.png
+++ b/src/plugins/imageviewer/images/play-small.png
Binary files differ
diff --git a/src/plugins/imageviewer/imageviewer.cpp b/src/plugins/imageviewer/imageviewer.cpp
index 6ff625f3a64..58a4e77e8a2 100644
--- a/src/plugins/imageviewer/imageviewer.cpp
+++ b/src/plugins/imageviewer/imageviewer.cpp
@@ -163,38 +163,6 @@ void ImageViewer::setDisplayName(const QString &title)
emit changed();
}
-bool ImageViewer::duplicateSupported() const
-{
- return false;
-}
-
-Core::IEditor *ImageViewer::duplicate(QWidget *parent)
-{
- Q_UNUSED(parent);
- return 0;
-}
-
-QByteArray ImageViewer::saveState() const
-{
- return QByteArray();
-}
-
-bool ImageViewer::restoreState(const QByteArray &state)
-{
- Q_UNUSED(state);
- return true;
-}
-
-int ImageViewer::currentLine() const
-{
- return 0;
-}
-
-int ImageViewer::currentColumn() const
-{
- return 0;
-}
-
bool ImageViewer::isTemporary() const
{
return false;
diff --git a/src/plugins/imageviewer/imageviewer.h b/src/plugins/imageviewer/imageviewer.h
index f2a4cdd7fd4..b5a20689217 100644
--- a/src/plugins/imageviewer/imageviewer.h
+++ b/src/plugins/imageviewer/imageviewer.h
@@ -60,18 +60,7 @@ public:
Core::Id id() const;
QString displayName() const;
void setDisplayName(const QString &title);
-
- bool duplicateSupported() const;
- IEditor *duplicate(QWidget *parent);
-
- QByteArray saveState() const;
- bool restoreState(const QByteArray &state);
-
- int currentLine() const;
- int currentColumn() const;
-
bool isTemporary() const;
-
QWidget *toolBar();
public slots:
diff --git a/src/plugins/imageviewer/imageviewerfile.cpp b/src/plugins/imageviewer/imageviewerfile.cpp
index 9334fc349a0..0f3850f8961 100644
--- a/src/plugins/imageviewer/imageviewerfile.cpp
+++ b/src/plugins/imageviewer/imageviewerfile.cpp
@@ -31,35 +31,15 @@
#include "imageviewerfile.h"
#include "imageviewer.h"
-#include <coreplugin/icore.h>
-#include <coreplugin/id.h>
-
-#include <utils/reloadpromptutils.h>
-
-#include <QMap>
#include <QFileInfo>
-#include <QDebug>
namespace ImageViewer {
namespace Internal {
-struct ImageViewerFilePrivate
-{
- QString fileName;
- QString mimeType;
- ImageViewer *editor;
-};
-
ImageViewerFile::ImageViewerFile(ImageViewer *parent)
- : Core::IDocument(parent),
- d(new ImageViewerFilePrivate)
-{
- d->editor = parent;
-}
-
-ImageViewerFile::~ImageViewerFile()
+ : Core::IDocument(parent)
{
- delete d;
+ m_editor = parent;
}
Core::IDocument::ReloadBehavior ImageViewerFile::reloadBehavior(ChangeTrigger state, ChangeType type) const
@@ -81,7 +61,7 @@ bool ImageViewerFile::reload(QString *errorString,
emit changed();
return true;
}
- return d->editor->open(errorString, d->fileName, d->fileName);
+ return m_editor->open(errorString, m_fileName, m_fileName);
}
bool ImageViewerFile::save(QString *errorString, const QString &fileName, bool autoSave)
@@ -94,16 +74,16 @@ bool ImageViewerFile::save(QString *errorString, const QString &fileName, bool a
void ImageViewerFile::rename(const QString &newName)
{
- const QString oldFilename = d->fileName;
- d->fileName = newName;
- d->editor->setDisplayName(QFileInfo(d->fileName).fileName());
+ const QString oldFilename = m_fileName;
+ m_fileName = newName;
+ m_editor->setDisplayName(QFileInfo(m_fileName).fileName());
emit fileNameChanged(oldFilename, newName);
emit changed();
}
QString ImageViewerFile::fileName() const
{
- return d->fileName;
+ return m_fileName;
}
QString ImageViewerFile::defaultPath() const
@@ -118,7 +98,7 @@ QString ImageViewerFile::suggestedFileName() const
QString ImageViewerFile::mimeType() const
{
- return d->mimeType;
+ return m_mimeType;
}
bool ImageViewerFile::isModified() const
@@ -133,13 +113,13 @@ bool ImageViewerFile::isSaveAsAllowed() const
void ImageViewerFile::setMimetype(const QString &mimetype)
{
- d->mimeType = mimetype;
+ m_mimeType = mimetype;
emit changed();
}
void ImageViewerFile::setFileName(const QString &filename)
{
- d->fileName = filename;
+ m_fileName = filename;
emit changed();
}
diff --git a/src/plugins/imageviewer/imageviewerfile.h b/src/plugins/imageviewer/imageviewerfile.h
index e762f2a10a4..ab913de68ae 100644
--- a/src/plugins/imageviewer/imageviewerfile.h
+++ b/src/plugins/imageviewer/imageviewerfile.h
@@ -33,8 +33,6 @@
#include <coreplugin/idocument.h>
-#include <QScopedPointer>
-
namespace ImageViewer {
namespace Internal {
@@ -43,9 +41,9 @@ class ImageViewer;
class ImageViewerFile : public Core::IDocument
{
Q_OBJECT
+
public:
explicit ImageViewerFile(ImageViewer *parent = 0);
- ~ImageViewerFile();
bool save(QString *errorString, const QString &fileName, bool autoSave);
void rename(const QString &newName);
@@ -58,14 +56,16 @@ public:
bool isModified() const;
bool isSaveAsAllowed() const;
- virtual ReloadBehavior reloadBehavior(ChangeTrigger state, ChangeType type) const;
+ ReloadBehavior reloadBehavior(ChangeTrigger state, ChangeType type) const;
bool reload(QString *errorString, ReloadFlag flag, ChangeType type);
void setMimetype(const QString &mimetype);
void setFileName(const QString &filename);
private:
- struct ImageViewerFilePrivate *d;
+ QString m_fileName;
+ QString m_mimeType;
+ ImageViewer *m_editor;
};
} // namespace Internal
diff --git a/src/plugins/mercurial/revertdialog.cpp b/src/plugins/mercurial/revertdialog.cpp
index 2137140361d..16b5dc06f93 100644
--- a/src/plugins/mercurial/revertdialog.cpp
+++ b/src/plugins/mercurial/revertdialog.cpp
@@ -43,18 +43,6 @@ RevertDialog::~RevertDialog()
delete m_ui;
}
-void RevertDialog::changeEvent(QEvent *e)
-{
- QDialog::changeEvent(e);
- switch (e->type()) {
- case QEvent::LanguageChange:
- m_ui->retranslateUi(this);
- break;
- default:
- break;
- }
-}
-
QString RevertDialog::revision() const
{
return m_ui->revisionLineEdit->text();
diff --git a/src/plugins/mercurial/revertdialog.h b/src/plugins/mercurial/revertdialog.h
index 77a5d0a1329..ce9520b57dc 100644
--- a/src/plugins/mercurial/revertdialog.h
+++ b/src/plugins/mercurial/revertdialog.h
@@ -47,9 +47,6 @@ public:
QString revision() const;
-protected:
- void changeEvent(QEvent *e);
-
private:
Ui::RevertDialog *m_ui;
};
diff --git a/src/plugins/mercurial/srcdestdialog.cpp b/src/plugins/mercurial/srcdestdialog.cpp
index 3d80f7215b2..7ca90565457 100644
--- a/src/plugins/mercurial/srcdestdialog.cpp
+++ b/src/plugins/mercurial/srcdestdialog.cpp
@@ -59,15 +59,3 @@ QString SrcDestDialog::getRepositoryString() const
return m_ui->localPathChooser->path();
return m_ui->urlLineEdit->text();
}
-
-void SrcDestDialog::changeEvent(QEvent *e)
-{
- QDialog::changeEvent(e);
- switch (e->type()) {
- case QEvent::LanguageChange:
- m_ui->retranslateUi(this);
- break;
- default:
- break;
- }
-}
diff --git a/src/plugins/mercurial/srcdestdialog.h b/src/plugins/mercurial/srcdestdialog.h
index a9e70c14a35..ffe42d04229 100644
--- a/src/plugins/mercurial/srcdestdialog.h
+++ b/src/plugins/mercurial/srcdestdialog.h
@@ -45,12 +45,10 @@ class SrcDestDialog : public QDialog
public:
SrcDestDialog(QWidget *parent = 0);
~SrcDestDialog();
+
void setPathChooserKind(Utils::PathChooser::Kind kind);
QString getRepositoryString() const;
-protected:
- void changeEvent(QEvent *e);
-
private:
Ui::SrcDestDialog *m_ui;
};
diff --git a/src/plugins/projectexplorer/customwizard/customwizardparameters.cpp b/src/plugins/projectexplorer/customwizard/customwizardparameters.cpp
index d44da8dcd86..98badd342cf 100644
--- a/src/plugins/projectexplorer/customwizard/customwizardparameters.cpp
+++ b/src/plugins/projectexplorer/customwizard/customwizardparameters.cpp
@@ -894,7 +894,7 @@ bool replaceFieldHelper(ValueStringTransformation transform,
if (!replacement.isEmpty())
nonEmptyReplacements = true;
// Apply transformation to empty values as well.
- s->replace(pos, nextPos - pos, transform(replacement));
+ s->replace(pos, nextPos - pos + 1, transform(replacement));
nonEmptyReplacements = true;
pos += replacement.size();
}
diff --git a/src/plugins/projectexplorer/doubletabwidget.cpp b/src/plugins/projectexplorer/doubletabwidget.cpp
index 0e467de3e09..08bd1eb0dc0 100644
--- a/src/plugins/projectexplorer/doubletabwidget.cpp
+++ b/src/plugins/projectexplorer/doubletabwidget.cpp
@@ -503,18 +503,6 @@ void DoubleTabWidget::paintEvent(QPaintEvent *event)
}
}
-void DoubleTabWidget::changeEvent(QEvent *e)
-{
- QWidget::changeEvent(e);
- switch (e->type()) {
- case QEvent::LanguageChange:
- ui->retranslateUi(this);
- break;
- default:
- break;
- }
-}
-
bool DoubleTabWidget::event(QEvent *event)
{
if (event->type() == QEvent::ToolTip) {
diff --git a/src/plugins/projectexplorer/doubletabwidget.h b/src/plugins/projectexplorer/doubletabwidget.h
index 7d60b3d10c9..a7ce2d9da67 100644
--- a/src/plugins/projectexplorer/doubletabwidget.h
+++ b/src/plugins/projectexplorer/doubletabwidget.h
@@ -67,7 +67,6 @@ signals:
protected:
void paintEvent(QPaintEvent *event);
void mousePressEvent(QMouseEvent *event);
- void changeEvent(QEvent *e);
bool event(QEvent *event);
QSize minimumSizeHint() const;
diff --git a/src/plugins/projectexplorer/iprojectmanager.h b/src/plugins/projectexplorer/iprojectmanager.h
index a85108a7827..3b7cd301b9c 100644
--- a/src/plugins/projectexplorer/iprojectmanager.h
+++ b/src/plugins/projectexplorer/iprojectmanager.h
@@ -50,6 +50,7 @@ public:
IProjectManager() {}
virtual QString mimeType() const = 0;
+ // fileName is a canonical path!
virtual Project *openProject(const QString &fileName, QString *errorString) = 0;
};
diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp
index 29ed06b897c..ece65886ff3 100644
--- a/src/plugins/projectexplorer/projectexplorer.cpp
+++ b/src/plugins/projectexplorer/projectexplorer.cpp
@@ -1334,6 +1334,16 @@ static inline QList<IProjectManager*> allProjectManagers()
return ExtensionSystem::PluginManager::getObjects<IProjectManager>();
}
+static void appendError(QString *errorString, const QString &error)
+{
+ if (!errorString || error.isEmpty())
+ return;
+
+ if (!errorString->isEmpty())
+ errorString->append(QLatin1Char('\n'));
+ errorString->append(error);
+}
+
QList<Project *> ProjectExplorerPlugin::openProjects(const QStringList &fileNames, QString *errorString)
{
if (debug)
@@ -1343,11 +1353,29 @@ QList<Project *> ProjectExplorerPlugin::openProjects(const QStringList &fileName
QList<Project*> openedPro;
foreach (const QString &fileName, fileNames) {
+ QTC_ASSERT(!fileName.isEmpty(), continue);
+
+ QFileInfo fi = QFileInfo(fileName);
+ QString canonicalFilePath = fi.canonicalFilePath();
+ bool found = false;
+ foreach (ProjectExplorer::Project *pi, session()->projects()) {
+ if (canonicalFilePath == pi->document()->fileName()) {
+ found = true;
+ break;
+ }
+ }
+ if (found) {
+ appendError(errorString, tr("Failed opening project '%1': Project already open")
+ .arg(QDir::toNativeSeparators(fileName)));
+ d->m_session->reportProjectLoadingProgress();
+ continue;
+ }
+
if (const Core::MimeType mt = Core::ICore::mimeDatabase()->findByFile(QFileInfo(fileName))) {
foreach (IProjectManager *manager, projectManagers) {
if (manager->mimeType() == mt.type()) {
QString tmp;
- if (Project *pro = manager->openProject(fileName, &tmp)) {
+ if (Project *pro = manager->openProject(canonicalFilePath, &tmp)) {
if (pro->restoreSettings()) {
connect(pro, SIGNAL(fileListChanged()), this, SIGNAL(fileListChanged()));
d->m_session->addProject(pro);
@@ -1359,16 +1387,13 @@ QList<Project *> ProjectExplorerPlugin::openProjects(const QStringList &fileName
delete pro;
}
}
- if (errorString) {
- if (!errorString->isEmpty() && !tmp.isEmpty())
- errorString->append(QLatin1Char('\n'));
- errorString->append(tmp);
- }
- d->m_session->reportProjectLoadingProgress();
+ if (!tmp.isEmpty())
+ appendError(errorString, tmp);
break;
}
}
}
+ d->m_session->reportProjectLoadingProgress();
}
updateActions();
diff --git a/src/plugins/projectexplorer/projectexplorer.qbs b/src/plugins/projectexplorer/projectexplorer.qbs
index dd76e03c3f5..3b9252f26d4 100644
--- a/src/plugins/projectexplorer/projectexplorer.qbs
+++ b/src/plugins/projectexplorer/projectexplorer.qbs
@@ -354,7 +354,7 @@ QtcPlugin {
files: ["outputparser_test.h", "outputparser_test.cpp"]
}
- ProductModule {
+ Export {
Depends { name: "Qt.network" }
}
}
diff --git a/src/plugins/projectexplorer/projectwelcomepage.cpp b/src/plugins/projectexplorer/projectwelcomepage.cpp
index 7dc9d497773..3faa2c603c1 100644
--- a/src/plugins/projectexplorer/projectwelcomepage.cpp
+++ b/src/plugins/projectexplorer/projectwelcomepage.cpp
@@ -139,6 +139,8 @@ void SessionModel::cloneSession(const QString &session)
void SessionModel::deleteSession(const QString &session)
{
+ if (!m_manager->confirmSessionDelete(session))
+ return;
beginResetModel();
m_manager->deleteSession(session);
endResetModel();
diff --git a/src/plugins/projectexplorer/projectwizardpage.cpp b/src/plugins/projectexplorer/projectwizardpage.cpp
index c6c4b3edacf..d6d4df06311 100644
--- a/src/plugins/projectexplorer/projectwizardpage.cpp
+++ b/src/plugins/projectexplorer/projectwizardpage.cpp
@@ -127,18 +127,6 @@ void ProjectWizardPage::setVersionControlIndex(int idx)
m_ui->addToVersionControlComboBox->setCurrentIndex(idx);
}
-void ProjectWizardPage::changeEvent(QEvent *e)
-{
- QWizardPage::changeEvent(e);
- switch (e->type()) {
- case QEvent::LanguageChange:
- m_ui->retranslateUi(this);
- break;
- default:
- break;
- }
-}
-
// Alphabetically, and files in sub-directories first
static bool generatedFilePathLessThan(const QString &filePath1, const QString &filePath2)
{
diff --git a/src/plugins/projectexplorer/projectwizardpage.h b/src/plugins/projectexplorer/projectwizardpage.h
index f10224753e8..657dc4fa47e 100644
--- a/src/plugins/projectexplorer/projectwizardpage.h
+++ b/src/plugins/projectexplorer/projectwizardpage.h
@@ -69,15 +69,12 @@ public:
void setProjectComoBoxVisible(bool visible);
-protected:
- virtual void changeEvent(QEvent *e);
-
private slots:
void slotProjectChanged(int);
void slotManageVcs();
private:
- inline void setProjectToolTip(const QString &);
+ void setProjectToolTip(const QString &);
Ui::WizardPage *m_ui;
QStringList m_projectToolTips;
diff --git a/src/plugins/projectexplorer/session.cpp b/src/plugins/projectexplorer/session.cpp
index 0116f3578b1..445db5f031a 100644
--- a/src/plugins/projectexplorer/session.cpp
+++ b/src/plugins/projectexplorer/session.cpp
@@ -673,6 +673,18 @@ bool SessionManager::renameSession(const QString &original, const QString &newNa
return deleteSession(original);
}
+
+/*!
+ \brief Shows a dialog asking the user to confirm deleting the session \p session
+*/
+bool SessionManager::confirmSessionDelete(const QString &session)
+{
+ return QMessageBox::question(Core::ICore::mainWindow(),
+ tr("Delete Session"),
+ tr("Delete session %1?").arg(session),
+ QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes;
+}
+
/*!
\brief Deletes session name from session list and file from disk.
*/
diff --git a/src/plugins/projectexplorer/session.h b/src/plugins/projectexplorer/session.h
index 2f0a72bea77..bfbc6cf4935 100644
--- a/src/plugins/projectexplorer/session.h
+++ b/src/plugins/projectexplorer/session.h
@@ -73,6 +73,7 @@ public:
bool createSession(const QString &session);
+ bool confirmSessionDelete(const QString &session);
bool deleteSession(const QString &session);
bool cloneSession(const QString &original, const QString &clone);
diff --git a/src/plugins/projectexplorer/sessiondialog.cpp b/src/plugins/projectexplorer/sessiondialog.cpp
index 8e751e89ce7..75ac0a6af23 100644
--- a/src/plugins/projectexplorer/sessiondialog.cpp
+++ b/src/plugins/projectexplorer/sessiondialog.cpp
@@ -244,7 +244,11 @@ void SessionDialog::clone()
void SessionDialog::remove()
{
- m_sessionManager->deleteSession(m_ui.sessionList->currentItem()->text());
+ const QString name = m_ui.sessionList->currentItem()->text();
+
+ if (!m_sessionManager->confirmSessionDelete(name))
+ return;
+ m_sessionManager->deleteSession(name);
m_ui.sessionList->clear();
addItems(false);
markItems();
diff --git a/src/plugins/projectexplorer/targetsettingswidget.cpp b/src/plugins/projectexplorer/targetsettingswidget.cpp
index 7e28a0126c5..88c53616a02 100644
--- a/src/plugins/projectexplorer/targetsettingswidget.cpp
+++ b/src/plugins/projectexplorer/targetsettingswidget.cpp
@@ -147,15 +147,3 @@ int TargetSettingsWidget::currentSubIndex() const
{
return m_targetSelector->currentSubIndex();
}
-
-void TargetSettingsWidget::changeEvent(QEvent *e)
-{
- QWidget::changeEvent(e);
- switch (e->type()) {
- case QEvent::LanguageChange:
- ui->retranslateUi(this);
- break;
- default:
- break;
- }
-}
diff --git a/src/plugins/projectexplorer/targetsettingswidget.h b/src/plugins/projectexplorer/targetsettingswidget.h
index c48fa5ad49a..1b678c4a20e 100644
--- a/src/plugins/projectexplorer/targetsettingswidget.h
+++ b/src/plugins/projectexplorer/targetsettingswidget.h
@@ -49,6 +49,7 @@ namespace Ui {
class TargetSettingsWidget : public QWidget
{
Q_OBJECT
+
public:
explicit TargetSettingsWidget(QWidget *parent = 0);
~TargetSettingsWidget();
@@ -77,9 +78,6 @@ signals:
void toolTipRequested(const QPoint &globalPosition, int targetIndex);
void menuShown(int targetIndex);
-protected:
- void changeEvent(QEvent *e);
-
private:
Ui::TargetSettingsWidget *ui;
diff --git a/src/plugins/pythoneditor/pythoneditor.cpp b/src/plugins/pythoneditor/pythoneditor.cpp
index c66e1fe393f..629e326e2f8 100644
--- a/src/plugins/pythoneditor/pythoneditor.cpp
+++ b/src/plugins/pythoneditor/pythoneditor.cpp
@@ -74,11 +74,6 @@ Core::Id PythonEditor::id() const
return Core::Id(Constants::C_PYTHONEDITOR_ID);
}
-Core::Id PythonEditor::preferredModeType() const
-{
- return Core::Id();
-}
-
bool PythonEditor::open(QString *errorString,
const QString &fileName,
const QString &realFileName)
diff --git a/src/plugins/pythoneditor/pythoneditor.h b/src/plugins/pythoneditor/pythoneditor.h
index 1ca117458fb..435fb08560d 100644
--- a/src/plugins/pythoneditor/pythoneditor.h
+++ b/src/plugins/pythoneditor/pythoneditor.h
@@ -50,7 +50,6 @@ public:
Core::Id id() const;
bool isTemporary() const { return false; }
- Core::Id preferredModeType() const;
/**
Opens file for editing, actual work performed by base class
diff --git a/src/plugins/pythoneditor/pythoneditorwidget.cpp b/src/plugins/pythoneditor/pythoneditorwidget.cpp
index ddd6fe9da4a..15010ffa52a 100644
--- a/src/plugins/pythoneditor/pythoneditorwidget.cpp
+++ b/src/plugins/pythoneditor/pythoneditorwidget.cpp
@@ -49,9 +49,9 @@ namespace PythonEditor {
EditorWidget::EditorWidget(QWidget *parent)
:TextEditor::BaseTextEditorWidget(parent)
{
- m_commentDefinition.setMultiLineStart(QString());
- m_commentDefinition.setMultiLineEnd(QString());
- m_commentDefinition.setSingleLine(QLatin1String("#"));
+ m_commentDefinition.multiLineStart.clear();
+ m_commentDefinition.multiLineEnd.clear();
+ m_commentDefinition.singleLine = QLatin1Char('#');
setParenthesesMatchingEnabled(true);
setMarksVisible(true);
diff --git a/src/plugins/qbsprojectmanager/qbsbuildstep.cpp b/src/plugins/qbsprojectmanager/qbsbuildstep.cpp
index 0f3da1fdf65..2a1126b3bdf 100644
--- a/src/plugins/qbsprojectmanager/qbsbuildstep.cpp
+++ b/src/plugins/qbsprojectmanager/qbsbuildstep.cpp
@@ -65,6 +65,7 @@ QbsBuildStep::QbsBuildStep(ProjectExplorer::BuildStepList *bsl) :
m_job(0), m_parser(0)
{
setDisplayName(tr("Qbs Build"));
+ setQbsConfiguration(QVariantMap());
}
QbsBuildStep::QbsBuildStep(ProjectExplorer::BuildStepList *bsl, const QbsBuildStep *other) :
@@ -281,6 +282,7 @@ void QbsBuildStep::handleProcessResultReport(const qbs::ProcessResult &result)
m_parser->stdOutput(line);
addOutput(line, NormalOutput);
}
+ m_parser->flush();
}
void QbsBuildStep::createTaskAndOutput(ProjectExplorer::Task::TaskType type, const QString &message,
@@ -379,13 +381,13 @@ void QbsBuildStepConfigWidget::updateState()
const int idx = (buildVariant == QLatin1String(Constants::QBS_VARIANT_DEBUG)) ? 0 : 1;
m_ui->buildVariantComboBox->setCurrentIndex(idx);
- QString command = QLatin1String("qbs ");
+ QString command = QLatin1String("qbs build ");
if (m_step->dryRun())
command += QLatin1String("--dry-run ");
if (m_step->keepGoing())
command += QLatin1String("--keep-going ");
command += QString::fromLatin1("--jobs %1 ").arg(m_step->maxJobs());
- command += QString::fromLatin1("build profile:%1 %2").arg(m_step->profile(), buildVariant);
+ command += QString::fromLatin1("profile:%1 %2").arg(m_step->profile(), buildVariant);
QString summary = tr("<b>Qbs:</b> %1").arg(command);
if (m_summary != summary) {
diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanager.cpp b/src/plugins/qbsprojectmanager/qbsprojectmanager.cpp
index 2d84008a9e2..38e8ea749eb 100644
--- a/src/plugins/qbsprojectmanager/qbsprojectmanager.cpp
+++ b/src/plugins/qbsprojectmanager/qbsprojectmanager.cpp
@@ -93,12 +93,15 @@ QbsManager::QbsManager(Internal::QbsProjectManagerPlugin *plugin) :
int level = qbs::LoggerWarning;
const QString levelEnv = QString::fromLocal8Bit(qgetenv("QBS_LOG_LEVEL"));
if (!levelEnv.isEmpty()) {
- int tmp = levelEnv.toInt();
- if (tmp < static_cast<int>(qbs::LoggerMinLevel))
- tmp = static_cast<int>(qbs::LoggerMinLevel);
- if (tmp > static_cast<int>(qbs::LoggerMaxLevel))
- tmp = static_cast<int>(qbs::LoggerMaxLevel);
- level = tmp;
+ bool ok = false;
+ int tmp = levelEnv.toInt(&ok);
+ if (ok) {
+ if (tmp < static_cast<int>(qbs::LoggerMinLevel))
+ tmp = static_cast<int>(qbs::LoggerMinLevel);
+ if (tmp > static_cast<int>(qbs::LoggerMaxLevel))
+ tmp = static_cast<int>(qbs::LoggerMaxLevel);
+ level = tmp;
+ }
}
m_logSink->setLogLevel(static_cast<qbs::LoggerLevel>(level));
}
@@ -115,9 +118,13 @@ QString QbsManager::mimeType() const
ProjectExplorer::Project *QbsManager::openProject(const QString &fileName, QString *errorString)
{
- Q_UNUSED(errorString);
+ if (!QFileInfo(fileName).isFile()) {
+ if (errorString)
+ *errorString = tr("Failed opening project '%1': Project is not a file")
+ .arg(fileName);
+ return 0;
+ }
- // FIXME: This is way too simplistic!
return new Internal::QbsProject(this, fileName);
}
diff --git a/src/plugins/qmldesigner/components/formeditor/transform.png b/src/plugins/qmldesigner/components/formeditor/transform.png
index e9e7662b3a3..65483921774 100644
--- a/src/plugins/qmldesigner/components/formeditor/transform.png
+++ b/src/plugins/qmldesigner/components/formeditor/transform.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/busyindicator.png b/src/plugins/qmldesigner/componentsplugin/images/busyindicator.png
index 89d0283f260..3cf3c11ddbe 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/busyindicator.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/busyindicator.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/busyindicator16.png b/src/plugins/qmldesigner/componentsplugin/images/busyindicator16.png
index 7e3b2d31587..15e7f442a6b 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/busyindicator16.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/busyindicator16.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/busyindicatora.png b/src/plugins/qmldesigner/componentsplugin/images/busyindicatora.png
index 433f4d426b9..4cd7ad590a4 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/busyindicatora.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/busyindicatora.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/busyindicatora16.png b/src/plugins/qmldesigner/componentsplugin/images/busyindicatora16.png
index 82de5b0a1bc..2e6083c1c81 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/busyindicatora16.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/busyindicatora16.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/button.png b/src/plugins/qmldesigner/componentsplugin/images/button.png
index 828af210acd..96e45e7233a 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/button.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/button.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/button16.png b/src/plugins/qmldesigner/componentsplugin/images/button16.png
index 8d95760b27a..5f550f968e5 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/button16.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/button16.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/buttoncolumn.png b/src/plugins/qmldesigner/componentsplugin/images/buttoncolumn.png
index 17fe6ca5335..b58d81bc0e6 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/buttoncolumn.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/buttoncolumn.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/buttoncolumn16.png b/src/plugins/qmldesigner/componentsplugin/images/buttoncolumn16.png
index 0f9ac406529..9fb324bf8af 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/buttoncolumn16.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/buttoncolumn16.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/buttonrow.png b/src/plugins/qmldesigner/componentsplugin/images/buttonrow.png
index 9cb606e6111..298be98fb43 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/buttonrow.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/buttonrow.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/buttonrow16.png b/src/plugins/qmldesigner/componentsplugin/images/buttonrow16.png
index 82804f3c9cb..0966da85595 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/buttonrow16.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/buttonrow16.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/checkbox.png b/src/plugins/qmldesigner/componentsplugin/images/checkbox.png
index f0b569f88c9..586167f65af 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/checkbox.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/checkbox.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/checkbox16.png b/src/plugins/qmldesigner/componentsplugin/images/checkbox16.png
index 36387db78c5..569ec6e2f6e 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/checkbox16.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/checkbox16.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/combobox.png b/src/plugins/qmldesigner/componentsplugin/images/combobox.png
index 3fd9876ada4..ba363fd3ce5 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/combobox.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/combobox.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/combobox16.png b/src/plugins/qmldesigner/componentsplugin/images/combobox16.png
index 602b28229eb..09d74c8c20d 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/combobox16.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/combobox16.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/progressbar.png b/src/plugins/qmldesigner/componentsplugin/images/progressbar.png
index d5382b40c65..b9c3ebf2448 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/progressbar.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/progressbar.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/progressbar16.png b/src/plugins/qmldesigner/componentsplugin/images/progressbar16.png
index c4295f23442..77ce17a4783 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/progressbar16.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/progressbar16.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/radiobutton.png b/src/plugins/qmldesigner/componentsplugin/images/radiobutton.png
index a4d82fa6e52..2b9aa4793b4 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/radiobutton.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/radiobutton.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/radiobutton16.png b/src/plugins/qmldesigner/componentsplugin/images/radiobutton16.png
index 96670207ac2..923297a3ff4 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/radiobutton16.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/radiobutton16.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/slider.png b/src/plugins/qmldesigner/componentsplugin/images/slider.png
index 746ed519323..d62d0b7af9d 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/slider.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/slider.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/slider16.png b/src/plugins/qmldesigner/componentsplugin/images/slider16.png
index 10c4928b3ce..104f648fe19 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/slider16.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/slider16.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/sliderh.png b/src/plugins/qmldesigner/componentsplugin/images/sliderh.png
index 87cd55678f1..c0bb24596db 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/sliderh.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/sliderh.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/sliderh16.png b/src/plugins/qmldesigner/componentsplugin/images/sliderh16.png
index c4199113364..94df1a03375 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/sliderh16.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/sliderh16.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/tabbutton.png b/src/plugins/qmldesigner/componentsplugin/images/tabbutton.png
index d9f5fdb3f94..28cca263260 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/tabbutton.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/tabbutton.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/tabbutton16.png b/src/plugins/qmldesigner/componentsplugin/images/tabbutton16.png
index 8e279cff657..aee09a0a344 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/tabbutton16.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/tabbutton16.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/textarea.png b/src/plugins/qmldesigner/componentsplugin/images/textarea.png
index 86f2969d001..388a5c5786b 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/textarea.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/textarea.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/textarea16.png b/src/plugins/qmldesigner/componentsplugin/images/textarea16.png
index 899a4bca2ee..736f6468039 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/textarea16.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/textarea16.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/textfield.png b/src/plugins/qmldesigner/componentsplugin/images/textfield.png
index b0f13da50d2..a5c77b3a720 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/textfield.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/textfield.png
Binary files differ
diff --git a/src/plugins/qmldesigner/componentsplugin/images/textfield16.png b/src/plugins/qmldesigner/componentsplugin/images/textfield16.png
index 7feb8c71584..d3a8a52bd11 100644
--- a/src/plugins/qmldesigner/componentsplugin/images/textfield16.png
+++ b/src/plugins/qmldesigner/componentsplugin/images/textfield16.png
Binary files differ
diff --git a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp
index 7fe45f1b27b..50120f9fa4f 100644
--- a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp
+++ b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp
@@ -793,7 +793,7 @@ bool TextToModelMerger::load(const QString &data, DifferenceHandler &differenceH
return false;
}
- if (!warnings.isEmpty() && differenceHandler.isValidator()) {
+ if (!warnings.isEmpty() && differenceHandler.isValidator() && !m_rewriterView->inErrorState()) {
QString title = QCoreApplication::translate("QmlDesigner::TextToModelMerger", "This .qml file contains features "
"which are not supported by Qt Quick Designer");
diff --git a/src/plugins/qmljseditor/qmljseditor.qbs b/src/plugins/qmljseditor/qmljseditor.qbs
index 3e140130da9..8ee25012060 100644
--- a/src/plugins/qmljseditor/qmljseditor.qbs
+++ b/src/plugins/qmljseditor/qmljseditor.qbs
@@ -85,7 +85,7 @@ QtcPlugin {
"images/qmlfile.png",
]
- ProductModule {
+ Export {
Depends { name: "QmlJSTools" }
}
}
diff --git a/src/plugins/qmljstools/qmljstools.qbs b/src/plugins/qmljstools/qmljstools.qbs
index d787c842b1c..3848531bd52 100644
--- a/src/plugins/qmljstools/qmljstools.qbs
+++ b/src/plugins/qmljstools/qmljstools.qbs
@@ -78,7 +78,7 @@ QtcPlugin {
files: ["qmljstools_test.cpp"]
}
- ProductModule {
+ Export {
Depends { name: "CppTools" }
Depends { name: "QmlDebug" }
}
diff --git a/src/plugins/qmlprojectmanager/qmlprojectmanager.cpp b/src/plugins/qmlprojectmanager/qmlprojectmanager.cpp
index 233a0095213..210e6436938 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectmanager.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectmanager.cpp
@@ -49,22 +49,14 @@ QString Manager::mimeType() const
ProjectExplorer::Project *Manager::openProject(const QString &fileName, QString *errorString)
{
- QFileInfo fileInfo(fileName);
- ProjectExplorer::ProjectExplorerPlugin *projectExplorer = ProjectExplorer::ProjectExplorerPlugin::instance();
-
- foreach (ProjectExplorer::Project *pi, projectExplorer->session()->projects()) {
- if (fileName == pi->document()->fileName()) {
- if (errorString)
- *errorString = tr("Failed opening project '%1': Project already open") .arg(QDir::toNativeSeparators(fileName));
- return 0;
- }
+ if (!QFileInfo(fileName).isFile()) {
+ if (errorString)
+ *errorString = tr("Failed opening project '%1': Project is not a file")
+ .arg(fileName);
+ return 0;
}
- if (fileInfo.isFile())
- return new QmlProject(this, fileName);
-
- *errorString = tr("Failed opening project '%1': Project file is not a file").arg(QDir::toNativeSeparators(fileName));
- return 0;
+ return new QmlProject(this, fileName);
}
void Manager::registerProject(QmlProject *project)
diff --git a/src/plugins/qnx/bardescriptoreditor.cpp b/src/plugins/qnx/bardescriptoreditor.cpp
index e6f2b809961..a33dab4a31d 100644
--- a/src/plugins/qnx/bardescriptoreditor.cpp
+++ b/src/plugins/qnx/bardescriptoreditor.cpp
@@ -118,28 +118,6 @@ void BarDescriptorEditor::setDisplayName(const QString &title)
emit changed();
}
-bool BarDescriptorEditor::duplicateSupported() const
-{
- return false;
-}
-
-Core::IEditor *BarDescriptorEditor::duplicate(QWidget *parent)
-{
- Q_UNUSED(parent);
- return 0;
-}
-
-QByteArray BarDescriptorEditor::saveState() const
-{
- return QByteArray(); // Not supported
-}
-
-bool BarDescriptorEditor::restoreState(const QByteArray &state)
-{
- Q_UNUSED(state);
- return false; // Not supported
-}
-
bool BarDescriptorEditor::isTemporary() const
{
return false;
diff --git a/src/plugins/qnx/bardescriptoreditor.h b/src/plugins/qnx/bardescriptoreditor.h
index 9697f69aa7f..b8bd6bfd9f7 100644
--- a/src/plugins/qnx/bardescriptoreditor.h
+++ b/src/plugins/qnx/bardescriptoreditor.h
@@ -69,15 +69,7 @@ public:
Core::Id id() const;
QString displayName() const;
void setDisplayName(const QString &title);
-
- bool duplicateSupported() const;
- Core::IEditor *duplicate(QWidget *parent);
-
- QByteArray saveState() const;
- bool restoreState(const QByteArray &state);
-
bool isTemporary() const;
-
QWidget *toolBar();
EditorPage activePage() const;
diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetpluginwizardpage.cpp b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetpluginwizardpage.cpp
index bf2342bb35b..910a145e742 100644
--- a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetpluginwizardpage.cpp
+++ b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetpluginwizardpage.cpp
@@ -138,17 +138,5 @@ bool CustomWidgetPluginWizardPage::isComplete() const
return m_complete;
}
-void CustomWidgetPluginWizardPage::changeEvent(QEvent *e)
-{
- QWizardPage::changeEvent(e);
- switch (e->type()) {
- case QEvent::LanguageChange:
- m_ui->retranslateUi(this);
- break;
- default:
- break;
- }
-}
-
} // namespace Internal
} // namespace Qt4ProjectManager
diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetpluginwizardpage.h b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetpluginwizardpage.h
index a807be36c11..1605b2a507c 100644
--- a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetpluginwizardpage.h
+++ b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetpluginwizardpage.h
@@ -45,8 +45,10 @@ namespace Ui {
class CustomWidgetPluginWizardPage;
}
-class CustomWidgetPluginWizardPage : public QWizardPage {
+class CustomWidgetPluginWizardPage : public QWizardPage
+{
Q_OBJECT
+
public:
explicit CustomWidgetPluginWizardPage(QWidget *parent = 0);
virtual ~CustomWidgetPluginWizardPage();
@@ -61,9 +63,6 @@ public:
// Fills the plugin fields, excluding widget list.
QSharedPointer<PluginOptions> basicPluginOptions() const;
-protected:
- void changeEvent(QEvent *e);
-
private slots:
void on_collectionClassEdit_textChanged();
void on_collectionHeaderEdit_textChanged();
@@ -82,4 +81,5 @@ private:
} // namespace Internal
} // namespace Qt4ProjectManager
+
#endif // CUSTOMWIDGETPLUGINWIZARDPAGE_H
diff --git a/src/plugins/qt4projectmanager/profileeditor.cpp b/src/plugins/qt4projectmanager/profileeditor.cpp
index c9d3f0a5995..0ed797d372e 100644
--- a/src/plugins/qt4projectmanager/profileeditor.cpp
+++ b/src/plugins/qt4projectmanager/profileeditor.cpp
@@ -85,7 +85,7 @@ ProFileEditorWidget::ProFileEditorWidget(QWidget *parent, ProFileEditorFactory *
baseTextDocument()->setSyntaxHighlighter(new ProFileHighlighter);
m_commentDefinition.clearCommentStyles();
- m_commentDefinition.setSingleLine(QString(QLatin1Char('#')));
+ m_commentDefinition.singleLine = QLatin1Char('#');
}
void ProFileEditorWidget::unCommentSelection()
diff --git a/src/plugins/qt4projectmanager/qt4projectmanager.cpp b/src/plugins/qt4projectmanager/qt4projectmanager.cpp
index be93686f5a2..33926d23636 100644
--- a/src/plugins/qt4projectmanager/qt4projectmanager.cpp
+++ b/src/plugins/qt4projectmanager/qt4projectmanager.cpp
@@ -176,28 +176,14 @@ QString Qt4Manager::mimeType() const
ProjectExplorer::Project *Qt4Manager::openProject(const QString &fileName, QString *errorString)
{
- // TODO Make all file paths relative & remove this hack
- // We convert the path to an absolute one here because qt4project.cpp
- // && profileevaluator use absolute/canonical file paths all over the place
- // Correct fix would be to remove these calls ...
- QString canonicalFilePath = QFileInfo(fileName).canonicalFilePath();
-
- if (canonicalFilePath.isEmpty()) {
+ if (!QFileInfo(fileName).isFile()) {
if (errorString)
- *errorString = tr("Failed opening project '%1': Project file does not exist").arg(QDir::toNativeSeparators(fileName));
+ *errorString = tr("Failed opening project '%1': Project is not a file")
+ .arg(fileName);
return 0;
}
- foreach (ProjectExplorer::Project *pi, projectExplorer()->session()->projects()) {
- if (canonicalFilePath == pi->document()->fileName()) {
- if (errorString)
- *errorString = tr("Failed opening project '%1': Project already open").arg(QDir::toNativeSeparators(canonicalFilePath));
- return 0;
- }
- }
-
- Qt4Project *pro = new Qt4Project(this, canonicalFilePath);
- return pro;
+ return new Qt4Project(this, fileName);
}
ProjectExplorer::ProjectExplorerPlugin *Qt4Manager::projectExplorer() const
diff --git a/src/plugins/qt4projectmanager/wizards/testwizardpage.cpp b/src/plugins/qt4projectmanager/wizards/testwizardpage.cpp
index c9d2de1af8e..f1f211370b5 100644
--- a/src/plugins/qt4projectmanager/wizards/testwizardpage.cpp
+++ b/src/plugins/qt4projectmanager/wizards/testwizardpage.cpp
@@ -133,17 +133,5 @@ void TestWizardPage::slotUpdateValid()
}
}
-void TestWizardPage::changeEvent(QEvent *e)
-{
- QWizardPage::changeEvent(e);
- switch (e->type()) {
- case QEvent::LanguageChange:
- ui->retranslateUi(this);
- break;
- default:
- break;
- }
-}
-
} // namespace Internal
} // namespace Qt4ProjectManager
diff --git a/src/plugins/qt4projectmanager/wizards/testwizardpage.h b/src/plugins/qt4projectmanager/wizards/testwizardpage.h
index 960043e8467..69b0ae77b4c 100644
--- a/src/plugins/qt4projectmanager/wizards/testwizardpage.h
+++ b/src/plugins/qt4projectmanager/wizards/testwizardpage.h
@@ -44,8 +44,10 @@ struct TestWizardParameters;
/* TestWizardPage: Let's the user input test class name, slot
* (for which a CLassNameValidatingLineEdit is abused) and file name. */
-class TestWizardPage : public QWizardPage {
+class TestWizardPage : public QWizardPage
+{
Q_OBJECT
+
public:
explicit TestWizardPage(QWidget *parent = 0);
~TestWizardPage();
@@ -62,18 +64,15 @@ private slots:
void slotFileNameEdited();
void slotUpdateValid();
-protected:
- void changeEvent(QEvent *e);
-
private:
const QString m_sourceSuffix;
const bool m_lowerCaseFileNames;
Ui::TestWizardPage *ui;
bool m_fileNameEdited;
bool m_valid;
-
};
} // namespace Internal
} // namespace Qt4ProjectManager
+
#endif // TESTWIZARDPAGE_H
diff --git a/src/plugins/qtsupport/qtsupport.qbs b/src/plugins/qtsupport/qtsupport.qbs
index df1b1e5fd8a..841c171015b 100644
--- a/src/plugins/qtsupport/qtsupport.qbs
+++ b/src/plugins/qtsupport/qtsupport.qbs
@@ -109,8 +109,7 @@ QtcPlugin {
"QtSupport.mimetypes.xml",
]
-
- ProductModule {
+ Export {
Depends { name: "cpp" }
cpp.includePaths: "../../shared"
cpp.defines: [
diff --git a/src/plugins/remotelinux/remotelinux.qbs b/src/plugins/remotelinux/remotelinux.qbs
index 16cd3eaa8ff..36336e6d65a 100644
--- a/src/plugins/remotelinux/remotelinux.qbs
+++ b/src/plugins/remotelinux/remotelinux.qbs
@@ -113,7 +113,7 @@ QtcPlugin {
"images/embeddedtarget.png",
]
- ProductModule {
+ Export {
Depends { name: "Core" }
Depends { name: "QtcSsh" }
}
diff --git a/src/plugins/resourceeditor/resourceeditorw.h b/src/plugins/resourceeditor/resourceeditorw.h
index 4d7026286fe..22d71f69c88 100644
--- a/src/plugins/resourceeditor/resourceeditorw.h
+++ b/src/plugins/resourceeditor/resourceeditorw.h
@@ -83,15 +83,11 @@ public:
// IEditor
bool createNew(const QString &contents);
bool open(QString *errorString, const QString &fileName, const QString &realFileName);
- bool duplicateSupported() const { return false; }
- Core::IEditor *duplicate(QWidget *) { return 0; }
Core::IDocument *document() { return m_resourceDocument; }
Core::Id id() const;
QString displayName() const { return m_displayName; }
void setDisplayName(const QString &title) { m_displayName = title; emit changed(); }
QWidget *toolBar();
- QByteArray saveState() const { return QByteArray(); }
- bool restoreState(const QByteArray &/*state*/) { return true; }
void setSuggestedFileName(const QString &fileName);
bool isTemporary() const { return false; }
diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp
index 3e3da710ac9..2b3f5eef3ab 100644
--- a/src/plugins/texteditor/basetexteditor.cpp
+++ b/src/plugins/texteditor/basetexteditor.cpp
@@ -104,39 +104,38 @@
\internal
*/
-using namespace TextEditor;
-using namespace TextEditor::Internal;
using namespace Utils;
namespace TextEditor {
namespace Internal {
-class TextEditExtraArea : public QWidget {
- BaseTextEditorWidget *textEdit;
+class TextEditExtraArea : public QWidget
+{
public:
- TextEditExtraArea(BaseTextEditorWidget *edit):QWidget(edit) {
+ TextEditExtraArea(BaseTextEditorWidget *edit)
+ : QWidget(edit)
+ {
textEdit = edit;
setAutoFillBackground(true);
}
-public:
+protected:
QSize sizeHint() const {
return QSize(textEdit->extraAreaWidth(), 0);
}
-protected:
- void paintEvent(QPaintEvent *event){
+ void paintEvent(QPaintEvent *event) {
textEdit->extraAreaPaintEvent(event);
}
- void mousePressEvent(QMouseEvent *event){
+ void mousePressEvent(QMouseEvent *event) {
textEdit->extraAreaMouseEvent(event);
}
- void mouseMoveEvent(QMouseEvent *event){
+ void mouseMoveEvent(QMouseEvent *event) {
textEdit->extraAreaMouseEvent(event);
}
- void mouseReleaseEvent(QMouseEvent *event){
+ void mouseReleaseEvent(QMouseEvent *event) {
textEdit->extraAreaMouseEvent(event);
}
- void leaveEvent(QEvent *event){
+ void leaveEvent(QEvent *event) {
textEdit->extraAreaLeaveEvent(event);
}
void contextMenuEvent(QContextMenuEvent *event) {
@@ -146,13 +145,17 @@ protected:
void wheelEvent(QWheelEvent *event) {
QCoreApplication::sendEvent(textEdit->viewport(), event);
}
+
+private:
+ BaseTextEditorWidget *textEdit;
};
} // namespace Internal
-} // namespace TextEditor
+
+using namespace Internal;
Core::IEditor *BaseTextEditorWidget::openEditorAt(const QString &fileName, int line, int column,
- const Core::Id &editorKind,
+ Core::Id editorKind,
Core::EditorManager::OpenEditorFlags flags,
bool *newEditor)
{
@@ -294,7 +297,7 @@ void BaseTextEditorWidget::setMimeType(const QString &mt)
void BaseTextEditorWidget::print(QPrinter *printer)
{
- const bool oldFullPage = printer->fullPage();
+ const bool oldFullPage = printer->fullPage();
printer->setFullPage(true);
QPrintDialog *dlg = new QPrintDialog(printer, this);
dlg->setWindowTitle(tr("Print Document"));
@@ -307,7 +310,7 @@ void BaseTextEditorWidget::print(QPrinter *printer)
static int foldBoxWidth(const QFontMetrics &fm)
{
const int lineSpacing = fm.lineSpacing();
- return lineSpacing + lineSpacing%2 + 1;
+ return lineSpacing + lineSpacing % 2 + 1;
}
static void printPage(int index, QPainter *painter, const QTextDocument *doc,
@@ -381,7 +384,7 @@ void BaseTextEditorWidgetPrivate::print(QPrinter *printer)
QList<QTextLayout::FormatRange> formatList = srcBlock.layout()->additionalFormats();
if (backgroundIsDark) {
// adjust syntax highlighting colors for better contrast
- for (int i = formatList.count() - 1; i >=0; --i) {
+ for (int i = formatList.count() - 1; i >= 0; --i) {
QTextCharFormat &format = formatList[i].format;
if (format.background().color() == background) {
QBrush brush = format.foreground();
@@ -423,7 +426,7 @@ void BaseTextEditorWidgetPrivate::print(QPrinter *printer)
int docCopies;
int pageCopies;
- if (printer->collateCopies() == true){
+ if (printer->collateCopies() == true) {
docCopies = 1;
pageCopies = printer->numCopies();
} else {
@@ -631,8 +634,6 @@ const Utils::ChangeSet &BaseTextEditorWidget::changeSet() const
void BaseTextEditorWidget::setChangeSet(const Utils::ChangeSet &changeSet)
{
- using namespace Utils;
-
d->m_changeSet = changeSet;
foreach (const ChangeSet::EditOp &op, changeSet.operationList()) {
@@ -1057,7 +1058,6 @@ void BaseTextEditorWidget::uppercaseSelection()
transformSelection(&QString::toUpper);
}
-
void BaseTextEditorWidget::lowercaseSelection()
{
transformSelection(&QString::toLower);
@@ -1173,18 +1173,18 @@ void BaseTextEditorWidget::moveLineUpDown(bool up)
d->m_refactorOverlay->setMarkers(nonAffectedMarkers + affectedMarkers);
bool shouldReindent = true;
- const Utils::CommentDefinition* commentDefinition(editor()->commentDefinition());
+ const CommentDefinition *commentDefinition(editor()->commentDefinition());
if (commentDefinition) {
QString trimmedText(text.trimmed());
if (commentDefinition->hasSingleLineStyle()) {
- if (trimmedText.startsWith(commentDefinition->singleLine()))
+ if (trimmedText.startsWith(commentDefinition->singleLine))
shouldReindent = false;
}
if (shouldReindent && commentDefinition->hasMultiLineStyle()) {
// Don't have any single line comments; try multi line.
- if (trimmedText.startsWith(commentDefinition->multiLineStart())
- && trimmedText.endsWith(commentDefinition->multiLineEnd())) {
+ if (trimmedText.startsWith(commentDefinition->multiLineStart)
+ && trimmedText.endsWith(commentDefinition->multiLineEnd)) {
shouldReindent = false;
}
}
@@ -2825,19 +2825,6 @@ void BaseTextEditorWidgetPrivate::highlightSearchResults(const QTextBlock &block
}
}
-
-namespace TextEditor {
- namespace Internal {
- struct BlockSelectionData {
- int selectionIndex;
- int selectionStart;
- int selectionEnd;
- int firstColumn;
- int lastColumn;
- };
- }
-}
-
void BaseTextEditorWidgetPrivate::clearBlockSelection()
{
if (m_inBlockSelectionMode) {
@@ -6281,9 +6268,9 @@ void BaseTextEditorWidget::appendStandardContextMenuActions(QMenu *menu)
BaseTextEditor::BaseTextEditor(BaseTextEditorWidget *editor)
- : e(editor)
+ : m_editorWidget(editor)
{
- setWidget(e);
+ setWidget(m_editorWidget);
using namespace Find;
Aggregation::Aggregate *aggregate = new Aggregation::Aggregate;
BaseTextFind *baseTextFind = new BaseTextFind(editor);
@@ -6318,7 +6305,7 @@ BaseTextEditor::BaseTextEditor(BaseTextEditorWidget *editor)
BaseTextEditor::~BaseTextEditor()
{
delete m_toolBar;
- delete e;
+ delete m_editorWidget;
}
QWidget *BaseTextEditor::toolBar()
@@ -6343,74 +6330,74 @@ void BaseTextEditor::insertExtraToolBarWidget(BaseTextEditor::Side side,
int BaseTextEditor::currentLine() const
{
- return e->textCursor().blockNumber() + 1;
+ return m_editorWidget->textCursor().blockNumber() + 1;
}
int BaseTextEditor::currentColumn() const
{
- QTextCursor cursor = e->textCursor();
+ QTextCursor cursor = m_editorWidget->textCursor();
return cursor.position() - cursor.block().position() + 1;
}
int BaseTextEditor::columnCount() const
{
- return e->columnCount();
+ return m_editorWidget->columnCount();
}
int BaseTextEditor::rowCount() const
{
- return e->rowCount();
+ return m_editorWidget->rowCount();
}
QRect BaseTextEditor::cursorRect(int pos) const
{
- QTextCursor tc = e->textCursor();
+ QTextCursor tc = m_editorWidget->textCursor();
if (pos >= 0)
tc.setPosition(pos);
- QRect result = e->cursorRect(tc);
- result.moveTo(e->viewport()->mapToGlobal(result.topLeft()));
+ QRect result = m_editorWidget->cursorRect(tc);
+ result.moveTo(m_editorWidget->viewport()->mapToGlobal(result.topLeft()));
return result;
}
QString BaseTextEditor::selectedText() const
{
- if (e->textCursor().hasSelection())
- return e->textCursor().selectedText();
+ if (m_editorWidget->textCursor().hasSelection())
+ return m_editorWidget->textCursor().selectedText();
return QString();
}
void BaseTextEditor::remove(int length)
{
- QTextCursor tc = e->textCursor();
+ QTextCursor tc = m_editorWidget->textCursor();
tc.setPosition(tc.position() + length, QTextCursor::KeepAnchor);
tc.removeSelectedText();
}
void BaseTextEditor::insert(const QString &string)
{
- QTextCursor tc = e->textCursor();
+ QTextCursor tc = m_editorWidget->textCursor();
tc.insertText(string);
}
void BaseTextEditor::replace(int length, const QString &string)
{
- QTextCursor tc = e->textCursor();
+ QTextCursor tc = m_editorWidget->textCursor();
tc.setPosition(tc.position() + length, QTextCursor::KeepAnchor);
tc.insertText(string);
}
void BaseTextEditor::setCursorPosition(int pos)
{
- QTextCursor tc = e->textCursor();
+ QTextCursor tc = m_editorWidget->textCursor();
tc.setPosition(pos);
- e->setTextCursor(tc);
+ m_editorWidget->setTextCursor(tc);
}
void BaseTextEditor::select(int toPos)
{
- QTextCursor tc = e->textCursor();
+ QTextCursor tc = m_editorWidget->textCursor();
tc.setPosition(toPos, QTextCursor::KeepAnchor);
- e->setTextCursor(tc);
+ m_editorWidget->setTextCursor(tc);
}
const CommentDefinition *BaseTextEditor::commentDefinition() const
@@ -6420,16 +6407,16 @@ const CommentDefinition *BaseTextEditor::commentDefinition() const
void BaseTextEditor::updateCursorPosition()
{
- const QTextCursor cursor = e->textCursor();
+ const QTextCursor cursor = m_editorWidget->textCursor();
const QTextBlock block = cursor.block();
const int line = block.blockNumber() + 1;
const int column = cursor.position() - block.position();
- m_cursorPositionLabel->setText(tr("Line: %1, Col: %2").arg(line).arg(e->tabSettings().columnAt(block.text(), column)+1),
+ m_cursorPositionLabel->setText(tr("Line: %1, Col: %2").arg(line).arg(m_editorWidget->tabSettings().columnAt(block.text(), column)+1),
tr("Line: 9999, Col: 999"));
m_contextHelpId.clear();
if (!block.isVisible())
- e->ensureCursorVisible();
+ m_editorWidget->ensureCursorVisible();
}
@@ -6456,8 +6443,8 @@ void BaseTextEditor::setFileEncodingLabelText(const QString &text)
QString BaseTextEditor::contextHelpId() const
{
if (m_contextHelpId.isEmpty())
- emit const_cast<BaseTextEditor*>(this)->contextHelpIdRequested(e->editor(),
- e->textCursor().position());
+ emit const_cast<BaseTextEditor*>(this)->contextHelpIdRequested(m_editorWidget->editor(),
+ m_editorWidget->textCursor().position());
return m_contextHelpId;
}
@@ -6754,3 +6741,10 @@ QString TextEditor::BaseTextEditorWidget::foldReplacementText(const QTextBlock &
{
return QLatin1String("...");
}
+
+bool BaseTextEditor::open(QString *errorString, const QString &fileName, const QString &realFileName)
+{
+ return m_editorWidget->open(errorString, fileName, realFileName);
+}
+
+} // namespace TextEditor
diff --git a/src/plugins/texteditor/basetexteditor.h b/src/plugins/texteditor/basetexteditor.h
index 9fce8894931..c109bc43960 100644
--- a/src/plugins/texteditor/basetexteditor.h
+++ b/src/plugins/texteditor/basetexteditor.h
@@ -126,12 +126,13 @@ class TEXTEDITOR_EXPORT BaseTextEditorWidget : public QPlainTextEdit
Q_OBJECT
Q_PROPERTY(int verticalBlockSelectionFirstColumn READ verticalBlockSelectionFirstColumn)
Q_PROPERTY(int verticalBlockSelectionLastColumn READ verticalBlockSelectionLastColumn)
+
public:
BaseTextEditorWidget(QWidget *parent);
~BaseTextEditorWidget();
static Core::IEditor *openEditorAt(const QString &fileName, int line, int column = 0,
- const Core::Id &editorId = Core::Id(),
+ Core::Id editorId = Core::Id(),
Core::EditorManager::OpenEditorFlags flags = Core::EditorManager::IgnoreNavigationHistory,
bool *newEditor = 0);
@@ -146,13 +147,10 @@ public:
bool restoreState(const QByteArray &state);
QString displayName() const;
- // ITextEditor
-
void gotoLine(int line, int column = 0);
- int position(
- ITextEditor::PositionOperation posOp = ITextEditor::Current
- , int at = -1) const;
+ int position(ITextEditor::PositionOperation posOp = ITextEditor::Current,
+ int at = -1) const;
void convertPosition(int pos, int *line, int *column) const;
BaseTextEditor *editor() const;
@@ -164,7 +162,7 @@ public:
QString mimeType() const;
virtual void setMimeType(const QString &mt);
- void appendMenuActionsFromContext(QMenu *menu, const Core::Id menuContextId);
+ void appendMenuActionsFromContext(QMenu *menu, Core::Id menuContextId);
void appendStandardContextMenuActions(QMenu *menu);
// Works only in conjunction with a syntax highlighter that puts
@@ -217,7 +215,7 @@ public:
int columnCount() const;
int rowCount() const;
- void setActionHack(QObject *);
+ void setActionHack(QObject *hack);
QObject *actionHack() const;
void setTextCodec(QTextCodec *codec);
@@ -617,17 +615,17 @@ public:
~BaseTextEditor();
friend class BaseTextEditorWidget;
- BaseTextEditorWidget *editorWidget() const { return e; }
+ BaseTextEditorWidget *editorWidget() const { return m_editorWidget; }
// IEditor
- Core::IDocument * document() { return e->editorDocument(); }
- bool createNew(const QString &contents) { return e->createNew(contents); }
- bool open(QString *errorString, const QString &fileName, const QString &realFileName) { return e->open(errorString, fileName, realFileName); }
- QString displayName() const { return e->displayName(); }
- void setDisplayName(const QString &title) { e->setDisplayName(title); emit changed(); }
-
- QByteArray saveState() const { return e->saveState(); }
- bool restoreState(const QByteArray &state) { return e->restoreState(state); }
+ Core::IDocument *document() { return m_editorWidget->editorDocument(); }
+ bool createNew(const QString &contents) { return m_editorWidget->createNew(contents); }
+ bool open(QString *errorString, const QString &fileName, const QString &realFileName);
+ QString displayName() const { return m_editorWidget->displayName(); }
+ void setDisplayName(const QString &title) { m_editorWidget->setDisplayName(title); emit changed(); }
+
+ QByteArray saveState() const { return m_editorWidget->saveState(); }
+ bool restoreState(const QByteArray &state) { return m_editorWidget->restoreState(state); }
QWidget *toolBar();
enum Side { Left, Right };
@@ -636,25 +634,24 @@ public:
// ITextEditor
int currentLine() const;
int currentColumn() const;
- void gotoLine(int line, int column = 0) { e->gotoLine(line, column); }
+ void gotoLine(int line, int column = 0) { m_editorWidget->gotoLine(line, column); }
int columnCount() const;
int rowCount() const;
int position(PositionOperation posOp = Current, int at = -1) const
- { return e->position(posOp, at); }
+ { return m_editorWidget->position(posOp, at); }
void convertPosition(int pos, int *line, int *column) const
- { e->convertPosition(pos, line, column); }
+ { m_editorWidget->convertPosition(pos, line, column); }
QRect cursorRect(int pos = -1) const;
QString selectedText() const;
- inline ITextMarkable *markableInterface() { return e->markableInterface(); }
+ ITextMarkable *markableInterface() { return m_editorWidget->markableInterface(); }
QString contextHelpId() const; // from IContext
- inline void setTextCodec(QTextCodec *codec, TextCodecReason = TextCodecOtherReason) { e->setTextCodec(codec); }
- inline QTextCodec *textCodec() const { return e->textCodec(); }
-
+ void setTextCodec(QTextCodec *codec, TextCodecReason = TextCodecOtherReason) { m_editorWidget->setTextCodec(codec); }
+ QTextCodec *textCodec() const { return m_editorWidget->textCodec(); }
// ITextEditor
void remove(int length);
@@ -662,7 +659,7 @@ public:
void replace(int length, const QString &string);
void setCursorPosition(int pos);
void select(int toPos);
- const Utils::CommentDefinition* commentDefinition() const;
+ const Utils::CommentDefinition *commentDefinition() const;
private slots:
void updateCursorPosition();
@@ -671,7 +668,9 @@ private slots:
void setFileEncodingLabelText(const QString &text);
private:
- BaseTextEditorWidget *e;
+ // Note: This is always a copy of IContext::m_widget.
+ BaseTextEditorWidget *m_editorWidget;
+
QToolBar *m_toolBar;
QWidget *m_stretchWidget;
QAction *m_cursorPositionLabelAction;
diff --git a/src/plugins/texteditor/generichighlighter/managedefinitionsdialog.cpp b/src/plugins/texteditor/generichighlighter/managedefinitionsdialog.cpp
index 2267f4e5484..6c1f3454ddf 100644
--- a/src/plugins/texteditor/generichighlighter/managedefinitionsdialog.cpp
+++ b/src/plugins/texteditor/generichighlighter/managedefinitionsdialog.cpp
@@ -136,15 +136,3 @@ void ManageDefinitionsDialog::invertSelection()
ui.definitionsTable->selectionModel()->select(itemSelection, QItemSelectionModel::Toggle);
ui.definitionsTable->setFocus();
}
-
-void ManageDefinitionsDialog::changeEvent(QEvent *e)
-{
- QDialog::changeEvent(e);
- switch (e->type()) {
- case QEvent::LanguageChange:
- ui.retranslateUi(this);
- break;
- default:
- break;
- }
-}
diff --git a/src/plugins/texteditor/generichighlighter/managedefinitionsdialog.h b/src/plugins/texteditor/generichighlighter/managedefinitionsdialog.h
index af24f12b81e..054c4eb7c77 100644
--- a/src/plugins/texteditor/generichighlighter/managedefinitionsdialog.h
+++ b/src/plugins/texteditor/generichighlighter/managedefinitionsdialog.h
@@ -41,14 +41,12 @@ namespace Internal {
class ManageDefinitionsDialog : public QDialog
{
Q_OBJECT
+
public:
explicit ManageDefinitionsDialog(const QList<HighlightDefinitionMetaData> &metaDataList,
const QString &path,
QWidget *parent = 0);
-protected:
- void changeEvent(QEvent *e);
-
private slots:
void downloadDefinitions();
void selectAll();
diff --git a/src/plugins/texteditor/plaintexteditor.cpp b/src/plugins/texteditor/plaintexteditor.cpp
index c0a8982208c..322113738f4 100644
--- a/src/plugins/texteditor/plaintexteditor.cpp
+++ b/src/plugins/texteditor/plaintexteditor.cpp
@@ -167,10 +167,10 @@ void PlainTextEditorWidget::configure(const Core::MimeType &mimeType)
if (!definition.isNull() && definition->isValid()) {
highlighter->setDefaultContext(definition->initialContext());
- m_commentDefinition.setAfterWhiteSpaces(definition->isCommentAfterWhiteSpaces());
- m_commentDefinition.setSingleLine(definition->singleLineComment());
- m_commentDefinition.setMultiLineStart(definition->multiLineCommentStart());
- m_commentDefinition.setMultiLineEnd(definition->multiLineCommentEnd());
+ m_commentDefinition.isAfterWhiteSpaces = definition->isCommentAfterWhiteSpaces();
+ m_commentDefinition.singleLine = definition->singleLineComment();
+ m_commentDefinition.multiLineStart = definition->multiLineCommentStart();
+ m_commentDefinition.multiLineEnd = definition->multiLineCommentEnd();
setCodeFoldingSupported(true);
}
diff --git a/src/plugins/texteditor/tabsettingswidget.cpp b/src/plugins/texteditor/tabsettingswidget.cpp
index 428f76250c4..2ce5756437e 100644
--- a/src/plugins/texteditor/tabsettingswidget.cpp
+++ b/src/plugins/texteditor/tabsettingswidget.cpp
@@ -121,16 +121,4 @@ void TabSettingsWidget::setCodingStyleWarningVisible(bool visible)
ui->codingStyleWarning->setVisible(visible);
}
-void TabSettingsWidget::changeEvent(QEvent *e)
-{
- QWidget::changeEvent(e);
- switch (e->type()) {
- case QEvent::LanguageChange:
- ui->retranslateUi(this);
- break;
- default:
- break;
- }
-}
-
} // namespace TextEditor
diff --git a/src/plugins/texteditor/tabsettingswidget.h b/src/plugins/texteditor/tabsettingswidget.h
index d4074ba589b..802a7933ca9 100644
--- a/src/plugins/texteditor/tabsettingswidget.h
+++ b/src/plugins/texteditor/tabsettingswidget.h
@@ -66,9 +66,6 @@ signals:
void settingsChanged(const TextEditor::TabSettings &);
void codingStyleLinkClicked(TextEditor::TabSettingsWidget::CodingStyleLink link);
-protected:
- void changeEvent(QEvent *e);
-
private slots:
void slotSettingsChanged();
void codingStyleLinkActivated(const QString &linkString);
diff --git a/src/plugins/texteditor/texteditor.qbs b/src/plugins/texteditor/texteditor.qbs
index 099937ad0e2..28451cae8df 100644
--- a/src/plugins/texteditor/texteditor.qbs
+++ b/src/plugins/texteditor/texteditor.qbs
@@ -268,7 +268,7 @@ QtcPlugin {
]
}
- ProductModule {
+ Export {
Depends { name: "Find" }
Depends { name: "Locator" }
}
diff --git a/src/plugins/vcsbase/basecheckoutwizardpage.cpp b/src/plugins/vcsbase/basecheckoutwizardpage.cpp
index efceff420ff..9091829b269 100644
--- a/src/plugins/vcsbase/basecheckoutwizardpage.cpp
+++ b/src/plugins/vcsbase/basecheckoutwizardpage.cpp
@@ -230,18 +230,6 @@ void BaseCheckoutWizardPage::slotDirectoryEdited()
slotChanged();
}
-void BaseCheckoutWizardPage::changeEvent(QEvent *e)
-{
- QWizardPage::changeEvent(e);
- switch (e->type()) {
- case QEvent::LanguageChange:
- d->ui.retranslateUi(this);
- break;
- default:
- break;
- }
-}
-
bool BaseCheckoutWizardPage::isComplete() const
{
return d->m_valid;
diff --git a/src/plugins/vcsbase/basecheckoutwizardpage.h b/src/plugins/vcsbase/basecheckoutwizardpage.h
index 70cb25bd545..d68293d4ac9 100644
--- a/src/plugins/vcsbase/basecheckoutwizardpage.h
+++ b/src/plugins/vcsbase/basecheckoutwizardpage.h
@@ -75,8 +75,6 @@ public:
bool isBranchSelectorVisible() const;
protected:
- void changeEvent(QEvent *e);
-
void setRepositoryLabel(const QString &l);
void setDirectoryVisible(bool v);
void setBranchSelectorVisible(bool v);
diff --git a/src/plugins/vcsbase/checkoutprogresswizardpage.cpp b/src/plugins/vcsbase/checkoutprogresswizardpage.cpp
index da8e500bb86..9266a309e4a 100644
--- a/src/plugins/vcsbase/checkoutprogresswizardpage.cpp
+++ b/src/plugins/vcsbase/checkoutprogresswizardpage.cpp
@@ -124,17 +124,5 @@ bool CheckoutProgressWizardPage::isComplete() const
return m_state == Succeeded;
}
-void CheckoutProgressWizardPage::changeEvent(QEvent *e)
-{
- QWizardPage::changeEvent(e);
- switch (e->type()) {
- case QEvent::LanguageChange:
- ui->retranslateUi(this);
- break;
- default:
- break;
- }
-}
-
} // namespace Internal
} // namespace VcsBase
diff --git a/src/plugins/vcsbase/checkoutprogresswizardpage.h b/src/plugins/vcsbase/checkoutprogresswizardpage.h
index fde7a6e784a..87136507ed6 100644
--- a/src/plugins/vcsbase/checkoutprogresswizardpage.h
+++ b/src/plugins/vcsbase/checkoutprogresswizardpage.h
@@ -64,9 +64,6 @@ private slots:
void slotFailed(const QString &);
void slotSucceeded();
-protected:
- void changeEvent(QEvent *e);
-
private:
Ui::CheckoutProgressWizardPage *ui;
QSharedPointer<AbstractCheckoutJob> m_job;
diff --git a/src/plugins/vcsbase/cleandialog.cpp b/src/plugins/vcsbase/cleandialog.cpp
index fd921e2e2f2..ed8a46bd78f 100644
--- a/src/plugins/vcsbase/cleandialog.cpp
+++ b/src/plugins/vcsbase/cleandialog.cpp
@@ -308,18 +308,6 @@ void CleanDialog::updateSelectAllCheckBox()
}
}
-void CleanDialog::changeEvent(QEvent *e)
-{
- QDialog::changeEvent(e);
- switch (e->type()) {
- case QEvent::LanguageChange:
- d->ui.retranslateUi(this);
- break;
- default:
- break;
- }
-}
-
} // namespace VcsBase
#include "cleandialog.moc"
diff --git a/src/plugins/vcsbase/cleandialog.h b/src/plugins/vcsbase/cleandialog.h
index 374131d0875..4078030c8f6 100644
--- a/src/plugins/vcsbase/cleandialog.h
+++ b/src/plugins/vcsbase/cleandialog.h
@@ -55,9 +55,6 @@ public:
public slots:
void accept();
-protected:
- void changeEvent(QEvent *e);
-
private slots:
void slotDoubleClicked(const QModelIndex &);
void selectAllItems(bool checked);
diff --git a/src/plugins/vcsbase/submiteditorwidget.cpp b/src/plugins/vcsbase/submiteditorwidget.cpp
index 2ceb8770bc6..928a8110f24 100644
--- a/src/plugins/vcsbase/submiteditorwidget.cpp
+++ b/src/plugins/vcsbase/submiteditorwidget.cpp
@@ -517,18 +517,6 @@ QString SubmitEditorWidget::cleanupDescription(const QString &input) const
return input;
}
-void SubmitEditorWidget::changeEvent(QEvent *e)
-{
- QWidget::changeEvent(e);
- switch (e->type()) {
- case QEvent::LanguageChange:
- d->m_ui.retranslateUi(this);
- break;
- default:
- break;
- }
-}
-
void SubmitEditorWidget::insertTopWidget(QWidget *w)
{
d->m_ui.vboxLayout->insertWidget(0, w);
diff --git a/src/plugins/vcsbase/submiteditorwidget.h b/src/plugins/vcsbase/submiteditorwidget.h
index 1da9e9cd573..7860eb42c04 100644
--- a/src/plugins/vcsbase/submiteditorwidget.h
+++ b/src/plugins/vcsbase/submiteditorwidget.h
@@ -119,7 +119,6 @@ private slots:
protected:
virtual QString cleanupDescription(const QString &) const;
- virtual void changeEvent(QEvent *e);
virtual QString commitName() const;
void insertTopWidget(QWidget *w);
void hideDescription();
diff --git a/src/plugins/vcsbase/vcsbaseeditor.cpp b/src/plugins/vcsbase/vcsbaseeditor.cpp
index 105daaceaf4..ecf43b20056 100644
--- a/src/plugins/vcsbase/vcsbaseeditor.cpp
+++ b/src/plugins/vcsbase/vcsbaseeditor.cpp
@@ -145,8 +145,6 @@ class VcsBaseEditor : public TextEditor::BaseTextEditor
public:
VcsBaseEditor(VcsBaseEditorWidget *, const VcsBaseEditorParameters *type);
- bool duplicateSupported() const { return false; }
- Core::IEditor *duplicate(QWidget * /*parent*/) { return 0; }
Core::Id id() const { return m_id; }
bool isTemporary() const { return m_temporary; }
diff --git a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp
index 3383b72f357..d71c8866f9a 100644
--- a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp
+++ b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp
@@ -400,16 +400,6 @@ void VcsBaseSubmitEditor::setCheckScriptWorkingDirectory(const QString &s)
d->m_checkScriptWorkingDirectory = s;
}
-bool VcsBaseSubmitEditor::duplicateSupported() const
-{
- return false;
-}
-
-Core::IEditor *VcsBaseSubmitEditor::duplicate(QWidget * /*parent*/)
-{
- return 0;
-}
-
Core::Id VcsBaseSubmitEditor::id() const
{
return d->m_parameters->id;
@@ -447,16 +437,6 @@ QWidget *VcsBaseSubmitEditor::toolBar()
return d->m_toolWidget;
}
-QByteArray VcsBaseSubmitEditor::saveState() const
-{
- return QByteArray();
-}
-
-bool VcsBaseSubmitEditor::restoreState(const QByteArray &/*state*/)
-{
- return true;
-}
-
QStringList VcsBaseSubmitEditor::checkedFiles() const
{
return d->m_widget->checkedFiles();
diff --git a/src/plugins/vcsbase/vcsbasesubmiteditor.h b/src/plugins/vcsbase/vcsbasesubmiteditor.h
index a12e9e7c625..adf27dd39bc 100644
--- a/src/plugins/vcsbase/vcsbasesubmiteditor.h
+++ b/src/plugins/vcsbase/vcsbasesubmiteditor.h
@@ -116,16 +116,11 @@ public:
Core::IDocument *document();
QString displayName() const;
void setDisplayName(const QString &title);
- bool duplicateSupported() const;
- Core::IEditor *duplicate(QWidget *parent);
Core::Id id() const;
bool isTemporary() const { return true; }
QWidget *toolBar();
- QByteArray saveState() const;
- bool restoreState(const QByteArray &state);
-
QStringList checkedFiles() const;
void setFileModel(SubmitFileModel *m, const QString &repositoryDirectory = QString());