diff --git a/dist/changes-3.2.0 b/dist/changes-3.2.0 index cbb44c4cb16..5840173233e 100644 --- a/dist/changes-3.2.0 +++ b/dist/changes-3.2.0 @@ -10,9 +10,11 @@ git log --cherry-pick --pretty=oneline origin/3.1..origin/master General * Added "Get Help Online" context menu item to issues pane that searches for the issue description online in Google - * Enabled resizing of the locator field * Added action to file system locator filter ('f') for creating and opening a new file + * Added search capability to general messages and most navigation panes + * Enabled resizing of the locator field * Improved look and feel on HiDPI by adding more hi-resolution icons + * Made keyboard and mouse activation of navigation panes and other trees more consistent Editing @@ -21,14 +23,21 @@ Managing and Building Projects QMake Projects * Added context menu item for copying resource path from entries in QRC files in project tree (QTCREATORBUG-11776) + * Added deployment support to plain C and C++ application wizards * Removed warning about build directory below source directory for kits with Qt 5.2 and later where this is supported (QTCREATORBUG-10024) + * Fixed that adding files to .pri file was missing $$PWD Qbs Projects + * Fixed that run configurations were created for products that are not runnable + (QTCREATORBUG-12152) + * Fixed that run configurations were created for disabled products (QBS-560) + * Fixed that default build directory was ignored Generic Projects Debugging + * Added option to disable automatic centering on currently debugged line in editor * GDB and LLDB * Added pretty printers for AVX512 registers @@ -39,6 +48,7 @@ C++ Support (QTCREATORBUG-11859, QTCREATORBUG-11860) * Fixed indentation of concatenated strings * Fixed pointer typedef resolving (QTCREATORBUG-10021) + * Fixed scroll wheel behavior in editor's symbols dropdown QML Support @@ -49,7 +59,10 @@ Diff Viewer Version Control Systems FakeVim + * Added support for unicode input with 'C-v' in insert mode * Fixed issues with long command output (QTCREATORBUG-11598) + * Fixed 'gv' after yanking text in visual mode (QTCREATORBUG-12112) + * Fixed 'v', 'V' and 'C-v' while in visual mode (QTCREATORBUG-12113) Platform Specific @@ -60,5 +73,11 @@ Windows OS X * Fixed activation of items with Enter in Bookmarks pane +Android + * Fixed that UI was unresponsive while creating AVD (QTCREATORBUG-10601) +Remote Linux + * Added custom remote executable run configuration type (QTCREATORBUG-12168) + * Fixed issue with environment variables that contain spaces + Credits for these changes go to: diff --git a/doc/src/howto/qtcreator-faq.qdoc b/doc/src/howto/qtcreator-faq.qdoc index 909e3c07b29..e4cfd794d53 100644 --- a/doc/src/howto/qtcreator-faq.qdoc +++ b/doc/src/howto/qtcreator-faq.qdoc @@ -32,7 +32,7 @@ \section1 General Questions - \b {\QC only shows a blank window, or crashes on startup. What's going wrong?} + \b {\QC only shows a blank window, a dialog complaining about missing OpenGL support, or crashes on startup. What's going wrong?} Some parts of \QC use Qt Quick 2, which relies on OpenGL API for drawing. The most prominent use of Qt Quick 2 is in the Welcome mode, but it's @@ -55,7 +55,9 @@ \e{Virtual Machines} - Try to enable \e{3D acceleration} in your virtual machine's settings. + Try to enable \e{3D acceleration} in your virtual machine's settings. For VirtualBox, + also make sure you have installed the Guest Addons, including experimental + \e{Direct3D support}. \e{Windows} @@ -67,7 +69,8 @@ \li ANGLE backend: This requires a Windows version newer than Windows XP. If you have problems, try updating your graphics drivers or update your - DirectX version. + DirectX version. Run \c dxdiag.exe to check whether \e{Direct3D Acceleration} + is indeed enabled. \li OpenGL backend: Make sure your graphics driver supports OpenGL 2.1 or newer. Try to update your graphics driver. diff --git a/qbs/imports/QtcProcessOutputReader/procoutputreader.js b/qbs/imports/QtcProcessOutputReader/procoutputreader.js new file mode 100644 index 00000000000..695a61ec88c --- /dev/null +++ b/qbs/imports/QtcProcessOutputReader/procoutputreader.js @@ -0,0 +1,11 @@ +var Process = loadExtension("qbs.Process") + +function readOutput(executable, args) +{ + var p = new Process(); + var output = ""; + if (p.exec(executable, args, false) !== -1) + output = p.readStdOut().trim(); // Trailing newline. + p.close(); + return output; +} diff --git a/qtcreator.pri b/qtcreator.pri index 3e4a9490b38..f40eb12f2a1 100644 --- a/qtcreator.pri +++ b/qtcreator.pri @@ -170,8 +170,8 @@ INCLUDEPATH += \ $$IDE_SOURCE_TREE/src/libs \ $$IDE_SOURCE_TREE/tools -QTC_PLUGIN_DIRS = $$(QTC_PLUGIN_DIRS) -QTC_PLUGIN_DIRS = $$split(QTC_PLUGIN_DIRS, $$QMAKE_DIRLIST_SEP) +QTC_PLUGIN_DIRS_FROM_ENVIRONMENT = $$(QTC_PLUGIN_DIRS) +QTC_PLUGIN_DIRS += $$split(QTC_PLUGIN_DIRS_FROM_ENVIRONMENT, $$QMAKE_DIRLIST_SEP) QTC_PLUGIN_DIRS += $$IDE_SOURCE_TREE/src/plugins for(dir, QTC_PLUGIN_DIRS) { INCLUDEPATH += $$dir diff --git a/share/qtcreator/debugger/gdbbridge.py b/share/qtcreator/debugger/gdbbridge.py index 00c6095d97d..5f1781e84d0 100644 --- a/share/qtcreator/debugger/gdbbridge.py +++ b/share/qtcreator/debugger/gdbbridge.py @@ -1793,10 +1793,8 @@ registerCommand("pp", pp) # Global instance. if gdb.parameter('height') is None: - print("Using MI") theDumper = Dumper() else: - print("Using CLI") import codecs theDumper = CliDumper() diff --git a/share/qtcreator/debugger/lldbbridge.py b/share/qtcreator/debugger/lldbbridge.py index 9713a44d060..2c4a7dd2212 100644 --- a/share/qtcreator/debugger/lldbbridge.py +++ b/share/qtcreator/debugger/lldbbridge.py @@ -683,7 +683,7 @@ class Dumper(DumperBase): # and later detects that it did stop after all, so it is be # better to mirror that and wait for the spontaneous stop. self.reportState("enginerunandinferiorrunok") - elif self.startMode_ == AttachToRemoteServer: + elif self.startMode_ == AttachToRemoteServer or self.startMode_ == AttachToRemoteProcess: self.process = self.target.ConnectRemote( self.debugger.GetListener(), self.remoteChannel_, None, error) diff --git a/share/qtcreator/generic-highlighter/doxygen.xml b/share/qtcreator/generic-highlighter/doxygen.xml index bb855560130..2fef62c12c9 100644 --- a/share/qtcreator/generic-highlighter/doxygen.xml +++ b/share/qtcreator/generic-highlighter/doxygen.xml @@ -467,27 +467,27 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp index 7b62ce13263..9e100d02650 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp @@ -503,7 +503,7 @@ void QuickItemNodeInstance::resetVertical() if (m_height > 0.0) { setPropertyVariant("height", m_height); } else { - setPropertyVariant("height", quickItem()->implicitWidth()); + setPropertyVariant("height", quickItem()->implicitHeight()); } } diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.cpp index 09f90713668..0ca87b3166e 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.cpp @@ -184,7 +184,7 @@ void QmlGraphicsItemNodeInstance::resetVertical() if (m_height > 0.0) { setPropertyVariant("height", m_height); } else { - setPropertyVariant("height", qmlGraphicsItem()->implicitWidth()); + setPropertyVariant("height", qmlGraphicsItem()->implicitHeight()); } } diff --git a/share/qtcreator/qmldesigner/itemLibraryQmlSources/ItemDelegate.qml b/share/qtcreator/qmldesigner/itemLibraryQmlSources/ItemDelegate.qml index 0a1c79da3b0..d3afcf07c6b 100644 --- a/share/qtcreator/qmldesigner/itemLibraryQmlSources/ItemDelegate.qml +++ b/share/qtcreator/qmldesigner/itemLibraryQmlSources/ItemDelegate.qml @@ -78,7 +78,7 @@ Rectangle { property int pressedY onPressed: { - rootView.startDragAndDropDelayed(itemLibraryEntry) + rootView.startDragAndDrop(itemLibraryEntry) } } } diff --git a/src/app/main.cpp b/src/app/main.cpp index 4eb564ffa01..583e97ce449 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -36,6 +36,7 @@ #include #include #include +#include #include #include @@ -286,6 +287,7 @@ static inline QSettings *userSettings() int main(int argc, char **argv) { + QLoggingCategory::setFilterRules(QLatin1String("qtc.*.debug=false")); #ifdef Q_OS_MAC // increase the number of file that can be opened in Qt Creator. struct rlimit rl; diff --git a/src/libs/qmljs/qmljsbind.cpp b/src/libs/qmljs/qmljsbind.cpp index af8b8a74af9..cc7bb31bd3c 100644 --- a/src/libs/qmljs/qmljsbind.cpp +++ b/src/libs/qmljs/qmljsbind.cpp @@ -33,8 +33,6 @@ #include "qmljsdocument.h" #include "qmljsmodelmanagerinterface.h" -#include - using namespace LanguageUtils; using namespace QmlJS; using namespace QmlJS::AST; diff --git a/src/libs/qmljs/qmljscheck.cpp b/src/libs/qmljs/qmljscheck.cpp index 89aa87c829b..18eef295ece 100644 --- a/src/libs/qmljs/qmljscheck.cpp +++ b/src/libs/qmljs/qmljscheck.cpp @@ -35,7 +35,6 @@ #include -#include #include using namespace QmlJS; diff --git a/src/libs/qmljs/qmljscodeformatter.cpp b/src/libs/qmljs/qmljscodeformatter.cpp index e10dfc1185d..caeb40da6f8 100644 --- a/src/libs/qmljs/qmljscodeformatter.cpp +++ b/src/libs/qmljs/qmljscodeformatter.cpp @@ -29,12 +29,15 @@ #include "qmljscodeformatter.h" -#include +#include + #include #include #include -using namespace QmlJS; +namespace QmlJS { + +Q_LOGGING_CATEGORY(formatterLog, "qtc.qmljs.formatter") CodeFormatter::BlockData::BlockData() : m_indentDepth(0) @@ -65,13 +68,13 @@ void CodeFormatter::recalculateStateAfter(const QTextBlock &block) m_tokenIndex = 0; m_newStates.clear(); - //qDebug() << "Starting to look at " << block.text() << block.blockNumber() + 1; + //qCDebug(formatterLog) << "Starting to look at " << block.text() << block.blockNumber() + 1; for (; m_tokenIndex < m_tokens.size(); ) { m_currentToken = tokenAt(m_tokenIndex); const int kind = extendedTokenKind(m_currentToken); - //qDebug() << "Token" << m_currentLine.mid(m_currentToken.begin(), m_currentToken.length) << m_tokenIndex << "in line" << block.blockNumber() + 1; + //qCDebug(formatterLog) << "Token" << m_currentLine.mid(m_currentToken.begin(), m_currentToken.length) << m_tokenIndex << "in line" << block.blockNumber() + 1; //dump(); if (kind == Comment @@ -520,7 +523,7 @@ void CodeFormatter::recalculateStateAfter(const QTextBlock &block) int CodeFormatter::indentFor(const QTextBlock &block) { -// qDebug() << "indenting for" << block.blockNumber() + 1; +// qCDebug(formatterLog) << "indenting for" << block.blockNumber() + 1; restoreCurrentState(block.previous()); correctIndentation(block); @@ -641,7 +644,7 @@ void CodeFormatter::enter(int newState) m_currentState.push(s); m_newStates.push(s); - //qDebug() << "enter state" << stateToString(newState); + //qCDebug(formatterLog) << "enter state" << stateToString(newState); if (newState == bracket_open) enter(bracket_element_start); @@ -662,7 +665,7 @@ void CodeFormatter::leave(bool statementDone) int topState = m_currentState.top().type; - //qDebug() << "left state" << stateToString(poppedState.type) << ", now in state" << stateToString(topState); + //qCDebug(formatterLog) << "left state" << stateToString(poppedState.type) << ", now in state" << stateToString(topState); // if statement is done, may need to leave recursively if (statementDone) { @@ -1003,12 +1006,12 @@ CodeFormatter::TokenKind CodeFormatter::extendedTokenKind(const QmlJS::Token &to void CodeFormatter::dump() const { - qDebug() << "Current token index" << m_tokenIndex; - qDebug() << "Current state:"; + qCDebug(formatterLog) << "Current token index" << m_tokenIndex; + qCDebug(formatterLog) << "Current state:"; foreach (const State &s, m_currentState) { - qDebug() << stateToString(s.type) << s.savedIndentDepth; + qCDebug(formatterLog) << stateToString(s.type) << s.savedIndentDepth; } - qDebug() << "Current indent depth:" << m_indentDepth; + qCDebug(formatterLog) << "Current indent depth:" << m_indentDepth; } QString CodeFormatter::stateToString(int type) const @@ -1339,3 +1342,5 @@ void QtStyleCodeFormatter::adjustIndent(const QList &tokens, int startLex break; } } + +} // namespace QmlJS diff --git a/src/libs/qmljs/qmljscompletioncontextfinder.cpp b/src/libs/qmljs/qmljscompletioncontextfinder.cpp index 36275b5af6d..5d91610474d 100644 --- a/src/libs/qmljs/qmljscompletioncontextfinder.cpp +++ b/src/libs/qmljs/qmljscompletioncontextfinder.cpp @@ -29,7 +29,6 @@ #include "qmljscompletioncontextfinder.h" -#include #include #include @@ -130,7 +129,7 @@ void CompletionContextFinder::checkBinding() { YY_SAVE(); - //qDebug() << "Start line:" << *yyLine << m_startTokenIndex; + //qCDebug(qmljsLog) << "Start line:" << *yyLine << m_startTokenIndex; int i = m_startTokenIndex; int colonCount = 0; diff --git a/src/libs/qmljs/qmljsconstants.h b/src/libs/qmljs/qmljsconstants.h index 377f282ea4b..cd9a43bc35b 100644 --- a/src/libs/qmljs/qmljsconstants.h +++ b/src/libs/qmljs/qmljsconstants.h @@ -29,6 +29,9 @@ #ifndef QMLJSCONSTANTS_H #define QMLJSCONSTANTS_H +#include "qmljs_global.h" + +#include namespace QmlJS { @@ -68,7 +71,7 @@ enum Enum namespace Language { enum Enum { - Unknown = 0, + NoLanguage = 0, JavaScript = 1, Json = 2, Qml = 3, @@ -76,7 +79,8 @@ enum Enum QmlQtQuick2 = 5, QmlQbs = 6, QmlProject = 7, - QmlTypeInfo = 8 + QmlTypeInfo = 8, + AnyLanguage = 9, }; } @@ -86,5 +90,8 @@ const char TASK_INDEX[] = "QmlJSEditor.TaskIndex"; const char TASK_IMPORT_SCAN[] = "QmlJSEditor.TaskImportScan"; } // namespace Constants + +QMLJS_EXPORT Q_DECLARE_LOGGING_CATEGORY(qmljsLog) + } // namespace QmlJS #endif // QMLJSCONSTANTS_H diff --git a/src/libs/qmljs/qmljsdocument.cpp b/src/libs/qmljs/qmljsdocument.cpp index fa580cce13a..66da8d2932e 100644 --- a/src/libs/qmljs/qmljsdocument.cpp +++ b/src/libs/qmljs/qmljsdocument.cpp @@ -97,6 +97,7 @@ bool Document::isQmlLikeLanguage(Language::Enum language) case Language::QmlQbs: case Language::QmlProject: case Language::QmlTypeInfo: + case Language::AnyLanguage: return true; default: return false; @@ -112,7 +113,8 @@ bool Document::isFullySupportedLanguage(Language::Enum language) case Language::QmlQtQuick1: case Language::QmlQtQuick2: return true; - case Language::Unknown: + case Language::NoLanguage: + case Language::AnyLanguage: case Language::QmlQbs: case Language::QmlProject: case Language::QmlTypeInfo: @@ -131,6 +133,7 @@ bool Document::isQmlLikeOrJsLanguage(Language::Enum language) case Language::QmlProject: case Language::QmlTypeInfo: case Language::JavaScript: + case Language::AnyLanguage: return true; default: return false; @@ -157,12 +160,16 @@ QList Document::companionLanguages(Language::Enum language) case Language::QmlQtQuick2: langs << Language::Qml << Language::JavaScript; break; - case Language::Unknown: + case Language::AnyLanguage: langs << Language::JavaScript << Language::Json << Language::QmlProject << Language:: QmlQbs << Language::QmlTypeInfo << Language::QmlQtQuick1 << Language::QmlQtQuick2 << Language::Qml; break; + case Language::NoLanguage: + return QList(); // return at least itself? } + if (language != Language::AnyLanguage) + langs << Language::AnyLanguage; return langs; } @@ -531,7 +538,7 @@ void Snapshot::insertLibraryInfo(const QString &path, const LibraryInfo &info) if (!info.wasFound()) return; CoreImport cImport; cImport.importId = path; - cImport.language = Language::Unknown; + cImport.language = Language::AnyLanguage; QSet packages; foreach (const ModuleApiInfo &moduleInfo, info.moduleApis()) { ImportKey iKey(ImportType::Library, moduleInfo.uri, moduleInfo.version.majorVersion(), diff --git a/src/libs/qmljs/qmljsevaluate.cpp b/src/libs/qmljs/qmljsevaluate.cpp index e699cb42eab..3fc00fa8939 100644 --- a/src/libs/qmljs/qmljsevaluate.cpp +++ b/src/libs/qmljs/qmljsevaluate.cpp @@ -31,7 +31,6 @@ #include "qmljscontext.h" #include "qmljsscopechain.h" #include "parser/qmljsast_p.h" -#include using namespace QmlJS; diff --git a/src/libs/qmljs/qmljsfindexportedcpptypes.cpp b/src/libs/qmljs/qmljsfindexportedcpptypes.cpp index 96370a14340..027833d6ee9 100644 --- a/src/libs/qmljs/qmljsfindexportedcpptypes.cpp +++ b/src/libs/qmljs/qmljsfindexportedcpptypes.cpp @@ -36,7 +36,6 @@ #include #include -#include #include //using namespace QmlJS; diff --git a/src/libs/qmljs/qmljsicons.cpp b/src/libs/qmljs/qmljsicons.cpp index 20ee30e1d62..611e75d2f2b 100644 --- a/src/libs/qmljs/qmljsicons.cpp +++ b/src/libs/qmljs/qmljsicons.cpp @@ -28,8 +28,10 @@ ****************************************************************************/ #include "qmljsicons.h" + +#include + #include -#include #include #include #include @@ -43,6 +45,8 @@ enum { namespace QmlJS { +Q_LOGGING_CATEGORY(iconsLog, "qtc.qmljs.icons") + Icons *Icons::m_instance = 0; class IconsPrivate @@ -88,22 +92,22 @@ void Icons::setIconFilesPath(const QString &iconPath) d->resourcePath = iconPath; if (debug) - qDebug() << "QmlJSIcons -" << "parsing" << iconPath; + qCDebug(iconsLog) << "parsing" << iconPath; QDir topDir(iconPath); foreach (const QFileInfo &subDirInfo, topDir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot)) { if (debug) - qDebug() << "QmlJSIcons - parsing" << subDirInfo.absoluteFilePath(); + qCDebug(iconsLog) << "parsing" << subDirInfo.absoluteFilePath(); const QString packageName = subDirInfo.fileName(); QDir subDir(subDirInfo.absoluteFilePath() + QLatin1String("/16x16")); foreach (const QFileInfo &iconFile, subDir.entryInfoList(QDir::Files)) { QIcon icon(iconFile.absoluteFilePath()); if (icon.isNull()) { if (debug) - qDebug() << "QmlJSIcons - skipping" << iconFile.absoluteFilePath(); + qCDebug(iconsLog) << "skipping" << iconFile.absoluteFilePath(); continue; } if (debug) - qDebug() << "QmlJSIcons - adding" << packageName << iconFile.baseName() << "icon to database"; + qCDebug(iconsLog) << "adding" << packageName << iconFile.baseName() << "icon to database"; QPair element(packageName, iconFile.baseName()); d->iconHash.insert(element, icon); } @@ -114,7 +118,7 @@ QIcon Icons::icon(const QString &packageName, const QString typeName) const { QPair element(packageName, typeName); if (debug) - qDebug() << "QmlJSIcons - icon for" << packageName << typeName << "requested" << d->iconHash.contains(element); + qCDebug(iconsLog) << "icon for" << packageName << typeName << "requested" << d->iconHash.contains(element); return d->iconHash.value(element); } diff --git a/src/libs/qmljs/qmljsimportdependencies.cpp b/src/libs/qmljs/qmljsimportdependencies.cpp index 27a0595e341..e4fa8fba97e 100644 --- a/src/libs/qmljs/qmljsimportdependencies.cpp +++ b/src/libs/qmljs/qmljsimportdependencies.cpp @@ -32,6 +32,7 @@ #include "qmljsqrcparser.h" #include +#include #include @@ -39,7 +40,7 @@ namespace QmlJS { -static bool debugImportDependencies = false; +Q_LOGGING_CATEGORY(importsLog, "qtc.qmljs.imports") ImportKind::Enum toImportKind(ImportType::Enum type) { @@ -728,18 +729,18 @@ void ImportDependencies::addCoreImport(const CoreImport &import) foreach (const Export &e, import.possibleExports) m_importCache[e.exportName].append(import.importId); m_coreImports.insert(newImport.importId, newImport); - if (debugImportDependencies) { - QDebug dbg(qDebug()); - dbg << "added import "<< newImport.importId << " for"; + if (importsLog().isDebugEnabled()) { + QString msg = QString::fromLatin1("added import %1 for").arg(newImport.importId); foreach (const Export &e, newImport.possibleExports) - dbg << " " << e.exportName.toString() << "(" << e.pathRequired << ")"; + msg += QString::fromLatin1("\n %1(%2)").arg(e.exportName.toString(), e.pathRequired); + qCDebug(importsLog) << msg; } } void ImportDependencies::removeCoreImport(const QString &importId) { if (!m_coreImports.contains(importId)) { - qDebug() << "missing importId in removeCoreImport(" << importId << ")"; + qCWarning(importsLog) << "missing importId in removeCoreImport(" << importId << ")"; return; } CoreImport &cImport = m_coreImports[importId]; @@ -754,16 +755,15 @@ void ImportDependencies::removeCoreImport(const QString &importId) else m_coreImports.remove(importId); - if (debugImportDependencies) - qDebug() << "removed import with id:"<< importId; + qCDebug(importsLog) << "removed import with id:"<< importId; } void ImportDependencies::removeImportCacheEntry(const ImportKey &importKey, const QString &importId) { QStringList &cImp = m_importCache[importKey]; if (!cImp.removeOne(importId)) { - qDebug() << "missing possibleExport backpointer for " << importKey.toString() << " to " - << importId; + qCWarning(importsLog) << "missing possibleExport backpointer for " << importKey.toString() << " to " + << importId; } if (cImp.isEmpty()) m_importCache.remove(importKey); @@ -774,7 +774,7 @@ void ImportDependencies::addExport(const QString &importId, const ImportKey &imp { if (!m_coreImports.contains(importId)) { CoreImport newImport(importId); - newImport.language = Language::Unknown; + newImport.language = Language::AnyLanguage; newImport.possibleExports.append(Export(importKey, requiredPath, false)); m_coreImports.insert(newImport.importId, newImport); m_importCache[importKey].append(importId); @@ -783,35 +783,33 @@ void ImportDependencies::addExport(const QString &importId, const ImportKey &imp CoreImport &importValue = m_coreImports[importId]; importValue.possibleExports.append(Export(importKey, requiredPath, false)); m_importCache[importKey].append(importId); - if (debugImportDependencies) - qDebug() << "added export "<< importKey.toString() << " for id " < j(m_importCache); while (j.hasNext()) { j.next(); - qDebug() << j.key().toString() << j.value(); + qCWarning(importsLog) << j.key().toString() << j.value(); } - qDebug() << m_importCache.contains(e.exportName); - qDebug() << m_importCache.value(e.exportName); + qCWarning(importsLog) << m_importCache.contains(e.exportName); + qCWarning(importsLog) << m_importCache.value(e.exportName); } Q_ASSERT(m_importCache.value(e.exportName).contains(i.key())); } diff --git a/src/libs/qmljs/qmljsindenter.cpp b/src/libs/qmljs/qmljsindenter.cpp index 87af800c231..c29c1b00a86 100644 --- a/src/libs/qmljs/qmljsindenter.cpp +++ b/src/libs/qmljs/qmljsindenter.cpp @@ -67,7 +67,6 @@ #include -#include #include using namespace QmlJS; diff --git a/src/libs/qmljs/qmljsinterpreter.cpp b/src/libs/qmljs/qmljsinterpreter.cpp index 1ab9984436e..7bf7b3ed220 100644 --- a/src/libs/qmljs/qmljsinterpreter.cpp +++ b/src/libs/qmljs/qmljsinterpreter.cpp @@ -28,6 +28,7 @@ ****************************************************************************/ #include "parser/qmljsast_p.h" +#include "qmljsconstants.h" #include "qmljscontext.h" #include "qmljsevaluate.h" #include "qmljsinterpreter.h" @@ -41,7 +42,6 @@ #include #include -#include #include #include #include @@ -2492,38 +2492,38 @@ public: virtual bool processProperty(const QString &name, const Value *) { - qDebug() << "property: " << name; + qCDebug(qmljsLog) << "property: " << name; return true; } virtual bool processEnumerator(const QString &name, const Value *) { - qDebug() << "enumerator: " << name; + qCDebug(qmljsLog) << "enumerator: " << name; return true; } virtual bool processSignal(const QString &name, const Value *) { - qDebug() << "signal: " << name; + qCDebug(qmljsLog) << "signal: " << name; return true; } virtual bool processSlot(const QString &name, const Value *) { - qDebug() << "slot: " << name; + qCDebug(qmljsLog) << "slot: " << name; return true; } virtual bool processGeneratedSlot(const QString &name, const Value *) { - qDebug() << "generated slot: " << name; + qCDebug(qmljsLog) << "generated slot: " << name; return true; } }; void Imports::dump() const { - qDebug() << "Imports contents, in search order:"; + qCDebug(qmljsLog) << "Imports contents, in search order:"; QListIterator it(m_imports); it.toBack(); while (it.hasPrevious()) { @@ -2531,7 +2531,7 @@ void Imports::dump() const const ObjectValue *import = i.object; const ImportInfo &info = i.info; - qDebug() << " " << info.path() << " " << info.version().toString() << " as " << info.as() << " : " << import; + qCDebug(qmljsLog) << " " << info.path() << " " << info.version().toString() << " as " << info.as() << " : " << import; MemberDumper dumper; import->processMembers(&dumper); } diff --git a/src/libs/qmljs/qmljslineinfo.cpp b/src/libs/qmljs/qmljslineinfo.cpp index c475cfe5963..d9f6b08e3c6 100644 --- a/src/libs/qmljs/qmljslineinfo.cpp +++ b/src/libs/qmljs/qmljslineinfo.cpp @@ -67,8 +67,6 @@ #include -#include - using namespace QmlJS; /* diff --git a/src/libs/qmljs/qmljslink.cpp b/src/libs/qmljs/qmljslink.cpp index 30bcd6bbb07..969bc8c939d 100644 --- a/src/libs/qmljs/qmljslink.cpp +++ b/src/libs/qmljs/qmljslink.cpp @@ -38,7 +38,6 @@ #include "qmljsconstants.h" #include -#include using namespace LanguageUtils; using namespace QmlJS; diff --git a/src/libs/qmljs/qmljsmodelmanagerinterface.cpp b/src/libs/qmljs/qmljsmodelmanagerinterface.cpp index 6a9068807e0..b31f04cd915 100644 --- a/src/libs/qmljs/qmljsmodelmanagerinterface.cpp +++ b/src/libs/qmljs/qmljsmodelmanagerinterface.cpp @@ -39,7 +39,6 @@ #include #include -#include #include #include #include @@ -55,6 +54,8 @@ namespace QmlJS { +QMLJS_EXPORT Q_LOGGING_CATEGORY(qmljsLog, "qtc.qmljs.common") + /*! \class QmlJS::ModelManagerInterface \brief The ModelManagerInterface class acts as an interface to the @@ -95,6 +96,7 @@ static QStringList environmentImportPaths() ModelManagerInterface::ModelManagerInterface(QObject *parent) : QObject(parent), m_shouldScanImports(false), + m_defaultProject(0), m_pluginDumper(new PluginDumper(this)) { m_synchronizer.setCancelOnWait(true); @@ -112,6 +114,11 @@ ModelManagerInterface::ModelManagerInterface(QObject *parent) qRegisterMetaType("QmlJS::Document::Ptr"); qRegisterMetaType("QmlJS::LibraryInfo"); + m_defaultProjectInfo.qtImportsPath = QLibraryInfo::location(QLibraryInfo::ImportsPath); +#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) + m_defaultProjectInfo.qtQmlPath = QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath); +#endif + m_defaultImportPaths << environmentImportPaths(); updateImportPaths(); @@ -148,7 +155,7 @@ Language::Enum ModelManagerInterface::guessLanguageOfFile(const QString &fileNam lMapping = defaultLanguageMapping(); const QFileInfo info(fileName); const QString fileSuffix = info.suffix(); - return lMapping.value(fileSuffix, Language::Unknown); + return lMapping.value(fileSuffix, Language::NoLanguage); } QStringList ModelManagerInterface::globPatternsForLanguages(const QList languages) @@ -178,7 +185,7 @@ void ModelManagerInterface::writeWarning(const QString &msg) if (ModelManagerInterface *i = instance()) i->writeMessageInternal(msg); else - qDebug() << msg; + qCWarning(qmljsLog) << msg; } ModelManagerInterface::WorkingCopy ModelManagerInterface::workingCopy() @@ -203,7 +210,7 @@ QHash ModelManagerInterface::languageForSuffix() const void ModelManagerInterface::writeMessageInternal(const QString &msg) const { - qDebug() << msg; + qCWarning(qmljsLog) << msg; } ModelManagerInterface::WorkingCopy ModelManagerInterface::workingCopyInternal() const @@ -216,7 +223,7 @@ void ModelManagerInterface::addTaskInternal(QFuture result, const QString const char *taskId) const { Q_UNUSED(result); - qDebug() << "started " << taskId << " " << msg; + qCDebug(qmljsLog) << "started " << taskId << " " << msg; } void ModelManagerInterface::loadQmlTypeDescriptionsInternal(const QString &resourcePath) @@ -253,7 +260,13 @@ void ModelManagerInterface::loadQmlTypeDescriptionsInternal(const QString &resou writeMessageInternal(warning); } - +void ModelManagerInterface::setDefaultProject(const ModelManagerInterface::ProjectInfo &pInfo, + ProjectExplorer::Project *p) +{ + QMutexLocker l(mutex()); + m_defaultProject = p; + m_defaultProjectInfo = pInfo; +} Snapshot ModelManagerInterface::snapshot() const { @@ -321,7 +334,7 @@ void ModelManagerInterface::fileChangedOnDisk(const QString &path) { QtConcurrent::run(&ModelManagerInterface::parse, workingCopyInternal(), QStringList() << path, - this, Language::Unknown, true); + this, Language::AnyLanguage, true); } void ModelManagerInterface::removeFiles(const QStringList &files) @@ -477,11 +490,13 @@ QList ModelManagerInterface::projectInfos() return m_projects.values(); } -ModelManagerInterface::ProjectInfo ModelManagerInterface::projectInfo(ProjectExplorer::Project *project) const +ModelManagerInterface::ProjectInfo ModelManagerInterface::projectInfo( + ProjectExplorer::Project *project, + const ModelManagerInterface::ProjectInfo &defaultValue) const { QMutexLocker locker(&m_mutex); - return m_projects.value(project, ProjectInfo()); + return m_projects.value(project, defaultValue); } void ModelManagerInterface::updateProjectInfo(const ProjectInfo &pinfo, ProjectExplorer::Project *p) @@ -495,6 +510,8 @@ void ModelManagerInterface::updateProjectInfo(const ProjectInfo &pinfo, ProjectE QMutexLocker locker(&m_mutex); oldInfo = m_projects.value(p); m_projects.insert(p, pinfo); + if (p == m_defaultProject) + m_defaultProjectInfo = pinfo; snapshot = m_validSnapshot; } @@ -614,7 +631,7 @@ void ModelManagerInterface::updateDocument(Document::Ptr doc) void ModelManagerInterface::updateLibraryInfo(const QString &path, const LibraryInfo &info) { if (!info.pluginTypeInfoError().isEmpty()) - qDebug() << "Dumping errors for " << path << ":" << info.pluginTypeInfoError(); + qCWarning(qmljsLog) << "Dumping errors for " << path << ":" << info.pluginTypeInfoError(); { QMutexLocker locker(&m_mutex); @@ -740,7 +757,7 @@ static bool findNewQmlLibraryInPath(const QString &path, const QString path = QDir::cleanPath(componentFileInfo.absolutePath()); if (! scannedPaths->contains(path)) { *importedFiles += filesInDirectoryForLanguages(path, - Document::companionLanguages(Language::Unknown)); + Document::companionLanguages(Language::AnyLanguage)); scannedPaths->insert(path); } } @@ -823,7 +840,7 @@ void ModelManagerInterface::parseLoop(QSet &scannedPaths, const QString fileName = files.at(i); Language::Enum language = guessLanguageOfFile(fileName); - if (language == Language::Unknown) { + if (language == Language::NoLanguage) { if (fileName.endsWith(QLatin1String(".qrc"))) modelManager->updateQrcFile(fileName); continue; @@ -1190,6 +1207,11 @@ void ModelManagerInterface::startCppQmlTypeUpdate() m_queuedCppDocuments.clear(); } +QMutex *ModelManagerInterface::mutex() const +{ + return &m_mutex; +} + void ModelManagerInterface::asyncReset() { m_asyncResetTimer->start(); @@ -1284,7 +1306,7 @@ ViewerContext ModelManagerInterface::completeVContext(const ViewerContext &vCtx, foreach (const QString &path, defaultVCtx.paths) res.maybeAddPath(path); switch (res.language) { - case Language::Unknown: + case Language::AnyLanguage: case Language::Qml: res.maybeAddPath(info.qtQmlPath); // fallthrough @@ -1307,6 +1329,7 @@ ViewerContext ModelManagerInterface::completeVContext(const ViewerContext &vCtx, } break; } + case Language::NoLanguage: case Language::JavaScript: case Language::QmlTypeInfo: case Language::Json: @@ -1322,10 +1345,10 @@ ViewerContext ModelManagerInterface::completeVContext(const ViewerContext &vCtx, case ViewerContext::AddDefaultPaths: foreach (const QString &path, defaultVCtx.paths) res.maybeAddPath(path); - if (res.language == Language::Unknown || res.language == Language::Qml + if (res.language == Language::AnyLanguage || res.language == Language::Qml || res.language == Language::QmlQtQuick2) res.maybeAddPath(info.qtImportsPath); - if (res.language == Language::Unknown || res.language == Language::Qml + if (res.language == Language::AnyLanguage || res.language == Language::Qml || res.language == Language::QmlQtQuick1) res.maybeAddPath(info.qtQmlPath); break; @@ -1339,7 +1362,7 @@ ViewerContext ModelManagerInterface::defaultVContext(Language::Enum language, bool autoComplete) const { if (!doc.isNull()) { - if (language == Language::Unknown) + if (language == Language::AnyLanguage) language = doc->language(); else if (language == Language::Qml && (doc->language() == Language::QmlQtQuick1 || doc->language() == Language::QmlQtQuick2)) @@ -1358,12 +1381,8 @@ ViewerContext ModelManagerInterface::defaultVContext(Language::Enum language, ModelManagerInterface::ProjectInfo ModelManagerInterface::defaultProjectInfo() const { - ProjectInfo res; - res.qtImportsPath = QLibraryInfo::location(QLibraryInfo::ImportsPath); -#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) - res.qtQmlPath = QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath); -#endif - return res; + QMutexLocker l(mutex()); + return m_defaultProjectInfo; } void ModelManagerInterface::setDefaultVContext(const ViewerContext &vContext) diff --git a/src/libs/qmljs/qmljsmodelmanagerinterface.h b/src/libs/qmljs/qmljsmodelmanagerinterface.h index 5b3f771cf9a..089b70e68e6 100644 --- a/src/libs/qmljs/qmljsmodelmanagerinterface.h +++ b/src/libs/qmljs/qmljsmodelmanagerinterface.h @@ -171,7 +171,8 @@ public: QrcResourceSelector resources = AllQrcResources); QList projectInfos() const; - ProjectInfo projectInfo(ProjectExplorer::Project *project) const; + ProjectInfo projectInfo(ProjectExplorer::Project *project, + const ModelManagerInterface::ProjectInfo &defaultValue = ProjectInfo()) const; void updateProjectInfo(const ProjectInfo &pinfo, ProjectExplorer::Project *p); void updateDocument(QmlJS::Document::Ptr doc); @@ -218,6 +219,7 @@ protected slots: void asyncReset(); virtual void startCppQmlTypeUpdate(); protected: + QMutex *mutex() const; virtual QHash languageForSuffix() const; virtual void writeMessageInternal(const QString &msg) const; virtual WorkingCopy workingCopyInternal() const; @@ -250,6 +252,7 @@ protected: void maybeScan(const QStringList &importPaths, Language::Enum defaultLanguage); void updateImportPaths(); void loadQmlTypeDescriptionsInternal(const QString &path); + void setDefaultProject(const ProjectInfo &pInfo, ProjectExplorer::Project *p); private: mutable QMutex m_mutex; @@ -274,6 +277,8 @@ private: // project integration QMap m_projects; + ProjectInfo m_defaultProjectInfo; + ProjectExplorer::Project *m_defaultProject; QMultiHash m_fileToProject; PluginDumper *m_pluginDumper; diff --git a/src/libs/qmljs/qmljsqrcparser.cpp b/src/libs/qmljs/qmljsqrcparser.cpp index 701c62dac36..2b64c522631 100644 --- a/src/libs/qmljs/qmljsqrcparser.cpp +++ b/src/libs/qmljs/qmljsqrcparser.cpp @@ -28,6 +28,7 @@ ****************************************************************************/ #include "qmljsqrcparser.h" +#include "qmljsconstants.h" #include #include #include @@ -40,7 +41,6 @@ #include #include #include -#include namespace QmlJS { @@ -456,7 +456,7 @@ QrcParser::Ptr QrcCachePrivate::addPath(const QString &path) } QrcParser::Ptr newParser = QrcParser::parseQrcFile(path); if (!newParser->isValid()) - qDebug() << "adding invalid qrc " << path << " to the cache:" << newParser->errorMessages(); + qCWarning(qmljsLog) << "adding invalid qrc " << path << " to the cache:" << newParser->errorMessages(); { QMutexLocker l(&m_mutex); QPair currentValue = m_cache.value(path, qMakePair(QrcParser::Ptr(0), 0)); diff --git a/src/libs/qmljs/qmljsreformatter.cpp b/src/libs/qmljs/qmljsreformatter.cpp index a35f1320c04..c14c8a0d881 100644 --- a/src/libs/qmljs/qmljsreformatter.cpp +++ b/src/libs/qmljs/qmljsreformatter.cpp @@ -288,7 +288,7 @@ protected: result.badnessFromSplits = 0; result.lines = QStringList(line); - //qDebug() << "trying to split" << line << possibleSplits << context; + //qCDebug(qmljsLog) << "trying to split" << line << possibleSplits << context; // try to split at every possible position for (int i = possibleSplits.size() - 1; i >= 0; --i) { diff --git a/src/libs/qmljs/qmljssimplereader.cpp b/src/libs/qmljs/qmljssimplereader.cpp index 2a12829b56d..a47da70ce05 100644 --- a/src/libs/qmljs/qmljssimplereader.cpp +++ b/src/libs/qmljs/qmljssimplereader.cpp @@ -33,16 +33,14 @@ #include "parser/qmljslexer_p.h" #include "parser/qmljsengine_p.h" +#include + #include "qmljsutils.h" #include -enum { - debug = false -}; - - -using namespace QmlJS; +namespace QmlJS{ +Q_LOGGING_CATEGORY(simpleReaderLog, "qtc.qmljs.simpleReader") QVariant SimpleReaderNode::property(const QString &name) const { @@ -304,8 +302,7 @@ SimpleReaderNode::Ptr SimpleReader::readFromSource(const QString &source) void SimpleReader::elementStart(const QString &name) { - if (debug) - qDebug() << "SimpleReader::elementStart()" << name; + qCDebug(simpleReaderLog) << "elementStart()" << name; SimpleReaderNode::Ptr newNode = SimpleReaderNode::create(name, m_currentNode); @@ -321,8 +318,7 @@ void SimpleReader::elementEnd() { Q_ASSERT(m_currentNode); - if (debug) - qDebug() << "SimpleReader::elementEnd()" << m_currentNode.data()->name(); + qCDebug(simpleReaderLog) << "elementEnd()" << m_currentNode.data()->name(); m_currentNode = m_currentNode.data()->parent(); } @@ -331,11 +327,12 @@ void SimpleReader::propertyDefinition(const QString &name, const QVariant &value { Q_ASSERT(m_currentNode); - if (debug) - qDebug() << "SimpleReader::propertyDefinition()" << m_currentNode.data()->name() << name << value; + qCDebug(simpleReaderLog) << "propertyDefinition()" << m_currentNode.data()->name() << name << value; if (m_currentNode.data()->propertyNames().contains(name)) addError(tr("Property is defined twice."), currentSourceLocation()); m_currentNode.data()->setProperty(name, value); } + +} // namespace QmlJS diff --git a/src/libs/qmljs/qmljsviewercontext.cpp b/src/libs/qmljs/qmljsviewercontext.cpp index 458ce2f24af..cec66051456 100644 --- a/src/libs/qmljs/qmljsviewercontext.cpp +++ b/src/libs/qmljs/qmljsviewercontext.cpp @@ -56,6 +56,8 @@ ViewerContext::ViewerContext(QStringList selectors, QStringList paths, */ bool ViewerContext::languageIsCompatible(Language::Enum l) const { + if (l == Language::AnyLanguage && language != Language::NoLanguage) + return true; switch (language) { case Language::JavaScript: case Language::Json: @@ -70,10 +72,12 @@ bool ViewerContext::languageIsCompatible(Language::Enum l) const return l == Language::Qml || l == Language::QmlQtQuick1 || l == Language::JavaScript; case Language::QmlQtQuick2: return l == Language::Qml || l == Language::QmlQtQuick2 || l == Language::JavaScript; - case Language::Unknown: // ? + case Language::AnyLanguage: + return true; + case Language::NoLanguage: break; } - return true; + return false; } void ViewerContext::maybeAddPath(const QString &path) diff --git a/src/libs/utils/logging.h b/src/libs/utils/logging.h index 32522876271..f5f8a61b62f 100644 --- a/src/libs/utils/logging.h +++ b/src/libs/utils/logging.h @@ -28,11 +28,14 @@ ****************************************************************************/ #ifndef LOGGING_H +#define LOGGING_H #include #if QT_VERSION < QT_VERSION_CHECK(5, 2, 0) +#include + // // Qt < 5.2 didn't feature categorized logging: // Just enable qCWarning, qCCritical, but disable qCDebug @@ -42,7 +45,8 @@ class QLoggingCategory Q_DISABLE_COPY(QLoggingCategory) public: explicit QLoggingCategory(const char *category) : name(category) {} - ~QLoggingCategory(); + ~QLoggingCategory() {} + static void setFilterRules(const QString &) {} bool isDebugEnabled() const { return false; } bool isWarningEnabled() const { return true; } diff --git a/src/plugins/analyzerbase/analyzermanager.cpp b/src/plugins/analyzerbase/analyzermanager.cpp index 76e8e8d339c..92a6b4e9bd3 100644 --- a/src/plugins/analyzerbase/analyzermanager.cpp +++ b/src/plugins/analyzerbase/analyzermanager.cpp @@ -98,7 +98,7 @@ public: AnalyzerMode(QObject *parent = 0) : IMode(parent) { - setContext(Context(C_EDITORMANAGER, C_ANALYZEMODE, C_NAVIGATION_PANE)); + setContext(Context(C_ANALYZEMODE, C_NAVIGATION_PANE)); setDisplayName(tr("Analyze")); setIcon(QIcon(QLatin1String(":/images/analyzer_mode.png"))); setPriority(P_MODE_ANALYZE); @@ -279,6 +279,10 @@ void AnalyzerManagerPrivate::delayedInit() splitter->addWidget(mainWindowSplitter); splitter->setStretchFactor(0, 0); splitter->setStretchFactor(1, 1); + Core::IContext *modeContextObject = new Core::IContext(this); + modeContextObject->setContext(Core::Context(Core::Constants::C_EDITORMANAGER)); + modeContextObject->setWidget(splitter); + Core::ICore::addContextObject(modeContextObject); m_mode->setWidget(splitter); AnalyzerPlugin::instance()->addAutoReleasedObject(m_mode); diff --git a/src/plugins/android/androiddeployconfiguration.cpp b/src/plugins/android/androiddeployconfiguration.cpp index 635ac2e10db..b58cd48c0bf 100644 --- a/src/plugins/android/androiddeployconfiguration.cpp +++ b/src/plugins/android/androiddeployconfiguration.cpp @@ -67,12 +67,12 @@ AndroidDeployConfigurationFactory::AndroidDeployConfigurationFactory(QObject *pa setObjectName(QLatin1String("AndroidDeployConfigurationFactory")); } -bool AndroidDeployConfigurationFactory::canCreate(Target *parent, const Core::Id id) const +bool AndroidDeployConfigurationFactory::canCreate(Target *parent, Core::Id id) const { return availableCreationIds(parent).contains(id); } -DeployConfiguration *AndroidDeployConfigurationFactory::create(Target *parent, const Core::Id id) +DeployConfiguration *AndroidDeployConfigurationFactory::create(Target *parent, Core::Id id) { AndroidDeployConfiguration *dc = new AndroidDeployConfiguration(parent, id); @@ -143,7 +143,7 @@ QList AndroidDeployConfigurationFactory::availableCreationIds(Target * return ids; } -QString AndroidDeployConfigurationFactory::displayNameForId(const Core::Id id) const +QString AndroidDeployConfigurationFactory::displayNameForId(Core::Id id) const { if (id.name().startsWith(ANDROID_DC_PREFIX) || id.name().startsWith(ANDROID_DC2_PREFIX)) diff --git a/src/plugins/android/androiddeployconfiguration.h b/src/plugins/android/androiddeployconfiguration.h index 11c90d96d60..2d31fb22850 100644 --- a/src/plugins/android/androiddeployconfiguration.h +++ b/src/plugins/android/androiddeployconfiguration.h @@ -62,8 +62,8 @@ class AndroidDeployConfigurationFactory : public ProjectExplorer::DeployConfigur public: explicit AndroidDeployConfigurationFactory(QObject *parent = 0); - bool canCreate(ProjectExplorer::Target *parent, const Core::Id id) const; - ProjectExplorer::DeployConfiguration *create(ProjectExplorer::Target *parent, const Core::Id id); + bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const; + ProjectExplorer::DeployConfiguration *create(ProjectExplorer::Target *parent, Core::Id id); bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const; ProjectExplorer::DeployConfiguration *restore(ProjectExplorer::Target *parent, const QVariantMap &map); bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::DeployConfiguration *source) const; @@ -71,7 +71,7 @@ public: QList availableCreationIds(ProjectExplorer::Target *parent) const; // used to translate the ids to names to display to the user - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; private: bool canHandle(ProjectExplorer::Target *parent) const; diff --git a/src/plugins/android/androiddeployqtstep.cpp b/src/plugins/android/androiddeployqtstep.cpp index 85e41fe8e7d..c755cd515eb 100644 --- a/src/plugins/android/androiddeployqtstep.cpp +++ b/src/plugins/android/androiddeployqtstep.cpp @@ -87,19 +87,19 @@ QList AndroidDeployQtStepFactory::availableCreationIds(ProjectExplorer return QList() << AndroidDeployQtStep::Id; } -QString AndroidDeployQtStepFactory::displayNameForId(const Core::Id id) const +QString AndroidDeployQtStepFactory::displayNameForId(Core::Id id) const { if (id == AndroidDeployQtStep::Id) return tr("Deploy to Android device or emulator"); return QString(); } -bool AndroidDeployQtStepFactory::canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const +bool AndroidDeployQtStepFactory::canCreate(ProjectExplorer::BuildStepList *parent, Core::Id id) const { return availableCreationIds(parent).contains(id); } -ProjectExplorer::BuildStep *AndroidDeployQtStepFactory::create(ProjectExplorer::BuildStepList *parent, const Core::Id id) +ProjectExplorer::BuildStep *AndroidDeployQtStepFactory::create(ProjectExplorer::BuildStepList *parent, Core::Id id) { Q_ASSERT(canCreate(parent, id)); Q_UNUSED(id); diff --git a/src/plugins/android/androiddeployqtstep.h b/src/plugins/android/androiddeployqtstep.h index 194dd256eb6..0760429f463 100644 --- a/src/plugins/android/androiddeployqtstep.h +++ b/src/plugins/android/androiddeployqtstep.h @@ -50,11 +50,11 @@ public: explicit AndroidDeployQtStepFactory(QObject *parent = 0); QList availableCreationIds(ProjectExplorer::BuildStepList *parent) const; - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; bool canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const; - ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, const Core::Id id); + ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, Core::Id id); bool canRestore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map) const; ProjectExplorer::BuildStep *restore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map); diff --git a/src/plugins/android/androiddeploystepfactory.cpp b/src/plugins/android/androiddeploystepfactory.cpp index b0203235ee9..b91c886e314 100644 --- a/src/plugins/android/androiddeploystepfactory.cpp +++ b/src/plugins/android/androiddeploystepfactory.cpp @@ -64,19 +64,19 @@ QList AndroidDeployStepFactory::availableCreationIds(BuildStepList *pa return QList() << AndroidDeployStep::Id; } -QString AndroidDeployStepFactory::displayNameForId(const Core::Id id) const +QString AndroidDeployStepFactory::displayNameForId(Core::Id id) const { if (id == AndroidDeployStep::Id) return tr("Deploy to Android device or emulator"); return QString(); } -bool AndroidDeployStepFactory::canCreate(BuildStepList *parent, const Core::Id id) const +bool AndroidDeployStepFactory::canCreate(BuildStepList *parent, Core::Id id) const { return availableCreationIds(parent).contains(id); } -BuildStep *AndroidDeployStepFactory::create(BuildStepList *parent, const Core::Id id) +BuildStep *AndroidDeployStepFactory::create(BuildStepList *parent, Core::Id id) { Q_ASSERT(canCreate(parent, id)); Q_UNUSED(id); diff --git a/src/plugins/android/androiddeploystepfactory.h b/src/plugins/android/androiddeploystepfactory.h index 798f8e5e941..f8a25fb8fc2 100644 --- a/src/plugins/android/androiddeploystepfactory.h +++ b/src/plugins/android/androiddeploystepfactory.h @@ -42,11 +42,11 @@ public: explicit AndroidDeployStepFactory(QObject *parent = 0); QList availableCreationIds(ProjectExplorer::BuildStepList *parent) const; - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; bool canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const; - ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, const Core::Id id); + ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, Core::Id id); bool canRestore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map) const; ProjectExplorer::BuildStep *restore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map); diff --git a/src/plugins/android/androidpackagecreationfactory.cpp b/src/plugins/android/androidpackagecreationfactory.cpp index a44274fc477..0eab6b29b6e 100644 --- a/src/plugins/android/androidpackagecreationfactory.cpp +++ b/src/plugins/android/androidpackagecreationfactory.cpp @@ -62,19 +62,19 @@ QList AndroidPackageCreationFactory::availableCreationIds(BuildStepLis return QList() << AndroidPackageCreationStep::CreatePackageId; } -QString AndroidPackageCreationFactory::displayNameForId(const Core::Id id) const +QString AndroidPackageCreationFactory::displayNameForId(Core::Id id) const { if (id == AndroidPackageCreationStep::CreatePackageId) return tr("Create Android (.apk) Package"); return QString(); } -bool AndroidPackageCreationFactory::canCreate(BuildStepList *parent, const Core::Id id) const +bool AndroidPackageCreationFactory::canCreate(BuildStepList *parent, Core::Id id) const { return availableCreationIds(parent).contains(id); } -BuildStep *AndroidPackageCreationFactory::create(BuildStepList *parent, const Core::Id id) +BuildStep *AndroidPackageCreationFactory::create(BuildStepList *parent, Core::Id id) { Q_ASSERT(canCreate(parent, id)); Q_UNUSED(id); diff --git a/src/plugins/android/androidpackagecreationfactory.h b/src/plugins/android/androidpackagecreationfactory.h index 3e86428dbd1..6b3f47c7707 100644 --- a/src/plugins/android/androidpackagecreationfactory.h +++ b/src/plugins/android/androidpackagecreationfactory.h @@ -42,11 +42,11 @@ public: explicit AndroidPackageCreationFactory(QObject *parent = 0); QList availableCreationIds(ProjectExplorer::BuildStepList *parent) const; - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; bool canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const; - ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, const Core::Id id); + ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, Core::Id id); bool canRestore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map) const; diff --git a/src/plugins/android/androidpackageinstallationfactory.cpp b/src/plugins/android/androidpackageinstallationfactory.cpp index bc3db966176..791f9a7beab 100644 --- a/src/plugins/android/androidpackageinstallationfactory.cpp +++ b/src/plugins/android/androidpackageinstallationfactory.cpp @@ -54,21 +54,21 @@ QList AndroidPackageInstallationFactory::availableCreationIds(BuildSte return QList(); } -QString AndroidPackageInstallationFactory::displayNameForId(const Core::Id id) const +QString AndroidPackageInstallationFactory::displayNameForId(Core::Id id) const { if (id == AndroidPackageInstallationStep::Id) return tr("Deploy to device"); return QString(); } -bool AndroidPackageInstallationFactory::canCreate(BuildStepList *parent, const Core::Id id) const +bool AndroidPackageInstallationFactory::canCreate(BuildStepList *parent, Core::Id id) const { Q_UNUSED(parent); Q_UNUSED(id); return false; } -BuildStep *AndroidPackageInstallationFactory::create(BuildStepList *parent, const Core::Id id) +BuildStep *AndroidPackageInstallationFactory::create(BuildStepList *parent, Core::Id id) { Q_UNUSED(parent); Q_UNUSED(id); diff --git a/src/plugins/android/androidpackageinstallationfactory.h b/src/plugins/android/androidpackageinstallationfactory.h index 758cfe10003..22918421b78 100644 --- a/src/plugins/android/androidpackageinstallationfactory.h +++ b/src/plugins/android/androidpackageinstallationfactory.h @@ -42,11 +42,11 @@ public: explicit AndroidPackageInstallationFactory(QObject *parent = 0); QList availableCreationIds(ProjectExplorer::BuildStepList *parent) const; - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; bool canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const; - ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, const Core::Id id); + ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, Core::Id id); bool canRestore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map) const; diff --git a/src/plugins/android/androidrunfactories.cpp b/src/plugins/android/androidrunfactories.cpp index 0ac87f3f521..13e46e0a7eb 100644 --- a/src/plugins/android/androidrunfactories.cpp +++ b/src/plugins/android/androidrunfactories.cpp @@ -55,7 +55,7 @@ namespace Internal { static const char ANDROID_RC_ID_PREFIX[] = "Qt4ProjectManager.AndroidRunConfiguration:"; -static QString pathFromId(const Core::Id id) +static QString pathFromId(Core::Id id) { return id.suffixAfter(ANDROID_RC_ID_PREFIX); } @@ -66,7 +66,7 @@ AndroidRunConfigurationFactory::AndroidRunConfigurationFactory(QObject *parent) setObjectName(QLatin1String("AndroidRunConfigurationFactory")); } -bool AndroidRunConfigurationFactory::canCreate(Target *parent, const Core::Id id) const +bool AndroidRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const { if (!canHandle(parent)) return false; @@ -103,12 +103,12 @@ QList AndroidRunConfigurationFactory::availableCreationIds(Target *par return QmakeProject::idsForNodes(base, nodes); } -QString AndroidRunConfigurationFactory::displayNameForId(const Core::Id id) const +QString AndroidRunConfigurationFactory::displayNameForId(Core::Id id) const { return QFileInfo(pathFromId(id)).completeBaseName(); } -RunConfiguration *AndroidRunConfigurationFactory::doCreate(Target *parent, const Core::Id id) +RunConfiguration *AndroidRunConfigurationFactory::doCreate(Target *parent, Core::Id id) { return new AndroidRunConfiguration(parent, id, pathFromId(id)); } diff --git a/src/plugins/android/androidrunfactories.h b/src/plugins/android/androidrunfactories.h index a2628114aa2..06e87d37b55 100644 --- a/src/plugins/android/androidrunfactories.h +++ b/src/plugins/android/androidrunfactories.h @@ -50,10 +50,10 @@ class AndroidRunConfigurationFactory : public QmakeProjectManager::QmakeRunConfi public: explicit AndroidRunConfigurationFactory(QObject *parent = 0); - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; QList availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode = UserCreate) const; - bool canCreate(ProjectExplorer::Target *parent, const Core::Id id) const; + bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const; bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const; @@ -66,7 +66,7 @@ public: private: bool canHandle(ProjectExplorer::Target *t) const; - ProjectExplorer::RunConfiguration *doCreate(ProjectExplorer::Target *parent, const Core::Id id); + ProjectExplorer::RunConfiguration *doCreate(ProjectExplorer::Target *parent, Core::Id id); ProjectExplorer::RunConfiguration *doRestore(ProjectExplorer::Target *parent, const QVariantMap &map); }; diff --git a/src/plugins/android/javacompletionassistprovider.cpp b/src/plugins/android/javacompletionassistprovider.cpp index 142c999e90a..7ceff0dc99e 100644 --- a/src/plugins/android/javacompletionassistprovider.cpp +++ b/src/plugins/android/javacompletionassistprovider.cpp @@ -104,7 +104,7 @@ void JavaCompletionAssistProvider::init() const m_keywords.append(QLatin1String(keywords[i])); } -bool JavaCompletionAssistProvider::supportsEditor(const Core::Id &editorId) const +bool JavaCompletionAssistProvider::supportsEditor(Core::Id editorId) const { return editorId == Constants::JAVA_EDITOR_ID; } diff --git a/src/plugins/android/javacompletionassistprovider.h b/src/plugins/android/javacompletionassistprovider.h index 92b68f389e0..e592928fcf7 100644 --- a/src/plugins/android/javacompletionassistprovider.h +++ b/src/plugins/android/javacompletionassistprovider.h @@ -46,7 +46,7 @@ public: void init() const; - bool supportsEditor(const Core::Id &editorId) const; + bool supportsEditor(Core::Id editorId) const; TextEditor::IAssistProcessor *createProcessor() const; private: diff --git a/src/plugins/autotoolsprojectmanager/autogenstep.cpp b/src/plugins/autotoolsprojectmanager/autogenstep.cpp index db11c974756..33a4e132f0a 100644 --- a/src/plugins/autotoolsprojectmanager/autogenstep.cpp +++ b/src/plugins/autotoolsprojectmanager/autogenstep.cpp @@ -69,19 +69,19 @@ QList AutogenStepFactory::availableCreationIds(BuildStepList *parent) return QList() << Core::Id(AUTOGEN_STEP_ID); } -QString AutogenStepFactory::displayNameForId(const Core::Id id) const +QString AutogenStepFactory::displayNameForId(Core::Id id) const { if (id == AUTOGEN_STEP_ID) return tr("Autogen", "Display name for AutotoolsProjectManager::AutogenStep id."); return QString(); } -bool AutogenStepFactory::canCreate(BuildStepList *parent, const Core::Id id) const +bool AutogenStepFactory::canCreate(BuildStepList *parent, Core::Id id) const { return canHandle(parent) && Core::Id(AUTOGEN_STEP_ID) == id; } -BuildStep *AutogenStepFactory::create(BuildStepList *parent, const Core::Id id) +BuildStep *AutogenStepFactory::create(BuildStepList *parent, Core::Id id) { if (!canCreate(parent, id)) return 0; @@ -133,7 +133,7 @@ AutogenStep::AutogenStep(BuildStepList *bsl) : ctor(); } -AutogenStep::AutogenStep(BuildStepList *bsl, const Core::Id id) : +AutogenStep::AutogenStep(BuildStepList *bsl, Core::Id id) : AbstractProcessStep(bsl, id) { ctor(); diff --git a/src/plugins/autotoolsprojectmanager/autogenstep.h b/src/plugins/autotoolsprojectmanager/autogenstep.h index 333d3b961b7..021a99bdf51 100644 --- a/src/plugins/autotoolsprojectmanager/autogenstep.h +++ b/src/plugins/autotoolsprojectmanager/autogenstep.h @@ -61,9 +61,9 @@ public: AutogenStepFactory(QObject *parent = 0); QList availableCreationIds(ProjectExplorer::BuildStepList *bc) const; - QString displayNameForId(const Core::Id id) const; - bool canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const; - ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, const Core::Id id); + QString displayNameForId(Core::Id id) const; + bool canCreate(ProjectExplorer::BuildStepList *parent, Core::Id id) const; + ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, Core::Id id); bool canClone(ProjectExplorer::BuildStepList *parent, ProjectExplorer::BuildStep *source) const; ProjectExplorer::BuildStep *clone(ProjectExplorer::BuildStepList *parent, ProjectExplorer::BuildStep *source); bool canRestore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map) const; @@ -110,7 +110,7 @@ signals: protected: AutogenStep(ProjectExplorer::BuildStepList *bsl, AutogenStep *bs); - AutogenStep(ProjectExplorer::BuildStepList *bsl, const Core::Id id); + AutogenStep(ProjectExplorer::BuildStepList *bsl, Core::Id id); bool fromMap(const QVariantMap &map); diff --git a/src/plugins/autotoolsprojectmanager/autoreconfstep.cpp b/src/plugins/autotoolsprojectmanager/autoreconfstep.cpp index 593f7eb3c37..f046b26b945 100644 --- a/src/plugins/autotoolsprojectmanager/autoreconfstep.cpp +++ b/src/plugins/autotoolsprojectmanager/autoreconfstep.cpp @@ -68,19 +68,19 @@ QList AutoreconfStepFactory::availableCreationIds(BuildStepList *paren return QList() << Core::Id(AUTORECONF_STEP_ID); } -QString AutoreconfStepFactory::displayNameForId(const Core::Id id) const +QString AutoreconfStepFactory::displayNameForId(Core::Id id) const { if (id == AUTORECONF_STEP_ID) return tr("Autoreconf", "Display name for AutotoolsProjectManager::AutoreconfStep id."); return QString(); } -bool AutoreconfStepFactory::canCreate(BuildStepList *parent, const Core::Id id) const +bool AutoreconfStepFactory::canCreate(BuildStepList *parent, Core::Id id) const { return canHandle(parent) && Core::Id(AUTORECONF_STEP_ID) == id; } -BuildStep *AutoreconfStepFactory::create(BuildStepList *parent, const Core::Id id) +BuildStep *AutoreconfStepFactory::create(BuildStepList *parent, Core::Id id) { if (!canCreate(parent, id)) return 0; @@ -132,7 +132,7 @@ AutoreconfStep::AutoreconfStep(BuildStepList *bsl) : ctor(); } -AutoreconfStep::AutoreconfStep(BuildStepList *bsl, const Core::Id id) : +AutoreconfStep::AutoreconfStep(BuildStepList *bsl, Core::Id id) : AbstractProcessStep(bsl, id) { ctor(); diff --git a/src/plugins/autotoolsprojectmanager/autoreconfstep.h b/src/plugins/autotoolsprojectmanager/autoreconfstep.h index 1a3eaaf3e00..c90384ad700 100644 --- a/src/plugins/autotoolsprojectmanager/autoreconfstep.h +++ b/src/plugins/autotoolsprojectmanager/autoreconfstep.h @@ -60,10 +60,10 @@ public: AutoreconfStepFactory(QObject *parent = 0); QList availableCreationIds(ProjectExplorer::BuildStepList *bc) const; - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; - bool canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const; - ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, const Core::Id id); + bool canCreate(ProjectExplorer::BuildStepList *parent, Core::Id id) const; + ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, Core::Id id); bool canClone(ProjectExplorer::BuildStepList *parent, ProjectExplorer::BuildStep *source) const; ProjectExplorer::BuildStep *clone(ProjectExplorer::BuildStepList *parent, ProjectExplorer::BuildStep *source); bool canRestore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map) const; @@ -110,7 +110,7 @@ signals: protected: AutoreconfStep(ProjectExplorer::BuildStepList *bsl, AutoreconfStep *bs); - AutoreconfStep(ProjectExplorer::BuildStepList *bsl, const Core::Id id); + AutoreconfStep(ProjectExplorer::BuildStepList *bsl, Core::Id id); bool fromMap(const QVariantMap &map); diff --git a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp index 121f72e8ce1..76acb720415 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp +++ b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp @@ -70,7 +70,7 @@ NamedWidget *AutotoolsBuildConfiguration::createConfigWidget() return new AutotoolsBuildSettingsWidget(this); } -AutotoolsBuildConfiguration::AutotoolsBuildConfiguration(ProjectExplorer::Target *parent, const Core::Id id) +AutotoolsBuildConfiguration::AutotoolsBuildConfiguration(ProjectExplorer::Target *parent, Core::Id id) : BuildConfiguration(parent, id) { } diff --git a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h index 3bee5f7116d..b0ef03decd7 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h +++ b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.h @@ -56,7 +56,7 @@ public: BuildType buildType() const; protected: - AutotoolsBuildConfiguration(ProjectExplorer::Target *parent, const Core::Id id); + AutotoolsBuildConfiguration(ProjectExplorer::Target *parent, Core::Id id); AutotoolsBuildConfiguration(ProjectExplorer::Target *parent, AutotoolsBuildConfiguration *source); friend class AutotoolsBuildSettingsWidget; diff --git a/src/plugins/autotoolsprojectmanager/autotoolsprojectfile.cpp b/src/plugins/autotoolsprojectmanager/autotoolsprojectfile.cpp index 1e4066a577b..57287e784a4 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsprojectfile.cpp +++ b/src/plugins/autotoolsprojectmanager/autotoolsprojectfile.cpp @@ -41,6 +41,7 @@ AutotoolsProjectFile::AutotoolsProjectFile(AutotoolsProject *project, const QStr m_project(project) { setId("Autotools.ProjectFile"); + setMimeType(QLatin1String(Constants::MAKEFILE_MIMETYPE)); setFilePath(fileName); } @@ -63,11 +64,6 @@ QString AutotoolsProjectFile::suggestedFileName() const return QString(); } -QString AutotoolsProjectFile::mimeType() const -{ - return QLatin1String(Constants::MAKEFILE_MIMETYPE); -} - bool AutotoolsProjectFile::isModified() const { return false; diff --git a/src/plugins/autotoolsprojectmanager/autotoolsprojectfile.h b/src/plugins/autotoolsprojectmanager/autotoolsprojectfile.h index 36f9b7d168d..07afe13717a 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsprojectfile.h +++ b/src/plugins/autotoolsprojectmanager/autotoolsprojectfile.h @@ -59,7 +59,6 @@ public: bool save(QString *errorString, const QString &fileName, bool autoSave); QString defaultPath() const; QString suggestedFileName() const; - QString mimeType() const; bool isModified() const; bool isSaveAsAllowed() const; bool reload(QString *errorString, ReloadFlag flag, ChangeType type); diff --git a/src/plugins/autotoolsprojectmanager/configurestep.cpp b/src/plugins/autotoolsprojectmanager/configurestep.cpp index 7d83f36ffdc..2f518632b5c 100644 --- a/src/plugins/autotoolsprojectmanager/configurestep.cpp +++ b/src/plugins/autotoolsprojectmanager/configurestep.cpp @@ -69,19 +69,19 @@ QList ConfigureStepFactory::availableCreationIds(BuildStepList *parent return QList() << Core::Id(CONFIGURE_STEP_ID); } -QString ConfigureStepFactory::displayNameForId(const Core::Id id) const +QString ConfigureStepFactory::displayNameForId(Core::Id id) const { if (id == CONFIGURE_STEP_ID) return tr("Configure", "Display name for AutotoolsProjectManager::ConfigureStep id."); return QString(); } -bool ConfigureStepFactory::canCreate(BuildStepList *parent, const Core::Id id) const +bool ConfigureStepFactory::canCreate(BuildStepList *parent, Core::Id id) const { return canHandle(parent) && id == CONFIGURE_STEP_ID; } -BuildStep *ConfigureStepFactory::create(BuildStepList *parent, const Core::Id id) +BuildStep *ConfigureStepFactory::create(BuildStepList *parent, Core::Id id) { if (!canCreate(parent, id)) return 0; @@ -133,7 +133,7 @@ ConfigureStep::ConfigureStep(BuildStepList* bsl) : ctor(); } -ConfigureStep::ConfigureStep(BuildStepList *bsl, const Core::Id id) : +ConfigureStep::ConfigureStep(BuildStepList *bsl, Core::Id id) : AbstractProcessStep(bsl, id) { ctor(); diff --git a/src/plugins/autotoolsprojectmanager/configurestep.h b/src/plugins/autotoolsprojectmanager/configurestep.h index e6845d8477e..40ae1d0a12e 100644 --- a/src/plugins/autotoolsprojectmanager/configurestep.h +++ b/src/plugins/autotoolsprojectmanager/configurestep.h @@ -60,10 +60,10 @@ public: ConfigureStepFactory(QObject *parent = 0); QList availableCreationIds(ProjectExplorer::BuildStepList *bc) const; - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; - bool canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const; - ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, const Core::Id id); + bool canCreate(ProjectExplorer::BuildStepList *parent, Core::Id id) const; + ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, Core::Id id); bool canClone(ProjectExplorer::BuildStepList *parent, ProjectExplorer::BuildStep *source) const; ProjectExplorer::BuildStep *clone(ProjectExplorer::BuildStepList *parent, ProjectExplorer::BuildStep *source); bool canRestore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map) const; @@ -109,7 +109,7 @@ signals: protected: ConfigureStep(ProjectExplorer::BuildStepList *bsl, ConfigureStep *bs); - ConfigureStep(ProjectExplorer::BuildStepList *bsl, const Core::Id id); + ConfigureStep(ProjectExplorer::BuildStepList *bsl, Core::Id id); bool fromMap(const QVariantMap &map); diff --git a/src/plugins/autotoolsprojectmanager/makestep.cpp b/src/plugins/autotoolsprojectmanager/makestep.cpp index 04a58886647..40fee97b984 100644 --- a/src/plugins/autotoolsprojectmanager/makestep.cpp +++ b/src/plugins/autotoolsprojectmanager/makestep.cpp @@ -74,21 +74,21 @@ QList MakeStepFactory::availableCreationIds(BuildStepList *parent) con return QList(); } -QString MakeStepFactory::displayNameForId(const Core::Id id) const +QString MakeStepFactory::displayNameForId(Core::Id id) const { if (id == MAKE_STEP_ID) return tr("Make", "Display name for AutotoolsProjectManager::MakeStep id."); return QString(); } -bool MakeStepFactory::canCreate(BuildStepList *parent, const Core::Id id) const +bool MakeStepFactory::canCreate(BuildStepList *parent, Core::Id id) const { if (parent->target()->project()->id() == AUTOTOOLS_PROJECT_ID) return id == MAKE_STEP_ID; return false; } -BuildStep *MakeStepFactory::create(BuildStepList *parent, const Core::Id id) +BuildStep *MakeStepFactory::create(BuildStepList *parent, Core::Id id) { if (!canCreate(parent, id)) return 0; @@ -133,7 +133,7 @@ MakeStep::MakeStep(BuildStepList* bsl) : ctor(); } -MakeStep::MakeStep(BuildStepList *bsl, const Core::Id id) : +MakeStep::MakeStep(BuildStepList *bsl, Core::Id id) : AbstractProcessStep(bsl, id), m_clean(false) { diff --git a/src/plugins/autotoolsprojectmanager/makestep.h b/src/plugins/autotoolsprojectmanager/makestep.h index 2fae1fff69e..91b0db407b2 100644 --- a/src/plugins/autotoolsprojectmanager/makestep.h +++ b/src/plugins/autotoolsprojectmanager/makestep.h @@ -61,10 +61,10 @@ public: MakeStepFactory(QObject *parent = 0); QList availableCreationIds(ProjectExplorer::BuildStepList *bc) const; - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; - bool canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const; - ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, const Core::Id id); + bool canCreate(ProjectExplorer::BuildStepList *parent, Core::Id id) const; + ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, Core::Id id); bool canClone(ProjectExplorer::BuildStepList *parent, ProjectExplorer::BuildStep *source) const; ProjectExplorer::BuildStep *clone(ProjectExplorer::BuildStepList *parent, ProjectExplorer::BuildStep *source); bool canRestore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map) const; @@ -110,7 +110,7 @@ signals: protected: MakeStep(ProjectExplorer::BuildStepList *bsl, MakeStep *bs); - MakeStep(ProjectExplorer::BuildStepList *bsl, const Core::Id id); + MakeStep(ProjectExplorer::BuildStepList *bsl, Core::Id id); bool fromMap(const QVariantMap &map); diff --git a/src/plugins/baremetal/baremetalgdbcommandsdeploystep.h b/src/plugins/baremetal/baremetalgdbcommandsdeploystep.h index 46129b43bdb..883e156c2e8 100644 --- a/src/plugins/baremetal/baremetalgdbcommandsdeploystep.h +++ b/src/plugins/baremetal/baremetalgdbcommandsdeploystep.h @@ -43,7 +43,7 @@ class BareMetalGdbCommandsDeployStep : public ProjectExplorer::BuildStep Q_OBJECT public: - BareMetalGdbCommandsDeployStep(ProjectExplorer::BuildStepList *bsl, const Core::Id id); + BareMetalGdbCommandsDeployStep(ProjectExplorer::BuildStepList *bsl, Core::Id id); BareMetalGdbCommandsDeployStep(ProjectExplorer::BuildStepList *bsl, BareMetalGdbCommandsDeployStep *other); ~BareMetalGdbCommandsDeployStep(); diff --git a/src/plugins/baremetal/baremetalrunconfiguration.h b/src/plugins/baremetal/baremetalrunconfiguration.h index 7469a1220de..c86b87dc0de 100644 --- a/src/plugins/baremetal/baremetalrunconfiguration.h +++ b/src/plugins/baremetal/baremetalrunconfiguration.h @@ -46,7 +46,7 @@ class BareMetalRunConfiguration : public ProjectExplorer::RunConfiguration friend class BareMetalRunConfigurationWidget; public: - explicit BareMetalRunConfiguration(ProjectExplorer::Target *parent, const Core::Id id, + explicit BareMetalRunConfiguration(ProjectExplorer::Target *parent, Core::Id id, const QString &projectFilePath); bool isEnabled() const; diff --git a/src/plugins/baremetal/baremetalrunconfigurationfactory.cpp b/src/plugins/baremetal/baremetalrunconfigurationfactory.cpp index 3de3c607ed4..53c537b96af 100644 --- a/src/plugins/baremetal/baremetalrunconfigurationfactory.cpp +++ b/src/plugins/baremetal/baremetalrunconfigurationfactory.cpp @@ -63,7 +63,7 @@ BareMetalRunConfigurationFactory::~BareMetalRunConfigurationFactory() { } -bool BareMetalRunConfigurationFactory::canCreate(Target *parent, const Core::Id id) const +bool BareMetalRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const { if (!canHandle(parent)) return false; @@ -97,13 +97,13 @@ QList BareMetalRunConfigurationFactory::availableCreationIds(Target *p return result; } -QString BareMetalRunConfigurationFactory::displayNameForId(const Core::Id id) const +QString BareMetalRunConfigurationFactory::displayNameForId(Core::Id id) const { return tr("%1 (on GDB server or hardware debugger)") .arg(QFileInfo(pathFromId(id)).completeBaseName()); } -RunConfiguration *BareMetalRunConfigurationFactory::doCreate(Target *parent, const Core::Id id) +RunConfiguration *BareMetalRunConfigurationFactory::doCreate(Target *parent, Core::Id id) { Q_UNUSED(id); return new BareMetalRunConfiguration(parent, id, pathFromId(id)); diff --git a/src/plugins/baremetal/baremetalrunconfigurationfactory.h b/src/plugins/baremetal/baremetalrunconfigurationfactory.h index 63f925f6ccd..9913a8efa93 100644 --- a/src/plugins/baremetal/baremetalrunconfigurationfactory.h +++ b/src/plugins/baremetal/baremetalrunconfigurationfactory.h @@ -43,10 +43,10 @@ public: explicit BareMetalRunConfigurationFactory(QObject *parent = 0); ~BareMetalRunConfigurationFactory(); - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; QList availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode) const; - bool canCreate(ProjectExplorer::Target *parent, const Core::Id id) const; + bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const; bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const; @@ -56,7 +56,7 @@ public: private: bool canHandle(const ProjectExplorer::Target *target) const; - ProjectExplorer::RunConfiguration *doCreate(ProjectExplorer::Target *parent, const Core::Id id); + ProjectExplorer::RunConfiguration *doCreate(ProjectExplorer::Target *parent, Core::Id id); ProjectExplorer::RunConfiguration *doRestore(ProjectExplorer::Target *parent, const QVariantMap &map); }; diff --git a/src/plugins/bineditor/bineditorplugin.cpp b/src/plugins/bineditor/bineditorplugin.cpp index f96ce29c20e..b5867192c3d 100644 --- a/src/plugins/bineditor/bineditorplugin.cpp +++ b/src/plugins/bineditor/bineditorplugin.cpp @@ -97,7 +97,7 @@ public: m_widget->highlightSearchResults(txt.toLatin1(), textDocumentFlagsForFindFlags(findFlags)); } - void clearResults() + void clearHighlights() { m_widget->highlightSearchResults(QByteArray()); } @@ -206,17 +206,13 @@ public: Core::IDocument(parent) { setId(Core::Constants::K_DEFAULT_BINARY_EDITOR_ID); + setMimeType(QLatin1String(BINEditor::Constants::C_BINEDITOR_MIMETYPE)); m_widget = parent; connect(m_widget, SIGNAL(dataRequested(quint64)), this, SLOT(provideData(quint64))); connect(m_widget, SIGNAL(newRangeRequested(quint64)), this, SLOT(provideNewRange(quint64))); } - ~BinEditorDocument() {} - - QString mimeType() const { - return QLatin1String(BINEditor::Constants::C_BINEDITOR_MIMETYPE); - } bool setContents(const QByteArray &contents) { diff --git a/src/plugins/clangcodemodel/clangcodemodel.qbs b/src/plugins/clangcodemodel/clangcodemodel.qbs index c2c8ed7034b..499f2e04928 100644 --- a/src/plugins/clangcodemodel/clangcodemodel.qbs +++ b/src/plugins/clangcodemodel/clangcodemodel.qbs @@ -1,5 +1,7 @@ import qbs import qbs.File +import qbs.Process +import QtcProcessOutputReader QtcPlugin { name: "ClangCodeModel" @@ -11,14 +13,12 @@ QtcPlugin { Depends { name: "TextEditor" } Depends { name: "Utils" } - property string llvmInstallDir: qbs.getEnv("LLVM_INSTALL_DIR") - condition: llvmInstallDir && !llvmInstallDir.isEmpty + property string llvmInstallDirFromEnv: qbs.getEnv("LLVM_INSTALL_DIR") property bool clangCompletion: true property bool clangHighlighting: true property bool clangIndexing: false - // Not used atm; we just rely on the LLVM_INSTALL_DIR environment variable. property string llvmConfig: { var llvmConfigVariants = [ "llvm-config", "llvm-config-3.2", "llvm-config-3.3", "llvm-config-3.4", @@ -26,10 +26,12 @@ QtcPlugin { ]; // Prefer llvm-config* from LLVM_INSTALL_DIR - for (var i = 0; i < llvmConfigVariants.length; ++i) { - var variant = llvmInstallDir + "/bin/" + llvmConfigVariants[i]; - if (File.exists(variant)) - return variant; + if (llvmInstallDirFromEnv) { + for (var i = 0; i < llvmConfigVariants.length; ++i) { + var variant = llvmInstallDirFromEnv + "/bin/" + llvmConfigVariants[i]; + if (File.exists(variant)) + return variant; + } } // Find llvm-config* in PATH @@ -44,20 +46,17 @@ QtcPlugin { } } - // Fallback - return "llvm-config"; + return undefined; } + condition: llvmConfig + + property string llvmIncludeDir: QtcProcessOutputReader.readOutput(llvmConfig, ["--includedir"]) + property string llvmLibDir: QtcProcessOutputReader.readOutput(llvmConfig, ["--libdir"]) + property string llvmVersion: QtcProcessOutputReader.readOutput(llvmConfig, ["--version"]) + .replace(/(\d+\.\d+).*/, "$1") - property string llvmIncludeDir: llvmInstallDir + "/include" cpp.includePaths: base.concat(llvmIncludeDir) - - property stringList llvmLibDirs: { - var list = [llvmInstallDir + "/lib"]; - if (qbs.targetOS.contains("windows")) - list.push(llvmInstallDir + "/bin"); - return list; - } - cpp.libraryPaths: base.concat(llvmLibDirs) + cpp.libraryPaths: base.concat(llvmLibDir) cpp.rpaths: cpp.libraryPaths property string llvmLib: "clang" @@ -65,6 +64,19 @@ QtcPlugin { ? ["advapi32", "shell32"] : [] cpp.dynamicLibraries: base.concat(llvmLib).concat(additionalLibraries) + cpp.defines: { + var defines = base; + defines.push('CLANG_VERSION="' + llvmVersion + '"'); + defines.push('CLANG_RESOURCE_DIR="' + llvmLibDir + '/clang/' + llvmVersion + '/include"'); + if (clangCompletion) + defines.push("CLANG_COMPLETION"); + if (clangHighlighting) + defines.push("CLANG_HIGHLIGHTING"); + if (clangIndexing) + defines.push("CLANG_INDEXING"); + return defines; + } + Group { name: "Completion support" condition: product.clangCompletion diff --git a/src/plugins/cmakeprojectmanager/cmakefilecompletionassist.cpp b/src/plugins/cmakeprojectmanager/cmakefilecompletionassist.cpp index 8da3cb82fd7..62aa754e77e 100644 --- a/src/plugins/cmakeprojectmanager/cmakefilecompletionassist.cpp +++ b/src/plugins/cmakeprojectmanager/cmakefilecompletionassist.cpp @@ -46,7 +46,7 @@ CMakeFileCompletionAssistProvider::CMakeFileCompletionAssistProvider(CMakeSettin CMakeFileCompletionAssistProvider::~CMakeFileCompletionAssistProvider() {} -bool CMakeFileCompletionAssistProvider::supportsEditor(const Core::Id &editorId) const +bool CMakeFileCompletionAssistProvider::supportsEditor(Core::Id editorId) const { return editorId == CMakeProjectManager::Constants::CMAKE_EDITOR_ID; } diff --git a/src/plugins/cmakeprojectmanager/cmakefilecompletionassist.h b/src/plugins/cmakeprojectmanager/cmakefilecompletionassist.h index d6614d5d9dc..c6dfad1e725 100644 --- a/src/plugins/cmakeprojectmanager/cmakefilecompletionassist.h +++ b/src/plugins/cmakeprojectmanager/cmakefilecompletionassist.h @@ -45,7 +45,7 @@ public: CMakeFileCompletionAssistProvider(CMakeSettingsPage *settingsPage); ~CMakeFileCompletionAssistProvider(); - bool supportsEditor(const Core::Id &editorId) const; + bool supportsEditor(Core::Id editorId) const; TextEditor::IAssistProcessor *createProcessor() const; private: diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp index ef775db9625..41c849734da 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp @@ -739,7 +739,10 @@ void CMakeProject::updateApplicationAndDeploymentTargets() absoluteSourcePath.append(QLatin1Char('/')); if (deploymentStream.device()) { while (!deploymentStream.atEnd()) { - QStringList file = deploymentStream.readLine().split(QLatin1Char(':')); + QString line = deploymentStream.readLine(); + if (!line.contains(QLatin1Char(':'))) + continue; + QStringList file = line.split(QLatin1Char(':')); deploymentData.addFile(absoluteSourcePath + file.at(0), deploymentPrefix + file.at(1)); } } @@ -767,6 +770,7 @@ CMakeFile::CMakeFile(CMakeProject *parent, QString fileName) : Core::IDocument(parent), m_project(parent) { setId("Cmake.ProjectFile"); + setMimeType(QLatin1String(Constants::CMAKEMIMETYPE)); setFilePath(fileName); } @@ -790,12 +794,6 @@ QString CMakeFile::suggestedFileName() const return QString(); } -QString CMakeFile::mimeType() const -{ - return QLatin1String(Constants::CMAKEMIMETYPE); -} - - bool CMakeFile::isModified() const { return false; diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.h b/src/plugins/cmakeprojectmanager/cmakeproject.h index 1ba92dd82b5..cd0edf866f1 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.h +++ b/src/plugins/cmakeprojectmanager/cmakeproject.h @@ -194,7 +194,6 @@ public: QString defaultPath() const; QString suggestedFileName() const; - QString mimeType() const; bool isModified() const; bool isSaveAsAllowed() const; diff --git a/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp index feece04f65d..436aa7f62f3 100644 --- a/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp @@ -365,7 +365,7 @@ QList CMakeRunConfigurationFactory::availableCreationIds(Target *paren } // used to translate the ids to names to display to the user -QString CMakeRunConfigurationFactory::displayNameForId(const Core::Id id) const +QString CMakeRunConfigurationFactory::displayNameForId(Core::Id id) const { return buildTargetFromId(id); } @@ -377,7 +377,7 @@ bool CMakeRunConfigurationFactory::canHandle(Target *parent) const return qobject_cast(parent->project()); } -bool CMakeRunConfigurationFactory::canCreate(Target *parent, const Core::Id id) const +bool CMakeRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const { if (!canHandle(parent)) return false; @@ -385,7 +385,7 @@ bool CMakeRunConfigurationFactory::canCreate(Target *parent, const Core::Id id) return project->hasBuildTarget(buildTargetFromId(id)); } -RunConfiguration *CMakeRunConfigurationFactory::doCreate(Target *parent, const Core::Id id) +RunConfiguration *CMakeRunConfigurationFactory::doCreate(Target *parent, Core::Id id) { CMakeProject *project = static_cast(parent->project()); const QString title(buildTargetFromId(id)); diff --git a/src/plugins/cmakeprojectmanager/cmakerunconfiguration.h b/src/plugins/cmakeprojectmanager/cmakerunconfiguration.h index 53d530362ff..367dfc3f8ed 100644 --- a/src/plugins/cmakeprojectmanager/cmakerunconfiguration.h +++ b/src/plugins/cmakeprojectmanager/cmakerunconfiguration.h @@ -133,13 +133,13 @@ public: explicit CMakeRunConfigurationFactory(QObject *parent = 0); ~CMakeRunConfigurationFactory(); - bool canCreate(ProjectExplorer::Target *parent, const Core::Id id) const; + bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const; bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const; bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *product) const; ProjectExplorer::RunConfiguration *clone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *product); QList availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode) const; - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; static Core::Id idFromBuildTarget(const QString &target); static QString buildTargetFromId(Core::Id id); @@ -147,7 +147,7 @@ public: private: bool canHandle(ProjectExplorer::Target *parent) const; - ProjectExplorer::RunConfiguration *doCreate(ProjectExplorer::Target *parent, const Core::Id id); + ProjectExplorer::RunConfiguration *doCreate(ProjectExplorer::Target *parent, Core::Id id); ProjectExplorer::RunConfiguration *doRestore(ProjectExplorer::Target *parent, const QVariantMap &map); }; diff --git a/src/plugins/cmakeprojectmanager/makestep.cpp b/src/plugins/cmakeprojectmanager/makestep.cpp index afd387cacea..b81d8889a87 100644 --- a/src/plugins/cmakeprojectmanager/makestep.cpp +++ b/src/plugins/cmakeprojectmanager/makestep.cpp @@ -70,7 +70,7 @@ MakeStep::MakeStep(BuildStepList *bsl) : ctor(); } -MakeStep::MakeStep(BuildStepList *bsl, const Core::Id id) : +MakeStep::MakeStep(BuildStepList *bsl, Core::Id id) : AbstractProcessStep(bsl, id), m_clean(false) { ctor(); @@ -452,14 +452,14 @@ MakeStepFactory::~MakeStepFactory() { } -bool MakeStepFactory::canCreate(BuildStepList *parent, const Core::Id id) const +bool MakeStepFactory::canCreate(BuildStepList *parent, Core::Id id) const { if (parent->target()->project()->id() == Constants::CMAKEPROJECT_ID) return id == MS_ID; return false; } -BuildStep *MakeStepFactory::create(BuildStepList *parent, const Core::Id id) +BuildStep *MakeStepFactory::create(BuildStepList *parent, Core::Id id) { if (!canCreate(parent, id)) return 0; @@ -506,7 +506,7 @@ QList MakeStepFactory::availableCreationIds(ProjectExplorer::BuildStep return QList(); } -QString MakeStepFactory::displayNameForId(const Core::Id id) const +QString MakeStepFactory::displayNameForId(Core::Id id) const { if (id == MS_ID) return tr("Make", "Display name for CMakeProjectManager::MakeStep id."); diff --git a/src/plugins/cmakeprojectmanager/makestep.h b/src/plugins/cmakeprojectmanager/makestep.h index 0ded1ee1586..bb3ca067fc8 100644 --- a/src/plugins/cmakeprojectmanager/makestep.h +++ b/src/plugins/cmakeprojectmanager/makestep.h @@ -95,7 +95,7 @@ protected: void processFinished(int exitCode, QProcess::ExitStatus status); MakeStep(ProjectExplorer::BuildStepList *bsl, MakeStep *bs); - MakeStep(ProjectExplorer::BuildStepList *bsl, const Core::Id id); + MakeStep(ProjectExplorer::BuildStepList *bsl, Core::Id id); bool fromMap(const QVariantMap &map); @@ -145,15 +145,15 @@ public: explicit MakeStepFactory(QObject *parent = 0); virtual ~MakeStepFactory(); - bool canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const; - ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, const Core::Id id); + bool canCreate(ProjectExplorer::BuildStepList *parent, Core::Id id) const; + ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, Core::Id id); bool canClone(ProjectExplorer::BuildStepList *parent, ProjectExplorer::BuildStep *source) const; ProjectExplorer::BuildStep *clone(ProjectExplorer::BuildStepList *parent, ProjectExplorer::BuildStep *source); bool canRestore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map) const; ProjectExplorer::BuildStep *restore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map); QList availableCreationIds(ProjectExplorer::BuildStepList *bc) const; - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; }; } // namespace Internal diff --git a/src/plugins/coreplugin/actionmanager/actioncontainer.cpp b/src/plugins/coreplugin/actionmanager/actioncontainer.cpp index a28e357292f..92d8207aee4 100644 --- a/src/plugins/coreplugin/actionmanager/actioncontainer.cpp +++ b/src/plugins/coreplugin/actionmanager/actioncontainer.cpp @@ -117,13 +117,13 @@ using namespace Core::Internal; */ /*! - \fn QAction *ActionContainer::insertLocation(const Id &group) const + \fn QAction *ActionContainer::insertLocation(Id group) const Returns an action representing the \a group, that could be used with \c{QWidget::insertAction}. */ /*! - \fn void ActionContainer::appendGroup(const Id &group) + \fn void ActionContainer::appendGroup(Id group) Adds a group with the given \a identifier to the action container. Using groups you can segment your action container into logical parts and add actions and menus directly to these parts. @@ -132,7 +132,7 @@ using namespace Core::Internal; */ /*! - \fn void ActionContainer::addAction(Command *action, const Id &group = Id()) + \fn void ActionContainer::addAction(Command *action, Id group = Id()) Add the \a action as a menu item to this action container. The action is added as the last item of the specified \a group. \sa appendGroup() @@ -140,7 +140,7 @@ using namespace Core::Internal; */ /*! - \fn void ActionContainer::addMenu(ActionContainer *menu, const Id &group = Id()) + \fn void ActionContainer::addMenu(ActionContainer *menu, Id group = Id()) Add the \a menu as a submenu to this action container. The menu is added as the last item of the specified \a group. \sa appendGroup() diff --git a/src/plugins/coreplugin/actionmanager/actioncontainer_p.h b/src/plugins/coreplugin/actionmanager/actioncontainer_p.h index 345bf818f3b..f8f99a34645 100644 --- a/src/plugins/coreplugin/actionmanager/actioncontainer_p.h +++ b/src/plugins/coreplugin/actionmanager/actioncontainer_p.h @@ -40,7 +40,7 @@ namespace Internal { struct Group { - Group(const Id &id) : id(id) {} + Group(Id id) : id(id) {} Id id; QList items; // Command * or ActionContainer * }; diff --git a/src/plugins/coreplugin/basefilewizardfactory.cpp b/src/plugins/coreplugin/basefilewizardfactory.cpp index fe2cffd2031..08e3bb2e817 100644 --- a/src/plugins/coreplugin/basefilewizardfactory.cpp +++ b/src/plugins/coreplugin/basefilewizardfactory.cpp @@ -122,7 +122,7 @@ WizardEventLoop::WizardResult WizardEventLoop::execWizardPage(QWizard &wizard) connect(&wizard, SIGNAL(currentIdChanged(int)), eventLoop, SLOT(pageChanged(int))); connect(&wizard, SIGNAL(accepted()), eventLoop, SLOT(accepted())); connect(&wizard, SIGNAL(rejected()), eventLoop, SLOT(rejected())); - wizard.setAttribute(Qt::WA_ShowModal, true); + wizard.setWindowFlags(wizard.windowFlags() | Qt::WindowStaysOnTopHint); wizard.show(); } const WizardResult result = eventLoop->execWizardPageI(); @@ -138,7 +138,7 @@ WizardEventLoop::WizardResult WizardEventLoop::execWizardPage(QWizard &wizard) WizardEventLoop::WizardResult WizardEventLoop::execWizardPageI() { m_result = Rejected; - exec(QEventLoop::DialogExec); + exec(); return m_result; } diff --git a/src/plugins/coreplugin/coreplugin.pro b/src/plugins/coreplugin/coreplugin.pro index 7b23ff5211d..840787e5635 100644 --- a/src/plugins/coreplugin/coreplugin.pro +++ b/src/plugins/coreplugin/coreplugin.pro @@ -92,6 +92,7 @@ SOURCES += mainwindow.cpp \ fileutils.cpp \ featureprovider.cpp \ idocument.cpp \ + idocumentfactory.cpp \ textdocument.cpp \ documentmanager.cpp \ removefiledialog.cpp \ diff --git a/src/plugins/coreplugin/coreplugin.qbs b/src/plugins/coreplugin/coreplugin.qbs index 6406600478e..cc1e6fecb66 100644 --- a/src/plugins/coreplugin/coreplugin.qbs +++ b/src/plugins/coreplugin/coreplugin.qbs @@ -54,7 +54,7 @@ QtcPlugin { "icorelistener.cpp", "icorelistener.h", "id.cpp", "id.h", "idocument.cpp", "idocument.h", - "idocumentfactory.h", + "idocumentfactory.cpp", "idocumentfactory.h", "ifilewizardextension.h", "imode.cpp", "imode.h", "inavigationwidgetfactory.cpp", "inavigationwidgetfactory.h", diff --git a/src/plugins/coreplugin/dialogs/newdialog.cpp b/src/plugins/coreplugin/dialogs/newdialog.cpp index 374c21e2051..32704ec31d1 100644 --- a/src/plugins/coreplugin/dialogs/newdialog.cpp +++ b/src/plugins/coreplugin/dialogs/newdialog.cpp @@ -31,15 +31,19 @@ #include "ui_newdialog.h" #include +#include +#include +#include -#include #include -#include -#include -#include -#include -#include #include +#include +#include +#include +#include +#include +#include +#include Q_DECLARE_METATYPE(Core::IWizardFactory*) @@ -183,12 +187,16 @@ Q_DECLARE_METATYPE(WizardFactoryContainer) using namespace Core; using namespace Core::Internal; +QString NewDialog::m_lastCategory = QString(); + NewDialog::NewDialog(QWidget *parent) : QDialog(parent), m_ui(new Core::Internal::Ui::NewDialog), m_okButton(0) { setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); + setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint); + setAttribute(Qt::WA_DeleteOnClose); m_ui->setupUi(this); QPalette p = m_ui->frame->palette(); p.setColor(QPalette::Window, p.color(QPalette::Base)); @@ -236,8 +244,12 @@ static bool wizardFactoryLessThan(const IWizardFactory *f1, const IWizardFactory return f1->id().compare(f2->id()) < 0; } -void NewDialog::setWizardFactories(QList factories) +void NewDialog::setWizardFactories(QList factories, + const QString &defaultLocation, + const QVariantMap &extraVariables) { + m_defaultLocation = defaultLocation; + m_extraVariables = extraVariables; qStableSort(factories.begin(), factories.end(), wizardFactoryLessThan); m_model->clear(); @@ -287,14 +299,13 @@ void NewDialog::setWizardFactories(QList factories) parentItem->removeRow(0); } -Core::IWizardFactory *NewDialog::showDialog() +void NewDialog::showDialog() { - static QString lastCategory; QModelIndex idx; - if (!lastCategory.isEmpty()) + if (!m_lastCategory.isEmpty()) foreach (QStandardItem* item, m_categoryItems) { - if (item->data(Qt::UserRole) == lastCategory) + if (item->data(Qt::UserRole) == m_lastCategory) idx = m_twoLevelProxyModel->mapToSource(m_model->indexFromItem(item)); } if (!idx.isValid()) @@ -312,18 +323,7 @@ Core::IWizardFactory *NewDialog::showDialog() currentItemChanged(m_ui->templatesView->rootIndex().child(0,0)); updateOkButton(); - - const int retVal = exec(); - - idx = m_ui->templateCategoryView->currentIndex(); - QStandardItem *currentItem = m_model->itemFromIndex(m_twoLevelProxyModel->mapToSource(idx)); - if (currentItem) - lastCategory = currentItem->data(Qt::UserRole).toString(); - - if (retVal != Accepted) - return 0; - - return currentWizardFactory(); + show(); } QString NewDialog::selectedPlatform() const @@ -333,6 +333,18 @@ QString NewDialog::selectedPlatform() const return m_ui->comboBox->itemData(index).toString(); } +bool NewDialog::event(QEvent *event) +{ + if (event->type() == QEvent::ShortcutOverride) { + QKeyEvent *ke = static_cast(event); + if (ke->key() == Qt::Key_Escape && !ke->modifiers()) { + ke->accept(); + return true; + } + } + return QDialog::event(event); +} + NewDialog::~NewDialog() { delete m_ui; @@ -422,10 +434,48 @@ void NewDialog::currentItemChanged(const QModelIndex &index) updateOkButton(); } +void NewDialog::saveState() +{ + QModelIndex idx = m_ui->templateCategoryView->currentIndex(); + QStandardItem *currentItem = m_model->itemFromIndex(m_twoLevelProxyModel->mapToSource(idx)); + if (currentItem) + m_lastCategory = currentItem->data(Qt::UserRole).toString(); +} + void NewDialog::okButtonClicked() { - if (m_ui->templatesView->currentIndex().isValid()) - accept(); + if (m_ui->templatesView->currentIndex().isValid()) { + hide(); + saveState(); + + IWizardFactory *wizard = currentWizardFactory(); + QTC_ASSERT(wizard, accept(); return); + QString path = m_defaultLocation; + if (path.isEmpty()) { + switch (wizard->kind()) { + case IWizardFactory::ProjectWizard: + // Project wizards: Check for projects directory or + // use last visited directory of file dialog. Never start + // at current. + path = DocumentManager::useProjectsDirectory() ? + DocumentManager::projectsDirectory() : + DocumentManager::fileDialogLastVisitedDirectory(); + break; + default: + path = DocumentManager::fileDialogInitialDirectory(); + break; + } + } + wizard->runWizard(path, ICore::dialogParent(), selectedPlatform(), m_extraVariables); + + close(); + } +} + +void NewDialog::reject() +{ + saveState(); + QDialog::reject(); } void NewDialog::updateOkButton() diff --git a/src/plugins/coreplugin/dialogs/newdialog.h b/src/plugins/coreplugin/dialogs/newdialog.h index 3dc8fbd9f61..04d434fc016 100644 --- a/src/plugins/coreplugin/dialogs/newdialog.h +++ b/src/plugins/coreplugin/dialogs/newdialog.h @@ -60,21 +60,28 @@ public: explicit NewDialog(QWidget *parent); virtual ~NewDialog(); - void setWizardFactories(QList factories); + void setWizardFactories(QList factories, const QString &defaultLocation, const QVariantMap &extraVariables); - Core::IWizardFactory *showDialog(); + void showDialog(); QString selectedPlatform() const; +protected: + bool event(QEvent *); + private slots: void currentCategoryChanged(const QModelIndex &); void currentItemChanged(const QModelIndex &); void okButtonClicked(); + void reject(); void updateOkButton(); void setSelectedPlatform(const QString &platform); private: Core::IWizardFactory *currentWizardFactory() const; void addItem(QStandardItem *topLevelCategoryItem, IWizardFactory *factory); + void saveState(); + + static QString m_lastCategory; Ui::NewDialog *m_ui; QStandardItemModel *m_model; @@ -83,6 +90,8 @@ private: QPushButton *m_okButton; QIcon m_dummyIcon; QList m_categoryItems; + QString m_defaultLocation; + QVariantMap m_extraVariables; }; } // namespace Internal diff --git a/src/plugins/coreplugin/dialogs/settingsdialog.cpp b/src/plugins/coreplugin/dialogs/settingsdialog.cpp index c28f3907667..c4fd7e78f5c 100644 --- a/src/plugins/coreplugin/dialogs/settingsdialog.cpp +++ b/src/plugins/coreplugin/dialogs/settingsdialog.cpp @@ -34,6 +34,7 @@ #include #include #include +#include #include #include @@ -353,6 +354,9 @@ void SettingsDialog::showPage(Id categoryId, Id pageId) initialPage = Id::fromSetting(settings->value(QLatin1String(pageKeyC))); } + if (!initialCategory.isValid()) // no category given and no old setting + return; + int initialCategoryIndex = -1; int initialPageIndex = -1; const QList &categories = m_model->categories(); @@ -360,13 +364,22 @@ void SettingsDialog::showPage(Id categoryId, Id pageId) Category *category = categories.at(i); if (category->id == initialCategory) { initialCategoryIndex = i; - for (int j = 0; j < category->pages.size(); ++j) { - IOptionsPage *page = category->pages.at(j); - if (page->id() == initialPage) - initialPageIndex = j; + if (initialPage.isValid()) { + for (int j = 0; j < category->pages.size(); ++j) { + IOptionsPage *page = category->pages.at(j); + if (page->id() == initialPage) + initialPageIndex = j; + } } + break; } } + + QTC_ASSERT(initialCategoryIndex != -1, + qDebug("Unknown category: %s", initialCategory.name().constData()); return); + QTC_ASSERT(!initialPage.isValid() || initialPageIndex != -1, + qDebug("Unknown page: %s", initialPage.name().constData())); + if (initialCategoryIndex != -1) { const QModelIndex modelIndex = m_proxyModel->mapFromSource(m_model->index(initialCategoryIndex)); m_categoryList->setCurrentIndex(modelIndex); diff --git a/src/plugins/coreplugin/documentmanager.cpp b/src/plugins/coreplugin/documentmanager.cpp index fcf6a15be9b..4a7a6e0f4b6 100644 --- a/src/plugins/coreplugin/documentmanager.cpp +++ b/src/plugins/coreplugin/documentmanager.cpp @@ -1133,7 +1133,7 @@ void DocumentManager::checkForReload() \a editorId defaults to the empty id, which lets \QC figure out the best editor itself. */ -void DocumentManager::addToRecentFiles(const QString &fileName, const Id &editorId) +void DocumentManager::addToRecentFiles(const QString &fileName, Id editorId) { if (fileName.isEmpty()) return; diff --git a/src/plugins/coreplugin/documentmanager.h b/src/plugins/coreplugin/documentmanager.h index 3dafb60271c..1fc72b24b75 100644 --- a/src/plugins/coreplugin/documentmanager.h +++ b/src/plugins/coreplugin/documentmanager.h @@ -74,7 +74,7 @@ public: static void unexpectFileChange(const QString &fileName); // recent files - static void addToRecentFiles(const QString &fileName, const Id &editorId = Id()); + static void addToRecentFiles(const QString &fileName, Id editorId = Id()); Q_SLOT void clearRecentFiles(); static QList recentFiles(); diff --git a/src/plugins/coreplugin/editmode.cpp b/src/plugins/coreplugin/editmode.cpp index 5bffb473e41..412d1425352 100644 --- a/src/plugins/coreplugin/editmode.cpp +++ b/src/plugins/coreplugin/editmode.cpp @@ -27,12 +27,13 @@ ** ****************************************************************************/ -#include "editmode.h" #include "coreconstants.h" +#include "editmode.h" +#include "icore.h" #include "modemanager.h" #include "minisplitter.h" -#include "outputpane.h" #include "navigationwidget.h" +#include "outputpane.h" #include "rightpane.h" #include #include @@ -85,9 +86,13 @@ EditMode::EditMode() : this, SLOT(grabEditorManager(Core::IMode*))); m_splitter->setFocusProxy(EditorManager::instance()); + IContext *modeContextObject = new IContext(this); + modeContextObject->setContext(Context(Constants::C_EDITORMANAGER)); + modeContextObject->setWidget(m_splitter); + ICore::addContextObject(modeContextObject); + setWidget(m_splitter); setContext(Context(Constants::C_EDIT_MODE, - Constants::C_EDITORMANAGER, Constants::C_NAVIGATION_PANE)); } diff --git a/src/plugins/coreplugin/editormanager/documentmodel.cpp b/src/plugins/coreplugin/editormanager/documentmodel.cpp index 932a1d72b6e..c7894db8b9c 100644 --- a/src/plugins/coreplugin/editormanager/documentmodel.cpp +++ b/src/plugins/coreplugin/editormanager/documentmodel.cpp @@ -175,7 +175,7 @@ void DocumentModel::addEditor(IEditor *editor, bool *isNewDocument) } } -void DocumentModel::addRestoredDocument(const QString &fileName, const QString &displayName, const Id &id) +void DocumentModel::addRestoredDocument(const QString &fileName, const QString &displayName, Id id) { Entry *entry = new Entry; entry->m_fileName = fileName; diff --git a/src/plugins/coreplugin/editormanager/documentmodel.h b/src/plugins/coreplugin/editormanager/documentmodel.h index c956890bf22..4845aef8260 100644 --- a/src/plugins/coreplugin/editormanager/documentmodel.h +++ b/src/plugins/coreplugin/editormanager/documentmodel.h @@ -83,7 +83,7 @@ public: // editor manager related functions, nobody else should call it static void addEditor(IEditor *editor, bool *isNewDocument); - static void addRestoredDocument(const QString &fileName, const QString &displayName, const Id &id); + static void addRestoredDocument(const QString &fileName, const QString &displayName, Id id); static Entry *firstRestoredEntry(); static void removeEditor(IEditor *editor, bool *lastOneForDocument); static void removeDocument(const QString &fileName); diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index 3b98fa3763e..441efa50327 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -1393,7 +1393,7 @@ EditorManager::ExternalEditorList /* For something that has a 'QString id' (IEditorFactory * or IExternalEditor), find the one matching a id. */ template -EditorFactoryLike *findById(const Core::Id &id) +EditorFactoryLike *findById(Core::Id id) { return ExtensionSystem::PluginManager::getObject( [&id](EditorFactoryLike *efl) { @@ -1401,7 +1401,7 @@ EditorFactoryLike *findById(const Core::Id &id) }); } -IEditor *EditorManager::createEditor(const Id &editorId, const QString &fileName) +IEditor *EditorManager::createEditor(Id editorId, const QString &fileName) { if (debugEditorManager) qDebug() << Q_FUNC_INFO << editorId.name() << fileName; @@ -1503,7 +1503,7 @@ Core::Id EditorManager::getOpenWithEditorId(const QString &fileName, return selectedId; } -IEditor *EditorManager::openEditor(const QString &fileName, const Id &editorId, +IEditor *EditorManager::openEditor(const QString &fileName, Id editorId, OpenEditorFlags flags, bool *newEditor) { if (flags & EditorManager::OpenInOtherSplit) { @@ -1518,7 +1518,7 @@ IEditor *EditorManager::openEditor(const QString &fileName, const Id &editorId, } IEditor *EditorManager::openEditorAt(const QString &fileName, int line, int column, - const Id &editorId, OpenEditorFlags flags, bool *newEditor) + Id editorId, OpenEditorFlags flags, bool *newEditor) { m_instance->cutForwardNavigationHistory(); m_instance->addCurrentPositionToNavigationHistory(); @@ -1586,7 +1586,7 @@ bool EditorManager::isAutoSaveFile(const QString &fileName) } IEditor *EditorManager::openEditor(Core::Internal::EditorView *view, const QString &fileName, - const Id &editorId, OpenEditorFlags flags, bool *newEditor) + Id editorId, OpenEditorFlags flags, bool *newEditor) { if (debugEditorManager) qDebug() << Q_FUNC_INFO << fileName << editorId.name(); @@ -1654,7 +1654,7 @@ IEditor *EditorManager::openEditor(Core::Internal::EditorView *view, const QStri return result; } -bool EditorManager::openExternalEditor(const QString &fileName, const Core::Id &editorId) +bool EditorManager::openExternalEditor(const QString &fileName, Core::Id editorId) { IExternalEditor *ee = findById(editorId); if (!ee) @@ -1676,7 +1676,7 @@ QStringList EditorManager::getOpenFileNames() } -IEditor *EditorManager::openEditorWithContents(const Id &editorId, +IEditor *EditorManager::openEditorWithContents(Id editorId, QString *titlePattern, const QByteArray &contents, OpenEditorFlags flags) diff --git a/src/plugins/coreplugin/editormanager/editormanager.h b/src/plugins/coreplugin/editormanager/editormanager.h index 274badcd5c4..27a408068b0 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.h +++ b/src/plugins/coreplugin/editormanager/editormanager.h @@ -109,16 +109,16 @@ public: Q_DECLARE_FLAGS(OpenEditorFlags, OpenEditorFlag) static QString splitLineNumber(QString *fileName); - static IEditor *openEditor(const QString &fileName, const Id &editorId = Id(), + static IEditor *openEditor(const QString &fileName, Id editorId = Id(), OpenEditorFlags flags = NoFlags, bool *newEditor = 0); static IEditor *openEditorAt(const QString &fileName, int line, int column = 0, - const Id &editorId = Id(), OpenEditorFlags flags = NoFlags, + Id editorId = Id(), OpenEditorFlags flags = NoFlags, bool *newEditor = 0); - static IEditor *openEditorWithContents(const Id &editorId, QString *titlePattern = 0, + static IEditor *openEditorWithContents(Id editorId, QString *titlePattern = 0, const QByteArray &contents = QByteArray(), OpenEditorFlags flags = NoFlags); - static bool openExternalEditor(const QString &fileName, const Id &editorId); + static bool openExternalEditor(const QString &fileName, Id editorId); static QStringList getOpenFileNames(); static Id getOpenWithEditorId(const QString &fileName, bool *isExternalEditor = 0); @@ -252,7 +252,7 @@ private: ~EditorManager(); static void init(); - static IEditor *createEditor(const Id &id = Id(), const QString &fileName = QString()); + static IEditor *createEditor(Id id = Id(), const QString &fileName = QString()); static void addEditor(IEditor *editor); static void removeEditor(IEditor *editor); @@ -265,7 +265,7 @@ private: OpenEditorFlags flags = NoFlags); static void activateView(Internal::EditorView *view); static IEditor *openEditor(Internal::EditorView *view, const QString &fileName, - const Id &id = Id(), OpenEditorFlags flags = NoFlags, bool *newEditor = 0); + Id id = Id(), OpenEditorFlags flags = NoFlags, bool *newEditor = 0); static int visibleDocumentsCount(); static void setCurrentEditor(IEditor *editor, bool ignoreNavigationHistory = false); diff --git a/src/plugins/coreplugin/editormanager/ieditorfactory.cpp b/src/plugins/coreplugin/editormanager/ieditorfactory.cpp index 08e45fb1820..1e1da4a7586 100644 --- a/src/plugins/coreplugin/editormanager/ieditorfactory.cpp +++ b/src/plugins/coreplugin/editormanager/ieditorfactory.cpp @@ -31,10 +31,14 @@ #include -Core::IDocument *Core::IEditorFactory::open(const QString &) +Core::IEditorFactory::IEditorFactory(QObject *parent) + : IDocumentFactory(parent) { - qWarning("This should never be called, use IEditorFactor::createEditor, " - "or EditorManager::openEditor instead!"); - QTC_CHECK(false); - return 0; + setOpener([](const QString &) -> Core::IDocument * { + qWarning("This should never be called, use IEditorFactor::createEditor, " + "or EditorManager::openEditor instead!"); + QTC_CHECK(false); + return 0; + }); } + diff --git a/src/plugins/coreplugin/editormanager/ieditorfactory.h b/src/plugins/coreplugin/editormanager/ieditorfactory.h index 6a08caf9c59..9f2236cc52d 100644 --- a/src/plugins/coreplugin/editormanager/ieditorfactory.h +++ b/src/plugins/coreplugin/editormanager/ieditorfactory.h @@ -41,10 +41,9 @@ class CORE_EXPORT IEditorFactory : public Core::IDocumentFactory Q_OBJECT public: - IEditorFactory(QObject *parent = 0) : IDocumentFactory(parent) {} + IEditorFactory(QObject *parent = 0); virtual IEditor *createEditor() = 0; - virtual IDocument *open(const QString &); }; } // namespace Core diff --git a/src/plugins/coreplugin/find/basetextfind.cpp b/src/plugins/coreplugin/find/basetextfind.cpp index 70fdef51bd5..03b758987b2 100644 --- a/src/plugins/coreplugin/find/basetextfind.cpp +++ b/src/plugins/coreplugin/find/basetextfind.cpp @@ -133,7 +133,7 @@ void BaseTextFind::resetIncrementalSearch() d->m_incrementalWrappedState = false; } -void BaseTextFind::clearResults() +void BaseTextFind::clearHighlights() { emit highlightAll(QString(), 0); } diff --git a/src/plugins/coreplugin/find/basetextfind.h b/src/plugins/coreplugin/find/basetextfind.h index 1d1d54d9ef1..4ebb0c9e5be 100644 --- a/src/plugins/coreplugin/find/basetextfind.h +++ b/src/plugins/coreplugin/find/basetextfind.h @@ -53,7 +53,7 @@ public: bool supportsReplace() const; FindFlags supportedFindFlags() const; void resetIncrementalSearch(); - void clearResults(); + void clearHighlights(); QString currentFindString() const; QString completedFindString() const; diff --git a/src/plugins/coreplugin/find/currentdocumentfind.cpp b/src/plugins/coreplugin/find/currentdocumentfind.cpp index 854a391003b..d726643f0fa 100644 --- a/src/plugins/coreplugin/find/currentdocumentfind.cpp +++ b/src/plugins/coreplugin/find/currentdocumentfind.cpp @@ -60,10 +60,10 @@ void CurrentDocumentFind::resetIncrementalSearch() m_currentFind->resetIncrementalSearch(); } -void CurrentDocumentFind::clearResults() +void CurrentDocumentFind::clearHighlights() { QTC_ASSERT(m_currentFind, return); - m_currentFind->clearResults(); + m_currentFind->clearHighlights(); } bool CurrentDocumentFind::isEnabled() const @@ -175,7 +175,7 @@ void CurrentDocumentFind::acceptCandidate() return; removeFindSupportConnections(); if (m_currentFind) - m_currentFind->clearResults(); + m_currentFind->clearHighlights(); if (m_currentWidget) disconnect(Aggregation::Aggregate::parentAggregate(m_currentWidget), SIGNAL(changed()), diff --git a/src/plugins/coreplugin/find/currentdocumentfind.h b/src/plugins/coreplugin/find/currentdocumentfind.h index 2b428e05839..06737fe2a05 100644 --- a/src/plugins/coreplugin/find/currentdocumentfind.h +++ b/src/plugins/coreplugin/find/currentdocumentfind.h @@ -45,7 +45,7 @@ public: CurrentDocumentFind(); void resetIncrementalSearch(); - void clearResults(); + void clearHighlights(); bool supportsReplace() const; FindFlags supportedFindFlags() const; QString currentFindString() const; diff --git a/src/plugins/coreplugin/find/findtoolbar.cpp b/src/plugins/coreplugin/find/findtoolbar.cpp index 2be75eef865..a449ec0e399 100644 --- a/src/plugins/coreplugin/find/findtoolbar.cpp +++ b/src/plugins/coreplugin/find/findtoolbar.cpp @@ -325,8 +325,11 @@ bool FindToolBar::eventFilter(QObject *obj, QEvent *event) void FindToolBar::adaptToCandidate() { updateFindAction(); - if (findToolBarPlaceHolder() == Core::FindToolBarPlaceHolder::getCurrent()) + if (findToolBarPlaceHolder() == Core::FindToolBarPlaceHolder::getCurrent()) { m_currentDocumentFind->acceptCandidate(); + if (isVisible()) + m_currentDocumentFind->highlightAll(getFindText(), effectiveFindFlags()); + } } void FindToolBar::updateFindAction() @@ -406,7 +409,7 @@ void FindToolBar::invokeReplaceEnter() void FindToolBar::invokeClearResults() { if (m_currentDocumentFind->isEnabled()) - m_currentDocumentFind->clearResults(); + m_currentDocumentFind->clearHighlights(); } @@ -471,7 +474,7 @@ void FindToolBar::invokeFindIncremental() if (result == IFindSupport::NotYetFound) m_findIncrementalTimer.start(50); if (text.isEmpty()) - m_currentDocumentFind->clearResults(); + m_currentDocumentFind->clearHighlights(); } } diff --git a/src/plugins/coreplugin/find/ifindsupport.h b/src/plugins/coreplugin/find/ifindsupport.h index 041de57fddd..f9cfd81ad0a 100644 --- a/src/plugins/coreplugin/find/ifindsupport.h +++ b/src/plugins/coreplugin/find/ifindsupport.h @@ -50,7 +50,7 @@ public: virtual bool supportsReplace() const = 0; virtual FindFlags supportedFindFlags() const = 0; virtual void resetIncrementalSearch() = 0; - virtual void clearResults() = 0; + virtual void clearHighlights() = 0; virtual QString currentFindString() const = 0; virtual QString completedFindString() const = 0; diff --git a/src/plugins/coreplugin/find/treeviewfind.cpp b/src/plugins/coreplugin/find/treeviewfind.cpp index 520c1da5614..460f5976223 100644 --- a/src/plugins/coreplugin/find/treeviewfind.cpp +++ b/src/plugins/coreplugin/find/treeviewfind.cpp @@ -83,7 +83,7 @@ void TreeViewFind::resetIncrementalSearch() d->m_incrementalWrappedState = false; } -void TreeViewFind::clearResults() +void TreeViewFind::clearHighlights() { } diff --git a/src/plugins/coreplugin/find/treeviewfind.h b/src/plugins/coreplugin/find/treeviewfind.h index 267549cf46c..8577b3c7668 100644 --- a/src/plugins/coreplugin/find/treeviewfind.h +++ b/src/plugins/coreplugin/find/treeviewfind.h @@ -56,7 +56,7 @@ public: bool supportsReplace() const; FindFlags supportedFindFlags() const; void resetIncrementalSearch(); - void clearResults(); + void clearHighlights(); QString currentFindString() const; QString completedFindString() const; diff --git a/src/plugins/coreplugin/generatedfile.cpp b/src/plugins/coreplugin/generatedfile.cpp index 43adc068eb8..088d485eead 100644 --- a/src/plugins/coreplugin/generatedfile.cpp +++ b/src/plugins/coreplugin/generatedfile.cpp @@ -141,7 +141,7 @@ Id GeneratedFile::editorId() const return m_d->editorId; } -void GeneratedFile::setEditorId(const Id &id) +void GeneratedFile::setEditorId(Id id) { m_d->editorId = id; } diff --git a/src/plugins/coreplugin/generatedfile.h b/src/plugins/coreplugin/generatedfile.h index 1b751b6fc7f..0e5464cfde1 100644 --- a/src/plugins/coreplugin/generatedfile.h +++ b/src/plugins/coreplugin/generatedfile.h @@ -77,7 +77,7 @@ public: // Id of editor to open the file with Id editorId() const; - void setEditorId(const Id &id); + void setEditorId(Id id); bool write(QString *errorMessage) const; diff --git a/src/plugins/coreplugin/icore.cpp b/src/plugins/coreplugin/icore.cpp index b842d1cce58..5e6cc4613a9 100644 --- a/src/plugins/coreplugin/icore.cpp +++ b/src/plugins/coreplugin/icore.cpp @@ -311,6 +311,11 @@ ICore *ICore::instance() return m_instance; } +bool ICore::isNewItemDialogRunning() +{ + return m_mainwindow->isNewItemDialogRunning(); +} + ICore::ICore(MainWindow *mainwindow) { m_instance = this; @@ -318,6 +323,8 @@ ICore::ICore(MainWindow *mainwindow) // Save settings once after all plugins are initialized: connect(ExtensionSystem::PluginManager::instance(), SIGNAL(initializationDone()), this, SLOT(saveSettings())); + connect(m_mainwindow, SIGNAL(newItemDialogRunningChanged()), + this, SIGNAL(newItemDialogRunningChanged())); } ICore::~ICore() diff --git a/src/plugins/coreplugin/icore.h b/src/plugins/coreplugin/icore.h index b772b1c9658..42f28373128 100644 --- a/src/plugins/coreplugin/icore.h +++ b/src/plugins/coreplugin/icore.h @@ -67,6 +67,7 @@ public: // it returns a ICore. static ICore *instance(); + static bool isNewItemDialogRunning(); static void showNewItemDialog(const QString &title, const QList &factories, const QString &defaultLocation = QString(), @@ -126,6 +127,7 @@ signals: void coreAboutToOpen(); void coreOpened(); void newItemsDialogRequested(); + void newItemDialogRunningChanged(); void saveSettingsRequested(); void optionsDialogRequested(); void coreAboutToClose(); diff --git a/src/plugins/coreplugin/id.cpp b/src/plugins/coreplugin/id.cpp index f67c108f9a4..a607c9314f7 100644 --- a/src/plugins/coreplugin/id.cpp +++ b/src/plugins/coreplugin/id.cpp @@ -351,7 +351,7 @@ QString Id::suffixAfter(Id baseId) const QT_BEGIN_NAMESPACE -QDataStream &operator<<(QDataStream &ds, const Core::Id &id) +QDataStream &operator<<(QDataStream &ds, Core::Id id) { return ds << id.name(); } diff --git a/src/plugins/coreplugin/id.h b/src/plugins/coreplugin/id.h index d131d12173d..2f5bc2ec2d4 100644 --- a/src/plugins/coreplugin/id.h +++ b/src/plugins/coreplugin/id.h @@ -81,7 +81,7 @@ private: int m_id; }; -inline uint qHash(const Id &id) { return id.uniqueIdentifier(); } +inline uint qHash(Id id) { return id.uniqueIdentifier(); } } // namespace Core @@ -89,7 +89,7 @@ Q_DECLARE_METATYPE(Core::Id) Q_DECLARE_METATYPE(QList) QT_BEGIN_NAMESPACE -QDataStream &operator<<(QDataStream &ds, const Core::Id &id); +QDataStream &operator<<(QDataStream &ds, Core::Id id); QDataStream &operator>>(QDataStream &ds, Core::Id &id); QT_END_NAMESPACE diff --git a/src/plugins/coreplugin/idocument.cpp b/src/plugins/coreplugin/idocument.cpp index 6bd6d77b1f5..963f51c1509 100644 --- a/src/plugins/coreplugin/idocument.cpp +++ b/src/plugins/coreplugin/idocument.cpp @@ -142,6 +142,14 @@ void IDocument::setTemporary(bool temporary) m_temporary = temporary; } +void IDocument::setMimeType(const QString &mimeType) +{ + if (m_mimeType != mimeType) { + m_mimeType = mimeType; + emit mimeTypeChanged(); + } +} + bool IDocument::autoSave(QString *errorString, const QString &fileName) { if (!save(errorString, fileName, true)) diff --git a/src/plugins/coreplugin/idocument.h b/src/plugins/coreplugin/idocument.h index d64502bd5a8..83945cd7409 100644 --- a/src/plugins/coreplugin/idocument.h +++ b/src/plugins/coreplugin/idocument.h @@ -94,7 +94,9 @@ public: virtual QString defaultPath() const = 0; virtual QString suggestedFileName() const = 0; - virtual QString mimeType() const = 0; + + QString mimeType() const { return m_mimeType; } + void setMimeType(const QString &mimeType); virtual bool shouldAutoSave() const; virtual bool isModified() const = 0; @@ -116,6 +118,7 @@ public: signals: void changed(); + void mimeTypeChanged(); void aboutToReload(); void reloadFinished(bool success); @@ -124,6 +127,7 @@ signals: private: Id m_id; + QString m_mimeType; QString m_filePath; QString m_displayName; bool m_temporary; diff --git a/src/plugins/coreplugin/idocumentfactory.cpp b/src/plugins/coreplugin/idocumentfactory.cpp new file mode 100644 index 00000000000..44557456229 --- /dev/null +++ b/src/plugins/coreplugin/idocumentfactory.cpp @@ -0,0 +1,42 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +#include "idocumentfactory.h" + +#include + +namespace Core { + +IDocument *IDocumentFactory::open(const QString &filename) +{ + QTC_ASSERT(m_opener, return 0); + return m_opener(filename); +} + +} // namespace Core diff --git a/src/plugins/coreplugin/idocumentfactory.h b/src/plugins/coreplugin/idocumentfactory.h index a168768a1d1..facb2c6c85b 100644 --- a/src/plugins/coreplugin/idocumentfactory.h +++ b/src/plugins/coreplugin/idocumentfactory.h @@ -35,6 +35,8 @@ #include #include +#include + namespace Core { class IDocument; @@ -46,14 +48,15 @@ class CORE_EXPORT IDocumentFactory : public QObject public: IDocumentFactory(QObject *parent = 0) : QObject(parent) {} - virtual IDocument *open(const QString &fileName) = 0; + typedef std::function Opener; + IDocument *open(const QString &filename); Id id() const { return m_id; } QStringList mimeTypes() const { return m_mimeTypes; } QString displayName() const { return m_displayName; } -protected: void setId(Id id) { m_id = id; } + void setOpener(const Opener &opener) { m_opener = opener; } void setDisplayName(const QString &displayName) { m_displayName = displayName; } void setMimeTypes(const QStringList &mimeTypes) { m_mimeTypes = mimeTypes; } void addMimeType(const char *mimeType) { m_mimeTypes.append(QLatin1String(mimeType)); } @@ -61,6 +64,7 @@ protected: private: Id m_id; + Opener m_opener; QStringList m_mimeTypes; QString m_displayName; }; diff --git a/src/plugins/coreplugin/locator/basefilefilter.h b/src/plugins/coreplugin/locator/basefilefilter.h index 44102b30e4e..b8e95dc06f0 100644 --- a/src/plugins/coreplugin/locator/basefilefilter.h +++ b/src/plugins/coreplugin/locator/basefilefilter.h @@ -46,6 +46,7 @@ public: void accept(Core::LocatorFilterEntry selection) const; protected: + // runs in non-UI thread virtual void updateFiles(); void generateFileNames(); diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp index 2ef8720bd57..8b8049093a5 100644 --- a/src/plugins/coreplugin/mainwindow.cpp +++ b/src/plugins/coreplugin/mainwindow.cpp @@ -76,6 +76,7 @@ #include #include #include +#include #include #include #include @@ -248,6 +249,11 @@ void MainWindow::setIsFullScreen(bool fullScreen) m_toggleFullScreenAction->setText(tr("Enter Full Screen")); } +bool MainWindow::isNewItemDialogRunning() const +{ + return !m_newDialog.isNull(); +} + MainWindow::~MainWindow() { ExtensionSystem::PluginManager::removeObject(m_shortcutSettings); @@ -869,46 +875,14 @@ void MainWindow::showNewItemDialog(const QString &title, const QString &defaultLocation, const QVariantMap &extraVariables) { - // Scan for wizards matching the filter and pick one. Don't show - // dialog if there is only one. - IWizardFactory *wizard = 0; - QString selectedPlatform; - switch (factories.size()) { - case 0: - break; - case 1: - wizard = factories.front(); - break; - default: { - NewDialog dlg(this); - dlg.setWizardFactories(factories); - dlg.setWindowTitle(title); - wizard = dlg.showDialog(); - selectedPlatform = dlg.selectedPlatform(); - } - break; - } - - if (!wizard) - return; - - QString path = defaultLocation; - if (path.isEmpty()) { - switch (wizard->kind()) { - case IWizardFactory::ProjectWizard: - // Project wizards: Check for projects directory or - // use last visited directory of file dialog. Never start - // at current. - path = DocumentManager::useProjectsDirectory() ? - DocumentManager::projectsDirectory() : - DocumentManager::fileDialogLastVisitedDirectory(); - break; - default: - path = DocumentManager::fileDialogInitialDirectory(); - break; - } - } - wizard->runWizard(path, this, selectedPlatform, extraVariables); + QTC_ASSERT(!m_newDialog, return); + m_newAction->setEnabled(false); + m_newDialog = new NewDialog(this); + connect(m_newDialog.data(), SIGNAL(destroyed()), this, SLOT(newItemDialogFinished())); + m_newDialog->setWizardFactories(factories, defaultLocation, extraVariables); + m_newDialog->setWindowTitle(title); + m_newDialog->showDialog(); + emit newItemDialogRunningChanged(); } bool MainWindow::showOptionsDialog(Id category, Id page, QWidget *parent) @@ -1263,5 +1237,12 @@ void MainWindow::restoreWindowState() m_statusBarManager->restoreSettings(); } +void MainWindow::newItemDialogFinished() +{ + m_newAction->setEnabled(true); + // fire signal when the dialog is actually destroyed + QTimer::singleShot(0, this, SIGNAL(newItemDialogRunningChanged())); +} + } // namespace Internal } // namespace Core diff --git a/src/plugins/coreplugin/mainwindow.h b/src/plugins/coreplugin/mainwindow.h index 07179c5de9f..1540d082476 100644 --- a/src/plugins/coreplugin/mainwindow.h +++ b/src/plugins/coreplugin/mainwindow.h @@ -32,6 +32,7 @@ #include "icontext.h" #include "icore.h" +#include "dialogs/newdialog.h" #include @@ -107,8 +108,12 @@ public: void setOverrideColor(const QColor &color); void setIsFullScreen(bool fullScreen); + + bool isNewItemDialogRunning() const; + signals: void windowActivated(); + void newItemDialogRunningChanged(); public slots: void newFile(); @@ -148,6 +153,7 @@ private slots: void destroyVersionDialog(); void openDelayedFiles(); void restoreWindowState(); + void newItemDialogFinished(); private: void updateContextObject(const QList &context); @@ -179,6 +185,7 @@ private: RightPaneWidget *m_rightPaneWidget; Core::StatusBarWidget *m_outputView; VersionDialog *m_versionDialog; + QPointer m_newDialog; QList m_activeContext; diff --git a/src/plugins/coreplugin/navigationwidget.cpp b/src/plugins/coreplugin/navigationwidget.cpp index 7baa2270012..ac7a0a34ff0 100644 --- a/src/plugins/coreplugin/navigationwidget.cpp +++ b/src/plugins/coreplugin/navigationwidget.cpp @@ -260,7 +260,7 @@ void NavigationWidget::activateSubWidget() activateSubWidget(id); } -void NavigationWidget::activateSubWidget(const Id &factoryId) +void NavigationWidget::activateSubWidget(Id factoryId) { setShown(true); foreach (Internal::NavigationSubWidget *subWidget, d->m_subWidgets) { @@ -413,7 +413,7 @@ void NavigationWidget::setSuppressed(bool b) NavigationWidgetPlaceHolder::m_current->setVisible(d->m_shown && !d->m_suppressed); } -int NavigationWidget::factoryIndex(const Id &id) +int NavigationWidget::factoryIndex(Id id) { for (int row = 0; row < d->m_factoryModel->rowCount(); ++row) { if (d->m_factoryModel->data(d->m_factoryModel->index(row, 0), FactoryIdRole).value() == id) diff --git a/src/plugins/coreplugin/navigationwidget.h b/src/plugins/coreplugin/navigationwidget.h index ac6ebf931ac..aa352dde12e 100644 --- a/src/plugins/coreplugin/navigationwidget.h +++ b/src/plugins/coreplugin/navigationwidget.h @@ -87,7 +87,7 @@ public: void saveSettings(QSettings *settings); void restoreSettings(QSettings *settings); - void activateSubWidget(const Id &factoryId); + void activateSubWidget(Id factoryId); void closeSubWidgets(); bool isShown() const; @@ -117,7 +117,7 @@ private slots: private: void updateToggleText(); Internal::NavigationSubWidget *insertSubItem(int position, int index); - int factoryIndex(const Id &id); + int factoryIndex(Id id); NavigationWidgetPrivate *d; }; diff --git a/src/plugins/coreplugin/progressmanager/progressmanager.cpp b/src/plugins/coreplugin/progressmanager/progressmanager.cpp index 10401ccb5a9..6a496e5e5f3 100644 --- a/src/plugins/coreplugin/progressmanager/progressmanager.cpp +++ b/src/plugins/coreplugin/progressmanager/progressmanager.cpp @@ -763,7 +763,7 @@ void ProgressManager::setApplicationLabel(const QString &text) m_instance->doSetApplicationLabel(text); } -void ProgressManager::cancelTasks(const Id type) +void ProgressManager::cancelTasks(Id type) { if (m_instance) m_instance->doCancelTasks(type); diff --git a/src/plugins/coreplugin/progressmanager/progressmanager.h b/src/plugins/coreplugin/progressmanager/progressmanager.h index 6894f43ea7e..529a2847aba 100644 --- a/src/plugins/coreplugin/progressmanager/progressmanager.h +++ b/src/plugins/coreplugin/progressmanager/progressmanager.h @@ -60,7 +60,7 @@ public: static void setApplicationLabel(const QString &text); public slots: - static void cancelTasks(const Core::Id type); + static void cancelTasks(Id type); signals: void taskStarted(Core::Id type); diff --git a/src/plugins/cpaster/cpasterplugin.cpp b/src/plugins/cpaster/cpasterplugin.cpp index e409d59a488..40e487be1f7 100644 --- a/src/plugins/cpaster/cpasterplugin.cpp +++ b/src/plugins/cpaster/cpasterplugin.cpp @@ -205,15 +205,17 @@ ExtensionSystem::IPlugin::ShutdownFlag CodepasterPlugin::aboutToShutdown() void CodepasterPlugin::postEditor() { + IEditor *editor = EditorManager::currentEditor(); + if (!editor) + return; + const IDocument *document = editor->document(); + const QString mimeType = document->mimeType(); QString data; - QString mimeType; - if (IEditor *editor = EditorManager::currentEditor()) { - if (ITextEditor *textEditor = qobject_cast(editor)) { - data = textEditor->selectedText(); - if (data.isEmpty()) - data = textEditor->textDocument()->plainText(); - mimeType = textEditor->document()->mimeType(); - } + if (const ITextEditor *textEditor = qobject_cast(editor)) + data = textEditor->selectedText(); + if (data.isEmpty()) { + if (const ITextEditorDocument *textDocument = qobject_cast(document)) + data = textDocument->plainText(); } post(data, mimeType); } diff --git a/src/plugins/cppeditor/cppquickfixassistant.cpp b/src/plugins/cppeditor/cppquickfixassistant.cpp index 6e0c253f62d..f656250d374 100644 --- a/src/plugins/cppeditor/cppquickfixassistant.cpp +++ b/src/plugins/cppeditor/cppquickfixassistant.cpp @@ -51,7 +51,7 @@ bool CppQuickFixAssistProvider::isAsynchronous() const return false; } -bool CppQuickFixAssistProvider::supportsEditor(const Core::Id &editorId) const +bool CppQuickFixAssistProvider::supportsEditor(Core::Id editorId) const { return editorId == CppEditor::Constants::CPPEDITOR_ID; } diff --git a/src/plugins/cppeditor/cppquickfixassistant.h b/src/plugins/cppeditor/cppquickfixassistant.h index f7e097c319d..daad9dc503c 100644 --- a/src/plugins/cppeditor/cppquickfixassistant.h +++ b/src/plugins/cppeditor/cppquickfixassistant.h @@ -89,7 +89,7 @@ class CppQuickFixAssistProvider : public TextEditor::QuickFixAssistProvider { public: bool isAsynchronous() const QTC_OVERRIDE; - bool supportsEditor(const Core::Id &editorId) const QTC_OVERRIDE; + bool supportsEditor(Core::Id editorId) const QTC_OVERRIDE; TextEditor::IAssistProcessor *createProcessor() const QTC_OVERRIDE; QList quickFixFactories() const QTC_OVERRIDE; diff --git a/src/plugins/cppeditor/cppvirtualfunctionassistprovider.cpp b/src/plugins/cppeditor/cppvirtualfunctionassistprovider.cpp index 5e3ffac4e76..ec76a966b42 100644 --- a/src/plugins/cppeditor/cppvirtualfunctionassistprovider.cpp +++ b/src/plugins/cppeditor/cppvirtualfunctionassistprovider.cpp @@ -214,7 +214,7 @@ bool VirtualFunctionAssistProvider::isAsynchronous() const return true; } -bool VirtualFunctionAssistProvider::supportsEditor(const Core::Id &editorId) const +bool VirtualFunctionAssistProvider::supportsEditor(Core::Id editorId) const { return editorId == CppEditor::Constants::CPPEDITOR_ID; } diff --git a/src/plugins/cppeditor/cppvirtualfunctionassistprovider.h b/src/plugins/cppeditor/cppvirtualfunctionassistprovider.h index 2841799334d..c07a2f71fa6 100644 --- a/src/plugins/cppeditor/cppvirtualfunctionassistprovider.h +++ b/src/plugins/cppeditor/cppvirtualfunctionassistprovider.h @@ -65,7 +65,7 @@ public: void clearParams() { m_params = Parameters(); } bool isAsynchronous() const QTC_OVERRIDE; - bool supportsEditor(const Core::Id &editorId) const QTC_OVERRIDE; + bool supportsEditor(Core::Id editorId) const QTC_OVERRIDE; TextEditor::IAssistProcessor *createProcessor() const QTC_OVERRIDE; private: diff --git a/src/plugins/cpptools/cppcompletionassistprovider.cpp b/src/plugins/cpptools/cppcompletionassistprovider.cpp index c6a5dacfe4d..69c3b05709d 100644 --- a/src/plugins/cpptools/cppcompletionassistprovider.cpp +++ b/src/plugins/cpptools/cppcompletionassistprovider.cpp @@ -41,7 +41,7 @@ using namespace CppTools; // --------------------------- // CppCompletionAssistProvider // --------------------------- -bool CppCompletionAssistProvider::supportsEditor(const Core::Id &editorId) const +bool CppCompletionAssistProvider::supportsEditor(Core::Id editorId) const { return editorId == CppEditor::Constants::CPPEDITOR_ID; } diff --git a/src/plugins/cpptools/cppcompletionassistprovider.h b/src/plugins/cpptools/cppcompletionassistprovider.h index aaf2cdde419..8873fd35184 100644 --- a/src/plugins/cpptools/cppcompletionassistprovider.h +++ b/src/plugins/cpptools/cppcompletionassistprovider.h @@ -55,7 +55,7 @@ class CPPTOOLS_EXPORT CppCompletionAssistProvider : public TextEditor::Completio Q_OBJECT public: - bool supportsEditor(const Core::Id &editorId) const QTC_OVERRIDE; + bool supportsEditor(Core::Id editorId) const QTC_OVERRIDE; int activationCharSequenceLength() const QTC_OVERRIDE; bool isActivationCharSequence(const QString &sequence) const QTC_OVERRIDE; bool isContinuationChar(const QChar &c) const QTC_OVERRIDE; diff --git a/src/plugins/debugger/debuggerdialogs.cpp b/src/plugins/debugger/debuggerdialogs.cpp index c8e4e175c56..e367e2891cd 100644 --- a/src/plugins/debugger/debuggerdialogs.cpp +++ b/src/plugins/debugger/debuggerdialogs.cpp @@ -526,7 +526,7 @@ Kit *AttachToQmlPortDialog::kit() const return d->kitChooser->currentKit(); } -void AttachToQmlPortDialog::setKitId(const Id &id) +void AttachToQmlPortDialog::setKitId(Id id) { d->kitChooser->setCurrentKitId(id); } diff --git a/src/plugins/debugger/debuggerdialogs.h b/src/plugins/debugger/debuggerdialogs.h index 3fe1cc1b515..12f09ac0c3f 100644 --- a/src/plugins/debugger/debuggerdialogs.h +++ b/src/plugins/debugger/debuggerdialogs.h @@ -108,7 +108,7 @@ public: void setPort(const int port); ProjectExplorer::Kit *kit() const; - void setKitId(const Core::Id &id); + void setKitId(Core::Id id); private: AttachToQmlPortDialogPrivate *d; diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 378461135f9..3b8e2bc3661 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -511,7 +511,7 @@ public: DebugMode() { setObjectName(QLatin1String("DebugMode")); - setContext(Context(CC::C_EDITORMANAGER, C_DEBUGMODE, CC::C_NAVIGATION_PANE)); + setContext(Context(C_DEBUGMODE, CC::C_NAVIGATION_PANE)); setDisplayName(DebuggerPlugin::tr("Debug")); setIcon(QIcon(QLatin1String(":/debugger/images/mode_debug.png"))); setPriority(85); @@ -3272,6 +3272,10 @@ void DebuggerPluginPrivate::extensionsInitialized() // Debug mode setup DebugMode *debugMode = new DebugMode; QWidget *widget = m_mainWindow->createContents(debugMode); + Core::IContext *modeContextObject = new Core::IContext(this); + modeContextObject->setContext(Core::Context(CC::C_EDITORMANAGER)); + modeContextObject->setWidget(widget); + Core::ICore::addContextObject(modeContextObject); widget->setFocusProxy(EditorManager::instance()); debugMode->setWidget(widget); diff --git a/src/plugins/debugger/loadcoredialog.cpp b/src/plugins/debugger/loadcoredialog.cpp index 06682a16f90..30f33bcf4db 100644 --- a/src/plugins/debugger/loadcoredialog.cpp +++ b/src/plugins/debugger/loadcoredialog.cpp @@ -396,7 +396,7 @@ QString AttachCoreDialog::remoteCoreFile() const return d->remoteCoreFileName->text(); } -void AttachCoreDialog::setKitId(const Core::Id &id) +void AttachCoreDialog::setKitId(Core::Id id) { d->kitChooser->setCurrentKitId(id); } diff --git a/src/plugins/debugger/loadcoredialog.h b/src/plugins/debugger/loadcoredialog.h index bdcfe735844..143f1d3d193 100644 --- a/src/plugins/debugger/loadcoredialog.h +++ b/src/plugins/debugger/loadcoredialog.h @@ -64,7 +64,7 @@ public: void setLocalCoreFile(const QString &core); void setRemoteCoreFile(const QString &core); void setOverrideStartScript(const QString &scriptName); - void setKitId(const Core::Id &id); + void setKitId(Core::Id id); void setForceLocalCoreFile(bool on); private slots: diff --git a/src/plugins/designer/formeditorw.cpp b/src/plugins/designer/formeditorw.cpp index 80361c55d98..f91ae1cae51 100644 --- a/src/plugins/designer/formeditorw.cpp +++ b/src/plugins/designer/formeditorw.cpp @@ -200,7 +200,7 @@ FormEditorW::~FormEditorW() // Add an actioon to toggle the view state of a dock window void FormEditorW::addDockViewAction(ActionContainer *viewMenu, int index, const Context &context, - const QString &title, const Id &id) + const QString &title, Id id) { if (const QDockWidget *dw = m_editorWidget->designerDockWidgets()[index]) { QAction *action = dw->toggleViewAction(); @@ -635,7 +635,7 @@ QAction *FormEditorW::createEditModeAction(QActionGroup *ag, const Context &context, ActionContainer *medit, const QString &actionName, - const Id &id, + Id id, int toolNumber, const QString &iconName, const QString &keySequence) @@ -656,7 +656,7 @@ QAction *FormEditorW::createEditModeAction(QActionGroup *ag, } // Create a tool action -Command *FormEditorW::addToolAction(QAction *a, const Context &context, const Id &id, +Command *FormEditorW::addToolAction(QAction *a, const Context &context, Id id, ActionContainer *c1, const QString &keySequence, Core::Id groupId) { diff --git a/src/plugins/designer/formeditorw.h b/src/plugins/designer/formeditorw.h index c0cf95bf22d..94bc2b1cb9c 100644 --- a/src/plugins/designer/formeditorw.h +++ b/src/plugins/designer/formeditorw.h @@ -143,7 +143,7 @@ private: void addDockViewAction(Core::ActionContainer *viewMenu, int index, const Core::Context &context, - const QString &title, const Core::Id &id); + const QString &title, Core::Id id); Core::ActionContainer *createPreviewStyleMenu(QActionGroup *actionGroup); @@ -153,12 +153,12 @@ private: const Core::Context &context, Core::ActionContainer *medit, const QString &actionName, - const Core::Id &id, + Core::Id id, int toolNumber, const QString &iconName = QString(), const QString &keySequence = QString()); Core::Command *addToolAction(QAction *a, - const Core::Context &context, const Core::Id &id, + const Core::Context &context, Core::Id id, Core::ActionContainer *c1, const QString &keySequence = QString(), Core::Id groupId = Core::Id()); QToolBar *createEditorToolBar() const; diff --git a/src/plugins/designer/formwindowfile.cpp b/src/plugins/designer/formwindowfile.cpp index bb301da91f2..9915cbe32f8 100644 --- a/src/plugins/designer/formwindowfile.cpp +++ b/src/plugins/designer/formwindowfile.cpp @@ -52,11 +52,11 @@ namespace Designer { namespace Internal { FormWindowFile::FormWindowFile(QDesignerFormWindowInterface *form, QObject *parent) - : m_mimeType(QLatin1String(Designer::Constants::FORM_MIMETYPE)), - m_shouldAutoSave(false), + : m_shouldAutoSave(false), m_formWindow(form), m_isModified(false) { + setMimeType(QLatin1String(Designer::Constants::FORM_MIMETYPE)); setParent(parent); setId(Core::Id(Designer::Constants::K_DESIGNER_XML_EDITOR_ID)); // Designer needs UTF-8 regardless of settings. @@ -210,11 +210,6 @@ QString FormWindowFile::suggestedFileName() const return m_suggestedName; } -QString FormWindowFile::mimeType() const -{ - return m_mimeType; -} - bool FormWindowFile::writeFile(const QString &fn, QString *errorString) const { if (Designer::Constants::Internal::debug) diff --git a/src/plugins/designer/formwindowfile.h b/src/plugins/designer/formwindowfile.h index c1ba0236074..939a0756e57 100644 --- a/src/plugins/designer/formwindowfile.h +++ b/src/plugins/designer/formwindowfile.h @@ -59,7 +59,6 @@ public: bool reload(QString *errorString, ReloadFlag flag, ChangeType type); QString defaultPath() const; QString suggestedFileName() const; - QString mimeType() const; // Internal void setSuggestedFileName(const QString &fileName); @@ -83,8 +82,6 @@ private slots: void slotFormWindowRemoved(QDesignerFormWindowInterface *w); private: - const QString m_mimeType; - QString m_suggestedName; bool m_shouldAutoSave; // Might actually go out of scope before the IEditor due diff --git a/src/plugins/diffeditor/diffeditordocument.cpp b/src/plugins/diffeditor/diffeditordocument.cpp index 1bd386034ed..a13e23f2e54 100644 --- a/src/plugins/diffeditor/diffeditordocument.cpp +++ b/src/plugins/diffeditor/diffeditordocument.cpp @@ -67,11 +67,6 @@ bool DiffEditorDocument::save(QString *errorString, const QString &fileName, boo return false; } -QString DiffEditorDocument::mimeType() const -{ - return QString(); -} - Core::IDocument::ReloadBehavior DiffEditorDocument::reloadBehavior(ChangeTrigger state, ChangeType type) const { Q_UNUSED(state) diff --git a/src/plugins/diffeditor/diffeditordocument.h b/src/plugins/diffeditor/diffeditordocument.h index ffed43ce5da..86263562889 100644 --- a/src/plugins/diffeditor/diffeditordocument.h +++ b/src/plugins/diffeditor/diffeditordocument.h @@ -52,7 +52,6 @@ public: QString suggestedFileName() const { return QString(); } bool isModified() const { return false; } - QString mimeType() const; bool isSaveAsAllowed() const { return false; } bool save(QString *errorString, const QString &fileName, bool autoSave); ReloadBehavior reloadBehavior(ChangeTrigger state, ChangeType type) const; diff --git a/src/plugins/emacskeys/emacskeysplugin.cpp b/src/plugins/emacskeys/emacskeysplugin.cpp index 8793fe87105..fa55ecbaac6 100644 --- a/src/plugins/emacskeys/emacskeysplugin.cpp +++ b/src/plugins/emacskeys/emacskeysplugin.cpp @@ -328,7 +328,7 @@ void EmacsKeysPlugin::insertLineAndIndent() m_currentState->endOwnAction(KeysActionOther); } -QAction *EmacsKeysPlugin::registerAction(const Core::Id &id, const char *slot, +QAction *EmacsKeysPlugin::registerAction(Core::Id id, const char *slot, const QString &title) { QAction *result = new QAction(title, this); diff --git a/src/plugins/emacskeys/emacskeysplugin.h b/src/plugins/emacskeys/emacskeysplugin.h index 716f70cf325..6eb8f2c9639 100644 --- a/src/plugins/emacskeys/emacskeysplugin.h +++ b/src/plugins/emacskeys/emacskeysplugin.h @@ -94,7 +94,7 @@ private slots: void scrollHalfUp(); // M-v private: - QAction *registerAction(const Core::Id &id, const char *slot, + QAction *registerAction(Core::Id id, const char *slot, const QString &title); void genericGoto(QTextCursor::MoveOperation op, bool abortAssist = true); void genericVScroll(int direction); diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp index 1440f17fc5f..a9457a9a33d 100644 --- a/src/plugins/fakevim/fakevimplugin.cpp +++ b/src/plugins/fakevim/fakevimplugin.cpp @@ -831,7 +831,7 @@ void FakeVimUserCommandsPage::apply() class FakeVimCompletionAssistProvider : public CompletionAssistProvider { public: - bool supportsEditor(const Id &) const + bool supportsEditor(Id ) const { return false; } @@ -1058,8 +1058,8 @@ private: FakeVimUserCommandsPage *m_fakeVimUserCommandsPage; QHash m_editorToHandler; - void triggerAction(const Id &id); - void setActionChecked(const Id &id, bool check); + void triggerAction(Id id); + void setActionChecked(Id id, bool check); typedef int (*DistFunction)(const QRect &cursor, const QRect &other); void moveSomewhere(DistFunction f, int count); @@ -1386,7 +1386,7 @@ void FakeVimPluginPrivate::showSettingsDialog() ICore::showOptionsDialog(SETTINGS_CATEGORY, SETTINGS_ID); } -void FakeVimPluginPrivate::triggerAction(const Id &id) +void FakeVimPluginPrivate::triggerAction(Id id) { Core::Command *cmd = ActionManager::command(id); QTC_ASSERT(cmd, qDebug() << "UNKNOWN CODE: " << id.name(); return); @@ -1395,7 +1395,7 @@ void FakeVimPluginPrivate::triggerAction(const Id &id) action->trigger(); } -void FakeVimPluginPrivate::setActionChecked(const Id &id, bool check) +void FakeVimPluginPrivate::setActionChecked(Id id, bool check) { Core::Command *cmd = ActionManager::command(id); QTC_ASSERT(cmd, return); diff --git a/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp b/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp index f53f41aa74a..6c920411bd7 100644 --- a/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp +++ b/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp @@ -58,7 +58,7 @@ GenericBuildConfiguration::GenericBuildConfiguration(Target *parent) { } -GenericBuildConfiguration::GenericBuildConfiguration(Target *parent, const Core::Id id) +GenericBuildConfiguration::GenericBuildConfiguration(Target *parent, Core::Id id) : BuildConfiguration(parent, id) { } diff --git a/src/plugins/genericprojectmanager/genericbuildconfiguration.h b/src/plugins/genericprojectmanager/genericbuildconfiguration.h index 524a9eaa683..4af936defa2 100644 --- a/src/plugins/genericprojectmanager/genericbuildconfiguration.h +++ b/src/plugins/genericprojectmanager/genericbuildconfiguration.h @@ -59,7 +59,7 @@ public: protected: GenericBuildConfiguration(ProjectExplorer::Target *parent, GenericBuildConfiguration *source); - GenericBuildConfiguration(ProjectExplorer::Target *parent, const Core::Id id); + GenericBuildConfiguration(ProjectExplorer::Target *parent, Core::Id id); friend class GenericBuildSettingsWidget; }; diff --git a/src/plugins/genericprojectmanager/genericmakestep.h b/src/plugins/genericprojectmanager/genericmakestep.h index 4e7b0e3e749..ce40e1ae5d6 100644 --- a/src/plugins/genericprojectmanager/genericmakestep.h +++ b/src/plugins/genericprojectmanager/genericmakestep.h @@ -71,7 +71,7 @@ public: protected: GenericMakeStep(ProjectExplorer::BuildStepList *parent, GenericMakeStep *bs); - GenericMakeStep(ProjectExplorer::BuildStepList *parent, const Core::Id id); + GenericMakeStep(ProjectExplorer::BuildStepList *parent, Core::Id id); bool fromMap(const QVariantMap &map); private: @@ -113,8 +113,8 @@ class GenericMakeStepFactory : public ProjectExplorer::IBuildStepFactory public: explicit GenericMakeStepFactory(QObject *parent = 0); - bool canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const; - ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, const Core::Id id); + bool canCreate(ProjectExplorer::BuildStepList *parent, Core::Id id) const; + ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, Core::Id id); bool canClone(ProjectExplorer::BuildStepList *parent, ProjectExplorer::BuildStep *source) const; ProjectExplorer::BuildStep *clone(ProjectExplorer::BuildStepList *parent, @@ -124,7 +124,7 @@ public: const QVariantMap &map); QList availableCreationIds(ProjectExplorer::BuildStepList *bc) const; - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; }; } // namespace Internal diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp index 3272ae7a031..3b0f469ba32 100644 --- a/src/plugins/genericprojectmanager/genericproject.cpp +++ b/src/plugins/genericprojectmanager/genericproject.cpp @@ -409,6 +409,7 @@ GenericProjectFile::GenericProjectFile(GenericProject *parent, QString fileName, m_options(options) { setId("Generic.ProjectFile"); + setMimeType(QLatin1String(Constants::GENERICMIMETYPE)); setFilePath(fileName); } @@ -427,11 +428,6 @@ QString GenericProjectFile::suggestedFileName() const return QString(); } -QString GenericProjectFile::mimeType() const -{ - return QLatin1String(Constants::GENERICMIMETYPE); -} - bool GenericProjectFile::isModified() const { return false; diff --git a/src/plugins/genericprojectmanager/genericproject.h b/src/plugins/genericprojectmanager/genericproject.h index 30a657ff253..297e41df15d 100644 --- a/src/plugins/genericprojectmanager/genericproject.h +++ b/src/plugins/genericprojectmanager/genericproject.h @@ -123,7 +123,6 @@ public: QString defaultPath() const; QString suggestedFileName() const; - QString mimeType() const; bool isModified() const; bool isSaveAsAllowed() const; diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index 699e1325b8d..3d4aaf0372f 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -900,7 +900,7 @@ void GitClient::stage(const QString &patch, bool revert) * existing instance and to reuse it (in case, say, 'git diff foo' is * already open). */ VcsBase::VcsBaseEditorWidget *GitClient::createVcsEditor( - const Core::Id &id, + Core::Id id, QString title, const QString &source, // Source file or directory CodecType codecType, diff --git a/src/plugins/git/gitclient.h b/src/plugins/git/gitclient.h index 1972852cb88..d2d24541d57 100644 --- a/src/plugins/git/gitclient.h +++ b/src/plugins/git/gitclient.h @@ -360,7 +360,7 @@ private: const QString &dynamicPropertyValue) const; enum CodecType { CodecSource, CodecLogOutput, CodecNone }; - VcsBase::VcsBaseEditorWidget *createVcsEditor(const Core::Id &kind, + VcsBase::VcsBaseEditorWidget *createVcsEditor(Core::Id kind, QString title, const QString &source, CodecType codecType, diff --git a/src/plugins/git/gitplugin.cpp b/src/plugins/git/gitplugin.cpp index d93c9ecd813..ce36dab8364 100644 --- a/src/plugins/git/gitplugin.cpp +++ b/src/plugins/git/gitplugin.cpp @@ -180,7 +180,7 @@ static const VcsBase::VcsBaseSubmitEditorParameters submitParameters = { ParameterActionCommandPair GitPlugin::createParameterAction(Core::ActionContainer *ac, const QString &defaultText, const QString ¶meterText, - const Core::Id &id, const Core::Context &context, + Core::Id id, const Core::Context &context, bool addToLocator) { Utils::ParameterAction *action = new Utils::ParameterAction(defaultText, parameterText, @@ -198,7 +198,7 @@ ParameterActionCommandPair ParameterActionCommandPair GitPlugin::createFileAction(Core::ActionContainer *ac, const QString &defaultText, const QString ¶meterText, - const Core::Id &id, const Core::Context &context, bool addToLocator, + Core::Id id, const Core::Context &context, bool addToLocator, const char *pluginSlot) { const ParameterActionCommandPair rc = createParameterAction(ac, defaultText, parameterText, id, context, addToLocator); @@ -211,7 +211,7 @@ ParameterActionCommandPair ParameterActionCommandPair GitPlugin::createProjectAction(Core::ActionContainer *ac, const QString &defaultText, const QString ¶meterText, - const Core::Id &id, const Core::Context &context, bool addToLocator, + Core::Id id, const Core::Context &context, bool addToLocator, const char *pluginSlot) { const ParameterActionCommandPair rc = createParameterAction(ac, defaultText, parameterText, id, context, addToLocator); @@ -223,7 +223,7 @@ ParameterActionCommandPair // Create an action to act on the repository ActionCommandPair GitPlugin::createRepositoryAction(Core::ActionContainer *ac, - const QString &text, const Core::Id &id, + const QString &text, Core::Id id, const Core::Context &context, bool addToLocator) { QAction *action = new QAction(text, this); @@ -239,7 +239,7 @@ ActionCommandPair // Create an action to act on the repository with slot ActionCommandPair GitPlugin::createRepositoryAction(Core::ActionContainer *ac, - const QString &text, const Core::Id &id, + const QString &text, Core::Id id, const Core::Context &context, bool addToLocator, const char *pluginSlot) { @@ -253,7 +253,7 @@ ActionCommandPair // taking the directory. Store the member function as data on the action. ActionCommandPair GitPlugin::createRepositoryAction(Core::ActionContainer *ac, - const QString &text, const Core::Id &id, + const QString &text, Core::Id id, const Core::Context &context, bool addToLocator, GitClientMemberFunc func) { diff --git a/src/plugins/git/gitplugin.h b/src/plugins/git/gitplugin.h index 307f6a7a5bd..843f9b1e1ca 100644 --- a/src/plugins/git/gitplugin.h +++ b/src/plugins/git/gitplugin.h @@ -158,35 +158,35 @@ private: inline ParameterActionCommandPair createParameterAction(Core::ActionContainer *ac, const QString &defaultText, const QString ¶meterText, - const Core::Id &id, const Core::Context &context, bool addToLocator); + Core::Id id, const Core::Context &context, bool addToLocator); inline ParameterActionCommandPair createFileAction(Core::ActionContainer *ac, const QString &defaultText, const QString ¶meterText, - const Core::Id &id, const Core::Context &context, bool addToLocator, + Core::Id id, const Core::Context &context, bool addToLocator, const char *pluginSlot); inline ParameterActionCommandPair createProjectAction(Core::ActionContainer *ac, const QString &defaultText, const QString ¶meterText, - const Core::Id &id, const Core::Context &context, bool addToLocator); + Core::Id id, const Core::Context &context, bool addToLocator); inline ParameterActionCommandPair createProjectAction(Core::ActionContainer *ac, const QString &defaultText, const QString ¶meterText, - const Core::Id &id, const Core::Context &context, bool addToLocator, + Core::Id id, const Core::Context &context, bool addToLocator, const char *pluginSlot); inline ActionCommandPair createRepositoryAction(Core::ActionContainer *ac, - const QString &text, const Core::Id &id, + const QString &text, Core::Id id, const Core::Context &context, bool addToLocator); inline ActionCommandPair createRepositoryAction(Core::ActionContainer *ac, - const QString &text, const Core::Id &id, + const QString &text, Core::Id id, const Core::Context &context, bool addToLocator, const char *pluginSlot); inline ActionCommandPair createRepositoryAction(Core::ActionContainer *ac, - const QString &text, const Core::Id &id, + const QString &text, Core::Id id, const Core::Context &context, bool addToLocator, GitClientMemberFunc); diff --git a/src/plugins/glsleditor/glslcompletionassist.cpp b/src/plugins/glsleditor/glslcompletionassist.cpp index 8b2f048e7a2..df91e51a2dd 100644 --- a/src/plugins/glsleditor/glslcompletionassist.cpp +++ b/src/plugins/glsleditor/glslcompletionassist.cpp @@ -120,7 +120,7 @@ bool checkStartOfIdentifier(const QString &word) // ---------------------------- // GLSLCompletionAssistProvider // ---------------------------- -bool GLSLCompletionAssistProvider::supportsEditor(const Core::Id &editorId) const +bool GLSLCompletionAssistProvider::supportsEditor(Core::Id editorId) const { return editorId == Constants::C_GLSLEDITOR_ID; } diff --git a/src/plugins/glsleditor/glslcompletionassist.h b/src/plugins/glsleditor/glslcompletionassist.h index 2c7e214281a..840d2347ca8 100644 --- a/src/plugins/glsleditor/glslcompletionassist.h +++ b/src/plugins/glsleditor/glslcompletionassist.h @@ -56,7 +56,7 @@ class GLSLCompletionAssistProvider : public TextEditor::CompletionAssistProvider Q_OBJECT public: - bool supportsEditor(const Core::Id &editorId) const QTC_OVERRIDE; + bool supportsEditor(Core::Id editorId) const QTC_OVERRIDE; TextEditor::IAssistProcessor *createProcessor() const QTC_OVERRIDE; int activationCharSequenceLength() const QTC_OVERRIDE; diff --git a/src/plugins/help/docsettingspage.ui b/src/plugins/help/docsettingspage.ui index 93fb3f9f8ef..466a647096f 100644 --- a/src/plugins/help/docsettingspage.ui +++ b/src/plugins/help/docsettingspage.ui @@ -23,7 +23,7 @@ - QAbstractItemView::ContiguousSelection + QAbstractItemView::ExtendedSelection true @@ -35,12 +35,6 @@ - - 6 - - - 0 - diff --git a/src/plugins/help/helpfindsupport.h b/src/plugins/help/helpfindsupport.h index 3809fe43147..13e15d518ad 100644 --- a/src/plugins/help/helpfindsupport.h +++ b/src/plugins/help/helpfindsupport.h @@ -48,7 +48,7 @@ public: bool supportsReplace() const { return false; } Core::FindFlags supportedFindFlags() const; void resetIncrementalSearch() {} - void clearResults() {} + void clearHighlights() {} QString currentFindString() const; QString completedFindString() const { return QString(); } diff --git a/src/plugins/help/helpplugin.cpp b/src/plugins/help/helpplugin.cpp index 3857d69d8f4..57f6519d7e7 100644 --- a/src/plugins/help/helpplugin.cpp +++ b/src/plugins/help/helpplugin.cpp @@ -95,11 +95,11 @@ using namespace Help::Internal; -const char SB_INDEX[] = QT_TRANSLATE_NOOP("Help::Internal::HelpPlugin", "Index"); -const char SB_CONTENTS[] = QT_TRANSLATE_NOOP("Help::Internal::HelpPlugin", "Contents"); -const char SB_BOOKMARKS[] = QT_TRANSLATE_NOOP("Help::Internal::HelpPlugin", "Bookmarks"); +static const char SB_INDEX[] = QT_TRANSLATE_NOOP("Help::Internal::HelpPlugin", "Index"); +static const char SB_CONTENTS[] = QT_TRANSLATE_NOOP("Help::Internal::HelpPlugin", "Contents"); +static const char SB_BOOKMARKS[] = QT_TRANSLATE_NOOP("Help::Internal::HelpPlugin", "Bookmarks"); -const char SB_OPENPAGES[] = "OpenPages"; +static const char SB_OPENPAGES[] = "OpenPages"; static const char kExternalWindowStateKey[] = "Help/ExternalWindowState"; @@ -238,7 +238,7 @@ bool HelpPlugin::initialize(const QStringList &arguments, QString *error) cmd = ActionManager::registerAction(action, Help::Constants::CONTEXT_HELP, globalcontext); ActionManager::actionContainer(Core::Constants::M_HELP)->addAction(cmd, Core::Constants::G_HELP_HELP); cmd->setDefaultKeySequence(QKeySequence(Qt::Key_F1)); - connect(action, SIGNAL(triggered()), this, SLOT(activateContext())); + connect(action, SIGNAL(triggered()), this, SLOT(showContextHelp())); action = new QAction(tr("Technical Support"), this); cmd = ActionManager::registerAction(action, "Help.TechSupport", globalcontext); @@ -762,7 +762,7 @@ static QUrl findBestLink(const QMap &links, QString *highlightId) return source; } -void HelpPlugin::activateContext() +void HelpPlugin::showContextHelp() { if (ModeManager::currentMode() == m_mode) return; diff --git a/src/plugins/help/helpplugin.h b/src/plugins/help/helpplugin.h index 856892e8e5e..0e83263569f 100644 --- a/src/plugins/help/helpplugin.h +++ b/src/plugins/help/helpplugin.h @@ -89,7 +89,7 @@ private slots: void modeChanged(Core::IMode *mode, Core::IMode *old); - void activateContext(); + void showContextHelp(); void activateIndex(); void activateContents(); void activateSearch(); diff --git a/src/plugins/help/helpwidget.cpp b/src/plugins/help/helpwidget.cpp index aac98239fbc..791ce0c3356 100644 --- a/src/plugins/help/helpwidget.cpp +++ b/src/plugins/help/helpwidget.cpp @@ -66,8 +66,9 @@ HelpWidget::HelpWidget(const Core::Context &context, WidgetStyle style, QWidget { Utils::StyledBar *toolBar = new Utils::StyledBar(); - QAction *switchToHelp = new QAction(tr("Go to Help Mode"), toolBar); - connect(switchToHelp, SIGNAL(triggered()), this, SLOT(helpModeButtonClicked())); + m_switchToHelp = new QAction(tr("Go to Help Mode"), toolBar); + connect(m_switchToHelp, SIGNAL(triggered()), this, SLOT(helpModeButtonClicked())); + updateHelpModeButtonToolTip(); QAction *back = new QAction(QIcon(QLatin1String(":/help/images/previous.png")), tr("Back"), toolBar); @@ -84,7 +85,7 @@ HelpWidget::HelpWidget(const Core::Context &context, WidgetStyle style, QWidget layout->setSpacing(0); layout->setMargin(0); - layout->addWidget(toolButton(switchToHelp)); + layout->addWidget(toolButton(m_switchToHelp)); layout->addWidget(toolButton(back)); layout->addWidget(toolButton(forward)); layout->addStretch(); @@ -124,6 +125,7 @@ HelpWidget::HelpWidget(const Core::Context &context, WidgetStyle style, QWidget cmd = Core::ActionManager::registerAction(m_openHelpMode, Help::Constants::CONTEXT_HELP, context); + connect(cmd, SIGNAL(keySequenceChanged()), this, SLOT(updateHelpModeButtonToolTip())); connect(m_openHelpMode, SIGNAL(triggered()), this, SLOT(helpModeButtonClicked())); Core::ActionContainer *advancedMenu = Core::ActionManager::actionContainer(Core::Constants::M_EDIT_ADVANCED); @@ -214,5 +216,12 @@ void HelpWidget::helpModeButtonClicked() close(); } +void HelpWidget::updateHelpModeButtonToolTip() +{ + Core::Command *cmd = Core::ActionManager::command(Constants::CONTEXT_HELP); + QTC_ASSERT(cmd, return); + m_switchToHelp->setToolTip(cmd->stringWithAppendedShortcut(m_switchToHelp->text())); +} + } // Internal } // Help diff --git a/src/plugins/help/helpwidget.h b/src/plugins/help/helpwidget.h index f89bd01eef7..3796be59dc1 100644 --- a/src/plugins/help/helpwidget.h +++ b/src/plugins/help/helpwidget.h @@ -72,8 +72,10 @@ private slots: void updateForwardMenu(); void updateWindowTitle(); void helpModeButtonClicked(); + void updateHelpModeButtonToolTip(); private: + QAction *m_switchToHelp; QMenu *m_backMenu; QMenu *m_forwardMenu; QAction *m_openHelpMode; diff --git a/src/plugins/imageviewer/imagevieweractionhandler.cpp b/src/plugins/imageviewer/imagevieweractionhandler.cpp index ad256483b58..2b9e29e12f3 100644 --- a/src/plugins/imageviewer/imagevieweractionhandler.cpp +++ b/src/plugins/imageviewer/imagevieweractionhandler.cpp @@ -119,7 +119,7 @@ void ImageViewerActionHandler::createActions() and keyboard shortcut \a key, and registers it in the action manager. */ -void ImageViewerActionHandler::registerNewAction(int actionId, const Core::Id &id, +void ImageViewerActionHandler::registerNewAction(int actionId, Core::Id id, const QString &title, const QKeySequence &key) { Core::Context context(Constants::IMAGEVIEWER_ID); diff --git a/src/plugins/imageviewer/imagevieweractionhandler.h b/src/plugins/imageviewer/imagevieweractionhandler.h index 28266c2fab2..9a41e3c23ab 100644 --- a/src/plugins/imageviewer/imagevieweractionhandler.h +++ b/src/plugins/imageviewer/imagevieweractionhandler.h @@ -56,7 +56,7 @@ public slots: protected: - void registerNewAction(int actionId, const Core::Id &id, const QString &title, + void registerNewAction(int actionId, Core::Id id, const QString &title, const QKeySequence &key); private: diff --git a/src/plugins/imageviewer/imageviewerfile.cpp b/src/plugins/imageviewer/imageviewerfile.cpp index a5c06e0f080..df52d2c46a3 100644 --- a/src/plugins/imageviewer/imageviewerfile.cpp +++ b/src/plugins/imageviewer/imageviewerfile.cpp @@ -42,6 +42,7 @@ ImageViewerFile::ImageViewerFile(ImageViewer *parent) { setId(Constants::IMAGEVIEWER_ID); m_editor = parent; + connect(this, SIGNAL(mimeTypeChanged()), this, SIGNAL(changed())); } Core::IDocument::ReloadBehavior ImageViewerFile::reloadBehavior(ChangeTrigger state, ChangeType type) const @@ -90,11 +91,6 @@ QString ImageViewerFile::suggestedFileName() const return QString(); } -QString ImageViewerFile::mimeType() const -{ - return m_mimeType; -} - bool ImageViewerFile::isModified() const { return false; @@ -105,11 +101,5 @@ bool ImageViewerFile::isSaveAsAllowed() const return false; } -void ImageViewerFile::setMimetype(const QString &mimetype) -{ - m_mimeType = mimetype; - emit changed(); -} - } // namespace Internal } // namespace ImageViewer diff --git a/src/plugins/imageviewer/imageviewerfile.h b/src/plugins/imageviewer/imageviewerfile.h index dc88a47c047..135454df8ce 100644 --- a/src/plugins/imageviewer/imageviewerfile.h +++ b/src/plugins/imageviewer/imageviewerfile.h @@ -50,7 +50,6 @@ public: QString defaultPath() const; QString suggestedFileName() const; - QString mimeType() const; bool isModified() const; bool isSaveAsAllowed() const; @@ -58,10 +57,7 @@ public: ReloadBehavior reloadBehavior(ChangeTrigger state, ChangeType type) const; bool reload(QString *errorString, ReloadFlag flag, ChangeType type); - void setMimetype(const QString &mimetype); - private: - QString m_mimeType; ImageViewer *m_editor; }; diff --git a/src/plugins/ios/iosbuildstep.h b/src/plugins/ios/iosbuildstep.h index f0015abd6ad..7081e6212dc 100644 --- a/src/plugins/ios/iosbuildstep.h +++ b/src/plugins/ios/iosbuildstep.h @@ -72,7 +72,7 @@ public: QVariantMap toMap() const QTC_OVERRIDE; protected: IosBuildStep(ProjectExplorer::BuildStepList *parent, IosBuildStep *bs); - IosBuildStep(ProjectExplorer::BuildStepList *parent, const Core::Id id); + IosBuildStep(ProjectExplorer::BuildStepList *parent, Core::Id id); bool fromMap(const QVariantMap &map) QTC_OVERRIDE; private: @@ -114,8 +114,8 @@ class IosBuildStepFactory : public ProjectExplorer::IBuildStepFactory public: explicit IosBuildStepFactory(QObject *parent = 0); - bool canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const QTC_OVERRIDE; - ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, const Core::Id id) QTC_OVERRIDE; + bool canCreate(ProjectExplorer::BuildStepList *parent, Core::Id id) const QTC_OVERRIDE; + ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, Core::Id id) QTC_OVERRIDE; bool canClone(ProjectExplorer::BuildStepList *parent, ProjectExplorer::BuildStep *source) const QTC_OVERRIDE; ProjectExplorer::BuildStep *clone(ProjectExplorer::BuildStepList *parent, @@ -125,7 +125,7 @@ public: const QVariantMap &map) QTC_OVERRIDE; QList availableCreationIds(ProjectExplorer::BuildStepList *bc) const QTC_OVERRIDE; - QString displayNameForId(const Core::Id id) const QTC_OVERRIDE; + QString displayNameForId(Core::Id id) const QTC_OVERRIDE; }; } // namespace Internal diff --git a/src/plugins/ios/iosdeployconfiguration.cpp b/src/plugins/ios/iosdeployconfiguration.cpp index df35812a6df..1d08ed9f9a2 100644 --- a/src/plugins/ios/iosdeployconfiguration.cpp +++ b/src/plugins/ios/iosdeployconfiguration.cpp @@ -63,12 +63,12 @@ IosDeployConfigurationFactory::IosDeployConfigurationFactory(QObject *parent) setObjectName(QLatin1String("IosDeployConfigurationFactory")); } -bool IosDeployConfigurationFactory::canCreate(Target *parent, const Core::Id id) const +bool IosDeployConfigurationFactory::canCreate(Target *parent, Core::Id id) const { return availableCreationIds(parent).contains(id); } -DeployConfiguration *IosDeployConfigurationFactory::create(Target *parent, const Core::Id id) +DeployConfiguration *IosDeployConfigurationFactory::create(Target *parent, Core::Id id) { IosDeployConfiguration *dc = new IosDeployConfiguration(parent, id); dc->stepList()->insertStep(0, new IosDeployStep(dc->stepList())); @@ -120,7 +120,7 @@ QList IosDeployConfigurationFactory::availableCreationIds(Target *pare return ids; } -QString IosDeployConfigurationFactory::displayNameForId(const Core::Id id) const +QString IosDeployConfigurationFactory::displayNameForId(Core::Id id) const { if (id.name().startsWith(IOS_DC_PREFIX)) return tr("Deploy on iOS"); diff --git a/src/plugins/ios/iosdeployconfiguration.h b/src/plugins/ios/iosdeployconfiguration.h index c3a45416674..e3f90a92835 100644 --- a/src/plugins/ios/iosdeployconfiguration.h +++ b/src/plugins/ios/iosdeployconfiguration.h @@ -59,8 +59,8 @@ class IosDeployConfigurationFactory : public ProjectExplorer::DeployConfiguratio public: explicit IosDeployConfigurationFactory(QObject *parent = 0); - bool canCreate(ProjectExplorer::Target *parent, const Core::Id id) const QTC_OVERRIDE; - ProjectExplorer::DeployConfiguration *create(ProjectExplorer::Target *parent, const Core::Id id) QTC_OVERRIDE; + bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const QTC_OVERRIDE; + ProjectExplorer::DeployConfiguration *create(ProjectExplorer::Target *parent, Core::Id id) QTC_OVERRIDE; bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const QTC_OVERRIDE; ProjectExplorer::DeployConfiguration *restore(ProjectExplorer::Target *parent, const QVariantMap &map) QTC_OVERRIDE; @@ -71,7 +71,7 @@ public: QList availableCreationIds(ProjectExplorer::Target *parent) const QTC_OVERRIDE; // used to translate the ids to names to display to the user - QString displayNameForId(const Core::Id id) const QTC_OVERRIDE; + QString displayNameForId(Core::Id id) const QTC_OVERRIDE; private: bool canHandle(ProjectExplorer::Target *parent) const QTC_OVERRIDE; diff --git a/src/plugins/ios/iosdeploystepfactory.cpp b/src/plugins/ios/iosdeploystepfactory.cpp index f1d1f2fa5d3..00455c5b2d7 100644 --- a/src/plugins/ios/iosdeploystepfactory.cpp +++ b/src/plugins/ios/iosdeploystepfactory.cpp @@ -61,19 +61,19 @@ QList IosDeployStepFactory::availableCreationIds(BuildStepList *parent return QList() << IosDeployStep::Id; } -QString IosDeployStepFactory::displayNameForId(const Core::Id id) const +QString IosDeployStepFactory::displayNameForId(Core::Id id) const { if (id == IosDeployStep::Id) return tr("Deploy to iOS device or emulator"); return QString(); } -bool IosDeployStepFactory::canCreate(BuildStepList *parent, const Core::Id id) const +bool IosDeployStepFactory::canCreate(BuildStepList *parent, Core::Id id) const { return availableCreationIds(parent).contains(id); } -BuildStep *IosDeployStepFactory::create(BuildStepList *parent, const Core::Id id) +BuildStep *IosDeployStepFactory::create(BuildStepList *parent, Core::Id id) { Q_ASSERT(canCreate(parent, id)); Q_UNUSED(id); diff --git a/src/plugins/ios/iosdeploystepfactory.h b/src/plugins/ios/iosdeploystepfactory.h index f68f2eed8eb..503cd82be82 100644 --- a/src/plugins/ios/iosdeploystepfactory.h +++ b/src/plugins/ios/iosdeploystepfactory.h @@ -42,11 +42,11 @@ public: explicit IosDeployStepFactory(QObject *parent = 0); QList availableCreationIds(ProjectExplorer::BuildStepList *parent) const QTC_OVERRIDE; - QString displayNameForId(const Core::Id id) const QTC_OVERRIDE; + QString displayNameForId(Core::Id id) const QTC_OVERRIDE; bool canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const QTC_OVERRIDE; - ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, const Core::Id id) QTC_OVERRIDE; + ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, Core::Id id) QTC_OVERRIDE; bool canRestore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map) const QTC_OVERRIDE; ProjectExplorer::BuildStep *restore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map) QTC_OVERRIDE; diff --git a/src/plugins/ios/iosdsymbuildstep.h b/src/plugins/ios/iosdsymbuildstep.h index 12484c86c8f..33e6114066f 100644 --- a/src/plugins/ios/iosdsymbuildstep.h +++ b/src/plugins/ios/iosdsymbuildstep.h @@ -66,7 +66,7 @@ public: QVariantMap toMap() const QTC_OVERRIDE; protected: - IosPresetBuildStep(ProjectExplorer::BuildStepList *parent, const Core::Id id); + IosPresetBuildStep(ProjectExplorer::BuildStepList *parent, Core::Id id); virtual bool completeSetup(); virtual bool completeSetupWithStep(ProjectExplorer::BuildStep *bs); bool fromMap(const QVariantMap &map) QTC_OVERRIDE; @@ -107,7 +107,7 @@ class IosPresetBuildStepFactory : public ProjectExplorer::IBuildStepFactory public: explicit IosPresetBuildStepFactory(QObject *parent = 0); - ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, const Core::Id id) QTC_OVERRIDE; + ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, Core::Id id) QTC_OVERRIDE; bool canClone(ProjectExplorer::BuildStepList *parent, ProjectExplorer::BuildStep *source) const QTC_OVERRIDE; ProjectExplorer::BuildStep *clone(ProjectExplorer::BuildStepList *parent, @@ -128,16 +128,16 @@ class IosDsymBuildStep : public IosPresetBuildStep protected: QStringList defaultCleanCmdList() const QTC_OVERRIDE; QStringList defaultCmdList() const QTC_OVERRIDE; - IosDsymBuildStep(ProjectExplorer::BuildStepList *parent, const Core::Id id); + IosDsymBuildStep(ProjectExplorer::BuildStepList *parent, Core::Id id); }; class IosDsymBuildStepFactory : public IosPresetBuildStepFactory { Q_OBJECT public: - bool canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const QTC_OVERRIDE; + bool canCreate(ProjectExplorer::BuildStepList *parent, Core::Id id) const QTC_OVERRIDE; QList availableCreationIds(ProjectExplorer::BuildStepList *bc) const QTC_OVERRIDE; - QString displayNameForId(const Core::Id id) const QTC_OVERRIDE; + QString displayNameForId(Core::Id id) const QTC_OVERRIDE; IosPresetBuildStep *createPresetStep(ProjectExplorer::BuildStepList *parent, const Core::Id id) const QTC_OVERRIDE; }; diff --git a/src/plugins/ios/iosrunfactories.cpp b/src/plugins/ios/iosrunfactories.cpp index 456ead3217f..0132cb3d9af 100644 --- a/src/plugins/ios/iosrunfactories.cpp +++ b/src/plugins/ios/iosrunfactories.cpp @@ -57,7 +57,7 @@ namespace Internal { #define IOS_PREFIX "Qt4ProjectManager.IosRunConfiguration" #define IOS_RC_ID_PREFIX IOS_PREFIX ":" -static QString pathFromId(const Core::Id id) +static QString pathFromId(Core::Id id) { QString pathStr = id.toString(); const QString prefix = QLatin1String(IOS_RC_ID_PREFIX); @@ -72,7 +72,7 @@ IosRunConfigurationFactory::IosRunConfigurationFactory(QObject *parent) setObjectName(QLatin1String("IosRunConfigurationFactory")); } -bool IosRunConfigurationFactory::canCreate(Target *parent, const Core::Id id) const +bool IosRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const { if (!canHandle(parent)) return false; @@ -108,7 +108,7 @@ QList IosRunConfigurationFactory::availableCreationIds(Target *parent, return QmakeProject::idsForNodes(baseId, nodes); } -QString IosRunConfigurationFactory::displayNameForId(const Core::Id id) const +QString IosRunConfigurationFactory::displayNameForId(Core::Id id) const { return QFileInfo(pathFromId(id)).completeBaseName(); } @@ -139,7 +139,7 @@ QList IosRunConfigurationFactory::runConfigurationsForNode(T return result; } -RunConfiguration *IosRunConfigurationFactory::doCreate(Target *parent, const Core::Id id) +RunConfiguration *IosRunConfigurationFactory::doCreate(Target *parent, Core::Id id) { return new IosRunConfiguration(parent, id, pathFromId(id)); } diff --git a/src/plugins/ios/iosrunfactories.h b/src/plugins/ios/iosrunfactories.h index 1ecedd108f8..fceea1f1819 100644 --- a/src/plugins/ios/iosrunfactories.h +++ b/src/plugins/ios/iosrunfactories.h @@ -50,10 +50,10 @@ class IosRunConfigurationFactory : public QmakeProjectManager::QmakeRunConfigura public: explicit IosRunConfigurationFactory(QObject *parent = 0); - QString displayNameForId(const Core::Id id) const QTC_OVERRIDE; + QString displayNameForId(Core::Id id) const QTC_OVERRIDE; QList availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode = UserCreate) const QTC_OVERRIDE; - bool canCreate(ProjectExplorer::Target *parent, const Core::Id id) const QTC_OVERRIDE; + bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const QTC_OVERRIDE; bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const QTC_OVERRIDE; diff --git a/src/plugins/macros/macrotextfind.cpp b/src/plugins/macros/macrotextfind.cpp index 1aeef19113c..e3ef0e952b1 100644 --- a/src/plugins/macros/macrotextfind.cpp +++ b/src/plugins/macros/macrotextfind.cpp @@ -59,10 +59,10 @@ void MacroTextFind::resetIncrementalSearch() emit incrementalSearchReseted(); } -void MacroTextFind::clearResults() +void MacroTextFind::clearHighlights() { QTC_ASSERT(m_currentFind, return); - m_currentFind->clearResults(); + m_currentFind->clearHighlights(); } QString MacroTextFind::currentFindString() const diff --git a/src/plugins/macros/macrotextfind.h b/src/plugins/macros/macrotextfind.h index f703664dfdd..6cc23d124d6 100644 --- a/src/plugins/macros/macrotextfind.h +++ b/src/plugins/macros/macrotextfind.h @@ -47,7 +47,7 @@ public: bool supportsReplace() const; Core::FindFlags supportedFindFlags() const; void resetIncrementalSearch(); - void clearResults(); + void clearHighlights(); QString currentFindString() const; QString completedFindString() const; diff --git a/src/plugins/projectexplorer/abstractprocessstep.cpp b/src/plugins/projectexplorer/abstractprocessstep.cpp index d97e598f9c9..17846cc87d0 100644 --- a/src/plugins/projectexplorer/abstractprocessstep.cpp +++ b/src/plugins/projectexplorer/abstractprocessstep.cpp @@ -86,7 +86,7 @@ using namespace ProjectExplorer; Should be used in init(). */ -AbstractProcessStep::AbstractProcessStep(BuildStepList *bsl, const Core::Id id) : +AbstractProcessStep::AbstractProcessStep(BuildStepList *bsl, Core::Id id) : BuildStep(bsl, id), m_timer(0), m_futureInterface(0), m_ignoreReturnValue(false), m_process(0), m_outputParserChain(0), m_skipFlush(false) diff --git a/src/plugins/projectexplorer/abstractprocessstep.h b/src/plugins/projectexplorer/abstractprocessstep.h index 26ad21cbe32..78ac0ce4574 100644 --- a/src/plugins/projectexplorer/abstractprocessstep.h +++ b/src/plugins/projectexplorer/abstractprocessstep.h @@ -69,7 +69,7 @@ public: void emitFaultyConfigurationMessage(); protected: - AbstractProcessStep(BuildStepList *bsl, const Core::Id id); + AbstractProcessStep(BuildStepList *bsl, Core::Id id); AbstractProcessStep(BuildStepList *bsl, AbstractProcessStep *bs); virtual void processStarted(); diff --git a/src/plugins/projectexplorer/allprojectsfilter.cpp b/src/plugins/projectexplorer/allprojectsfilter.cpp index fd4b44e9ed3..6972b25daa7 100644 --- a/src/plugins/projectexplorer/allprojectsfilter.cpp +++ b/src/plugins/projectexplorer/allprojectsfilter.cpp @@ -55,16 +55,21 @@ void AllProjectsFilter::markFilesAsOutOfDate() m_filesUpToDate = false; } -void AllProjectsFilter::updateFiles() +void AllProjectsFilter::updateFilesImpl() { if (m_filesUpToDate) return; - m_filesUpToDate = true; files().clear(); foreach (Project *project, SessionManager::projects()) files().append(project->files(Project::AllFiles)); Utils::sort(files()); generateFileNames(); + m_filesUpToDate = true; +} + +void AllProjectsFilter::updateFiles() +{ + QMetaObject::invokeMethod(this, "updateFilesImpl", Qt::BlockingQueuedConnection); } void AllProjectsFilter::refresh(QFutureInterface &future) diff --git a/src/plugins/projectexplorer/allprojectsfilter.h b/src/plugins/projectexplorer/allprojectsfilter.h index 0e5b79b5617..1d12e6d54d0 100644 --- a/src/plugins/projectexplorer/allprojectsfilter.h +++ b/src/plugins/projectexplorer/allprojectsfilter.h @@ -50,6 +50,7 @@ protected: private slots: void markFilesAsOutOfDate(); + void updateFilesImpl(); private: bool m_filesUpToDate; diff --git a/src/plugins/projectexplorer/buildconfiguration.cpp b/src/plugins/projectexplorer/buildconfiguration.cpp index e97edc50283..3581c067881 100644 --- a/src/plugins/projectexplorer/buildconfiguration.cpp +++ b/src/plugins/projectexplorer/buildconfiguration.cpp @@ -80,7 +80,7 @@ bool BuildConfigMacroExpander::resolveMacro(const QString &name, QString *ret) } } // namespace Internal -BuildConfiguration::BuildConfiguration(Target *target, const Core::Id id) : +BuildConfiguration::BuildConfiguration(Target *target, Core::Id id) : ProjectConfiguration(target, id), m_clearSystemEnvironment(false), m_macroExpander(0) diff --git a/src/plugins/projectexplorer/buildconfiguration.h b/src/plugins/projectexplorer/buildconfiguration.h index a2911fb1207..94894bb230d 100644 --- a/src/plugins/projectexplorer/buildconfiguration.h +++ b/src/plugins/projectexplorer/buildconfiguration.h @@ -97,7 +97,7 @@ signals: void enabledChanged(); protected: - BuildConfiguration(Target *target, const Core::Id id); + BuildConfiguration(Target *target, Core::Id id); BuildConfiguration(Target *target, BuildConfiguration *source); virtual void setBuildDirectory(const Utils::FileName &dir); diff --git a/src/plugins/projectexplorer/buildstep.cpp b/src/plugins/projectexplorer/buildstep.cpp index cec7d4cfa0b..b76ac1968d9 100644 --- a/src/plugins/projectexplorer/buildstep.cpp +++ b/src/plugins/projectexplorer/buildstep.cpp @@ -113,7 +113,7 @@ static const char buildStepEnabledKey[] = "ProjectExplorer.BuildStep.Enabled"; using namespace ProjectExplorer; -BuildStep::BuildStep(BuildStepList *bsl, const Core::Id id) : +BuildStep::BuildStep(BuildStepList *bsl, Core::Id id) : ProjectConfiguration(bsl, id), m_enabled(true) { Q_ASSERT(bsl); diff --git a/src/plugins/projectexplorer/buildstep.h b/src/plugins/projectexplorer/buildstep.h index ca9b536b508..366e4528dc0 100644 --- a/src/plugins/projectexplorer/buildstep.h +++ b/src/plugins/projectexplorer/buildstep.h @@ -51,7 +51,7 @@ class PROJECTEXPLORER_EXPORT BuildStep : public ProjectConfiguration Q_OBJECT protected: - BuildStep(BuildStepList *bsl, const Core::Id id); + BuildStep(BuildStepList *bsl, Core::Id id); BuildStep(BuildStepList *bsl, BuildStep *bs); public: @@ -107,10 +107,10 @@ public: // used to show the list of possible additons to a target, returns a list of types virtual QList availableCreationIds(BuildStepList *parent) const = 0; // used to translate the types to names to display to the user - virtual QString displayNameForId(const Core::Id id) const = 0; + virtual QString displayNameForId(Core::Id id) const = 0; - virtual bool canCreate(BuildStepList *parent, const Core::Id id) const = 0; - virtual BuildStep *create(BuildStepList *parent, const Core::Id id) = 0; + virtual bool canCreate(BuildStepList *parent, Core::Id id) const = 0; + virtual BuildStep *create(BuildStepList *parent, Core::Id id) = 0; // used to recreate the runConfigurations when restoring settings virtual bool canRestore(BuildStepList *parent, const QVariantMap &map) const = 0; virtual BuildStep *restore(BuildStepList *parent, const QVariantMap &map) = 0; diff --git a/src/plugins/projectexplorer/buildsteplist.cpp b/src/plugins/projectexplorer/buildsteplist.cpp index 82a0c236f3b..3b48de0c752 100644 --- a/src/plugins/projectexplorer/buildsteplist.cpp +++ b/src/plugins/projectexplorer/buildsteplist.cpp @@ -63,7 +63,7 @@ const char STEPS_PREFIX[] = "ProjectExplorer.BuildStepList.Step."; } // namespace -BuildStepList::BuildStepList(QObject *parent, const Core::Id id) : +BuildStepList::BuildStepList(QObject *parent, Core::Id id) : ProjectConfiguration(parent, id), m_isNull(false) { @@ -119,7 +119,7 @@ bool BuildStepList::isEmpty() const return m_steps.isEmpty(); } -bool BuildStepList::contains(const Core::Id id) const +bool BuildStepList::contains(Core::Id id) const { foreach (BuildStep *bs, steps()) { if (bs->id() == id) diff --git a/src/plugins/projectexplorer/buildsteplist.h b/src/plugins/projectexplorer/buildsteplist.h index dbf1268d54f..410db3312a4 100644 --- a/src/plugins/projectexplorer/buildsteplist.h +++ b/src/plugins/projectexplorer/buildsteplist.h @@ -46,7 +46,7 @@ class PROJECTEXPLORER_EXPORT BuildStepList : public ProjectConfiguration Q_OBJECT public: - BuildStepList(QObject *parent, const Core::Id id); + BuildStepList(QObject *parent, Core::Id id); BuildStepList(QObject *parent, BuildStepList *source); BuildStepList(QObject *parent, const QVariantMap &data); virtual ~BuildStepList(); @@ -55,7 +55,7 @@ public: bool isNull() const; int count() const; bool isEmpty() const; - bool contains(const Core::Id id) const; + bool contains(Core::Id id) const; void insertStep(int position, BuildStep *step); void appendStep(BuildStep *step) { insertStep(count(), step); } diff --git a/src/plugins/projectexplorer/currentprojectfilter.cpp b/src/plugins/projectexplorer/currentprojectfilter.cpp index 50917bb598f..2a04772e98b 100644 --- a/src/plugins/projectexplorer/currentprojectfilter.cpp +++ b/src/plugins/projectexplorer/currentprojectfilter.cpp @@ -57,17 +57,22 @@ void CurrentProjectFilter::markFilesAsOutOfDate() m_filesUpToDate = false; } -void CurrentProjectFilter::updateFiles() +void CurrentProjectFilter::updateFilesImpl() { if (m_filesUpToDate) return; - m_filesUpToDate = true; files().clear(); if (!m_project) return; files() = m_project->files(Project::AllFiles); Utils::sort(files()); generateFileNames(); + m_filesUpToDate = true; +} + +void CurrentProjectFilter::updateFiles() +{ + QMetaObject::invokeMethod(this, "updateFilesImpl", Qt::BlockingQueuedConnection); } void CurrentProjectFilter::currentProjectChanged(ProjectExplorer::Project *project) diff --git a/src/plugins/projectexplorer/currentprojectfilter.h b/src/plugins/projectexplorer/currentprojectfilter.h index 25fe85a8acc..f1a9a5f682a 100644 --- a/src/plugins/projectexplorer/currentprojectfilter.h +++ b/src/plugins/projectexplorer/currentprojectfilter.h @@ -54,6 +54,7 @@ protected: private slots: void currentProjectChanged(ProjectExplorer::Project *project); void markFilesAsOutOfDate(); + void updateFilesImpl(); private: Project *m_project; diff --git a/src/plugins/projectexplorer/deployconfiguration.cpp b/src/plugins/projectexplorer/deployconfiguration.cpp index a6259f0acdd..1dd7ce490e5 100644 --- a/src/plugins/projectexplorer/deployconfiguration.cpp +++ b/src/plugins/projectexplorer/deployconfiguration.cpp @@ -42,7 +42,7 @@ using namespace ProjectExplorer; const char BUILD_STEP_LIST_COUNT[] = "ProjectExplorer.BuildConfiguration.BuildStepListCount"; const char BUILD_STEP_LIST_PREFIX[] = "ProjectExplorer.BuildConfiguration.BuildStepList."; -DeployConfiguration::DeployConfiguration(Target *target, const Core::Id id) : +DeployConfiguration::DeployConfiguration(Target *target, Core::Id id) : ProjectConfiguration(target, id), m_stepList(0) { @@ -144,7 +144,7 @@ void DeployConfiguration::cloneSteps(DeployConfiguration *source) /// // DefaultDeployConfiguration /// -DefaultDeployConfiguration::DefaultDeployConfiguration(Target *target, const Core::Id id) +DefaultDeployConfiguration::DefaultDeployConfiguration(Target *target, Core::Id id) : DeployConfiguration(target, id) { @@ -174,7 +174,7 @@ QList DeployConfigurationFactory::availableCreationIds(Target *parent) return QList() << Core::Id(Constants::DEFAULT_DEPLOYCONFIGURATION_ID); } -QString DeployConfigurationFactory::displayNameForId(const Core::Id id) const +QString DeployConfigurationFactory::displayNameForId(Core::Id id) const { if (id == Constants::DEFAULT_DEPLOYCONFIGURATION_ID) //: Display name of the default deploy configuration @@ -182,14 +182,14 @@ QString DeployConfigurationFactory::displayNameForId(const Core::Id id) const return QString(); } -bool DeployConfigurationFactory::canCreate(Target *parent, const Core::Id id) const +bool DeployConfigurationFactory::canCreate(Target *parent, Core::Id id) const { if (!canHandle(parent)) return false; return id == Constants::DEFAULT_DEPLOYCONFIGURATION_ID; } -DeployConfiguration *DeployConfigurationFactory::create(Target *parent, const Core::Id id) +DeployConfiguration *DeployConfigurationFactory::create(Target *parent, Core::Id id) { if (!canCreate(parent, id)) return 0; diff --git a/src/plugins/projectexplorer/deployconfiguration.h b/src/plugins/projectexplorer/deployconfiguration.h index 0811a2c8133..7ea2b397006 100644 --- a/src/plugins/projectexplorer/deployconfiguration.h +++ b/src/plugins/projectexplorer/deployconfiguration.h @@ -69,7 +69,7 @@ signals: void enabledChanged(); protected: - DeployConfiguration(Target *target, const Core::Id id); + DeployConfiguration(Target *target, Core::Id id); DeployConfiguration(Target *target, DeployConfiguration *source); void cloneSteps(DeployConfiguration *source); @@ -83,7 +83,7 @@ class PROJECTEXPLORER_EXPORT DefaultDeployConfiguration : public DeployConfigura Q_OBJECT friend class DeployConfigurationFactory; // for the ctors protected: - DefaultDeployConfiguration(Target *target, const Core::Id id); + DefaultDeployConfiguration(Target *target, Core::Id id); DefaultDeployConfiguration(Target *target, DeployConfiguration *source); }; @@ -99,10 +99,10 @@ public: // used to show the list of possible additons to a target, returns a list of types virtual QList availableCreationIds(Target *parent) const; // used to translate the types to names to display to the user - virtual QString displayNameForId(const Core::Id id) const; + virtual QString displayNameForId(Core::Id id) const; - virtual bool canCreate(Target *parent, const Core::Id id) const; - virtual DeployConfiguration *create(Target *parent, const Core::Id id); + virtual bool canCreate(Target *parent, Core::Id id) const; + virtual DeployConfiguration *create(Target *parent, Core::Id id); // used to recreate the runConfigurations when restoring settings virtual bool canRestore(Target *parent, const QVariantMap &map) const; virtual DeployConfiguration *restore(Target *parent, const QVariantMap &map); diff --git a/src/plugins/projectexplorer/devicesupport/devicemanagermodel.cpp b/src/plugins/projectexplorer/devicesupport/devicemanagermodel.cpp index 384a81fecfa..6a714f73352 100644 --- a/src/plugins/projectexplorer/devicesupport/devicemanagermodel.cpp +++ b/src/plugins/projectexplorer/devicesupport/devicemanagermodel.cpp @@ -68,7 +68,7 @@ void DeviceManagerModel::setFilter(const QList &filter) handleDeviceListChanged(); } -void DeviceManagerModel::setTypeFilter(const Core::Id &type) +void DeviceManagerModel::setTypeFilter(Core::Id type) { if (d->typeToKeep == type) return; diff --git a/src/plugins/projectexplorer/devicesupport/devicemanagermodel.h b/src/plugins/projectexplorer/devicesupport/devicemanagermodel.h index 6ccf269ded5..fd568123c7b 100644 --- a/src/plugins/projectexplorer/devicesupport/devicemanagermodel.h +++ b/src/plugins/projectexplorer/devicesupport/devicemanagermodel.h @@ -47,7 +47,7 @@ public: ~DeviceManagerModel(); void setFilter(const QList &filter); - void setTypeFilter(const Core::Id &type); + void setTypeFilter(Core::Id type); IDevice::ConstPtr device(int pos) const; Core::Id deviceId(int pos) const; diff --git a/src/plugins/projectexplorer/devicesupport/devicesettingswidget.cpp b/src/plugins/projectexplorer/devicesupport/devicesettingswidget.cpp index 4015fca8513..aec30a22900 100644 --- a/src/plugins/projectexplorer/devicesupport/devicesettingswidget.cpp +++ b/src/plugins/projectexplorer/devicesupport/devicesettingswidget.cpp @@ -300,7 +300,7 @@ void DeviceSettingsWidget::currentDeviceChanged(int index) m_ui->buttonsLayout->insertWidget(m_ui->buttonsLayout->count() - 1, button); } - foreach (const Core::Id actionId, device->actionIds()) { + foreach (Core::Id actionId, device->actionIds()) { QPushButton * const button = new QPushButton(device->displayNameForActionId(actionId)); m_additionalActionButtons << button; connect(button, SIGNAL(clicked()), m_additionalActionsMapper, SLOT(map())); diff --git a/src/plugins/projectexplorer/kit.cpp b/src/plugins/projectexplorer/kit.cpp index 6dc7a182def..763f81aa9c5 100644 --- a/src/plugins/projectexplorer/kit.cpp +++ b/src/plugins/projectexplorer/kit.cpp @@ -459,12 +459,12 @@ QVariantMap Kit::toMap() const data.insert(QLatin1String(ICON_KEY), d->m_iconPath.toString()); QStringList mutableInfo; - foreach (const Core::Id &id, d->m_mutable) + foreach (Core::Id id, d->m_mutable) mutableInfo << id.toString(); data.insert(QLatin1String(MUTABLE_INFO_KEY), mutableInfo); QStringList stickyInfo; - foreach (const Core::Id &id, d->m_sticky) + foreach (Core::Id id, d->m_sticky) stickyInfo << id.toString(); data.insert(QLatin1String(STICKY_INFO_KEY), stickyInfo); diff --git a/src/plugins/projectexplorer/kitinformation.cpp b/src/plugins/projectexplorer/kitinformation.cpp index 2dc56c18c42..c2062daed99 100644 --- a/src/plugins/projectexplorer/kitinformation.cpp +++ b/src/plugins/projectexplorer/kitinformation.cpp @@ -410,7 +410,7 @@ void DeviceKitInformation::setDevice(Kit *k, IDevice::ConstPtr dev) setDeviceId(k, dev ? dev->id() : Core::Id()); } -void DeviceKitInformation::setDeviceId(Kit *k, const Core::Id id) +void DeviceKitInformation::setDeviceId(Kit *k, Core::Id id) { k->setValue(DeviceKitInformation::id(), id.toSetting()); } @@ -432,7 +432,7 @@ void DeviceKitInformation::kitsWereLoaded() this, SLOT(kitUpdated(ProjectExplorer::Kit*))); } -void DeviceKitInformation::deviceUpdated(const Core::Id &id) +void DeviceKitInformation::deviceUpdated(Core::Id id) { foreach (Kit *k, KitManager::kits()) { if (deviceId(k) == id) diff --git a/src/plugins/projectexplorer/kitinformation.h b/src/plugins/projectexplorer/kitinformation.h index 4bd140e8134..54d978b9f33 100644 --- a/src/plugins/projectexplorer/kitinformation.h +++ b/src/plugins/projectexplorer/kitinformation.h @@ -162,7 +162,7 @@ public: class PROJECTEXPLORER_EXPORT DeviceTypeMatcher : public KitMatcher { public: - DeviceTypeMatcher(const Core::Id t) : m_type(t) + DeviceTypeMatcher(Core::Id t) : m_type(t) { } bool matches(const Kit *k) const @@ -204,11 +204,11 @@ public: static IDevice::ConstPtr device(const Kit *k); static Core::Id deviceId(const Kit *k); static void setDevice(Kit *k, IDevice::ConstPtr dev); - static void setDeviceId(Kit *k, const Core::Id dataId); + static void setDeviceId(Kit *k, Core::Id dataId); private slots: void kitsWereLoaded(); - void deviceUpdated(const Core::Id &dataId); + void deviceUpdated(Core::Id dataId); void devicesChanged(); void kitUpdated(ProjectExplorer::Kit *k); }; diff --git a/src/plugins/projectexplorer/kitmanager.cpp b/src/plugins/projectexplorer/kitmanager.cpp index f93eef1e038..d9e93655ced 100644 --- a/src/plugins/projectexplorer/kitmanager.cpp +++ b/src/plugins/projectexplorer/kitmanager.cpp @@ -395,7 +395,7 @@ QList KitManager::matchingKits(const KitMatcher &matcher) return result; } -Kit *KitManager::find(const Core::Id &id) +Kit *KitManager::find(Core::Id id) { if (!id.isValid()) return 0; diff --git a/src/plugins/projectexplorer/kitmanager.h b/src/plugins/projectexplorer/kitmanager.h index 4c5f66b78ae..fafc20d79b8 100644 --- a/src/plugins/projectexplorer/kitmanager.h +++ b/src/plugins/projectexplorer/kitmanager.h @@ -117,7 +117,7 @@ public: static QList kits(); static QList matchingKits(const KitMatcher &matcher); - static Kit *find(const Core::Id &id); + static Kit *find(Core::Id id); static Kit *find(const KitMatcher &matcher); static Kit *defaultKit(); diff --git a/src/plugins/projectexplorer/localapplicationrunconfiguration.cpp b/src/plugins/projectexplorer/localapplicationrunconfiguration.cpp index 9d9864acd39..be6d020641c 100644 --- a/src/plugins/projectexplorer/localapplicationrunconfiguration.cpp +++ b/src/plugins/projectexplorer/localapplicationrunconfiguration.cpp @@ -65,7 +65,7 @@ bool FallBackMacroExpander::resolveMacro(const QString &name, QString *ret) /// LocalApplicationRunConfiguration -LocalApplicationRunConfiguration::LocalApplicationRunConfiguration(Target *target, const Core::Id id) : +LocalApplicationRunConfiguration::LocalApplicationRunConfiguration(Target *target, Core::Id id) : RunConfiguration(target, id), m_macroExpander(0) { } diff --git a/src/plugins/projectexplorer/localapplicationrunconfiguration.h b/src/plugins/projectexplorer/localapplicationrunconfiguration.h index 8f5e4116ee1..55aa1f56aaa 100644 --- a/src/plugins/projectexplorer/localapplicationrunconfiguration.h +++ b/src/plugins/projectexplorer/localapplicationrunconfiguration.h @@ -54,7 +54,7 @@ public: virtual void addToBaseEnvironment(Utils::Environment &env) const; protected: - explicit LocalApplicationRunConfiguration(Target *target, const Core::Id id); + explicit LocalApplicationRunConfiguration(Target *target, Core::Id id); explicit LocalApplicationRunConfiguration(Target *target, LocalApplicationRunConfiguration *rc); Utils::AbstractMacroExpander *macroExpander() const; diff --git a/src/plugins/projectexplorer/processstep.cpp b/src/plugins/projectexplorer/processstep.cpp index 3d5376675ba..94f453b6d3e 100644 --- a/src/plugins/projectexplorer/processstep.cpp +++ b/src/plugins/projectexplorer/processstep.cpp @@ -172,13 +172,13 @@ ProcessStepFactory::~ProcessStepFactory() { } -bool ProcessStepFactory::canCreate(BuildStepList *parent, const Core::Id id) const +bool ProcessStepFactory::canCreate(BuildStepList *parent, Core::Id id) const { Q_UNUSED(parent); return id == PROCESS_STEP_ID; } -BuildStep *ProcessStepFactory::create(BuildStepList *parent, const Core::Id id) +BuildStep *ProcessStepFactory::create(BuildStepList *parent, Core::Id id) { if (!canCreate(parent, id)) return 0; @@ -220,7 +220,7 @@ QList ProcessStepFactory::availableCreationIds(BuildStepList *parent) Q_UNUSED(parent); return QList() << Core::Id(PROCESS_STEP_ID); } -QString ProcessStepFactory::displayNameForId(const Core::Id id) const +QString ProcessStepFactory::displayNameForId(Core::Id id) const { if (id == PROCESS_STEP_ID) return ProcessStep::tr("Custom Process Step", "item in combobox"); diff --git a/src/plugins/projectexplorer/processstep.h b/src/plugins/projectexplorer/processstep.h index 212b6a11339..2fb280dcfb8 100644 --- a/src/plugins/projectexplorer/processstep.h +++ b/src/plugins/projectexplorer/processstep.h @@ -46,10 +46,10 @@ public: ~ProcessStepFactory(); virtual QList availableCreationIds(BuildStepList *parent) const; - virtual QString displayNameForId(const Core::Id id) const; + virtual QString displayNameForId(Core::Id id) const; - virtual bool canCreate(BuildStepList *parent, const Core::Id id) const; - virtual BuildStep *create(BuildStepList *parent, const Core::Id id); + virtual bool canCreate(BuildStepList *parent, Core::Id id) const; + virtual BuildStep *create(BuildStepList *parent, Core::Id id); virtual bool canRestore(BuildStepList *parent, const QVariantMap &map) const; virtual BuildStep *restore(BuildStepList *parent, const QVariantMap &map); virtual bool canClone(BuildStepList *parent, BuildStep *product) const; diff --git a/src/plugins/projectexplorer/project.cpp b/src/plugins/projectexplorer/project.cpp index d9cd54e462c..f0c27eb80a0 100644 --- a/src/plugins/projectexplorer/project.cpp +++ b/src/plugins/projectexplorer/project.cpp @@ -225,7 +225,7 @@ void Project::setActiveTarget(Target *target) } } -Target *Project::target(const Core::Id id) const +Target *Project::target(Core::Id id) const { return Utils::findOr(d->m_targets, 0, [&id](Target *target) { return target->id() == id; diff --git a/src/plugins/projectexplorer/project.h b/src/plugins/projectexplorer/project.h index e64d2759659..6f8f896335a 100644 --- a/src/plugins/projectexplorer/project.h +++ b/src/plugins/projectexplorer/project.h @@ -94,7 +94,7 @@ public: // Note: activeTarget can be 0 (if no targets are defined). Target *activeTarget() const; void setActiveTarget(Target *target); - Target *target(const Core::Id id) const; + Target *target(Core::Id id) const; Target *target(Kit *k) const; virtual bool supportsKit(Kit *k, QString *errorMessage = 0) const; diff --git a/src/plugins/projectexplorer/projectconfiguration.cpp b/src/plugins/projectexplorer/projectconfiguration.cpp index 51312d9870d..b5d3fa75d86 100644 --- a/src/plugins/projectexplorer/projectconfiguration.cpp +++ b/src/plugins/projectexplorer/projectconfiguration.cpp @@ -35,7 +35,7 @@ const char CONFIGURATION_ID_KEY[] = "ProjectExplorer.ProjectConfiguration.Id"; const char DISPLAY_NAME_KEY[] = "ProjectExplorer.ProjectConfiguration.DisplayName"; const char DEFAULT_DISPLAY_NAME_KEY[] = "ProjectExplorer.ProjectConfiguration.DefaultDisplayName"; -ProjectConfiguration::ProjectConfiguration(QObject *parent, const Core::Id &id) : +ProjectConfiguration::ProjectConfiguration(QObject *parent, Core::Id id) : QObject(parent), m_id(id) { setObjectName(id.toString()); } diff --git a/src/plugins/projectexplorer/projectconfiguration.h b/src/plugins/projectexplorer/projectconfiguration.h index 8527b223fe5..d9914433961 100644 --- a/src/plugins/projectexplorer/projectconfiguration.h +++ b/src/plugins/projectexplorer/projectconfiguration.h @@ -67,7 +67,7 @@ signals: void displayNameChanged(); protected: - ProjectConfiguration(QObject *parent, const Core::Id &id); + ProjectConfiguration(QObject *parent, Core::Id id); ProjectConfiguration(QObject *parent, const ProjectConfiguration *source); private: diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index e372b62bd91..c5f185ab356 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -62,7 +62,6 @@ #include "iprojectmanager.h" #include "nodesvisitor.h" #include "appoutputpane.h" -#include "pluginfilefactory.h" #include "processstep.h" #include "kitinformation.h" #include "projectfilewizardextension.h" @@ -102,6 +101,7 @@ #include #include #include +#include #include #include #include @@ -239,7 +239,7 @@ struct ProjectExplorerPluginPrivate { Context m_lastProjectContext; Node *m_currentNode; - QList m_fileFactories; + QList m_fileFactories; QStringList m_profileMimeTypes; Internal::AppOutputPane *m_outputPane; @@ -1044,6 +1044,8 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er connect(ICore::instance(), SIGNAL(coreAboutToOpen()), this, SLOT(determineSessionToRestoreAtStartup())); connect(ICore::instance(), SIGNAL(coreOpened()), this, SLOT(restoreSession())); + connect(ICore::instance(), SIGNAL(newItemDialogRunningChanged()), + this, SLOT(updateActions())); updateWelcomePage(); @@ -1210,11 +1212,43 @@ void ProjectExplorerPlugin::closeAllProjects() void ProjectExplorerPlugin::extensionsInitialized() { d->m_proWindow->extensionsInitialized(); - d->m_fileFactories = ProjectFileFactory::createFactories(&d->m_projectFilterString); - foreach (ProjectFileFactory *pf, d->m_fileFactories) { - d->m_profileMimeTypes += pf->mimeTypes(); - addAutoReleasedObject(pf); + + // Register factories for all project managers + QList projectManagers = + ExtensionSystem::PluginManager::getObjects(); + + QList allGlobPatterns; + + const QString filterSeparator = QLatin1String(";;"); + QStringList filterStrings; + foreach (IProjectManager *manager, projectManagers) { + auto factory = new IDocumentFactory; + factory->setId(Constants::FILE_FACTORY_ID); + factory->setDisplayName(tr("Project File Factory", + "ProjectExplorer::ProjectFileFactory display name.")); + factory->addMimeType(manager->mimeType()); + factory->setOpener([this](const QString &fileName) -> IDocument* { + QString errorMessage; + ProjectExplorerPlugin::instance()->openProject(fileName, &errorMessage); + if (!errorMessage.isEmpty()) + QMessageBox::critical(Core::ICore::mainWindow(), + tr("Failed to open project"), errorMessage); + return 0; + }); + d->m_fileFactories.push_back(factory); + const QString mimeType = manager->mimeType(); + MimeType mime = MimeDatabase::findByType(mimeType); + allGlobPatterns.append(mime.globPatterns()); + filterStrings.append(mime.filterString()); + + d->m_profileMimeTypes += factory->mimeTypes(); + addAutoReleasedObject(factory); } + + filterStrings.prepend(MimeType::formatFilterString( + tr("All Projects"), allGlobPatterns)); + d->m_projectFilterString = filterStrings.join(filterSeparator); + BuildManager::extensionsInitialized(); DeviceManager::instance()->addDevice(IDevice::Ptr(new DesktopDevice)); @@ -1901,6 +1935,8 @@ void ProjectExplorerPlugin::updateActions() if (debug) qDebug() << "ProjectExplorerPlugin::updateActions"; + d->m_newAction->setEnabled(!ICore::isNewItemDialogRunning()); + Project *project = SessionManager::startupProject(); QPair buildActionState = buildSettingsEnabled(project); @@ -2748,9 +2784,11 @@ void ProjectExplorerPlugin::updateContextMenuActions() } if (qobject_cast(d->m_currentNode)) { // Also handles ProjectNode - d->m_addNewFileAction->setEnabled(actions.contains(ProjectExplorer::AddNewFile)); + d->m_addNewFileAction->setEnabled(actions.contains(ProjectExplorer::AddNewFile) + && !ICore::isNewItemDialogRunning()); d->m_addNewSubprojectAction->setEnabled(d->m_currentNode->nodeType() == ProjectNodeType - && actions.contains(ProjectExplorer::AddSubProject)); + && actions.contains(ProjectExplorer::AddSubProject) + && !ICore::isNewItemDialogRunning()); d->m_addExistingFilesAction->setEnabled(actions.contains(ProjectExplorer::AddExistingFile)); d->m_addExistingDirectoryAction->setEnabled(actions.contains(ProjectExplorer::AddExistingDirectory)); d->m_renameFileAction->setEnabled(actions.contains(ProjectExplorer::Rename)); diff --git a/src/plugins/projectexplorer/projectexplorer.pro b/src/plugins/projectexplorer/projectexplorer.pro index c8c0b03c4ed..94173369c30 100644 --- a/src/plugins/projectexplorer/projectexplorer.pro +++ b/src/plugins/projectexplorer/projectexplorer.pro @@ -59,7 +59,6 @@ HEADERS += projectexplorer.h \ projectexplorersettings.h \ corelistenercheckingforrunningbuild.h \ project.h \ - pluginfilefactory.h \ iprojectmanager.h \ currentprojectfilter.h \ allprojectsfind.h \ @@ -203,7 +202,6 @@ SOURCES += projectexplorer.cpp \ currentprojectfilter.cpp \ allprojectsfind.cpp \ project.cpp \ - pluginfilefactory.cpp \ buildstep.cpp \ buildconfiguration.cpp \ buildsettingspropertiespage.cpp \ diff --git a/src/plugins/projectexplorer/projectexplorer.qbs b/src/plugins/projectexplorer/projectexplorer.qbs index ef21d10fb8b..e1e148ad101 100644 --- a/src/plugins/projectexplorer/projectexplorer.qbs +++ b/src/plugins/projectexplorer/projectexplorer.qbs @@ -106,7 +106,6 @@ QtcPlugin { "namedwidget.cpp", "namedwidget.h", "nodesvisitor.cpp", "nodesvisitor.h", "osparser.cpp", "osparser.h", - "pluginfilefactory.cpp", "pluginfilefactory.h", "processparameters.cpp", "processparameters.h", "processstep.cpp", "processstep.h", "processstep.ui", "project.cpp", "project.h", diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp index 238489d510d..4c848bd9f1e 100644 --- a/src/plugins/projectexplorer/runconfiguration.cpp +++ b/src/plugins/projectexplorer/runconfiguration.cpp @@ -207,7 +207,7 @@ void IRunConfigurationAspect::resetProjectToGlobalSettings() for a target, but still be runnable via the output tab. */ -RunConfiguration::RunConfiguration(Target *target, const Core::Id id) : +RunConfiguration::RunConfiguration(Target *target, Core::Id id) : ProjectConfiguration(target, id), m_aspectsInitialized(false) { @@ -391,7 +391,7 @@ Utils::OutputFormatter *RunConfiguration::createOutputFormatter() const */ /*! - \fn QString ProjectExplorer::IRunConfigurationFactory::displayNameForId(const Core::Id id) const + \fn QString ProjectExplorer::IRunConfigurationFactory::displayNameForId(Core::Id id) const Translates the types to names to display to the user. */ @@ -404,7 +404,7 @@ IRunConfigurationFactory::~IRunConfigurationFactory() { } -RunConfiguration *IRunConfigurationFactory::create(Target *parent, const Core::Id id) +RunConfiguration *IRunConfigurationFactory::create(Target *parent, Core::Id id) { if (!canCreate(parent, id)) return 0; diff --git a/src/plugins/projectexplorer/runconfiguration.h b/src/plugins/projectexplorer/runconfiguration.h index 9a67fbe8cd3..eb74613f6b3 100644 --- a/src/plugins/projectexplorer/runconfiguration.h +++ b/src/plugins/projectexplorer/runconfiguration.h @@ -196,7 +196,7 @@ signals: void requestRunActionsUpdate(); protected: - RunConfiguration(Target *parent, const Core::Id id); + RunConfiguration(Target *parent, Core::Id id); RunConfiguration(Target *parent, RunConfiguration *source); /// convenience function to get current build configuration. @@ -219,10 +219,10 @@ public: enum CreationMode {UserCreate, AutoCreate}; virtual QList availableCreationIds(Target *parent, CreationMode mode = UserCreate) const = 0; - virtual QString displayNameForId(const Core::Id id) const = 0; + virtual QString displayNameForId(Core::Id id) const = 0; - virtual bool canCreate(Target *parent, const Core::Id id) const = 0; - RunConfiguration *create(Target *parent, const Core::Id id); + virtual bool canCreate(Target *parent, Core::Id id) const = 0; + RunConfiguration *create(Target *parent, Core::Id id); virtual bool canRestore(Target *parent, const QVariantMap &map) const = 0; RunConfiguration *restore(Target *parent, const QVariantMap &map); virtual bool canClone(Target *parent, RunConfiguration *product) const = 0; @@ -236,7 +236,7 @@ signals: void availableCreationIdsChanged(); private: - virtual RunConfiguration *doCreate(Target *parent, const Core::Id id) = 0; + virtual RunConfiguration *doCreate(Target *parent, Core::Id id) = 0; virtual RunConfiguration *doRestore(Target *parent, const QVariantMap &map) = 0; }; diff --git a/src/plugins/projectexplorer/taskhub.cpp b/src/plugins/projectexplorer/taskhub.cpp index d02cce80dbf..78e2e643baf 100644 --- a/src/plugins/projectexplorer/taskhub.cpp +++ b/src/plugins/projectexplorer/taskhub.cpp @@ -171,7 +171,7 @@ void TaskHub::showTaskInEditor(unsigned int id) emit m_instance->openTask(id); } -void TaskHub::setCategoryVisibility(const Core::Id &categoryId, bool visible) +void TaskHub::setCategoryVisibility(Core::Id categoryId, bool visible) { QTC_ASSERT(m_registeredCategories.contains(categoryId), return); emit m_instance->categoryVisibilityChanged(categoryId, visible); diff --git a/src/plugins/projectexplorer/taskhub.h b/src/plugins/projectexplorer/taskhub.h index e8b03ecfc2a..e03c243b8e0 100644 --- a/src/plugins/projectexplorer/taskhub.h +++ b/src/plugins/projectexplorer/taskhub.h @@ -62,7 +62,7 @@ public: static void updateTaskLineNumber(unsigned int id, int line); static void taskMarkClicked(unsigned int id); static void showTaskInEditor(unsigned int id); - static void setCategoryVisibility(const Core::Id &categoryId, bool visible); + static void setCategoryVisibility(Core::Id categoryId, bool visible); static void requestPopup(); @@ -73,7 +73,7 @@ signals: void tasksCleared(Core::Id categoryId); void taskFileNameUpdated(unsigned int id, const QString &fileName); void taskLineNumberUpdated(unsigned int id, int line); - void categoryVisibilityChanged(const Core::Id &categoryId, bool visible); + void categoryVisibilityChanged(Core::Id categoryId, bool visible); void popupRequested(int); void showTask(unsigned int id); void openTask(unsigned int id); diff --git a/src/plugins/projectexplorer/taskmodel.cpp b/src/plugins/projectexplorer/taskmodel.cpp index 7d5ed714fa7..8ab188b6c83 100644 --- a/src/plugins/projectexplorer/taskmodel.cpp +++ b/src/plugins/projectexplorer/taskmodel.cpp @@ -52,22 +52,22 @@ TaskModel::TaskModel(QObject *parent) : m_categories.insert(Core::Id(), CategoryData()); } -int TaskModel::taskCount(const Core::Id &categoryId) +int TaskModel::taskCount(Core::Id categoryId) { return m_categories.value(categoryId).count; } -int TaskModel::errorTaskCount(const Core::Id &categoryId) +int TaskModel::errorTaskCount(Core::Id categoryId) { return m_categories.value(categoryId).errors; } -int TaskModel::warningTaskCount(const Core::Id &categoryId) +int TaskModel::warningTaskCount(Core::Id categoryId) { return m_categories.value(categoryId).warnings; } -int TaskModel::unknownTaskCount(const Core::Id &categoryId) +int TaskModel::unknownTaskCount(Core::Id categoryId) { return m_categories.value(categoryId).count - m_categories.value(categoryId).errors @@ -82,7 +82,7 @@ bool TaskModel::hasFile(const QModelIndex &index) const return !m_tasks.at(row).file.isEmpty(); } -void TaskModel::addCategory(const Core::Id &categoryId, const QString &categoryName) +void TaskModel::addCategory(Core::Id categoryId, const QString &categoryName) { QTC_ASSERT(categoryId.uniqueIdentifier(), return); CategoryData data; @@ -90,7 +90,7 @@ void TaskModel::addCategory(const Core::Id &categoryId, const QString &categoryN m_categories.insert(categoryId, data); } -QList TaskModel::tasks(const Core::Id &categoryId) const +QList TaskModel::tasks(Core::Id categoryId) const { if (categoryId.uniqueIdentifier() == 0) return m_tasks; @@ -165,7 +165,7 @@ void TaskModel::updateTaskLineNumber(unsigned int id, int line) } } -void TaskModel::clearTasks(const Core::Id &categoryId) +void TaskModel::clearTasks(Core::Id categoryId) { typedef QHash::ConstIterator IdCategoryConstIt; @@ -275,7 +275,7 @@ QList TaskModel::categoryIds() const return categories; } -QString TaskModel::categoryDisplayName(const Core::Id &categoryId) const +QString TaskModel::categoryDisplayName(Core::Id categoryId) const { return m_categories.value(categoryId).displayName; } diff --git a/src/plugins/projectexplorer/taskmodel.h b/src/plugins/projectexplorer/taskmodel.h index e352d04fccf..509d4e2bacf 100644 --- a/src/plugins/projectexplorer/taskmodel.h +++ b/src/plugins/projectexplorer/taskmodel.h @@ -55,13 +55,13 @@ public: Task task(const QModelIndex &index) const; QList categoryIds() const; - QString categoryDisplayName(const Core::Id &categoryId) const; - void addCategory(const Core::Id &categoryId, const QString &categoryName); + QString categoryDisplayName(Core::Id categoryId) const; + void addCategory(Core::Id categoryId, const QString &categoryName); - QList tasks(const Core::Id &categoryId = Core::Id()) const; + QList tasks(Core::Id categoryId = Core::Id()) const; void addTask(const Task &task); void removeTask(const Task &task); - void clearTasks(const Core::Id &categoryId = Core::Id()); + void clearTasks(Core::Id categoryId = Core::Id()); void updateTaskFileName(unsigned int id, const QString &fileName); void updateTaskLineNumber(unsigned int id, int line); @@ -71,10 +71,10 @@ public: enum Roles { File = Qt::UserRole, Line, MovedLine, Description, FileNotFound, Type, Category, Icon, Task_t }; - int taskCount(const Core::Id &categoryId); - int errorTaskCount(const Core::Id &categoryId); - int warningTaskCount(const Core::Id &categoryId); - int unknownTaskCount(const Core::Id &categoryId); + int taskCount(Core::Id categoryId); + int errorTaskCount(Core::Id categoryId); + int warningTaskCount(Core::Id categoryId); + int unknownTaskCount(Core::Id categoryId); bool hasFile(const QModelIndex &index) const; diff --git a/src/plugins/projectexplorer/taskwindow.cpp b/src/plugins/projectexplorer/taskwindow.cpp index 0bc1c088bbe..dcd064af6dc 100644 --- a/src/plugins/projectexplorer/taskwindow.cpp +++ b/src/plugins/projectexplorer/taskwindow.cpp @@ -361,7 +361,7 @@ QWidget *TaskWindow::outputWidget(QWidget *) return d->m_listview; } -void TaskWindow::clearTasks(const Core::Id &categoryId) +void TaskWindow::clearTasks(Core::Id categoryId) { if (categoryId.uniqueIdentifier() != 0 && !d->m_filter->filteredCategories().contains(categoryId)) { if (d->m_filter->filterIncludesErrors()) @@ -383,7 +383,7 @@ void TaskWindow::clearTasks(const Core::Id &categoryId) setBadgeNumber(d->m_badgeCount); } -void TaskWindow::setCategoryVisibility(const Core::Id &categoryId, bool visible) +void TaskWindow::setCategoryVisibility(Core::Id categoryId, bool visible) { if (categoryId.uniqueIdentifier() == 0) return; @@ -424,7 +424,7 @@ void TaskWindow::visibilityChanged(bool visible) delayedInitialization(); } -void TaskWindow::addCategory(const Core::Id &categoryId, const QString &displayName, bool visible) +void TaskWindow::addCategory(Core::Id categoryId, const QString &displayName, bool visible) { d->m_model->addCategory(categoryId, displayName); if (!visible) { @@ -557,7 +557,7 @@ void TaskWindow::updateCategoriesMenu() const QList filteredCategories = d->m_filter->filteredCategories(); QMap nameToIds; - foreach (const Core::Id &categoryId, d->m_model->categoryIds()) + foreach (Core::Id categoryId, d->m_model->categoryIds()) nameToIds.insert(d->m_model->categoryDisplayName(categoryId), categoryId); const NameToIdsConstIt cend = nameToIds.constEnd(); @@ -581,17 +581,17 @@ void TaskWindow::filterCategoryTriggered(QAction *action) setCategoryVisibility(categoryId, action->isChecked()); } -int TaskWindow::taskCount(const Core::Id &category) const +int TaskWindow::taskCount(Core::Id category) const { return d->m_model->taskCount(category); } -int TaskWindow::errorTaskCount(const Core::Id &category) const +int TaskWindow::errorTaskCount(Core::Id category) const { return d->m_model->errorTaskCount(category); } -int TaskWindow::warningTaskCount(const Core::Id &category) const +int TaskWindow::warningTaskCount(Core::Id category) const { return d->m_model->warningTaskCount(category); } diff --git a/src/plugins/projectexplorer/taskwindow.h b/src/plugins/projectexplorer/taskwindow.h index fe1e8a254f4..a28ce729748 100644 --- a/src/plugins/projectexplorer/taskwindow.h +++ b/src/plugins/projectexplorer/taskwindow.h @@ -57,9 +57,9 @@ public: void delayedInitialization(); - int taskCount(const Core::Id &category = Core::Id()) const; - int warningTaskCount(const Core::Id &category = Core::Id()) const; - int errorTaskCount(const Core::Id &category = Core::Id()) const; + int taskCount(Core::Id category = Core::Id()) const; + int warningTaskCount(Core::Id category = Core::Id()) const; + int errorTaskCount(Core::Id category = Core::Id()) const; // IOutputPane QWidget *outputWidget(QWidget *); @@ -85,15 +85,15 @@ signals: void tasksCleared(); private slots: - void addCategory(const Core::Id &categoryId, const QString &displayName, bool visible); + void addCategory(Core::Id categoryId, const QString &displayName, bool visible); void addTask(const ProjectExplorer::Task &task); void removeTask(const ProjectExplorer::Task &task); void updatedTaskFileName(unsigned int id, const QString &fileName); void updatedTaskLineNumber(unsigned int id, int line); void showTask(unsigned int id); void openTask(unsigned int id); - void clearTasks(const Core::Id &categoryId); - void setCategoryVisibility(const Core::Id &categoryId, bool visible); + void clearTasks(Core::Id categoryId); + void setCategoryVisibility(Core::Id categoryId, bool visible); void currentChanged(const QModelIndex &index); void triggerDefaultHandler(const QModelIndex &index); diff --git a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp index 31eaa722b50..65fded9055a 100644 --- a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp +++ b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp @@ -70,7 +70,7 @@ QbsBuildConfiguration::QbsBuildConfiguration(ProjectExplorer::Target *target) : connect(bsl, SIGNAL(stepInserted(int)), this, SLOT(buildStepInserted(int))); } -QbsBuildConfiguration::QbsBuildConfiguration(ProjectExplorer::Target *target, const Core::Id id) : +QbsBuildConfiguration::QbsBuildConfiguration(ProjectExplorer::Target *target, Core::Id id) : BuildConfiguration(target, id) { } diff --git a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.h b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.h index 3531c181fd4..b9360c6b14d 100644 --- a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.h +++ b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.h @@ -81,7 +81,7 @@ signals: protected: QbsBuildConfiguration(ProjectExplorer::Target *target, QbsBuildConfiguration *source); - QbsBuildConfiguration(ProjectExplorer::Target *target, const Core::Id id); + QbsBuildConfiguration(ProjectExplorer::Target *target, Core::Id id); bool fromMap(const QVariantMap &map); private slots: diff --git a/src/plugins/qbsprojectmanager/qbsbuildstep.cpp b/src/plugins/qbsprojectmanager/qbsbuildstep.cpp index 6b81a870a1e..a67e7a54189 100644 --- a/src/plugins/qbsprojectmanager/qbsbuildstep.cpp +++ b/src/plugins/qbsprojectmanager/qbsbuildstep.cpp @@ -593,14 +593,14 @@ QList QbsBuildStepFactory::availableCreationIds(ProjectExplorer::Build return QList(); } -QString QbsBuildStepFactory::displayNameForId(const Core::Id id) const +QString QbsBuildStepFactory::displayNameForId(Core::Id id) const { if (id == Core::Id(Constants::QBS_BUILDSTEP_ID)) return tr("Qbs Build"); return QString(); } -bool QbsBuildStepFactory::canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const +bool QbsBuildStepFactory::canCreate(ProjectExplorer::BuildStepList *parent, Core::Id id) const { if (parent->id() != Core::Id(ProjectExplorer::Constants::BUILDSTEPS_BUILD) || !qobject_cast(parent->parent()) @@ -609,7 +609,7 @@ bool QbsBuildStepFactory::canCreate(ProjectExplorer::BuildStepList *parent, cons return id == Core::Id(Constants::QBS_BUILDSTEP_ID); } -ProjectExplorer::BuildStep *QbsBuildStepFactory::create(ProjectExplorer::BuildStepList *parent, const Core::Id id) +ProjectExplorer::BuildStep *QbsBuildStepFactory::create(ProjectExplorer::BuildStepList *parent, Core::Id id) { if (!canCreate(parent, id)) return 0; diff --git a/src/plugins/qbsprojectmanager/qbsbuildstep.h b/src/plugins/qbsprojectmanager/qbsbuildstep.h index 9c576b7a460..158eaf20410 100644 --- a/src/plugins/qbsprojectmanager/qbsbuildstep.h +++ b/src/plugins/qbsprojectmanager/qbsbuildstep.h @@ -159,10 +159,10 @@ public: // used to show the list of possible additons to a target, returns a list of types QList availableCreationIds(ProjectExplorer::BuildStepList *parent) const; // used to translate the types to names to display to the user - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; - bool canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const; - ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, const Core::Id id); + bool canCreate(ProjectExplorer::BuildStepList *parent, Core::Id id) const; + ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, Core::Id id); // used to recreate the runConfigurations when restoring settings bool canRestore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map) const; ProjectExplorer::BuildStep *restore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map); diff --git a/src/plugins/qbsprojectmanager/qbscleanstep.cpp b/src/plugins/qbsprojectmanager/qbscleanstep.cpp index 7e884926f06..f684354a237 100644 --- a/src/plugins/qbsprojectmanager/qbscleanstep.cpp +++ b/src/plugins/qbsprojectmanager/qbscleanstep.cpp @@ -338,14 +338,14 @@ QList QbsCleanStepFactory::availableCreationIds(ProjectExplorer::Build return QList(); } -QString QbsCleanStepFactory::displayNameForId(const Core::Id id) const +QString QbsCleanStepFactory::displayNameForId(Core::Id id) const { if (id == Core::Id(Constants::QBS_CLEANSTEP_ID)) return tr("Qbs Clean"); return QString(); } -bool QbsCleanStepFactory::canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const +bool QbsCleanStepFactory::canCreate(ProjectExplorer::BuildStepList *parent, Core::Id id) const { if (parent->id() != Core::Id(ProjectExplorer::Constants::BUILDSTEPS_CLEAN) || !qobject_cast(parent->parent())) @@ -353,7 +353,7 @@ bool QbsCleanStepFactory::canCreate(ProjectExplorer::BuildStepList *parent, cons return id == Core::Id(Constants::QBS_CLEANSTEP_ID); } -ProjectExplorer::BuildStep *QbsCleanStepFactory::create(ProjectExplorer::BuildStepList *parent, const Core::Id id) +ProjectExplorer::BuildStep *QbsCleanStepFactory::create(ProjectExplorer::BuildStepList *parent, Core::Id id) { if (!canCreate(parent, id)) return 0; diff --git a/src/plugins/qbsprojectmanager/qbscleanstep.h b/src/plugins/qbsprojectmanager/qbscleanstep.h index bde7eea091f..2ef3ca7bcba 100644 --- a/src/plugins/qbsprojectmanager/qbscleanstep.h +++ b/src/plugins/qbsprojectmanager/qbscleanstep.h @@ -132,10 +132,10 @@ public: // used to show the list of possible additons to a target, returns a list of types QList availableCreationIds(ProjectExplorer::BuildStepList *parent) const; // used to translate the types to names to display to the user - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; - bool canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const; - ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, const Core::Id id); + bool canCreate(ProjectExplorer::BuildStepList *parent, Core::Id id) const; + ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, Core::Id id); // used to recreate the runConfigurations when restoring settings bool canRestore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map) const; ProjectExplorer::BuildStep *restore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map); diff --git a/src/plugins/qbsprojectmanager/qbsdeployconfigurationfactory.cpp b/src/plugins/qbsprojectmanager/qbsdeployconfigurationfactory.cpp index 7dc096b73a5..3edc8636e28 100644 --- a/src/plugins/qbsprojectmanager/qbsdeployconfigurationfactory.cpp +++ b/src/plugins/qbsprojectmanager/qbsdeployconfigurationfactory.cpp @@ -66,7 +66,7 @@ QbsInstallStep *QbsDeployConfiguration::qbsInstallStep() const return 0; } -QbsDeployConfiguration::QbsDeployConfiguration(ProjectExplorer::Target *target, const Core::Id id) : +QbsDeployConfiguration::QbsDeployConfiguration(ProjectExplorer::Target *target, Core::Id id) : ProjectExplorer::DeployConfiguration(target, id) { } @@ -98,7 +98,7 @@ QList QbsDeployConfigurationFactory::availableCreationIds(ProjectExplo return ids; } -QString QbsDeployConfigurationFactory::displayNameForId(const Core::Id id) const +QString QbsDeployConfigurationFactory::displayNameForId(Core::Id id) const { if (id == genericQbsDeployConfigurationId()) return genericQbsDisplayName(); @@ -112,7 +112,7 @@ bool QbsDeployConfigurationFactory::canCreate(ProjectExplorer::Target *parent, } ProjectExplorer::DeployConfiguration -*QbsDeployConfigurationFactory::create(ProjectExplorer::Target *parent, const Core::Id id) +*QbsDeployConfigurationFactory::create(ProjectExplorer::Target *parent, Core::Id id) { Q_ASSERT(canCreate(parent, id)); diff --git a/src/plugins/qbsprojectmanager/qbsdeployconfigurationfactory.h b/src/plugins/qbsprojectmanager/qbsdeployconfigurationfactory.h index 550bc273d96..fd1647f9717 100644 --- a/src/plugins/qbsprojectmanager/qbsdeployconfigurationfactory.h +++ b/src/plugins/qbsprojectmanager/qbsdeployconfigurationfactory.h @@ -48,7 +48,7 @@ public: QbsInstallStep *qbsInstallStep() const; private: - QbsDeployConfiguration(ProjectExplorer::Target *target, const Core::Id id); + QbsDeployConfiguration(ProjectExplorer::Target *target, Core::Id id); QbsDeployConfiguration(ProjectExplorer::Target *target, ProjectExplorer::DeployConfiguration *source); @@ -63,9 +63,9 @@ public: explicit QbsDeployConfigurationFactory(QObject *parent = 0); QList availableCreationIds(ProjectExplorer::Target *parent) const; - QString displayNameForId(const Core::Id id) const; - bool canCreate(ProjectExplorer::Target *parent, const Core::Id id) const; - ProjectExplorer::DeployConfiguration *create(ProjectExplorer::Target *parent, const Core::Id id); + QString displayNameForId(Core::Id id) const; + bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const; + ProjectExplorer::DeployConfiguration *create(ProjectExplorer::Target *parent, Core::Id id); bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const; ProjectExplorer::DeployConfiguration *restore(ProjectExplorer::Target *parent, const QVariantMap &map); ProjectExplorer::DeployConfiguration *clone(ProjectExplorer::Target *parent, diff --git a/src/plugins/qbsprojectmanager/qbsinstallstep.cpp b/src/plugins/qbsprojectmanager/qbsinstallstep.cpp index e5ce4156813..f68582ed14a 100644 --- a/src/plugins/qbsprojectmanager/qbsinstallstep.cpp +++ b/src/plugins/qbsprojectmanager/qbsinstallstep.cpp @@ -372,14 +372,14 @@ QList QbsInstallStepFactory::availableCreationIds(ProjectExplorer::Bui return QList(); } -QString QbsInstallStepFactory::displayNameForId(const Core::Id id) const +QString QbsInstallStepFactory::displayNameForId(Core::Id id) const { if (id == Core::Id(Constants::QBS_INSTALLSTEP_ID)) return tr("Qbs Install"); return QString(); } -bool QbsInstallStepFactory::canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const +bool QbsInstallStepFactory::canCreate(ProjectExplorer::BuildStepList *parent, Core::Id id) const { if (parent->id() != Core::Id(ProjectExplorer::Constants::BUILDSTEPS_DEPLOY) || !qobject_cast(parent->parent()) diff --git a/src/plugins/qbsprojectmanager/qbsinstallstep.h b/src/plugins/qbsprojectmanager/qbsinstallstep.h index 04c212969c6..63a802d8190 100644 --- a/src/plugins/qbsprojectmanager/qbsinstallstep.h +++ b/src/plugins/qbsprojectmanager/qbsinstallstep.h @@ -135,10 +135,10 @@ public: // used to show the list of possible additons to a target, returns a list of types QList availableCreationIds(ProjectExplorer::BuildStepList *parent) const; // used to translate the types to names to display to the user - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; - bool canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const; - ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, const Core::Id id); + bool canCreate(ProjectExplorer::BuildStepList *parent, Core::Id id) const; + ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, Core::Id id); // used to recreate the runConfigurations when restoring settings bool canRestore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map) const; ProjectExplorer::BuildStep *restore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map); diff --git a/src/plugins/qbsprojectmanager/qbsprojectfile.cpp b/src/plugins/qbsprojectmanager/qbsprojectfile.cpp index 88a1ce496bc..5502462e7f5 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectfile.cpp +++ b/src/plugins/qbsprojectmanager/qbsprojectfile.cpp @@ -39,6 +39,7 @@ QbsProjectFile::QbsProjectFile(QbsProject *parent, QString fileName) : Core::IDo m_project(parent) { setId("Qbs.ProjectFile"); + setMimeType(QLatin1String(Constants::MIME_TYPE)); setFilePath(fileName); } @@ -65,11 +66,6 @@ QString QbsProjectFile::suggestedFileName() const return QString(); } -QString QbsProjectFile::mimeType() const -{ - return QLatin1String(Constants::MIME_TYPE); -} - bool QbsProjectFile::isModified() const { return false; diff --git a/src/plugins/qbsprojectmanager/qbsprojectfile.h b/src/plugins/qbsprojectmanager/qbsprojectfile.h index 43ab6d5831b..c33a1085be6 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectfile.h +++ b/src/plugins/qbsprojectmanager/qbsprojectfile.h @@ -50,7 +50,6 @@ public: QString defaultPath() const; QString suggestedFileName() const; - QString mimeType() const; bool isModified() const; bool isSaveAsAllowed() const; diff --git a/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp b/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp index fb28e7a554e..1e115e71ebb 100644 --- a/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp +++ b/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp @@ -511,7 +511,7 @@ QbsRunConfigurationFactory::QbsRunConfigurationFactory(QObject *parent) : QbsRunConfigurationFactory::~QbsRunConfigurationFactory() { } -bool QbsRunConfigurationFactory::canCreate(Target *parent, const Core::Id id) const +bool QbsRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const { if (!canHandle(parent)) return false; @@ -520,7 +520,7 @@ bool QbsRunConfigurationFactory::canCreate(Target *parent, const Core::Id id) co return findProduct(project->qbsProjectData(), productFromId(id)).isValid(); } -RunConfiguration *QbsRunConfigurationFactory::doCreate(Target *parent, const Core::Id id) +RunConfiguration *QbsRunConfigurationFactory::doCreate(Target *parent, Core::Id id) { return new QbsRunConfiguration(parent, id); } @@ -569,7 +569,7 @@ QList QbsRunConfigurationFactory::availableCreationIds(Target *parent, return result; } -QString QbsRunConfigurationFactory::displayNameForId(const Core::Id id) const +QString QbsRunConfigurationFactory::displayNameForId(Core::Id id) const { return productFromId(id); } diff --git a/src/plugins/qbsprojectmanager/qbsrunconfiguration.h b/src/plugins/qbsprojectmanager/qbsrunconfiguration.h index 2b234c476b6..590319d9924 100644 --- a/src/plugins/qbsprojectmanager/qbsrunconfiguration.h +++ b/src/plugins/qbsprojectmanager/qbsrunconfiguration.h @@ -176,18 +176,18 @@ public: explicit QbsRunConfigurationFactory(QObject *parent = 0); ~QbsRunConfigurationFactory(); - bool canCreate(ProjectExplorer::Target *parent, const Core::Id id) const; + bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const; bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const; bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source) const; ProjectExplorer::RunConfiguration *clone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source); QList availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode) const; - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; private: bool canHandle(ProjectExplorer::Target *t) const; - ProjectExplorer::RunConfiguration *doCreate(ProjectExplorer::Target *parent, const Core::Id id); + ProjectExplorer::RunConfiguration *doCreate(ProjectExplorer::Target *parent, Core::Id id); ProjectExplorer::RunConfiguration *doRestore(ProjectExplorer::Target *parent, const QVariantMap &map); }; diff --git a/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp b/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp index 188b9add4ee..7cef5bf6bf3 100644 --- a/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp +++ b/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp @@ -623,7 +623,7 @@ DesktopQmakeRunConfigurationFactory::DesktopQmakeRunConfigurationFactory(QObject DesktopQmakeRunConfigurationFactory::~DesktopQmakeRunConfigurationFactory() { } -bool DesktopQmakeRunConfigurationFactory::canCreate(Target *parent, const Core::Id id) const +bool DesktopQmakeRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const { if (!canHandle(parent)) return false; @@ -631,7 +631,7 @@ bool DesktopQmakeRunConfigurationFactory::canCreate(Target *parent, const Core:: return project->hasApplicationProFile(pathFromId(id)); } -RunConfiguration *DesktopQmakeRunConfigurationFactory::doCreate(Target *parent, const Core::Id id) +RunConfiguration *DesktopQmakeRunConfigurationFactory::doCreate(Target *parent, Core::Id id) { DesktopQmakeRunConfiguration *rc = new DesktopQmakeRunConfiguration(parent, id); const QmakeProFileNode *node = static_cast(parent->project())->rootQmakeProjectNode()->findProFileFor(rc->proFilePath()); @@ -679,7 +679,7 @@ QList DesktopQmakeRunConfigurationFactory::availableCreationIds(Target return QmakeProject::idsForNodes(Core::Id(QMAKE_RC_PREFIX), nodes); } -QString DesktopQmakeRunConfigurationFactory::displayNameForId(const Core::Id id) const +QString DesktopQmakeRunConfigurationFactory::displayNameForId(Core::Id id) const { return QFileInfo(pathFromId(id)).completeBaseName(); } diff --git a/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.h b/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.h index ffba1c09bcc..c7c30cb669c 100644 --- a/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.h +++ b/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.h @@ -188,13 +188,13 @@ public: explicit DesktopQmakeRunConfigurationFactory(QObject *parent = 0); ~DesktopQmakeRunConfigurationFactory(); - bool canCreate(ProjectExplorer::Target *parent, const Core::Id id) const; + bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const; bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const; bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source) const; ProjectExplorer::RunConfiguration *clone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source); QList availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode) const; - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; QList runConfigurationsForNode(ProjectExplorer::Target *t, const ProjectExplorer::Node *n); @@ -202,7 +202,7 @@ public: private: bool canHandle(ProjectExplorer::Target *t) const; - ProjectExplorer::RunConfiguration *doCreate(ProjectExplorer::Target *parent, const Core::Id id); + ProjectExplorer::RunConfiguration *doCreate(ProjectExplorer::Target *parent, Core::Id id); ProjectExplorer::RunConfiguration *doRestore(ProjectExplorer::Target *parent, const QVariantMap &map); }; diff --git a/src/plugins/qmakeprojectmanager/makestep.cpp b/src/plugins/qmakeprojectmanager/makestep.cpp index 14923acf33c..316b0726e22 100644 --- a/src/plugins/qmakeprojectmanager/makestep.cpp +++ b/src/plugins/qmakeprojectmanager/makestep.cpp @@ -77,7 +77,7 @@ MakeStep::MakeStep(BuildStepList *bsl, MakeStep *bs) : ctor(); } -MakeStep::MakeStep(BuildStepList *bsl, const Core::Id id) : +MakeStep::MakeStep(BuildStepList *bsl, Core::Id id) : AbstractProcessStep(bsl, id), m_clean(false) { @@ -483,14 +483,14 @@ MakeStepFactory::~MakeStepFactory() { } -bool MakeStepFactory::canCreate(BuildStepList *parent, const Core::Id id) const +bool MakeStepFactory::canCreate(BuildStepList *parent, Core::Id id) const { if (parent->target()->project()->id() == Constants::QMAKEPROJECT_ID) return id == MAKESTEP_BS_ID; return false; } -BuildStep *MakeStepFactory::create(BuildStepList *parent, const Core::Id id) +BuildStep *MakeStepFactory::create(BuildStepList *parent, Core::Id id) { if (!canCreate(parent, id)) return 0; @@ -537,7 +537,7 @@ QList MakeStepFactory::availableCreationIds(BuildStepList *parent) con return QList(); } -QString MakeStepFactory::displayNameForId(const Core::Id id) const +QString MakeStepFactory::displayNameForId(Core::Id id) const { if (id == MAKESTEP_BS_ID) return tr("Make"); diff --git a/src/plugins/qmakeprojectmanager/makestep.h b/src/plugins/qmakeprojectmanager/makestep.h index 1b68a7e9cd9..47e1ffa54c7 100644 --- a/src/plugins/qmakeprojectmanager/makestep.h +++ b/src/plugins/qmakeprojectmanager/makestep.h @@ -57,15 +57,15 @@ public: explicit MakeStepFactory(QObject *parent = 0); virtual ~MakeStepFactory(); - bool canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const; - ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, const Core::Id id); + bool canCreate(ProjectExplorer::BuildStepList *parent, Core::Id id) const; + ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, Core::Id id); bool canClone(ProjectExplorer::BuildStepList *parent, ProjectExplorer::BuildStep *source) const; ProjectExplorer::BuildStep *clone(ProjectExplorer::BuildStepList *parent, ProjectExplorer::BuildStep *source); bool canRestore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map) const; ProjectExplorer::BuildStep *restore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map); QList availableCreationIds(ProjectExplorer::BuildStepList *parent) const; - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; }; } //namespace Internal @@ -101,7 +101,7 @@ signals: protected: MakeStep(ProjectExplorer::BuildStepList *bsl, MakeStep *bs); - MakeStep(ProjectExplorer::BuildStepList *bsl, const Core::Id id); + MakeStep(ProjectExplorer::BuildStepList *bsl, Core::Id id); virtual bool fromMap(const QVariantMap &map); private: diff --git a/src/plugins/qmakeprojectmanager/profilecompletionassist.cpp b/src/plugins/qmakeprojectmanager/profilecompletionassist.cpp index ce684b24724..736a187bb12 100644 --- a/src/plugins/qmakeprojectmanager/profilecompletionassist.cpp +++ b/src/plugins/qmakeprojectmanager/profilecompletionassist.cpp @@ -279,7 +279,7 @@ ProFileCompletionAssistProvider::~ProFileCompletionAssistProvider() { } -bool ProFileCompletionAssistProvider::supportsEditor(const Core::Id &editorId) const +bool ProFileCompletionAssistProvider::supportsEditor(Core::Id editorId) const { return editorId == QmakeProjectManager::Constants::PROFILE_EDITOR_ID; } diff --git a/src/plugins/qmakeprojectmanager/profilecompletionassist.h b/src/plugins/qmakeprojectmanager/profilecompletionassist.h index 96118191712..459552512ce 100644 --- a/src/plugins/qmakeprojectmanager/profilecompletionassist.h +++ b/src/plugins/qmakeprojectmanager/profilecompletionassist.h @@ -47,7 +47,7 @@ public: void init(); ~ProFileCompletionAssistProvider(); - bool supportsEditor(const Core::Id &editorId) const QTC_OVERRIDE; + bool supportsEditor(Core::Id editorId) const QTC_OVERRIDE; TextEditor::IAssistProcessor *createProcessor() const QTC_OVERRIDE; QStringList variables() const; QStringList functions() const; diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp index dcf5b7edda1..c97e2b80c3f 100644 --- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp +++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp @@ -93,7 +93,7 @@ QmakeBuildConfiguration::QmakeBuildConfiguration(Target *target) : ctor(); } -QmakeBuildConfiguration::QmakeBuildConfiguration(Target *target, const Core::Id id) : +QmakeBuildConfiguration::QmakeBuildConfiguration(Target *target, Core::Id id) : BuildConfiguration(target, id), m_shadowBuild(true), m_isEnabled(false), diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h index e07795afe90..76c472b5172 100644 --- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h +++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h @@ -120,7 +120,7 @@ private slots: protected: QmakeBuildConfiguration(ProjectExplorer::Target *target, QmakeBuildConfiguration *source); - QmakeBuildConfiguration(ProjectExplorer::Target *target, const Core::Id id); + QmakeBuildConfiguration(ProjectExplorer::Target *target, Core::Id id); virtual bool fromMap(const QVariantMap &map); private: diff --git a/src/plugins/qmakeprojectmanager/qmakenodes.cpp b/src/plugins/qmakeprojectmanager/qmakenodes.cpp index 63ba7c77f9d..50505a4c66b 100644 --- a/src/plugins/qmakeprojectmanager/qmakenodes.cpp +++ b/src/plugins/qmakeprojectmanager/qmakenodes.cpp @@ -184,6 +184,7 @@ QmakePriFile::QmakePriFile(QmakeProjectManager::QmakePriFileNode *qmakePriFile) : IDocument(qmakePriFile), m_priFile(qmakePriFile) { setId("Qmake.PriFile"); + setMimeType(QLatin1String(QmakeProjectManager::Constants::PROFILE_MIMETYPE)); setFilePath(m_priFile->path()); } @@ -205,11 +206,6 @@ QString QmakePriFile::suggestedFileName() const return QString(); } -QString QmakePriFile::mimeType() const -{ - return QLatin1String(QmakeProjectManager::Constants::PROFILE_MIMETYPE); -} - bool QmakePriFile::isModified() const { return false; diff --git a/src/plugins/qmakeprojectmanager/qmakenodes.h b/src/plugins/qmakeprojectmanager/qmakenodes.h index 3750558cc6d..ff311b66df9 100644 --- a/src/plugins/qmakeprojectmanager/qmakenodes.h +++ b/src/plugins/qmakeprojectmanager/qmakenodes.h @@ -242,7 +242,6 @@ public: virtual QString defaultPath() const; virtual QString suggestedFileName() const; - virtual QString mimeType() const; virtual bool isModified() const; virtual bool isSaveAsAllowed() const; diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.cpp b/src/plugins/qmakeprojectmanager/qmakeproject.cpp index 857d04b593e..17d86a2fd9c 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeproject.cpp @@ -128,16 +128,12 @@ public: QString defaultPath() const; QString suggestedFileName() const; - virtual QString mimeType() const; bool isModified() const; bool isSaveAsAllowed() const; ReloadBehavior reloadBehavior(ChangeTrigger state, ChangeType type) const; bool reload(QString *errorString, ReloadFlag flag, ChangeType type); - -private: - const QString m_mimeType; }; /// Watches folders for QmakePriFile nodes @@ -274,10 +270,10 @@ void ProjectFilesVisitor::visitFolderNode(FolderNode *folderNode) // ----------- QmakeProjectFile namespace Internal { QmakeProjectFile::QmakeProjectFile(const QString &filePath, QObject *parent) - : Core::IDocument(parent), - m_mimeType(QLatin1String(QmakeProjectManager::Constants::PROFILE_MIMETYPE)) + : Core::IDocument(parent) { setId("Qmake.ProFile"); + setMimeType(QLatin1String(QmakeProjectManager::Constants::PROFILE_MIMETYPE)); setFilePath(filePath); } @@ -297,11 +293,6 @@ QString QmakeProjectFile::suggestedFileName() const return QString(); } -QString QmakeProjectFile::mimeType() const -{ - return m_mimeType; -} - bool QmakeProjectFile::isModified() const { return false; // we save after changing anyway @@ -1114,7 +1105,7 @@ QList QmakeProject::nodesWithQtcRunnable(QList QmakeProject::idsForNodes(const Core::Id base, const QList &nodes) +QList QmakeProject::idsForNodes(Core::Id base, const QList &nodes) { return Utils::transform(nodes, [&base](QmakeProFileNode *node) { return base.withSuffix(node->path()); diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.h b/src/plugins/qmakeprojectmanager/qmakeproject.h index 1575b2f1f78..0c19acb4086 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.h +++ b/src/plugins/qmakeprojectmanager/qmakeproject.h @@ -93,7 +93,7 @@ public: bool hasApplicationProFile(const QString &path) const; static QList nodesWithQtcRunnable(QList nodes); - static QList idsForNodes(const Core::Id base, const QList &nodes); + static QList idsForNodes(Core::Id base, const QList &nodes); void notifyChanged(const QString &name); diff --git a/src/plugins/qmakeprojectmanager/qmakestep.cpp b/src/plugins/qmakeprojectmanager/qmakestep.cpp index bb1e173bd58..c210d25b3a4 100644 --- a/src/plugins/qmakeprojectmanager/qmakestep.cpp +++ b/src/plugins/qmakeprojectmanager/qmakestep.cpp @@ -78,7 +78,7 @@ QMakeStep::QMakeStep(BuildStepList *bsl) : ctor(); } -QMakeStep::QMakeStep(BuildStepList *bsl, const Core::Id id) : +QMakeStep::QMakeStep(BuildStepList *bsl, Core::Id id) : AbstractProcessStep(bsl, id), m_forced(false), m_linkQmlDebuggingLibrary(DebugLink) @@ -661,7 +661,7 @@ QMakeStepFactory::~QMakeStepFactory() { } -bool QMakeStepFactory::canCreate(BuildStepList *parent, const Core::Id id) const +bool QMakeStepFactory::canCreate(BuildStepList *parent, Core::Id id) const { if (parent->id() != ProjectExplorer::Constants::BUILDSTEPS_BUILD) return false; @@ -670,7 +670,7 @@ bool QMakeStepFactory::canCreate(BuildStepList *parent, const Core::Id id) const return id == QMAKE_BS_ID; } -ProjectExplorer::BuildStep *QMakeStepFactory::create(BuildStepList *parent, const Core::Id id) +ProjectExplorer::BuildStep *QMakeStepFactory::create(BuildStepList *parent, Core::Id id) { if (!canCreate(parent, id)) return 0; @@ -714,7 +714,7 @@ QList QMakeStepFactory::availableCreationIds(ProjectExplorer::BuildSte return QList(); } -QString QMakeStepFactory::displayNameForId(const Core::Id id) const +QString QMakeStepFactory::displayNameForId(Core::Id id) const { if (id == QMAKE_BS_ID) return tr("qmake"); diff --git a/src/plugins/qmakeprojectmanager/qmakestep.h b/src/plugins/qmakeprojectmanager/qmakestep.h index e382ba234bd..ea5a5a3d648 100644 --- a/src/plugins/qmakeprojectmanager/qmakestep.h +++ b/src/plugins/qmakeprojectmanager/qmakestep.h @@ -58,14 +58,14 @@ class QMakeStepFactory : public ProjectExplorer::IBuildStepFactory public: explicit QMakeStepFactory(QObject *parent = 0); virtual ~QMakeStepFactory(); - bool canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const; - ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, const Core::Id id); + bool canCreate(ProjectExplorer::BuildStepList *parent, Core::Id id) const; + ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, Core::Id id); bool canClone(ProjectExplorer::BuildStepList *parent, ProjectExplorer::BuildStep *bs) const; ProjectExplorer::BuildStep *clone(ProjectExplorer::BuildStepList *parent, ProjectExplorer::BuildStep *bs); bool canRestore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map) const; ProjectExplorer::BuildStep *restore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map); QList availableCreationIds(ProjectExplorer::BuildStepList *parent) const; - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; }; } // namespace Internal @@ -120,7 +120,7 @@ signals: protected: QMakeStep(ProjectExplorer::BuildStepList *parent, QMakeStep *source); - QMakeStep(ProjectExplorer::BuildStepList *parent, const Core::Id id); + QMakeStep(ProjectExplorer::BuildStepList *parent, Core::Id id); virtual bool fromMap(const QVariantMap &map); virtual void processStartupFailed(); diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp index 92583bb29b3..db6c4d51899 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp +++ b/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp @@ -79,8 +79,10 @@ void FormEditorScene::setupScene() void FormEditorScene::resetScene() { - foreach (QGraphicsItem *item, m_manipulatorLayerItem->childItems()) + foreach (QGraphicsItem *item, m_manipulatorLayerItem->childItems()) { removeItem(item); + delete item; + } setSceneRect(-canvasWidth()/2., -canvasHeight()/2., canvasWidth(), canvasHeight()); } diff --git a/src/plugins/qmldesigner/components/formeditor/movemanipulator.cpp b/src/plugins/qmldesigner/components/formeditor/movemanipulator.cpp index fd6a7383c2b..2f007f9ba0a 100644 --- a/src/plugins/qmldesigner/components/formeditor/movemanipulator.cpp +++ b/src/plugins/qmldesigner/components/formeditor/movemanipulator.cpp @@ -99,9 +99,6 @@ void MoveManipulator::synchronizeParent(const QList &itemList, } } } - - if (!parentNode.metaInfo().isLayoutable()) - update(m_lastPosition, Snapper::NoSnapping, UseBaseState); } void MoveManipulator::synchronizeInstanceParent(const QList &itemList) @@ -126,7 +123,7 @@ void MoveManipulator::setDirectUpdateInNodeInstances(bool directUpdate) { foreach (FormEditorItem* item, m_itemList) { if (item && item->qmlItemNode().isValid()) - item->qmlItemNode().nodeInstance().setUpdateTransform(!directUpdate); + item->qmlItemNode().nodeInstance().setDirectUpdate(directUpdate); } } diff --git a/src/plugins/qmldesigner/components/formeditor/selectionrectangle.cpp b/src/plugins/qmldesigner/components/formeditor/selectionrectangle.cpp index bb2e3b3ff74..86dbcdb67f7 100644 --- a/src/plugins/qmldesigner/components/formeditor/selectionrectangle.cpp +++ b/src/plugins/qmldesigner/components/formeditor/selectionrectangle.cpp @@ -59,11 +59,13 @@ void SelectionRectangle::clear() } void SelectionRectangle::show() { + m_controlShape->setParentItem(m_layerItem.data()); m_controlShape->show(); } void SelectionRectangle::hide() { + m_controlShape->setParentItem(0); m_controlShape->hide(); } diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp index 3a6b84fecd9..c95fd7a30bc 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp @@ -55,6 +55,10 @@ #include #include +#include // mouse ungrabbing workaround on quickitems +#include // mouse ungrabbing workaround on quickitems + + namespace QmlDesigner { ItemLibraryWidget::ItemLibraryWidget(QWidget *parent) : @@ -369,14 +373,17 @@ void ItemLibraryWidget::setResourcePath(const QString &resourcePath) updateSearch(); } -void ItemLibraryWidget::startDragAndDropDelayed(QVariant itemLibraryId) +static void ungrabMouseOnQMLWorldWorkAround(QQuickWidget *quickWidget) { - m_currentitemLibraryEntry = itemLibraryId.value(); - QTimer::singleShot(0, this, SLOT(startDragAndDrop())); + const QQuickWidgetPrivate *widgetPrivate = QQuickWidgetPrivate::get(quickWidget); + if (widgetPrivate && widgetPrivate->offscreenWindow && widgetPrivate->offscreenWindow->mouseGrabberItem()) + widgetPrivate->offscreenWindow->mouseGrabberItem()->ungrabMouse(); } -void ItemLibraryWidget::startDragAndDrop() +void ItemLibraryWidget::startDragAndDrop(QVariant itemLibraryId) { + m_currentitemLibraryEntry = itemLibraryId.value(); + QMimeData *mimeData = m_itemLibraryModel->getMimeData(m_currentitemLibraryEntry); QDrag *drag = new QDrag(this); @@ -384,6 +391,8 @@ void ItemLibraryWidget::startDragAndDrop() drag->setMimeData(mimeData); drag->exec(); + + ungrabMouseOnQMLWorldWorkAround(m_itemViewQuickWidget.data()); } void ItemLibraryWidget::removeImport(const QString &name) diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.h b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.h index a934e155c47..4e96e8ff2aa 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.h +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.h @@ -96,8 +96,7 @@ public slots: void setResourcePath(const QString &resourcePath); - void startDragAndDropDelayed(QVariant itemLibId); - void startDragAndDrop(); + void startDragAndDrop(QVariant itemLibId); void setModel(Model *model); diff --git a/src/plugins/qmldesigner/componentsplugin/componentsplugin.cpp b/src/plugins/qmldesigner/componentsplugin/componentsplugin.cpp index 9aee25f6e07..81b7f605067 100644 --- a/src/plugins/qmldesigner/componentsplugin/componentsplugin.cpp +++ b/src/plugins/qmldesigner/componentsplugin/componentsplugin.cpp @@ -44,7 +44,6 @@ namespace QmlDesigner { ComponentsPlugin::ComponentsPlugin() { TabViewIndexModel::registerDeclarativeType(); - DesignerActionManager *actionManager = &QmlDesignerPlugin::instance()->viewManager().designerActionManager(); } QString ComponentsPlugin::pluginName() const diff --git a/src/plugins/qmldesigner/designercore/include/nodeinstance.h b/src/plugins/qmldesigner/designercore/include/nodeinstance.h index 49dcef76112..55b8623f742 100644 --- a/src/plugins/qmldesigner/designercore/include/nodeinstance.h +++ b/src/plugins/qmldesigner/designercore/include/nodeinstance.h @@ -86,11 +86,13 @@ public: qint32 parentId() const; qint32 instanceId() const; - void setUpdateTransform(bool updateTransform); - bool updateTransform() const; + void setDirectUpdate(bool directUpdates); + bool directUpdates() const; void setX(double x); void setY(double y); + bool hasAnchors() const; + protected: void setProperty(const PropertyName &name, const QVariant &value); InformationName setInformation(InformationName name, diff --git a/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h b/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h index 7d9759e364c..bc027c0f71d 100644 --- a/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h +++ b/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h @@ -136,6 +136,7 @@ public: NodeInstance activeStateInstance() const; + void updateChildren(const NodeAbstractProperty &newPropertyParent); void updatePosition(const QList& propertyList); void valuesChanged(const ValuesChangedCommand &command); diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp index 9c1eba2362f..7ca96cc7b24 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp @@ -52,7 +52,7 @@ public: isMovable(false), isResizable(false), isInLayoutable(false), - updateTransform(true) + directUpdates(false) {} qint32 parentInstanceId; @@ -72,7 +72,7 @@ public: bool isMovable; bool isResizable; bool isInLayoutable; - bool updateTransform; + bool directUpdates; QHash propertyValues; @@ -135,23 +135,23 @@ qint32 NodeInstance::instanceId() const return -1; } -void NodeInstance::setUpdateTransform(bool updateTransform) +void NodeInstance::setDirectUpdate(bool directUpdates) { if (d) - d->updateTransform = updateTransform; + d->directUpdates = directUpdates; } -bool NodeInstance::updateTransform() const +bool NodeInstance::directUpdates() const { if (d) - return d->updateTransform || d->transform.isRotating() || d->transform.isScaling(); + return d->directUpdates && !(d->transform.isRotating() || d->transform.isScaling() || hasAnchors()); else return true; } void NodeInstance::setX(double x) { - if(d && !updateTransform()) { + if (d && directUpdates()) { double dx = x - d->transform.dx(); d->transform.translate(dx, 0.0); } @@ -159,12 +159,25 @@ void NodeInstance::setX(double x) void NodeInstance::setY(double y) { - if(d && !updateTransform()) { + if (d && directUpdates()) { double dy = y - d->transform.dy(); d->transform.translate(0.0, dy); } } +bool NodeInstance::hasAnchors() const +{ + return hasAnchor("anchors.fill") + || hasAnchor("anchors.centerIn") + || hasAnchor("anchors.top") + || hasAnchor("anchors.left") + || hasAnchor("anchors.right") + || hasAnchor("anchors.bottom") + || hasAnchor("anchors.horizontalCenter") + || hasAnchor("anchors.verticalCenter") + || hasAnchor("anchors.baseline"); +} + bool NodeInstance::isValid() const { return instanceId() >= 0 && modelNode().isValid(); @@ -407,7 +420,7 @@ InformationName NodeInstance::setInformationContentItemBoundingRect(const QRectF InformationName NodeInstance::setInformationTransform(const QTransform &transform) { - if (updateTransform() && d->transform != transform) { + if (!directUpdates() && d->transform != transform) { d->transform = transform; return Transform; } @@ -467,7 +480,7 @@ InformationName NodeInstance::setInformationIsInLayoutable(bool isInLayoutable) InformationName NodeInstance::setInformationSceneTransform(const QTransform &sceneTransform) { - if (d->sceneTransform != sceneTransform) { + if (!directUpdates() && d->sceneTransform != sceneTransform) { d->sceneTransform = sceneTransform; return SceneTransform; } diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp index f299c6b5a8e..77a3ff28778 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp @@ -387,8 +387,10 @@ void NodeInstanceView::variantPropertiesChanged(const QList& pr void NodeInstanceView::nodeReparented(const ModelNode &node, const NodeAbstractProperty &newPropertyParent, const NodeAbstractProperty &oldPropertyParent, AbstractView::PropertyChangeFlags /*propertyChange*/) { - if (!isSkippedNode(node)) + if (!isSkippedNode(node)) { + updateChildren(newPropertyParent); nodeInstanceServer()->reparentInstances(createReparentInstancesCommand(node, newPropertyParent, oldPropertyParent)); + } } void NodeInstanceView::nodeAboutToBeReparented(const ModelNode &/*node*/, const NodeAbstractProperty &/*newPropertyParent*/, const NodeAbstractProperty &/*oldPropertyParent*/, AbstractView::PropertyChangeFlags /*propertyChange*/) @@ -676,6 +678,25 @@ NodeInstance NodeInstanceView::activeStateInstance() const return m_activeStateInstance; } +void NodeInstanceView::updateChildren(const NodeAbstractProperty &newPropertyParent) +{ + QVector childNodeVector = newPropertyParent.directSubNodes().toVector(); + + qint32 parentInstanceId = newPropertyParent.parentModelNode().internalId(); + + foreach (const ModelNode &childNode, childNodeVector) { + qint32 instanceId = childNode.internalId(); + if (hasInstanceForId(instanceId)) { + NodeInstance instance = instanceForId(instanceId); + if (instance.directUpdates()) + instance.setParentId(parentInstanceId); + } + } + + if (!childNodeVector.isEmpty()) + emitInstancesChildrenChanged(childNodeVector); +} + void setXValue(NodeInstance &instance, const VariantProperty &variantProperty, QMultiHash &informationChangeHash) { instance.setX(variantProperty.value().toDouble()); @@ -1224,8 +1245,10 @@ void NodeInstanceView::childrenChanged(const ChildrenChangedCommand &command) foreach (qint32 instanceId, command.childrenInstances()) { if (hasInstanceForId(instanceId)) { NodeInstance instance = instanceForId(instanceId); - instance.setParentId(command.parentInstanceId()); - childNodeVector.append(instance.modelNode()); + if (!instance.directUpdates()) { + instance.setParentId(command.parentInstanceId()); + childNodeVector.append(instance.modelNode()); + } } } diff --git a/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp b/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp index 475032cba51..58898bd102c 100644 --- a/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp +++ b/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp @@ -171,40 +171,54 @@ bool PuppetCreator::build(const QString &qmlPuppetProjectFilePath) const if (!buildSucceeded) QmlDesignerWarning::show(QCoreApplication::translate("PuppetCreator", "Emulation layer building was unsuccessful"), QCoreApplication::translate("PuppetCreator", - "The emulation layer(Qml Puppet) cannot was built. " - "So now the fallback version will be used " - "which is not supporting all features." + "The emulation layer (Qml Puppet) cannot be built. " + "The fallback emulation layer, which does not support all features, will be used." )); } } else { QmlDesignerWarning::show(QCoreApplication::translate("PuppetCreator", "Qt Version is not supported"), QCoreApplication::translate("PuppetCreator", - "The emulation layer(Qml Puppet) cannot be built because the Qt version is to old " - "or it can not run native on your computer. So now the fallback version will be used " - "which is not supporting all features." + "The emulation layer (Qml Puppet) cannot be built because the Qt version is too old " + "or it cannot run natively on your computer. " + "The fallback emulation layer, which does not support all features, will be used." )); } return buildSucceeded; } +static void warnAboutInvalidKit() +{ + QmlDesignerWarning::show(QCoreApplication::translate("PuppetCreator", "Kit is invalid"), + QCoreApplication::translate("PuppetCreator", + "The emulation layer (Qml Puppet) cannot be built because the kit is not configured correctly. " + "For example the compiler can be misconfigured. " + "Fix the kit configuration and restart Qt Creator. " + "Otherwise, the fallback emulation layer, which does not support all features, will be used." + )); +} + void PuppetCreator::createQml1PuppetExecutableIfMissing() { if (!m_useOnlyFallbackPuppet && m_kit) { - if (m_qml1PuppetForKitPuppetHash.contains(m_kit->id())) { - m_availablePuppetType = m_qml1PuppetForKitPuppetHash.value(m_kit->id()); - } else if (checkQmlpuppetIsReady()) { - m_availablePuppetType = UserSpacePuppet; - } else { - bool buildSucceeded = build(qmlpuppetProjectFile()); - if (buildSucceeded) + if (m_qml1PuppetForKitPuppetHash.contains(m_kit->id())) { + m_availablePuppetType = m_qml1PuppetForKitPuppetHash.value(m_kit->id()); + } else if (checkQmlpuppetIsReady()) { m_availablePuppetType = UserSpacePuppet; - else - m_availablePuppetType = FallbackPuppet; - } - - m_qml1PuppetForKitPuppetHash.insert(m_kit->id(), m_availablePuppetType); + } else { + if (m_kit->isValid()) { + bool buildSucceeded = build(qmlpuppetProjectFile()); + if (buildSucceeded) + m_availablePuppetType = UserSpacePuppet; + else + m_availablePuppetType = FallbackPuppet; + } else { + warnAboutInvalidKit(); + m_availablePuppetType = FallbackPuppet; + } + m_qml1PuppetForKitPuppetHash.insert(m_kit->id(), m_availablePuppetType); + } } else { m_availablePuppetType = FallbackPuppet; } @@ -213,20 +227,24 @@ void PuppetCreator::createQml1PuppetExecutableIfMissing() void PuppetCreator::createQml2PuppetExecutableIfMissing() { if (!m_useOnlyFallbackPuppet && m_kit) { + if (m_qml2PuppetForKitPuppetHash.contains(m_kit->id())) { m_availablePuppetType = m_qml2PuppetForKitPuppetHash.value(m_kit->id()); } else if (checkQml2puppetIsReady()) { m_availablePuppetType = UserSpacePuppet; } else { - bool buildSucceeded = build(qml2puppetProjectFile()); - if (buildSucceeded) - m_availablePuppetType = UserSpacePuppet; - else + if (m_kit->isValid()) { + bool buildSucceeded = build(qml2puppetProjectFile()); + if (buildSucceeded) + m_availablePuppetType = UserSpacePuppet; + else + m_availablePuppetType = FallbackPuppet; + } else { + warnAboutInvalidKit(); m_availablePuppetType = FallbackPuppet; + } + m_qml2PuppetForKitPuppetHash.insert(m_kit->id(), m_availablePuppetType); } - - m_qml2PuppetForKitPuppetHash.insert(m_kit->id(), m_availablePuppetType); - } else { m_availablePuppetType = FallbackPuppet; } diff --git a/src/plugins/qmldesigner/designmodewidget.cpp b/src/plugins/qmldesigner/designmodewidget.cpp index 69b94ae6129..7a2fdaaa23e 100644 --- a/src/plugins/qmldesigner/designmodewidget.cpp +++ b/src/plugins/qmldesigner/designmodewidget.cpp @@ -428,8 +428,8 @@ void DesignModeWidget::setup() viewManager().enableWidgets(); m_leftSideBar->setEnabled(true); m_rightSideBar->setEnabled(true); - m_leftSideBar->setCloseWhenEmpty(true); - m_rightSideBar->setCloseWhenEmpty(true); + m_leftSideBar->setCloseWhenEmpty(false); + m_rightSideBar->setCloseWhenEmpty(false); readSettings(); @@ -498,8 +498,10 @@ ViewManager &DesignModeWidget::viewManager() void DesignModeWidget::resizeEvent(QResizeEvent *event) { - if (m_warningWidget) - m_warningWidget->move(QPoint(event->size().width() / 2, event->size().height() / 2)); + if (m_warningWidget) { + QPoint warningWidgetCenterPoint = m_warningWidget->rect().center(); + m_warningWidget->move(QPoint(event->size().width() / 2, event->size().height() / 2) - warningWidgetCenterPoint); + } QWidget::resizeEvent(event); } diff --git a/src/plugins/qmldesigner/qmldesignerplugin.cpp b/src/plugins/qmldesigner/qmldesignerplugin.cpp index a7705075990..8a08aaf055f 100644 --- a/src/plugins/qmldesigner/qmldesignerplugin.cpp +++ b/src/plugins/qmldesigner/qmldesignerplugin.cpp @@ -225,7 +225,7 @@ void QmlDesignerPlugin::showDesigner() void QmlDesignerPlugin::hideDesigner() { if (currentDesignDocument() - && currentDesignDocument()->currentModel() + && currentModel() && !currentDesignDocument()->hasQmlSyntaxErrors()) jumpTextCursorToSelectedModelNode(); @@ -343,7 +343,7 @@ void QmlDesignerPlugin::deactivateAutoSynchronization() void QmlDesignerPlugin::resetModelSelection() { - if (rewriterView() && currentDesignDocument()->currentModel()) + if (rewriterView() && currentModel()) rewriterView()->setSelectedModelNodes(QList()); } @@ -352,6 +352,11 @@ RewriterView *QmlDesignerPlugin::rewriterView() const return currentDesignDocument()->rewriterView(); } +Model *QmlDesignerPlugin::currentModel() const +{ + return currentDesignDocument()->currentModel(); +} + static bool checkIfEditorIsQtQuick(Core::IEditor *editor) { if (editor) diff --git a/src/plugins/qmldesigner/qmldesignerplugin.h b/src/plugins/qmldesigner/qmldesignerplugin.h index 9a96b8400ef..ace422bf926 100644 --- a/src/plugins/qmldesigner/qmldesignerplugin.h +++ b/src/plugins/qmldesigner/qmldesignerplugin.h @@ -114,6 +114,7 @@ private: // functions void deactivateAutoSynchronization(); void resetModelSelection(); RewriterView *rewriterView() const; + Model *currentModel() const; private: // variables QmlDesignerPluginData *data; diff --git a/src/plugins/qmldesigner/qmldesignerplugin.pro b/src/plugins/qmldesigner/qmldesignerplugin.pro index 154a04167d1..0e002e3cadf 100644 --- a/src/plugins/qmldesigner/qmldesignerplugin.pro +++ b/src/plugins/qmldesigner/qmldesignerplugin.pro @@ -1,4 +1,5 @@ QT += quickwidgets +QT += widgets-private quick-private quickwidgets-private core-private gui-private #mouse ungrabbing workaround on quickitems CONFIG += exceptions INCLUDEPATH += $$PWD diff --git a/src/plugins/qmljseditor/qmljscompletionassist.cpp b/src/plugins/qmljseditor/qmljscompletionassist.cpp index f51e8f5638a..015ee485a25 100644 --- a/src/plugins/qmljseditor/qmljscompletionassist.cpp +++ b/src/plugins/qmljseditor/qmljscompletionassist.cpp @@ -473,7 +473,7 @@ int FunctionHintProposalModel::activeArgument(const QString &prefix) const // ----------------------------- // QmlJSCompletionAssistProvider // ----------------------------- -bool QmlJSCompletionAssistProvider::supportsEditor(const Core::Id &editorId) const +bool QmlJSCompletionAssistProvider::supportsEditor(Core::Id editorId) const { return editorId == Constants::C_QMLJSEDITOR_ID; } diff --git a/src/plugins/qmljseditor/qmljscompletionassist.h b/src/plugins/qmljseditor/qmljscompletionassist.h index b68d7944107..7703f4f525e 100644 --- a/src/plugins/qmljseditor/qmljscompletionassist.h +++ b/src/plugins/qmljseditor/qmljscompletionassist.h @@ -80,7 +80,7 @@ class QmlJSCompletionAssistProvider : public TextEditor::CompletionAssistProvide Q_OBJECT public: - bool supportsEditor(const Core::Id &editorId) const QTC_OVERRIDE; + bool supportsEditor(Core::Id editorId) const QTC_OVERRIDE; TextEditor::IAssistProcessor *createProcessor() const QTC_OVERRIDE; int activationCharSequenceLength() const QTC_OVERRIDE; diff --git a/src/plugins/qmljseditor/qmljseditorplugin.cpp b/src/plugins/qmljseditor/qmljseditorplugin.cpp index 0e3442c6c0f..af934da57d3 100644 --- a/src/plugins/qmljseditor/qmljseditorplugin.cpp +++ b/src/plugins/qmljseditor/qmljseditorplugin.cpp @@ -299,7 +299,7 @@ void QmlJSEditorPlugin::showContextPane() } Core::Command *QmlJSEditorPlugin::addToolAction(QAction *a, - Core::Context &context, const Core::Id &id, + Core::Context &context, Core::Id id, Core::ActionContainer *c1, const QString &keySequence) { Core::Command *command = Core::ActionManager::registerAction(a, id, context); diff --git a/src/plugins/qmljseditor/qmljseditorplugin.h b/src/plugins/qmljseditor/qmljseditorplugin.h index ec5e9845f81..6caebaba771 100644 --- a/src/plugins/qmljseditor/qmljseditorplugin.h +++ b/src/plugins/qmljseditor/qmljseditorplugin.h @@ -96,7 +96,7 @@ private Q_SLOTS: void checkCurrentEditorSemanticInfoUpToDate(); private: - Core::Command *addToolAction(QAction *a, Core::Context &context, const Core::Id &id, + Core::Command *addToolAction(QAction *a, Core::Context &context, Core::Id id, Core::ActionContainer *c1, const QString &keySequence); static QmlJSEditorPlugin *m_instance; diff --git a/src/plugins/qmljseditor/qmljsfindreferences.cpp b/src/plugins/qmljseditor/qmljsfindreferences.cpp index 42c43f79184..0af1dbd3498 100644 --- a/src/plugins/qmljseditor/qmljsfindreferences.cpp +++ b/src/plugins/qmljseditor/qmljsfindreferences.cpp @@ -817,6 +817,10 @@ static void find_helper(QFutureInterface &future, language = oldDoc->language(); else language = ModelManagerInterface::guessLanguageOfFile(fileName); + if (language == Language::NoLanguage) { + qCDebug(qmljsLog) << "NoLanguage in qmljsfindreferences.cpp find_helper for " << fileName; + language = Language::AnyLanguage; + } Document::MutablePtr newDoc = snapshot.documentFromSource( it.value().first, fileName, language); diff --git a/src/plugins/qmljseditor/qmljsquickfixassist.cpp b/src/plugins/qmljseditor/qmljsquickfixassist.cpp index d678f9924ff..8e9135a9eab 100644 --- a/src/plugins/qmljseditor/qmljsquickfixassist.cpp +++ b/src/plugins/qmljseditor/qmljsquickfixassist.cpp @@ -96,7 +96,7 @@ bool QmlJSQuickFixAssistProvider::isAsynchronous() const return false; } -bool QmlJSQuickFixAssistProvider::supportsEditor(const Core::Id &editorId) const +bool QmlJSQuickFixAssistProvider::supportsEditor(Core::Id editorId) const { return editorId == Constants::C_QMLJSEDITOR_ID; } diff --git a/src/plugins/qmljseditor/qmljsquickfixassist.h b/src/plugins/qmljseditor/qmljsquickfixassist.h index 21424c84498..901883c8f39 100644 --- a/src/plugins/qmljseditor/qmljsquickfixassist.h +++ b/src/plugins/qmljseditor/qmljsquickfixassist.h @@ -78,7 +78,7 @@ public: ~QmlJSQuickFixAssistProvider(); bool isAsynchronous() const QTC_OVERRIDE; - bool supportsEditor(const Core::Id &editorId) const QTC_OVERRIDE; + bool supportsEditor(Core::Id editorId) const QTC_OVERRIDE; TextEditor::IAssistProcessor *createProcessor() const QTC_OVERRIDE; QList quickFixFactories() const QTC_OVERRIDE; diff --git a/src/plugins/qmljseditor/qmltaskmanager.cpp b/src/plugins/qmljseditor/qmltaskmanager.cpp index 8e21c52d0ae..cf3e35ead3a 100644 --- a/src/plugins/qmljseditor/qmltaskmanager.cpp +++ b/src/plugins/qmljseditor/qmltaskmanager.cpp @@ -65,7 +65,7 @@ QmlTaskManager::QmlTaskManager(QObject *parent) : SLOT(updateMessagesNow())); } -static QList convertToTasks(const QList &messages, const Utils::FileName &fileName, const Core::Id &category) +static QList convertToTasks(const QList &messages, const Utils::FileName &fileName, Core::Id category) { QList result; foreach (const DiagnosticMessage &msg, messages) { @@ -81,7 +81,7 @@ static QList convertToTasks(const QList convertToTasks(const QList &messages, const Utils::FileName &fileName, const Core::Id &category) +static QList convertToTasks(const QList &messages, const Utils::FileName &fileName, Core::Id category) { QList diagnostics; foreach (const StaticAnalysis::Message &msg, messages) @@ -161,7 +161,7 @@ void QmlTaskManager::updateMessagesNow(bool updateSemantic) QFuture future = QtConcurrent::run( &collectMessages, modelManager->newestSnapshot(), modelManager->projectInfos(), - modelManager->defaultVContext(Language::Unknown), updateSemantic); + modelManager->defaultVContext(Language::AnyLanguage), updateSemantic); m_messageCollector.setFuture(future); } diff --git a/src/plugins/qmljstools/qmljsmodelmanager.cpp b/src/plugins/qmljstools/qmljsmodelmanager.cpp index da51a627acf..3c5a53806df 100644 --- a/src/plugins/qmljstools/qmljsmodelmanager.cpp +++ b/src/plugins/qmljstools/qmljsmodelmanager.cpp @@ -222,6 +222,8 @@ void ModelManager::delayedInitialization() connect(ProjectExplorer::SessionManager::instance(), SIGNAL(projectRemoved(ProjectExplorer::Project*)), this, SLOT(removeProjectInfo(ProjectExplorer::Project*))); + connect(ProjectExplorer::ProjectExplorerPlugin::instance(), SIGNAL(currentProjectChanged(ProjectExplorer::Project*)), + SLOT(updateDefaultProjectInfo())); QmlJS::ViewerContext qbsVContext; qbsVContext.language = Language::QmlQbs; @@ -257,13 +259,15 @@ ModelManagerInterface::WorkingCopy ModelManager::workingCopyInternal() const return workingCopy; } -ModelManagerInterface::ProjectInfo ModelManager::defaultProjectInfo() const +void ModelManager::updateDefaultProjectInfo() { - // needs to be performed in the ui therad (change?) + // needs to be performed in the ui therad ProjectExplorer::Project *currentProject = ProjectExplorer::ProjectExplorerPlugin::currentProject(); - return defaultProjectInfoForProject(currentProject); + ProjectInfo newDefaultProjectInfo = defaultProjectInfoForProject(currentProject); + setDefaultProject(projectInfo(currentProject,newDefaultProjectInfo), currentProject); } + // Check whether fileMimeType is the same or extends knownMimeType bool ModelManager::matchesMimeType(const MimeType &fileMimeType, const MimeType &knownMimeType) { diff --git a/src/plugins/qmljstools/qmljsmodelmanager.h b/src/plugins/qmljstools/qmljsmodelmanager.h index 2b8233a66f4..efc8de8bb57 100644 --- a/src/plugins/qmljstools/qmljsmodelmanager.h +++ b/src/plugins/qmljstools/qmljsmodelmanager.h @@ -70,9 +70,10 @@ public: protected: QHash languageForSuffix() const QTC_OVERRIDE; void writeMessageInternal(const QString &msg) const QTC_OVERRIDE; - ModelManagerInterface::ProjectInfo defaultProjectInfo() const QTC_OVERRIDE; WorkingCopy workingCopyInternal() const QTC_OVERRIDE; void addTaskInternal(QFuture result, const QString &msg, const char *taskId) const QTC_OVERRIDE; +private slots: + void updateDefaultProjectInfo(); private: void loadDefaultQmlTypeDescriptions(); static bool matchesMimeType(const Core::MimeType &fileMimeType, const Core::MimeType &knownMimeType); diff --git a/src/plugins/qmljstools/qmljsrefactoringchanges.cpp b/src/plugins/qmljstools/qmljsrefactoringchanges.cpp index f5a73ef0602..4ef9bb2206b 100644 --- a/src/plugins/qmljstools/qmljsrefactoringchanges.cpp +++ b/src/plugins/qmljstools/qmljsrefactoringchanges.cpp @@ -124,7 +124,7 @@ QmlJSRefactoringFile::QmlJSRefactoringFile(const QString &fileName, const QShare : RefactoringFile(fileName, data) { // the RefactoringFile is invalid if its not for a file with qml or js code - if (ModelManagerInterface::guessLanguageOfFile(fileName) == Language::Unknown) + if (ModelManagerInterface::guessLanguageOfFile(fileName) == Language::NoLanguage) m_fileName.clear(); } diff --git a/src/plugins/qmlprofiler/abstracttimelinemodel.cpp b/src/plugins/qmlprofiler/abstracttimelinemodel.cpp index 5bde4d8cc18..ff5da4485c0 100644 --- a/src/plugins/qmlprofiler/abstracttimelinemodel.cpp +++ b/src/plugins/qmlprofiler/abstracttimelinemodel.cpp @@ -145,7 +145,7 @@ int AbstractTimelineModel::rowOffset(int rowNumber) const if (d->rowOffsets.size() >= rowNumber) return d->rowOffsets[rowNumber - 1]; if (!d->rowOffsets.empty()) - return d->rowOffsets.last() + (rowNumber - 1 - d->rowOffsets.size()) * DefaultRowHeight; + return d->rowOffsets.last() + (rowNumber - d->rowOffsets.size()) * DefaultRowHeight; return rowNumber * DefaultRowHeight; } diff --git a/src/plugins/qmlprofiler/qml/CategoryLabel.qml b/src/plugins/qmlprofiler/qml/CategoryLabel.qml index d3f572ff2d7..c51c24c0f2b 100644 --- a/src/plugins/qmlprofiler/qml/CategoryLabel.qml +++ b/src/plugins/qmlprofiler/qml/CategoryLabel.qml @@ -64,9 +64,8 @@ Item { var extdesc=[]; var labelList = qmlProfilerModelProxy.getLabels(modelIndex); for (var i = 0; i < labelList.length; i++ ) { - desc[i] = labelList[i].description; + extdesc[i] = desc[i] = (labelList[i].description || qsTr("")); ids[i] = labelList[i].id; - extdesc[i] = labelList[i].description; if (labelList[i].displayName !== undefined) extdesc[i] += " (" + labelList[i].displayName + ")"; } diff --git a/src/plugins/qmlprofiler/qml/RangeDetails.qml b/src/plugins/qmlprofiler/qml/RangeDetails.qml index e1627036927..b5bbf4af8b1 100644 --- a/src/plugins/qmlprofiler/qml/RangeDetails.qml +++ b/src/plugins/qmlprofiler/qml/RangeDetails.qml @@ -68,8 +68,10 @@ Item { rangeDetails.dialogTitle = eventData[0]["title"]; for (var i = 1; i < eventData.length; i++) { for (var k in eventData[i]) { - eventInfo.append({"content" : k}); - eventInfo.append({"content" : eventData[i][k]}) + if (eventData[i][k].length > 0) { + eventInfo.append({"content" : k}); + eventInfo.append({"content" : eventData[i][k]}); + } } } rangeDetails.visible = true; diff --git a/src/plugins/qmlprofiler/qmlprofilerattachdialog.cpp b/src/plugins/qmlprofiler/qmlprofilerattachdialog.cpp index 9727d12d404..459acd91d98 100644 --- a/src/plugins/qmlprofiler/qmlprofilerattachdialog.cpp +++ b/src/plugins/qmlprofiler/qmlprofilerattachdialog.cpp @@ -100,7 +100,7 @@ ProjectExplorer::Kit *QmlProfilerAttachDialog::kit() const return d->kitChooser->currentKit(); } -void QmlProfilerAttachDialog::setKitId(const Core::Id &id) +void QmlProfilerAttachDialog::setKitId(Core::Id id) { d->kitChooser->setCurrentKitId(id); } diff --git a/src/plugins/qmlprofiler/qmlprofilerattachdialog.h b/src/plugins/qmlprofiler/qmlprofilerattachdialog.h index ebb07950418..1f80b4240fa 100644 --- a/src/plugins/qmlprofiler/qmlprofilerattachdialog.h +++ b/src/plugins/qmlprofiler/qmlprofilerattachdialog.h @@ -51,7 +51,7 @@ public: void setPort(const int port); ProjectExplorer::Kit *kit() const; - void setKitId(const Core::Id &id); + void setKitId(Core::Id id); private: QmlProfilerAttachDialogPrivate *d; diff --git a/src/plugins/qmlprofiler/qmlprofilerdatamodel.cpp b/src/plugins/qmlprofiler/qmlprofilerdatamodel.cpp index 9a8e80113d5..92dc82959da 100644 --- a/src/plugins/qmlprofiler/qmlprofilerdatamodel.cpp +++ b/src/plugins/qmlprofiler/qmlprofilerdatamodel.cpp @@ -69,10 +69,7 @@ QString getDisplayName(const QmlProfilerDataModel::QmlEventTypeData &event) const QmlDebug::QmlEventLocation eventLocation = getLocation(event); QString displayName; - // generate hash - if (eventLocation.filename.isEmpty()) { - displayName = QmlProfilerDataModel::tr(""); - } else { + if (!eventLocation.filename.isEmpty()) { const QString filePath = QUrl(eventLocation.filename).path(); displayName = filePath.mid(filePath.lastIndexOf(QLatin1Char('/')) + 1) + QLatin1Char(':') + QString::number(eventLocation.line); diff --git a/src/plugins/qmlprofiler/qmlprofilereventview.cpp b/src/plugins/qmlprofiler/qmlprofilereventview.cpp index 813beaa3bcf..d4bb588478f 100644 --- a/src/plugins/qmlprofiler/qmlprofilereventview.cpp +++ b/src/plugins/qmlprofiler/qmlprofilereventview.cpp @@ -580,7 +580,8 @@ void QmlProfilerEventsMainView::parseModelProxy() QList newRow; if (d->m_fieldShown[Name]) - newRow << new EventsViewItem(event.displayName); + newRow << new EventsViewItem(event.displayName.isEmpty() ? tr("") : + event.displayName); if (d->m_fieldShown[Type]) { QString typeString = QmlProfilerEventsMainView::nameForType(event.rangeType); @@ -637,7 +638,8 @@ void QmlProfilerEventsMainView::parseModelProxy() } if (d->m_fieldShown[Details]) { - newRow << new EventsViewItem(event.data); + newRow << new EventsViewItem(event.data.isEmpty() ? tr("Source code not available") : + event.data); newRow.last()->setData(QVariant(event.data)); } @@ -894,11 +896,13 @@ void QmlProfilerEventRelativesView::rebuildTree( // ToDo: here we were going to search for the data in the other modelproxy // maybe we should store the data in this proxy and get it here // no indirections at this level of abstraction! - newRow << new EventsViewItem(type.displayName); + newRow << new EventsViewItem(type.displayName.isEmpty() ? tr("") : + type.displayName); newRow << new EventsViewItem(QmlProfilerEventsMainView::nameForType(type.rangeType)); newRow << new EventsViewItem(QmlProfilerBaseModel::formatTime(event.duration)); newRow << new EventsViewItem(QString::number(event.calls)); - newRow << new EventsViewItem(type.data); + newRow << new EventsViewItem(type.data.isEmpty() ? tr("Source code not available") : + type.data); newRow.at(0)->setData(QVariant(typeIndex), EventTypeIndexRole); newRow.at(2)->setData(QVariant(event.duration)); diff --git a/src/plugins/qmlprojectmanager/qmlprojectfile.cpp b/src/plugins/qmlprojectmanager/qmlprojectfile.cpp index ad7801211a2..9dfa3c68e9b 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectfile.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectfile.cpp @@ -42,6 +42,7 @@ QmlProjectFile::QmlProjectFile(QmlProject *parent, QString fileName) QTC_CHECK(m_project); QTC_CHECK(!fileName.isEmpty()); setId("Qml.ProjectFile"); + setMimeType(QLatin1String(Constants::QMLPROJECT_MIMETYPE)); setFilePath(fileName); } @@ -64,11 +65,6 @@ QString QmlProjectFile::suggestedFileName() const return QString(); } -QString QmlProjectFile::mimeType() const -{ - return QLatin1String(Constants::QMLPROJECT_MIMETYPE); -} - bool QmlProjectFile::isModified() const { return false; diff --git a/src/plugins/qmlprojectmanager/qmlprojectfile.h b/src/plugins/qmlprojectmanager/qmlprojectfile.h index 24fdd0797c4..f8275baeb7b 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectfile.h +++ b/src/plugins/qmlprojectmanager/qmlprojectfile.h @@ -50,7 +50,6 @@ public: virtual QString defaultPath() const; virtual QString suggestedFileName() const; - virtual QString mimeType() const; virtual bool isModified() const; virtual bool isSaveAsAllowed() const; diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.cpp index c6aba0a902c..aac433b884c 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.cpp @@ -83,7 +83,7 @@ QList QmlProjectRunConfigurationFactory::availableCreationIds(ProjectE return list; } -QString QmlProjectRunConfigurationFactory::displayNameForId(const Core::Id id) const +QString QmlProjectRunConfigurationFactory::displayNameForId(Core::Id id) const { if (id == Constants::QML_VIEWER_RC_ID) return tr("QML Viewer"); @@ -110,7 +110,7 @@ bool QmlProjectRunConfigurationFactory::canCreate(ProjectExplorer::Target *paren return false; } -ProjectExplorer::RunConfiguration *QmlProjectRunConfigurationFactory::doCreate(ProjectExplorer::Target *parent, const Core::Id id) +ProjectExplorer::RunConfiguration *QmlProjectRunConfigurationFactory::doCreate(ProjectExplorer::Target *parent, Core::Id id) { return new QmlProjectRunConfiguration(parent, id); } diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.h b/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.h index b43738cbaaf..b3825d23535 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.h +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.h @@ -44,9 +44,9 @@ public: ~QmlProjectRunConfigurationFactory(); QList availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode) const; - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; - bool canCreate(ProjectExplorer::Target *parent, const Core::Id id) const; + bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const; bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const; bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source) const; ProjectExplorer::RunConfiguration *clone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source); @@ -54,7 +54,7 @@ public: private: bool canHandle(ProjectExplorer::Target *parent) const; - ProjectExplorer::RunConfiguration *doCreate(ProjectExplorer::Target *parent, const Core::Id id); + ProjectExplorer::RunConfiguration *doCreate(ProjectExplorer::Target *parent, Core::Id id); ProjectExplorer::RunConfiguration *doRestore(ProjectExplorer::Target *parent, const QVariantMap &map); }; diff --git a/src/plugins/qnx/bardescriptordocument.cpp b/src/plugins/qnx/bardescriptordocument.cpp index 4ac85d3d46b..76dd08f2db9 100644 --- a/src/plugins/qnx/bardescriptordocument.cpp +++ b/src/plugins/qnx/bardescriptordocument.cpp @@ -49,6 +49,7 @@ BarDescriptorDocument::BarDescriptorDocument(QObject *parent) : Core::TextDocument(parent) { setId(Constants::QNX_BAR_DESCRIPTOR_EDITOR_ID); + setMimeType(QLatin1String(Constants::QNX_BAR_DESCRIPTOR_MIME_TYPE)); // blackberry-nativepackager requires the XML file to be in UTF-8 encoding, // force if possible if (QTextCodec *defaultUTF8 = QTextCodec::codecForName("UTF-8")) @@ -102,11 +103,6 @@ QString BarDescriptorDocument::suggestedFileName() const return fi.fileName(); } -QString BarDescriptorDocument::mimeType() const -{ - return QLatin1String(Constants::QNX_BAR_DESCRIPTOR_MIME_TYPE); -} - bool BarDescriptorDocument::shouldAutoSave() const { return false; diff --git a/src/plugins/qnx/bardescriptordocument.h b/src/plugins/qnx/bardescriptordocument.h index 87a745bdda6..2fea2d2169e 100644 --- a/src/plugins/qnx/bardescriptordocument.h +++ b/src/plugins/qnx/bardescriptordocument.h @@ -91,7 +91,6 @@ public: QString defaultPath() const; QString suggestedFileName() const; - QString mimeType() const; bool shouldAutoSave() const; bool isModified() const; diff --git a/src/plugins/qnx/blackberrycheckdevicestatusstepfactory.cpp b/src/plugins/qnx/blackberrycheckdevicestatusstepfactory.cpp index 8e8da5bfb07..a4a5830516a 100644 --- a/src/plugins/qnx/blackberrycheckdevicestatusstepfactory.cpp +++ b/src/plugins/qnx/blackberrycheckdevicestatusstepfactory.cpp @@ -61,14 +61,14 @@ QList BlackBerryCheckDeviceStatusStepFactory::availableCreationIds( return QList() << Core::Id(Constants::QNX_CHECK_DEVICE_STATUS_BS_ID); } -QString BlackBerryCheckDeviceStatusStepFactory::displayNameForId(const Core::Id id) const +QString BlackBerryCheckDeviceStatusStepFactory::displayNameForId(Core::Id id) const { if (id == Constants::QNX_CHECK_DEVICE_STATUS_BS_ID) return tr("Check Device Status"); return QString(); } -bool BlackBerryCheckDeviceStatusStepFactory::canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const +bool BlackBerryCheckDeviceStatusStepFactory::canCreate(ProjectExplorer::BuildStepList *parent, Core::Id id) const { return availableCreationIds(parent).contains(id); } diff --git a/src/plugins/qnx/blackberrycheckdevicestatusstepfactory.h b/src/plugins/qnx/blackberrycheckdevicestatusstepfactory.h index 25ccdbf52e7..1b3c9a63749 100644 --- a/src/plugins/qnx/blackberrycheckdevicestatusstepfactory.h +++ b/src/plugins/qnx/blackberrycheckdevicestatusstepfactory.h @@ -44,10 +44,10 @@ public: explicit BlackBerryCheckDeviceStatusStepFactory(QObject *parent = 0); QList availableCreationIds(ProjectExplorer::BuildStepList *parent) const; - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; - bool canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const; - ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, const Core::Id id); + bool canCreate(ProjectExplorer::BuildStepList *parent, Core::Id id) const; + ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, Core::Id id); bool canRestore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map) const; ProjectExplorer::BuildStep *restore(ProjectExplorer::BuildStepList *parent, diff --git a/src/plugins/qnx/blackberrycreatepackagestepfactory.cpp b/src/plugins/qnx/blackberrycreatepackagestepfactory.cpp index 2f4f1d5d137..b44dcdbae01 100644 --- a/src/plugins/qnx/blackberrycreatepackagestepfactory.cpp +++ b/src/plugins/qnx/blackberrycreatepackagestepfactory.cpp @@ -65,7 +65,7 @@ QList BlackBerryCreatePackageStepFactory::availableCreationIds( return QList() << Core::Id(Constants::QNX_CREATE_PACKAGE_BS_ID); } -QString BlackBerryCreatePackageStepFactory::displayNameForId(const Core::Id id) const +QString BlackBerryCreatePackageStepFactory::displayNameForId(Core::Id id) const { if (id == Constants::QNX_CREATE_PACKAGE_BS_ID) return tr("Create BAR Packages"); @@ -78,7 +78,7 @@ bool BlackBerryCreatePackageStepFactory::canCreate(ProjectExplorer::BuildStepLis return availableCreationIds(parent).contains(id); } -ProjectExplorer::BuildStep *BlackBerryCreatePackageStepFactory::create(ProjectExplorer::BuildStepList *parent, const Core::Id id) +ProjectExplorer::BuildStep *BlackBerryCreatePackageStepFactory::create(ProjectExplorer::BuildStepList *parent, Core::Id id) { if (!canCreate(parent, id)) return 0; diff --git a/src/plugins/qnx/blackberrycreatepackagestepfactory.h b/src/plugins/qnx/blackberrycreatepackagestepfactory.h index ae133c9a7d9..daba09f0afc 100644 --- a/src/plugins/qnx/blackberrycreatepackagestepfactory.h +++ b/src/plugins/qnx/blackberrycreatepackagestepfactory.h @@ -45,10 +45,10 @@ public: ~BlackBerryCreatePackageStepFactory(); QList availableCreationIds(ProjectExplorer::BuildStepList *parent) const; - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; - bool canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const; - ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, const Core::Id id); + bool canCreate(ProjectExplorer::BuildStepList *parent, Core::Id id) const; + ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, Core::Id id); bool canRestore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map) const; ProjectExplorer::BuildStep *restore(ProjectExplorer::BuildStepList *parent, diff --git a/src/plugins/qnx/blackberrydeployconfigurationfactory.cpp b/src/plugins/qnx/blackberrydeployconfigurationfactory.cpp index e4bbabee14c..be3fd7ee7d4 100644 --- a/src/plugins/qnx/blackberrydeployconfigurationfactory.cpp +++ b/src/plugins/qnx/blackberrydeployconfigurationfactory.cpp @@ -72,7 +72,7 @@ QList BlackBerryDeployConfigurationFactory::availableCreationIds(Proje return result; } -QString BlackBerryDeployConfigurationFactory::displayNameForId(const Core::Id id) const +QString BlackBerryDeployConfigurationFactory::displayNameForId(Core::Id id) const { if (id == Constants::QNX_BB_DEPLOYCONFIGURATION_ID) return tr("Deploy to BlackBerry Device"); diff --git a/src/plugins/qnx/blackberrydeployconfigurationfactory.h b/src/plugins/qnx/blackberrydeployconfigurationfactory.h index 42b335e6dc2..58869902e87 100644 --- a/src/plugins/qnx/blackberrydeployconfigurationfactory.h +++ b/src/plugins/qnx/blackberrydeployconfigurationfactory.h @@ -47,9 +47,9 @@ public: ~BlackBerryDeployConfigurationFactory(); QList availableCreationIds(ProjectExplorer::Target *parent) const; - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; - bool canCreate(ProjectExplorer::Target *parent, const Core::Id id) const; + bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const; ProjectExplorer::DeployConfiguration *create(ProjectExplorer::Target *parent, const Core::Id id); diff --git a/src/plugins/qnx/blackberrydeploystepfactory.cpp b/src/plugins/qnx/blackberrydeploystepfactory.cpp index 48acb8ea1ac..fa8c9353de2 100644 --- a/src/plugins/qnx/blackberrydeploystepfactory.cpp +++ b/src/plugins/qnx/blackberrydeploystepfactory.cpp @@ -58,14 +58,14 @@ QList BlackBerryDeployStepFactory::availableCreationIds(ProjectExplore return QList() << Core::Id(Constants::QNX_DEPLOY_PACKAGE_BS_ID); } -QString BlackBerryDeployStepFactory::displayNameForId(const Core::Id id) const +QString BlackBerryDeployStepFactory::displayNameForId(Core::Id id) const { if (id == Constants::QNX_DEPLOY_PACKAGE_BS_ID) return tr("Deploy Package"); return QString(); } -bool BlackBerryDeployStepFactory::canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const +bool BlackBerryDeployStepFactory::canCreate(ProjectExplorer::BuildStepList *parent, Core::Id id) const { return availableCreationIds(parent).contains(id); } diff --git a/src/plugins/qnx/blackberrydeploystepfactory.h b/src/plugins/qnx/blackberrydeploystepfactory.h index 91c1576704d..962605a31d3 100644 --- a/src/plugins/qnx/blackberrydeploystepfactory.h +++ b/src/plugins/qnx/blackberrydeploystepfactory.h @@ -44,9 +44,9 @@ public: BlackBerryDeployStepFactory(); QList availableCreationIds(ProjectExplorer::BuildStepList *parent) const; - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; - bool canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const; + bool canCreate(ProjectExplorer::BuildStepList *parent, Core::Id id) const; ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, const Core::Id id); diff --git a/src/plugins/qnx/blackberryrunconfiguration.cpp b/src/plugins/qnx/blackberryrunconfiguration.cpp index 853f97659f9..664cbdb7d0f 100644 --- a/src/plugins/qnx/blackberryrunconfiguration.cpp +++ b/src/plugins/qnx/blackberryrunconfiguration.cpp @@ -45,7 +45,7 @@ using namespace Qnx; using namespace Qnx::Internal; using namespace ProjectExplorer; -BlackBerryRunConfiguration::BlackBerryRunConfiguration(Target *parent, const Core::Id id, const QString &path) +BlackBerryRunConfiguration::BlackBerryRunConfiguration(Target *parent, Core::Id id, const QString &path) : RunConfiguration(parent, id) , m_proFilePath(path) { diff --git a/src/plugins/qnx/blackberryrunconfiguration.h b/src/plugins/qnx/blackberryrunconfiguration.h index 9c30cc08e8f..8425261f92d 100644 --- a/src/plugins/qnx/blackberryrunconfiguration.h +++ b/src/plugins/qnx/blackberryrunconfiguration.h @@ -52,7 +52,7 @@ class BlackBerryRunConfiguration : public ProjectExplorer::RunConfiguration friend class BlackBerryRunConfigurationFactory; public: - explicit BlackBerryRunConfiguration(ProjectExplorer::Target *parent, const Core::Id id, const QString &path); + explicit BlackBerryRunConfiguration(ProjectExplorer::Target *parent, Core::Id id, const QString &path); QWidget *createConfigurationWidget(); diff --git a/src/plugins/qnx/blackberryrunconfigurationfactory.cpp b/src/plugins/qnx/blackberryrunconfigurationfactory.cpp index ce5aa07a55d..25dde64e0fa 100644 --- a/src/plugins/qnx/blackberryrunconfigurationfactory.cpp +++ b/src/plugins/qnx/blackberryrunconfigurationfactory.cpp @@ -42,7 +42,7 @@ using namespace Qnx; using namespace Qnx::Internal; -static QString pathFromId(const Core::Id id) +static QString pathFromId(Core::Id id) { return id.suffixAfter(Constants::QNX_BB_RUNCONFIGURATION_PREFIX); } @@ -69,7 +69,7 @@ QList BlackBerryRunConfigurationFactory::availableCreationIds(ProjectE nodes); } -QString BlackBerryRunConfigurationFactory::displayNameForId(const Core::Id id) const +QString BlackBerryRunConfigurationFactory::displayNameForId(Core::Id id) const { const QString path = pathFromId(id); if (path.isEmpty()) @@ -81,7 +81,7 @@ QString BlackBerryRunConfigurationFactory::displayNameForId(const Core::Id id) c return QString(); } -bool BlackBerryRunConfigurationFactory::canCreate(ProjectExplorer::Target *parent, const Core::Id id) const +bool BlackBerryRunConfigurationFactory::canCreate(ProjectExplorer::Target *parent, Core::Id id) const { if (!canHandle(parent)) return false; diff --git a/src/plugins/qnx/blackberryrunconfigurationfactory.h b/src/plugins/qnx/blackberryrunconfigurationfactory.h index 890360ee01f..afd0ca35cbd 100644 --- a/src/plugins/qnx/blackberryrunconfigurationfactory.h +++ b/src/plugins/qnx/blackberryrunconfigurationfactory.h @@ -46,10 +46,10 @@ public: explicit BlackBerryRunConfigurationFactory(QObject *parent = 0); QList availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode) const; - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; - bool canCreate(ProjectExplorer::Target *parent, const Core::Id id) const; - ProjectExplorer::RunConfiguration *doCreate(ProjectExplorer::Target *parent, const Core::Id id); + bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const; + ProjectExplorer::RunConfiguration *doCreate(ProjectExplorer::Target *parent, Core::Id id); bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const; diff --git a/src/plugins/qnx/qnxdeployconfiguration.cpp b/src/plugins/qnx/qnxdeployconfiguration.cpp index 0a72c5d653a..ad52cb6f4c3 100644 --- a/src/plugins/qnx/qnxdeployconfiguration.cpp +++ b/src/plugins/qnx/qnxdeployconfiguration.cpp @@ -34,7 +34,7 @@ using namespace Qnx; using namespace Qnx::Internal; -QnxDeployConfiguration::QnxDeployConfiguration(ProjectExplorer::Target *target, const Core::Id id, const QString &defaultDisplayName) +QnxDeployConfiguration::QnxDeployConfiguration(ProjectExplorer::Target *target, Core::Id id, const QString &defaultDisplayName) : RemoteLinux::RemoteLinuxDeployConfiguration(target, id, defaultDisplayName) { } diff --git a/src/plugins/qnx/qnxdeployconfiguration.h b/src/plugins/qnx/qnxdeployconfiguration.h index 7697c61429d..6d51018ea5d 100644 --- a/src/plugins/qnx/qnxdeployconfiguration.h +++ b/src/plugins/qnx/qnxdeployconfiguration.h @@ -41,7 +41,7 @@ class QnxDeployConfiguration : public RemoteLinux::RemoteLinuxDeployConfiguratio { Q_OBJECT public: - QnxDeployConfiguration(ProjectExplorer::Target *target, const Core::Id id, + QnxDeployConfiguration(ProjectExplorer::Target *target, Core::Id id, const QString &defaultDisplayName); QnxDeployConfiguration(ProjectExplorer::Target *target, diff --git a/src/plugins/qnx/qnxdeployconfigurationfactory.cpp b/src/plugins/qnx/qnxdeployconfigurationfactory.cpp index 265cb389bc6..88d0993d4b6 100644 --- a/src/plugins/qnx/qnxdeployconfigurationfactory.cpp +++ b/src/plugins/qnx/qnxdeployconfigurationfactory.cpp @@ -58,7 +58,7 @@ QList QnxDeployConfigurationFactory::availableCreationIds(ProjectExplo return ids; } -QString QnxDeployConfigurationFactory::displayNameForId(const Core::Id id) const +QString QnxDeployConfigurationFactory::displayNameForId(Core::Id id) const { if (id.name().startsWith(Constants::QNX_QNX_DEPLOYCONFIGURATION_ID)) return tr("Deploy to QNX Device"); @@ -66,12 +66,12 @@ QString QnxDeployConfigurationFactory::displayNameForId(const Core::Id id) const return QString(); } -bool QnxDeployConfigurationFactory::canCreate(ProjectExplorer::Target *parent, const Core::Id id) const +bool QnxDeployConfigurationFactory::canCreate(ProjectExplorer::Target *parent, Core::Id id) const { return canHandle(parent) && id.name().startsWith(Constants::QNX_QNX_DEPLOYCONFIGURATION_ID); } -ProjectExplorer::DeployConfiguration *QnxDeployConfigurationFactory::create(ProjectExplorer::Target *parent, const Core::Id id) +ProjectExplorer::DeployConfiguration *QnxDeployConfigurationFactory::create(ProjectExplorer::Target *parent, Core::Id id) { if (!canCreate(parent, id)) return 0; diff --git a/src/plugins/qnx/qnxdeployconfigurationfactory.h b/src/plugins/qnx/qnxdeployconfigurationfactory.h index dc9fd95a426..2972e7e1cd0 100644 --- a/src/plugins/qnx/qnxdeployconfigurationfactory.h +++ b/src/plugins/qnx/qnxdeployconfigurationfactory.h @@ -44,9 +44,9 @@ public: explicit QnxDeployConfigurationFactory(QObject *parent = 0); QList availableCreationIds(ProjectExplorer::Target *parent) const; - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; - bool canCreate(ProjectExplorer::Target *parent, const Core::Id id) const; + bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const; ProjectExplorer::DeployConfiguration *create(ProjectExplorer::Target *parent, const Core::Id id); diff --git a/src/plugins/qnx/qnxdeploystepfactory.cpp b/src/plugins/qnx/qnxdeploystepfactory.cpp index 8a3c76fb105..f57252efebf 100644 --- a/src/plugins/qnx/qnxdeploystepfactory.cpp +++ b/src/plugins/qnx/qnxdeploystepfactory.cpp @@ -61,7 +61,7 @@ QList QnxDeployStepFactory::availableCreationIds(ProjectExplorer::Buil << ProjectExplorer::DeviceCheckBuildStep::stepId(); } -QString QnxDeployStepFactory::displayNameForId(const Core::Id id) const +QString QnxDeployStepFactory::displayNameForId(Core::Id id) const { if (id == RemoteLinux::GenericDirectUploadStep::stepId()) return RemoteLinux::GenericDirectUploadStep::displayName(); @@ -71,12 +71,12 @@ QString QnxDeployStepFactory::displayNameForId(const Core::Id id) const return QString(); } -bool QnxDeployStepFactory::canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const +bool QnxDeployStepFactory::canCreate(ProjectExplorer::BuildStepList *parent, Core::Id id) const { return availableCreationIds(parent).contains(id); } -ProjectExplorer::BuildStep *QnxDeployStepFactory::create(ProjectExplorer::BuildStepList *parent, const Core::Id id) +ProjectExplorer::BuildStep *QnxDeployStepFactory::create(ProjectExplorer::BuildStepList *parent, Core::Id id) { if (!canCreate(parent, id)) return 0; diff --git a/src/plugins/qnx/qnxdeploystepfactory.h b/src/plugins/qnx/qnxdeploystepfactory.h index 51812b19a9d..46323553ff0 100644 --- a/src/plugins/qnx/qnxdeploystepfactory.h +++ b/src/plugins/qnx/qnxdeploystepfactory.h @@ -44,9 +44,9 @@ public: explicit QnxDeployStepFactory(); QList availableCreationIds(ProjectExplorer::BuildStepList *parent) const; - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; - bool canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const; + bool canCreate(ProjectExplorer::BuildStepList *parent, Core::Id id) const; ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, const Core::Id id); diff --git a/src/plugins/qnx/qnxrunconfiguration.cpp b/src/plugins/qnx/qnxrunconfiguration.cpp index d6700fe202e..c52ef1720cc 100644 --- a/src/plugins/qnx/qnxrunconfiguration.cpp +++ b/src/plugins/qnx/qnxrunconfiguration.cpp @@ -45,7 +45,7 @@ namespace { const char QtLibPathKey[] = "Qt4ProjectManager.QnxRunConfiguration.QtLibPath"; } -QnxRunConfiguration::QnxRunConfiguration(ProjectExplorer::Target *parent, const Core::Id id, const QString &proFilePath) +QnxRunConfiguration::QnxRunConfiguration(ProjectExplorer::Target *parent, Core::Id id, const QString &proFilePath) : RemoteLinux::RemoteLinuxRunConfiguration(parent, id, proFilePath) { } diff --git a/src/plugins/qnx/qnxrunconfiguration.h b/src/plugins/qnx/qnxrunconfiguration.h index f69e0ac45da..127af4c4efb 100644 --- a/src/plugins/qnx/qnxrunconfiguration.h +++ b/src/plugins/qnx/qnxrunconfiguration.h @@ -43,7 +43,7 @@ class QnxRunConfiguration : public RemoteLinux::RemoteLinuxRunConfiguration { Q_OBJECT public: - QnxRunConfiguration(ProjectExplorer::Target *parent, const Core::Id id, + QnxRunConfiguration(ProjectExplorer::Target *parent, Core::Id id, const QString &projectFilePath); Utils::Environment environment() const; diff --git a/src/plugins/qnx/qnxrunconfigurationfactory.cpp b/src/plugins/qnx/qnxrunconfigurationfactory.cpp index 553cc5d6129..f05c0cf40b4 100644 --- a/src/plugins/qnx/qnxrunconfigurationfactory.cpp +++ b/src/plugins/qnx/qnxrunconfigurationfactory.cpp @@ -43,7 +43,7 @@ using namespace Qnx; using namespace Qnx::Internal; -static QString pathFromId(const Core::Id id) +static QString pathFromId(Core::Id id) { return id.suffixAfter(Constants::QNX_QNX_RUNCONFIGURATION_PREFIX); } @@ -71,7 +71,7 @@ QList QnxRunConfigurationFactory::availableCreationIds(ProjectExplorer nodes); } -QString QnxRunConfigurationFactory::displayNameForId(const Core::Id id) const +QString QnxRunConfigurationFactory::displayNameForId(Core::Id id) const { const QString path = pathFromId(id); if (path.isEmpty()) @@ -83,7 +83,7 @@ QString QnxRunConfigurationFactory::displayNameForId(const Core::Id id) const return QString(); } -bool QnxRunConfigurationFactory::canCreate(ProjectExplorer::Target *parent, const Core::Id id) const +bool QnxRunConfigurationFactory::canCreate(ProjectExplorer::Target *parent, Core::Id id) const { if (!canHandle(parent) || !id.name().startsWith(Constants::QNX_QNX_RUNCONFIGURATION_PREFIX)) return false; @@ -95,7 +95,7 @@ bool QnxRunConfigurationFactory::canCreate(ProjectExplorer::Target *parent, cons return qt4Project->hasApplicationProFile(pathFromId(id)); } -ProjectExplorer::RunConfiguration *QnxRunConfigurationFactory::doCreate(ProjectExplorer::Target *parent, const Core::Id id) +ProjectExplorer::RunConfiguration *QnxRunConfigurationFactory::doCreate(ProjectExplorer::Target *parent, Core::Id id) { return new QnxRunConfiguration(parent, id, pathFromId(id)); } diff --git a/src/plugins/qnx/qnxrunconfigurationfactory.h b/src/plugins/qnx/qnxrunconfigurationfactory.h index 1117a2ee664..40cd7024666 100644 --- a/src/plugins/qnx/qnxrunconfigurationfactory.h +++ b/src/plugins/qnx/qnxrunconfigurationfactory.h @@ -46,9 +46,9 @@ public: explicit QnxRunConfigurationFactory(QObject *parent = 0); QList availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode) const; - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; - bool canCreate(ProjectExplorer::Target *parent, const Core::Id id) const; + bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const; bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const; @@ -59,7 +59,7 @@ public: private: bool canHandle(ProjectExplorer::Target *t) const; - ProjectExplorer::RunConfiguration *doCreate(ProjectExplorer::Target *parent, const Core::Id id); + ProjectExplorer::RunConfiguration *doCreate(ProjectExplorer::Target *parent, Core::Id id); ProjectExplorer::RunConfiguration *doRestore(ProjectExplorer::Target *parent, const QVariantMap &map); }; diff --git a/src/plugins/qtsupport/customexecutablerunconfiguration.cpp b/src/plugins/qtsupport/customexecutablerunconfiguration.cpp index 6acd0bf6c0e..f6f63034ce7 100644 --- a/src/plugins/qtsupport/customexecutablerunconfiguration.cpp +++ b/src/plugins/qtsupport/customexecutablerunconfiguration.cpp @@ -318,7 +318,7 @@ CustomExecutableRunConfigurationFactory::CustomExecutableRunConfigurationFactory CustomExecutableRunConfigurationFactory::~CustomExecutableRunConfigurationFactory() { } -bool CustomExecutableRunConfigurationFactory::canCreate(Target *parent, const Core::Id id) const +bool CustomExecutableRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const { if (!canHandle(parent)) return false; @@ -326,7 +326,7 @@ bool CustomExecutableRunConfigurationFactory::canCreate(Target *parent, const Co } RunConfiguration * -CustomExecutableRunConfigurationFactory::doCreate(Target *parent, const Core::Id id) +CustomExecutableRunConfigurationFactory::doCreate(Target *parent, Core::Id id) { Q_UNUSED(id); return new CustomExecutableRunConfiguration(parent); @@ -375,7 +375,7 @@ QList CustomExecutableRunConfigurationFactory::availableCreationIds(Ta return QList() << Core::Id(CUSTOM_EXECUTABLE_ID); } -QString CustomExecutableRunConfigurationFactory::displayNameForId(const Core::Id id) const +QString CustomExecutableRunConfigurationFactory::displayNameForId(Core::Id id) const { if (id == CUSTOM_EXECUTABLE_ID) return tr("Custom Executable"); diff --git a/src/plugins/qtsupport/customexecutablerunconfiguration.h b/src/plugins/qtsupport/customexecutablerunconfiguration.h index 93eddf2683a..38c5f2efeba 100644 --- a/src/plugins/qtsupport/customexecutablerunconfiguration.h +++ b/src/plugins/qtsupport/customexecutablerunconfiguration.h @@ -113,9 +113,9 @@ public: ~CustomExecutableRunConfigurationFactory(); QList availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode) const; - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; - bool canCreate(ProjectExplorer::Target *parent, const Core::Id id) const; + bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const; bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const; bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *product) const; ProjectExplorer::RunConfiguration *clone(ProjectExplorer::Target *parent, @@ -124,7 +124,7 @@ public: private: bool canHandle(ProjectExplorer::Target *parent) const; - ProjectExplorer::RunConfiguration *doCreate(ProjectExplorer::Target *parent, const Core::Id id); + ProjectExplorer::RunConfiguration *doCreate(ProjectExplorer::Target *parent, Core::Id id); ProjectExplorer::RunConfiguration *doRestore(ProjectExplorer::Target *parent, const QVariantMap &map); }; diff --git a/src/plugins/remotelinux/abstractpackagingstep.cpp b/src/plugins/remotelinux/abstractpackagingstep.cpp index 77df9edbfb8..9de7a4a13cd 100644 --- a/src/plugins/remotelinux/abstractpackagingstep.cpp +++ b/src/plugins/remotelinux/abstractpackagingstep.cpp @@ -55,7 +55,7 @@ public: } // namespace Internal -AbstractPackagingStep::AbstractPackagingStep(BuildStepList *bsl, const Core::Id id) +AbstractPackagingStep::AbstractPackagingStep(BuildStepList *bsl, Core::Id id) : BuildStep(bsl, id) { ctor(); diff --git a/src/plugins/remotelinux/abstractpackagingstep.h b/src/plugins/remotelinux/abstractpackagingstep.h index e4b9d058d81..c28371eec13 100644 --- a/src/plugins/remotelinux/abstractpackagingstep.h +++ b/src/plugins/remotelinux/abstractpackagingstep.h @@ -43,7 +43,7 @@ class REMOTELINUX_EXPORT AbstractPackagingStep : public ProjectExplorer::BuildSt Q_OBJECT public: - AbstractPackagingStep(ProjectExplorer::BuildStepList *bsl, const Core::Id id); + AbstractPackagingStep(ProjectExplorer::BuildStepList *bsl, Core::Id id); AbstractPackagingStep(ProjectExplorer::BuildStepList *bsl, AbstractPackagingStep *other); ~AbstractPackagingStep(); diff --git a/src/plugins/remotelinux/abstractremotelinuxdeploystep.cpp b/src/plugins/remotelinux/abstractremotelinuxdeploystep.cpp index 184d28a047d..7fd7ca495d7 100644 --- a/src/plugins/remotelinux/abstractremotelinuxdeploystep.cpp +++ b/src/plugins/remotelinux/abstractremotelinuxdeploystep.cpp @@ -49,7 +49,7 @@ public: } // namespace Internal -AbstractRemoteLinuxDeployStep::AbstractRemoteLinuxDeployStep(BuildStepList *bsl, const Core::Id id) +AbstractRemoteLinuxDeployStep::AbstractRemoteLinuxDeployStep(BuildStepList *bsl, Core::Id id) : BuildStep(bsl, id), d(new Internal::AbstractRemoteLinuxDeployStepPrivate) { } diff --git a/src/plugins/remotelinux/abstractremotelinuxdeploystep.h b/src/plugins/remotelinux/abstractremotelinuxdeploystep.h index 732555c3157..81c31935190 100644 --- a/src/plugins/remotelinux/abstractremotelinuxdeploystep.h +++ b/src/plugins/remotelinux/abstractremotelinuxdeploystep.h @@ -59,7 +59,7 @@ public: virtual AbstractRemoteLinuxDeployService *deployService() const = 0; protected: - AbstractRemoteLinuxDeployStep(ProjectExplorer::BuildStepList *bsl, const Core::Id id); + AbstractRemoteLinuxDeployStep(ProjectExplorer::BuildStepList *bsl, Core::Id id); AbstractRemoteLinuxDeployStep(ProjectExplorer::BuildStepList *bsl, AbstractRemoteLinuxDeployStep *other); virtual bool initInternal(QString *error = 0) = 0; diff --git a/src/plugins/remotelinux/genericdirectuploadstep.cpp b/src/plugins/remotelinux/genericdirectuploadstep.cpp index f912da88e5f..e6bd307054f 100644 --- a/src/plugins/remotelinux/genericdirectuploadstep.cpp +++ b/src/plugins/remotelinux/genericdirectuploadstep.cpp @@ -95,7 +95,7 @@ public: } // namespace Internal -GenericDirectUploadStep::GenericDirectUploadStep(ProjectExplorer::BuildStepList *bsl, const Core::Id id) +GenericDirectUploadStep::GenericDirectUploadStep(ProjectExplorer::BuildStepList *bsl, Core::Id id) : AbstractRemoteLinuxDeployStep(bsl, id) { ctor(); diff --git a/src/plugins/remotelinux/genericdirectuploadstep.h b/src/plugins/remotelinux/genericdirectuploadstep.h index b5df95efecd..82034c38750 100644 --- a/src/plugins/remotelinux/genericdirectuploadstep.h +++ b/src/plugins/remotelinux/genericdirectuploadstep.h @@ -41,7 +41,7 @@ class REMOTELINUX_EXPORT GenericDirectUploadStep : public AbstractRemoteLinuxDep Q_OBJECT public: - GenericDirectUploadStep(ProjectExplorer::BuildStepList *bsl, const Core::Id id); + GenericDirectUploadStep(ProjectExplorer::BuildStepList *bsl, Core::Id id); GenericDirectUploadStep(ProjectExplorer::BuildStepList *bsl, GenericDirectUploadStep *other); ~GenericDirectUploadStep(); diff --git a/src/plugins/remotelinux/genericremotelinuxdeploystepfactory.cpp b/src/plugins/remotelinux/genericremotelinuxdeploystepfactory.cpp index 585b544eae6..267e7fc4201 100644 --- a/src/plugins/remotelinux/genericremotelinuxdeploystepfactory.cpp +++ b/src/plugins/remotelinux/genericremotelinuxdeploystepfactory.cpp @@ -57,7 +57,7 @@ QList GenericRemoteLinuxDeployStepFactory::availableCreationIds(BuildS return ids; } -QString GenericRemoteLinuxDeployStepFactory::displayNameForId(const Core::Id id) const +QString GenericRemoteLinuxDeployStepFactory::displayNameForId(Core::Id id) const { if (id == TarPackageCreationStep::stepId()) return TarPackageCreationStep::displayName(); @@ -72,12 +72,12 @@ QString GenericRemoteLinuxDeployStepFactory::displayNameForId(const Core::Id id) return QString(); } -bool GenericRemoteLinuxDeployStepFactory::canCreate(BuildStepList *parent, const Core::Id id) const +bool GenericRemoteLinuxDeployStepFactory::canCreate(BuildStepList *parent, Core::Id id) const { return availableCreationIds(parent).contains(id); } -BuildStep *GenericRemoteLinuxDeployStepFactory::create(BuildStepList *parent, const Core::Id id) +BuildStep *GenericRemoteLinuxDeployStepFactory::create(BuildStepList *parent, Core::Id id) { Q_ASSERT(canCreate(parent, id)); diff --git a/src/plugins/remotelinux/genericremotelinuxdeploystepfactory.h b/src/plugins/remotelinux/genericremotelinuxdeploystepfactory.h index a338de847fe..3452a39dcb0 100644 --- a/src/plugins/remotelinux/genericremotelinuxdeploystepfactory.h +++ b/src/plugins/remotelinux/genericremotelinuxdeploystepfactory.h @@ -41,9 +41,9 @@ public: GenericRemoteLinuxDeployStepFactory(QObject *parent = 0); QList availableCreationIds(ProjectExplorer::BuildStepList *parent) const; - QString displayNameForId(const Core::Id id) const; - bool canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const; - ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, const Core::Id id); + QString displayNameForId(Core::Id id) const; + bool canCreate(ProjectExplorer::BuildStepList *parent, Core::Id id) const; + ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, Core::Id id); bool canRestore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map) const; ProjectExplorer::BuildStep *restore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map); diff --git a/src/plugins/remotelinux/remotelinuxcustomcommanddeploymentstep.h b/src/plugins/remotelinux/remotelinuxcustomcommanddeploymentstep.h index 8ee974450e0..3660c4e5d58 100644 --- a/src/plugins/remotelinux/remotelinuxcustomcommanddeploymentstep.h +++ b/src/plugins/remotelinux/remotelinuxcustomcommanddeploymentstep.h @@ -53,7 +53,7 @@ public: QString commandLine() const; protected: - AbstractRemoteLinuxCustomCommandDeploymentStep(ProjectExplorer::BuildStepList *bsl, const Core::Id id); + AbstractRemoteLinuxCustomCommandDeploymentStep(ProjectExplorer::BuildStepList *bsl, Core::Id id); AbstractRemoteLinuxCustomCommandDeploymentStep(ProjectExplorer::BuildStepList *bsl, AbstractRemoteLinuxCustomCommandDeploymentStep *other); diff --git a/src/plugins/remotelinux/remotelinuxdeployconfiguration.h b/src/plugins/remotelinux/remotelinuxdeployconfiguration.h index feee34f0652..c17ac6c1137 100644 --- a/src/plugins/remotelinux/remotelinuxdeployconfiguration.h +++ b/src/plugins/remotelinux/remotelinuxdeployconfiguration.h @@ -44,7 +44,7 @@ class REMOTELINUX_EXPORT RemoteLinuxDeployConfiguration Q_OBJECT public: - RemoteLinuxDeployConfiguration(ProjectExplorer::Target *target, const Core::Id id, + RemoteLinuxDeployConfiguration(ProjectExplorer::Target *target, Core::Id id, const QString &defaultDisplayName); RemoteLinuxDeployConfiguration(ProjectExplorer::Target *target, RemoteLinuxDeployConfiguration *source); diff --git a/src/plugins/remotelinux/remotelinuxdeployconfigurationfactory.cpp b/src/plugins/remotelinux/remotelinuxdeployconfigurationfactory.cpp index c4c039bd326..e771799a712 100644 --- a/src/plugins/remotelinux/remotelinuxdeployconfigurationfactory.cpp +++ b/src/plugins/remotelinux/remotelinuxdeployconfigurationfactory.cpp @@ -70,14 +70,14 @@ QList RemoteLinuxDeployConfigurationFactory::availableCreationIds(Targ return ids; } -QString RemoteLinuxDeployConfigurationFactory::displayNameForId(const Core::Id id) const +QString RemoteLinuxDeployConfigurationFactory::displayNameForId(Core::Id id) const { if (id == genericDeployConfigurationId()) return genericLinuxDisplayName(); return QString(); } -bool RemoteLinuxDeployConfigurationFactory::canCreate(Target *parent, const Core::Id id) const +bool RemoteLinuxDeployConfigurationFactory::canCreate(Target *parent, Core::Id id) const { return availableCreationIds(parent).contains(id); } diff --git a/src/plugins/remotelinux/remotelinuxdeployconfigurationfactory.h b/src/plugins/remotelinux/remotelinuxdeployconfigurationfactory.h index 798fb80255d..08ea5d6a271 100644 --- a/src/plugins/remotelinux/remotelinuxdeployconfigurationfactory.h +++ b/src/plugins/remotelinux/remotelinuxdeployconfigurationfactory.h @@ -42,9 +42,9 @@ public: explicit RemoteLinuxDeployConfigurationFactory(QObject *parent = 0); QList availableCreationIds(ProjectExplorer::Target *parent) const; - QString displayNameForId(const Core::Id id) const; - bool canCreate(ProjectExplorer::Target *parent, const Core::Id id) const; - ProjectExplorer::DeployConfiguration *create(ProjectExplorer::Target *parent, const Core::Id id); + QString displayNameForId(Core::Id id) const; + bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const; + ProjectExplorer::DeployConfiguration *create(ProjectExplorer::Target *parent, Core::Id id); bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const; ProjectExplorer::DeployConfiguration *restore(ProjectExplorer::Target *parent, const QVariantMap &map); ProjectExplorer::DeployConfiguration *clone(ProjectExplorer::Target *parent, diff --git a/src/plugins/remotelinux/remotelinuxrunconfiguration.cpp b/src/plugins/remotelinux/remotelinuxrunconfiguration.cpp index 3a906f7cb1a..162c1c4d57a 100644 --- a/src/plugins/remotelinux/remotelinuxrunconfiguration.cpp +++ b/src/plugins/remotelinux/remotelinuxrunconfiguration.cpp @@ -81,7 +81,7 @@ public: using namespace Internal; -RemoteLinuxRunConfiguration::RemoteLinuxRunConfiguration(Target *parent, const Core::Id id, +RemoteLinuxRunConfiguration::RemoteLinuxRunConfiguration(Target *parent, Core::Id id, const QString &proFilePath) : AbstractRemoteLinuxRunConfiguration(parent, id), d(new RemoteLinuxRunConfigurationPrivate(proFilePath)) diff --git a/src/plugins/remotelinux/remotelinuxrunconfiguration.h b/src/plugins/remotelinux/remotelinuxrunconfiguration.h index 0080d35f105..6829920c005 100644 --- a/src/plugins/remotelinux/remotelinuxrunconfiguration.h +++ b/src/plugins/remotelinux/remotelinuxrunconfiguration.h @@ -59,7 +59,7 @@ class REMOTELINUX_EXPORT RemoteLinuxRunConfiguration : public AbstractRemoteLinu friend class RemoteLinuxRunConfigurationWidget; public: - RemoteLinuxRunConfiguration(ProjectExplorer::Target *parent, const Core::Id id, + RemoteLinuxRunConfiguration(ProjectExplorer::Target *parent, Core::Id id, const QString &projectFilePath); ~RemoteLinuxRunConfiguration(); diff --git a/src/plugins/remotelinux/remotelinuxrunconfigurationfactory.cpp b/src/plugins/remotelinux/remotelinuxrunconfigurationfactory.cpp index 0a0d45bca5b..2acb0e12a50 100644 --- a/src/plugins/remotelinux/remotelinuxrunconfigurationfactory.cpp +++ b/src/plugins/remotelinux/remotelinuxrunconfigurationfactory.cpp @@ -67,7 +67,7 @@ RemoteLinuxRunConfigurationFactory::~RemoteLinuxRunConfigurationFactory() { } -bool RemoteLinuxRunConfigurationFactory::canCreate(Target *parent, const Core::Id id) const +bool RemoteLinuxRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const { if (!canHandle(parent)) return false; @@ -105,7 +105,7 @@ QList RemoteLinuxRunConfigurationFactory::availableCreationIds(Target return result; } -QString RemoteLinuxRunConfigurationFactory::displayNameForId(const Core::Id id) const +QString RemoteLinuxRunConfigurationFactory::displayNameForId(Core::Id id) const { if (id == RemoteLinuxCustomRunConfiguration::runConfigId()) return RemoteLinuxCustomRunConfiguration::runConfigDefaultDisplayName(); @@ -113,7 +113,7 @@ QString RemoteLinuxRunConfigurationFactory::displayNameForId(const Core::Id id) + QLatin1Char(' ') + tr("(on Remote Generic Linux Host)"); } -RunConfiguration *RemoteLinuxRunConfigurationFactory::doCreate(Target *parent, const Core::Id id) +RunConfiguration *RemoteLinuxRunConfigurationFactory::doCreate(Target *parent, Core::Id id) { if (id == RemoteLinuxCustomRunConfiguration::runConfigId()) return new RemoteLinuxCustomRunConfiguration(parent); diff --git a/src/plugins/remotelinux/remotelinuxrunconfigurationfactory.h b/src/plugins/remotelinux/remotelinuxrunconfigurationfactory.h index 16cfa90d2f1..cd1d97d5eb3 100644 --- a/src/plugins/remotelinux/remotelinuxrunconfigurationfactory.h +++ b/src/plugins/remotelinux/remotelinuxrunconfigurationfactory.h @@ -42,10 +42,10 @@ public: explicit RemoteLinuxRunConfigurationFactory(QObject *parent = 0); ~RemoteLinuxRunConfigurationFactory(); - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; QList availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode) const; - bool canCreate(ProjectExplorer::Target *parent, const Core::Id id) const; + bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const; bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const; @@ -56,7 +56,7 @@ public: private: bool canHandle(const ProjectExplorer::Target *target) const; - ProjectExplorer::RunConfiguration *doCreate(ProjectExplorer::Target *parent, const Core::Id id); + ProjectExplorer::RunConfiguration *doCreate(ProjectExplorer::Target *parent, Core::Id id); ProjectExplorer::RunConfiguration *doRestore(ProjectExplorer::Target *parent, const QVariantMap &map); }; diff --git a/src/plugins/resourceeditor/resourceeditorw.cpp b/src/plugins/resourceeditor/resourceeditorw.cpp index 53ec554652f..004c7d8a853 100644 --- a/src/plugins/resourceeditor/resourceeditorw.cpp +++ b/src/plugins/resourceeditor/resourceeditorw.cpp @@ -62,22 +62,16 @@ enum { debugResourceEditorW = 0 }; ResourceEditorDocument::ResourceEditorDocument(ResourceEditorW *parent) : IDocument(parent), - m_mimeType(QLatin1String(ResourceEditor::Constants::C_RESOURCE_MIMETYPE)), m_blockDirtyChanged(false), m_parent(parent) { setId(ResourceEditor::Constants::RESOURCEEDITOR_ID); + setMimeType(QLatin1String(ResourceEditor::Constants::C_RESOURCE_MIMETYPE)); setFilePath(parent->m_resourceEditor->fileName()); if (debugResourceEditorW) qDebug() << "ResourceEditorFile::ResourceEditorFile()"; } -QString ResourceEditorDocument::mimeType() const -{ - return m_mimeType; -} - - ResourceEditorW::ResourceEditorW(const Core::Context &context, ResourceEditorPlugin *plugin, QWidget *parent) diff --git a/src/plugins/resourceeditor/resourceeditorw.h b/src/plugins/resourceeditor/resourceeditorw.h index 870e00c5a09..8cb22de247c 100644 --- a/src/plugins/resourceeditor/resourceeditorw.h +++ b/src/plugins/resourceeditor/resourceeditorw.h @@ -62,7 +62,6 @@ public: bool reload(QString *errorString, ReloadFlag flag, ChangeType type); QString defaultPath() const; QString suggestedFileName() const; - QString mimeType() const; void setFilePath(const QString &newName); void setBlockDirtyChanged(bool value); @@ -70,7 +69,6 @@ public slots: void dirtyChanged(bool); private: - const QString m_mimeType; bool m_blockDirtyChanged; ResourceEditorW *m_parent; }; diff --git a/src/plugins/resourceeditor/resourcenode.cpp b/src/plugins/resourceeditor/resourcenode.cpp index e27915a6657..552a6281320 100644 --- a/src/plugins/resourceeditor/resourcenode.cpp +++ b/src/plugins/resourceeditor/resourcenode.cpp @@ -441,6 +441,7 @@ ResourceFileWatcher::ResourceFileWatcher(ResourceTopLevelNode *node) : IDocument(node), m_node(node) { setId("ResourceNodeWatcher"); + setMimeType(QLatin1String(ResourceEditor::Constants::C_RESOURCE_MIMETYPE)); setFilePath(node->path()); } @@ -462,11 +463,6 @@ QString ResourceFileWatcher::suggestedFileName() const return QString(); } -QString ResourceFileWatcher::mimeType() const -{ - return QLatin1String(ResourceEditor::Constants::C_RESOURCE_MIMETYPE); -} - bool ResourceFileWatcher::isModified() const { return false; diff --git a/src/plugins/resourceeditor/resourcenode.h b/src/plugins/resourceeditor/resourcenode.h index 867dfce7d92..f2fa3310766 100644 --- a/src/plugins/resourceeditor/resourcenode.h +++ b/src/plugins/resourceeditor/resourcenode.h @@ -122,7 +122,6 @@ public: virtual QString defaultPath() const; virtual QString suggestedFileName() const; - virtual QString mimeType() const; virtual bool isModified() const; virtual bool isSaveAsAllowed() const; diff --git a/src/plugins/tasklist/taskfile.cpp b/src/plugins/tasklist/taskfile.cpp index 6ea6ddf9aa0..fa695c5e2ab 100644 --- a/src/plugins/tasklist/taskfile.cpp +++ b/src/plugins/tasklist/taskfile.cpp @@ -64,11 +64,6 @@ QString TaskFile::suggestedFileName() const return QString(); } -QString TaskFile::mimeType() const -{ - return QString(); -} - bool TaskFile::isModified() const { return false; diff --git a/src/plugins/tasklist/taskfile.h b/src/plugins/tasklist/taskfile.h index 60f012dca62..10018c35f87 100644 --- a/src/plugins/tasklist/taskfile.h +++ b/src/plugins/tasklist/taskfile.h @@ -47,7 +47,6 @@ public: QString defaultPath() const; QString suggestedFileName() const; - QString mimeType() const; bool isModified() const; bool isSaveAsAllowed() const; diff --git a/src/plugins/tasklist/taskfilefactory.cpp b/src/plugins/tasklist/taskfilefactory.cpp index 8daa3b50d6b..f8aea9f0346 100644 --- a/src/plugins/tasklist/taskfilefactory.cpp +++ b/src/plugins/tasklist/taskfilefactory.cpp @@ -50,12 +50,10 @@ TaskFileFactory::TaskFileFactory(QObject * parent) : setId("ProjectExplorer.TaskFileFactory"); setDisplayName(tr("Task file reader")); addMimeType(QLatin1String("text/x-tasklist")); -} - -Core::IDocument *TaskFileFactory::open(const QString &fileName) -{ - ProjectExplorer::Project *project = ProjectExplorer::ProjectExplorerPlugin::currentProject(); - return open(project ? project->projectDirectory().toString() : QString(), fileName); + setOpener([this](const QString &fileName) -> Core::IDocument * { + ProjectExplorer::Project *project = ProjectExplorer::ProjectExplorerPlugin::currentProject(); + return this->open(project ? project->projectDirectory().toString() : QString(), fileName); + }); } Core::IDocument *TaskFileFactory::open(const QString &base, const QString &fileName) diff --git a/src/plugins/tasklist/taskfilefactory.h b/src/plugins/tasklist/taskfilefactory.h index 96fcb7d30c2..894f49f5fa9 100644 --- a/src/plugins/tasklist/taskfilefactory.h +++ b/src/plugins/tasklist/taskfilefactory.h @@ -47,7 +47,6 @@ class TaskFileFactory : public Core::IDocumentFactory public: TaskFileFactory(QObject *parent = 0); - Core::IDocument *open(const QString &fileName); Core::IDocument *open(const QString &base, const QString &fileName); void closeAllFiles(); diff --git a/src/plugins/texteditor/basefilefind.cpp b/src/plugins/texteditor/basefilefind.cpp index 07eaaef6f2e..91983c9b107 100644 --- a/src/plugins/texteditor/basefilefind.cpp +++ b/src/plugins/texteditor/basefilefind.cpp @@ -316,7 +316,7 @@ void BaseFileFind::openEditor(const Core::SearchResultItem &item) openedEditor = EditorManager::openEditor(QDir::fromNativeSeparators(item.text)); } if (d->m_currentFindSupport) - d->m_currentFindSupport->clearResults(); + d->m_currentFindSupport->clearHighlights(); d->m_currentFindSupport = 0; if (!openedEditor) return; @@ -333,7 +333,7 @@ void BaseFileFind::openEditor(const Core::SearchResultItem &item) void BaseFileFind::hideHighlightAll(bool visible) { if (!visible && d->m_currentFindSupport) - d->m_currentFindSupport->clearResults(); + d->m_currentFindSupport->clearHighlights(); } void BaseFileFind::searchAgain() diff --git a/src/plugins/texteditor/basetextdocument.cpp b/src/plugins/texteditor/basetextdocument.cpp index 0a4108dabb9..cfb9964ce26 100644 --- a/src/plugins/texteditor/basetextdocument.cpp +++ b/src/plugins/texteditor/basetextdocument.cpp @@ -80,7 +80,6 @@ public slots: public: QString m_defaultPath; QString m_suggestedFileName; - QString m_mimeType; TypingSettings m_typingSettings; StorageSettings m_storageSettings; TabSettings m_tabSettings; @@ -231,19 +230,6 @@ QChar BaseTextDocument::characterAt(int pos) const return document()->characterAt(pos); } -QString BaseTextDocument::mimeType() const -{ - return d->m_mimeType; -} - -void BaseTextDocument::setMimeType(const QString &mt) -{ - if (d->m_mimeType != mt) { - d->m_mimeType = mt; - emit mimeTypeChanged(); - } -} - void BaseTextDocument::setTypingSettings(const TypingSettings &typingSettings) { d->m_typingSettings = typingSettings; diff --git a/src/plugins/texteditor/basetextdocument.h b/src/plugins/texteditor/basetextdocument.h index ac280b9dd12..eb08ca2bdec 100644 --- a/src/plugins/texteditor/basetextdocument.h +++ b/src/plugins/texteditor/basetextdocument.h @@ -92,8 +92,6 @@ public: bool isSaveAsAllowed() const; void checkPermissions(); bool reload(QString *errorString, ReloadFlag flag, ChangeType type); - QString mimeType() const; - void setMimeType(const QString &mt); void setFilePath(const QString &newName); QString defaultPath() const; @@ -120,7 +118,6 @@ public slots: void setFontSettings(const TextEditor::FontSettings &fontSettings); signals: - void mimeTypeChanged(); void tabSettingsChanged(); void fontSettingsChanged(); diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index 6c6b70b972b..7e5671bd871 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -4484,7 +4484,7 @@ void BaseTextEditorWidget::dragEnterEvent(QDragEnterEvent *e) QPlainTextEdit::dragEnterEvent(e); } -static void appendMenuActionsFromContext(QMenu *menu, const Core::Id menuContextId) +static void appendMenuActionsFromContext(QMenu *menu, Core::Id menuContextId) { Core::ActionContainer *mcontext = Core::ActionManager::actionContainer(menuContextId); QMenu *contextMenu = mcontext->menu(); @@ -4493,7 +4493,7 @@ static void appendMenuActionsFromContext(QMenu *menu, const Core::Id menuContext menu->addAction(action); } -void BaseTextEditorWidget::showDefaultContextMenu(QContextMenuEvent *e, const Core::Id menuContextId) +void BaseTextEditorWidget::showDefaultContextMenu(QContextMenuEvent *e, Core::Id menuContextId) { QMenu menu; appendMenuActionsFromContext(&menu, menuContextId); diff --git a/src/plugins/texteditor/basetexteditor.h b/src/plugins/texteditor/basetexteditor.h index 18b8bfb250c..0fe282b03b0 100644 --- a/src/plugins/texteditor/basetexteditor.h +++ b/src/plugins/texteditor/basetexteditor.h @@ -454,7 +454,7 @@ protected: void dragEnterEvent(QDragEnterEvent *e); - void showDefaultContextMenu(QContextMenuEvent *e, const Core::Id menuContextId); + void showDefaultContextMenu(QContextMenuEvent *e, Core::Id menuContextId); public: struct Link diff --git a/src/plugins/texteditor/circularclipboardassist.cpp b/src/plugins/texteditor/circularclipboardassist.cpp index 2b3b0a43629..e188f527ab0 100644 --- a/src/plugins/texteditor/circularclipboardassist.cpp +++ b/src/plugins/texteditor/circularclipboardassist.cpp @@ -120,7 +120,7 @@ bool ClipboardAssistProvider::isAsynchronous() const return false; } -bool ClipboardAssistProvider::supportsEditor(const Core::Id &/*editorId*/) const +bool ClipboardAssistProvider::supportsEditor(Core::Id /*editorId*/) const { return true; } diff --git a/src/plugins/texteditor/circularclipboardassist.h b/src/plugins/texteditor/circularclipboardassist.h index ac1abfee79b..9a997e663be 100644 --- a/src/plugins/texteditor/circularclipboardassist.h +++ b/src/plugins/texteditor/circularclipboardassist.h @@ -41,7 +41,7 @@ class ClipboardAssistProvider: public IAssistProvider { public: bool isAsynchronous() const; - bool supportsEditor(const Core::Id &editorId) const QTC_OVERRIDE; + bool supportsEditor(Core::Id editorId) const QTC_OVERRIDE; IAssistProcessor *createProcessor() const QTC_OVERRIDE; }; diff --git a/src/plugins/texteditor/codeassist/codeassistant.cpp b/src/plugins/texteditor/codeassist/codeassistant.cpp index c4b8ac0d07d..a7c9d1b21df 100644 --- a/src/plugins/texteditor/codeassist/codeassistant.cpp +++ b/src/plugins/texteditor/codeassist/codeassistant.cpp @@ -56,7 +56,7 @@ using namespace Internal; namespace { template -void filterEditorSpecificProviders(QList *providers, const Core::Id &editorId) +void filterEditorSpecificProviders(QList *providers, Core::Id editorId) { typename QList::iterator it = providers->begin(); while (it != providers->end()) { diff --git a/src/plugins/texteditor/codeassist/iassistprovider.cpp b/src/plugins/texteditor/codeassist/iassistprovider.cpp index 5b36f39e85e..ca7d6912a4a 100644 --- a/src/plugins/texteditor/codeassist/iassistprovider.cpp +++ b/src/plugins/texteditor/codeassist/iassistprovider.cpp @@ -56,7 +56,7 @@ using namespace TextEditor; */ /*! - \fn bool TextEditor::IAssistProvider::supportsEditor(const Core::Id &editorId) const + \fn bool TextEditor::IAssistProvider::supportsEditor(Core::Id editorId) const Returns whether this provider supports the editor which has the \a editorId. */ diff --git a/src/plugins/texteditor/codeassist/iassistprovider.h b/src/plugins/texteditor/codeassist/iassistprovider.h index 0a867e26722..e61892a18ed 100644 --- a/src/plugins/texteditor/codeassist/iassistprovider.h +++ b/src/plugins/texteditor/codeassist/iassistprovider.h @@ -47,7 +47,7 @@ public: IAssistProvider() {} virtual bool isAsynchronous() const = 0; - virtual bool supportsEditor(const Core::Id &editorId) const = 0; + virtual bool supportsEditor(Core::Id editorId) const = 0; virtual IAssistProcessor *createProcessor() const = 0; }; diff --git a/src/plugins/texteditor/generichighlighter/definitiondownloader.cpp b/src/plugins/texteditor/generichighlighter/definitiondownloader.cpp index b051e8caaac..f55b8615c5f 100644 --- a/src/plugins/texteditor/generichighlighter/definitiondownloader.cpp +++ b/src/plugins/texteditor/generichighlighter/definitiondownloader.cpp @@ -36,6 +36,7 @@ #include #include #include +#include #include @@ -88,8 +89,18 @@ void DefinitionDownloader::saveData(QNetworkReply *reply) const QString &fileName = urlPath.right(urlPath.length() - urlPath.lastIndexOf(QLatin1Char('/')) - 1); Utils::FileSaver saver(m_localPath + fileName, QIODevice::Text); - saver.write(reply->readAll()); + const QByteArray data = reply->readAll(); + saver.write(data); m_status = saver.finalize() ? Ok: WriteError; + QString content = QString::fromUtf8(data); + QRegExp reference(QLatin1String("context\\s*=\\s*\"[^\"]*##([^\"]+)\"")); + int index = -1; + forever { + index = reference.indexIn(content, index + 1); + if (index == -1) + break; + emit foundReferencedDefinition(reference.cap(1)); + } } DefinitionDownloader::Status DefinitionDownloader::status() const diff --git a/src/plugins/texteditor/generichighlighter/definitiondownloader.h b/src/plugins/texteditor/generichighlighter/definitiondownloader.h index 35e97681b7d..e851942cbb1 100644 --- a/src/plugins/texteditor/generichighlighter/definitiondownloader.h +++ b/src/plugins/texteditor/generichighlighter/definitiondownloader.h @@ -58,6 +58,9 @@ public: void run(); Status status() const; +signals: + void foundReferencedDefinition(const QString &name); + private: QNetworkReply *getData(QNetworkAccessManager *manager) const; void saveData(QNetworkReply *reply); diff --git a/src/plugins/texteditor/generichighlighter/highlightdefinitionhandler.cpp b/src/plugins/texteditor/generichighlighter/highlightdefinitionhandler.cpp index fdb0eaab859..9308e72fff6 100644 --- a/src/plugins/texteditor/generichighlighter/highlightdefinitionhandler.cpp +++ b/src/plugins/texteditor/generichighlighter/highlightdefinitionhandler.cpp @@ -238,17 +238,22 @@ void HighlightDefinitionHandler::contextElementStarted(const QXmlAttributes &att void HighlightDefinitionHandler::ruleElementStarted(const QXmlAttributes &atts, const QSharedPointer &rule) { + const QString context = atts.value(kContext); // The definition of a rule is not necessarily the same of its enclosing context because of // externally included rules. rule->setDefinition(m_definition); rule->setItemData(atts.value(kAttribute)); - rule->setContext(atts.value(kContext)); + rule->setContext(context); rule->setBeginRegion(atts.value(kBeginRegion)); rule->setEndRegion(atts.value(kEndRegion)); rule->setLookAhead(atts.value(kLookAhead)); rule->setFirstNonSpace(atts.value(kFirstNonSpace)); rule->setColumn(atts.value(kColumn)); + if (context.contains(kDoubleHash)) { + IncludeRulesInstruction includeInstruction(context, m_currentContext->rules().size(), QString()); + m_currentContext->addIncludeRulesInstruction(includeInstruction); + } if (m_currentRule.isEmpty()) m_currentContext->addRule(rule); else @@ -428,13 +433,17 @@ void HighlightDefinitionHandler::processIncludeRules(const QSharedPointer sourceContext; const QString &sourceName = instruction.sourceContext(); - if (sourceName.startsWith(kDoubleHash)) { - // This refers to an external definition. The rules included are the ones from its + if (sourceName.contains(kDoubleHash)) { + // This refers to an external definition. Context can be specified before the double + // hash (e.g. Normal##Javascript). If it isn't, the rules included are the ones from its // initial context. Others contexts and rules from the external definition will work // transparently to the highlighter. This is because contexts and rules know the // definition they are from. - QString externalName = QString::fromRawData(sourceName.unicode() + 2, - sourceName.length() - 2); + const QStringList values = sourceName.split(kDoubleHash); + if (values.count() != 2) + return; + const QString externalContext = values.at(0); + const QString externalName = values.at(1); const QString &id = Manager::instance()->definitionIdByName(externalName); // If there is an incorrect circular dependency among definitions this is skipped. @@ -446,7 +455,10 @@ void HighlightDefinitionHandler::processIncludeRules(const QSharedPointerisValid()) continue; - sourceContext = externalDefinition->initialContext(); + if (externalContext.isEmpty()) + sourceContext = externalDefinition->initialContext(); + else + sourceContext = externalDefinition->context(externalContext); } else if (!sourceName.startsWith(kHash)) { sourceContext = m_definition->context(sourceName); diff --git a/src/plugins/texteditor/generichighlighter/highlightdefinitionmetadata.h b/src/plugins/texteditor/generichighlighter/highlightdefinitionmetadata.h index 4a0f09414bb..437e0bb571b 100644 --- a/src/plugins/texteditor/generichighlighter/highlightdefinitionmetadata.h +++ b/src/plugins/texteditor/generichighlighter/highlightdefinitionmetadata.h @@ -30,6 +30,7 @@ #ifndef HIGHLIGHTDEFINITIONMETADATA_H #define HIGHLIGHTDEFINITIONMETADATA_H +#include #include #include @@ -52,6 +53,8 @@ public: QUrl url; }; +typedef QSharedPointer DefinitionMetaDataPtr; + } // namespace Internal } // namespace TextEditor diff --git a/src/plugins/texteditor/generichighlighter/highlightersettingspage.cpp b/src/plugins/texteditor/generichighlighter/highlightersettingspage.cpp index 6ae35d4ede5..71732d9bd00 100644 --- a/src/plugins/texteditor/generichighlighter/highlightersettingspage.cpp +++ b/src/plugins/texteditor/generichighlighter/highlightersettingspage.cpp @@ -187,9 +187,9 @@ void HighlighterSettingsPage::requestAvailableDefinitionsMetaData() setDownloadDefinitionsState(false); connect(Manager::instance(), - SIGNAL(definitionsMetaDataReady(QList)), + SIGNAL(definitionsMetaDataReady(QList)), this, - SLOT(manageDefinitions(QList)), + SLOT(manageDefinitions(QList)), Qt::UniqueConnection); connect(Manager::instance(), SIGNAL(errorDownloadingDefinitionsMetaData()), this, SLOT(showError()), Qt::UniqueConnection); @@ -199,14 +199,14 @@ void HighlighterSettingsPage::requestAvailableDefinitionsMetaData() void HighlighterSettingsPage::ignoreDownloadReply() { disconnect(Manager::instance(), - SIGNAL(definitionsMetaDataReady(QList)), + SIGNAL(definitionsMetaDataReady(QList)), this, - SLOT(manageDefinitions(QList))); + SLOT(manageDefinitions(QList))); disconnect(Manager::instance(), SIGNAL(errorDownloadingDefinitionsMetaData()), this, SLOT(showError())); } -void HighlighterSettingsPage::manageDefinitions(const QList &metaData) +void HighlighterSettingsPage::manageDefinitions(const QList &metaData) { ManageDefinitionsDialog dialog(metaData, m_d->m_page->definitionFilesPath->path() + QLatin1Char('/'), diff --git a/src/plugins/texteditor/generichighlighter/highlightersettingspage.h b/src/plugins/texteditor/generichighlighter/highlightersettingspage.h index a7081c6bc9e..0633d0a8abe 100644 --- a/src/plugins/texteditor/generichighlighter/highlightersettingspage.h +++ b/src/plugins/texteditor/generichighlighter/highlightersettingspage.h @@ -30,6 +30,7 @@ #ifndef HIGHLIGHTERSETTINGSPAGE_H #define HIGHLIGHTERSETTINGSPAGE_H +#include "highlightdefinitionmetadata.h" #include "../texteditoroptionspage.h" QT_BEGIN_NAMESPACE @@ -38,8 +39,6 @@ QT_END_NAMESPACE namespace TextEditor { -namespace Internal { class HighlightDefinitionMetaData; } - class HighlighterSettings; class HighlighterSettingsPage : public TextEditorOptionsPage @@ -59,7 +58,7 @@ public: private slots: void resetDefinitionsLocation(); void requestAvailableDefinitionsMetaData(); - void manageDefinitions(const QList &metaData); + void manageDefinitions(const QList &metaData); void showError(); void ignoreDownloadReply(); void setFallbackLocationState(bool checked); diff --git a/src/plugins/texteditor/generichighlighter/managedefinitionsdialog.cpp b/src/plugins/texteditor/generichighlighter/managedefinitionsdialog.cpp index 211ae160470..a794a650178 100644 --- a/src/plugins/texteditor/generichighlighter/managedefinitionsdialog.cpp +++ b/src/plugins/texteditor/generichighlighter/managedefinitionsdialog.cpp @@ -42,7 +42,7 @@ using namespace TextEditor; using namespace Internal; ManageDefinitionsDialog::ManageDefinitionsDialog( - const QList &metaDataList, + const QList &metaDataList, const QString &path, QWidget *parent) : QDialog(parent), @@ -69,7 +69,7 @@ void ManageDefinitionsDialog::populateDefinitionsWidget() const int size = m_definitionsMetaData.size(); ui.definitionsTable->setRowCount(size); for (int i = 0; i < size; ++i) { - const HighlightDefinitionMetaData &downloadData = m_definitionsMetaData.at(i); + const HighlightDefinitionMetaData &downloadData = *m_definitionsMetaData.at(i); // Look for this definition in the current path specified by the user, not the one // stored in the settings. So the manager should not be queried for this information. @@ -77,7 +77,7 @@ void ManageDefinitionsDialog::populateDefinitionsWidget() QFileInfo fi(m_path + downloadData.fileName); QFile definitionFile(fi.absoluteFilePath()); if (definitionFile.open(QIODevice::ReadOnly | QIODevice::Text)) { - const QSharedPointer &data = Manager::parseMetadata(fi); + const DefinitionMetaDataPtr data = Manager::parseMetadata(fi); if (!data.isNull()) dirVersion = data->version; } @@ -110,7 +110,7 @@ void ManageDefinitionsDialog::downloadDefinitions() QList urls; foreach (const QModelIndex &index, ui.definitionsTable->selectionModel()->selectedRows()) - urls.append(m_definitionsMetaData.at(index.row()).url); + urls.append(m_definitionsMetaData.at(index.row())->url); Manager::instance()->downloadDefinitions(urls, m_path); accept(); } diff --git a/src/plugins/texteditor/generichighlighter/managedefinitionsdialog.h b/src/plugins/texteditor/generichighlighter/managedefinitionsdialog.h index da8d2a98fd0..6df37d346b5 100644 --- a/src/plugins/texteditor/generichighlighter/managedefinitionsdialog.h +++ b/src/plugins/texteditor/generichighlighter/managedefinitionsdialog.h @@ -43,7 +43,7 @@ class ManageDefinitionsDialog : public QDialog Q_OBJECT public: - explicit ManageDefinitionsDialog(const QList &metaDataList, + explicit ManageDefinitionsDialog(const QList &metaDataList, const QString &path, QWidget *parent = 0); @@ -56,7 +56,7 @@ private slots: private: void populateDefinitionsWidget(); - QList m_definitionsMetaData; + QList m_definitionsMetaData; QString m_path; Ui::ManageDefinitionsDialog ui; }; diff --git a/src/plugins/texteditor/generichighlighter/manager.cpp b/src/plugins/texteditor/generichighlighter/manager.cpp index 49363cd7af6..657d0521ca3 100644 --- a/src/plugins/texteditor/generichighlighter/manager.cpp +++ b/src/plugins/texteditor/generichighlighter/manager.cpp @@ -76,22 +76,55 @@ const char kMimeType[] = "mimetype"; const char kVersion[] = "version"; const char kUrl[] = "url"; +class MultiDefinitionDownloader : public QObject +{ + Q_OBJECT + +public: + MultiDefinitionDownloader(const QString &savePath, const QList &installedDefinitions) : + m_installedDefinitions(installedDefinitions), + m_downloadPath(savePath) + { + connect(&m_downloadWatcher, SIGNAL(finished()), this, SLOT(downloadDefinitionsFinished())); + } + + ~MultiDefinitionDownloader() + { + if (m_downloadWatcher.isRunning()) + m_downloadWatcher.cancel(); + } + + void downloadDefinitions(const QList &urls); + +signals: + void finished(); + +private slots: + void downloadReferencedDefinition(const QString &name); + void downloadDefinitionsFinished(); + +private: + QFutureWatcher m_downloadWatcher; + QList m_downloaders; + QList m_installedDefinitions; + QSet m_referencedDefinitions; + QString m_downloadPath; +}; + Manager::Manager() : - m_isDownloadingDefinitionsSpec(false), + m_multiDownloader(0), m_hasQueuedRegistration(false) { connect(&m_registeringWatcher, SIGNAL(finished()), this, SLOT(registerMimeTypesFinished())); - connect(&m_downloadWatcher, SIGNAL(finished()), this, SLOT(downloadDefinitionsFinished())); } Manager::~Manager() { disconnect(&m_registeringWatcher); - disconnect(&m_downloadWatcher); + disconnect(m_multiDownloader); if (m_registeringWatcher.isRunning()) m_registeringWatcher.cancel(); - if (m_downloadWatcher.isRunning()) - m_downloadWatcher.cancel(); + delete m_multiDownloader; } Manager *Manager::instance() @@ -121,6 +154,11 @@ QString Manager::definitionIdByAnyMimeType(const QStringList &mimeTypes) const return definitionId; } +DefinitionMetaDataPtr Manager::availableDefinitionByName(const QString &name) const +{ + return m_availableDefinitions.value(name); +} + QSharedPointer Manager::definition(const QString &id) { if (!id.isEmpty() && !m_definitions.contains(id)) { @@ -149,7 +187,7 @@ QSharedPointer Manager::definition(const QString &id) return m_definitions.value(id); } -QSharedPointer Manager::definitionMetaData(const QString &id) const +DefinitionMetaDataPtr Manager::definitionMetaData(const QString &id) const { return m_register.m_definitionsMetaData.value(id); } @@ -216,21 +254,21 @@ void ManagerProcessor::process(QFutureInterface > allMetaData; + QList allMetaData; foreach (const QFileInfo &fileInfo, definitionsDir.entryInfoList()) { - const QSharedPointer &metaData = + const DefinitionMetaDataPtr &metaData = Manager::parseMetadata(fileInfo); if (!metaData.isNull()) allMetaData.append(metaData); } // Consider definitions with higher priority first. - Utils::sort(allMetaData, [](const QSharedPointer &l, - const QSharedPointer &r) { + Utils::sort(allMetaData, [](const DefinitionMetaDataPtr &l, + const DefinitionMetaDataPtr &r) { return l->priority > r->priority; }); - foreach (const QSharedPointer &metaData, allMetaData) { + foreach (const DefinitionMetaDataPtr &metaData, allMetaData) { if (future.isCanceled()) return; if (future.progressValue() < kMaxProgress - 1) @@ -333,7 +371,7 @@ void Manager::registerMimeTypesFinished() } } -QSharedPointer Manager::parseMetadata(const QFileInfo &fileInfo) +DefinitionMetaDataPtr Manager::parseMetadata(const QFileInfo &fileInfo) { static const QLatin1Char kSemiColon(';'); static const QLatin1Char kSpace(' '); @@ -343,9 +381,9 @@ QSharedPointer Manager::parseMetadata(const QFileIn QFile definitionFile(fileInfo.absoluteFilePath()); if (!definitionFile.open(QIODevice::ReadOnly | QIODevice::Text)) - return QSharedPointer(); + return DefinitionMetaDataPtr(); - QSharedPointer metaData(new HighlightDefinitionMetaData); + DefinitionMetaDataPtr metaData(new HighlightDefinitionMetaData); QXmlStreamReader reader(&definitionFile); while (!reader.atEnd() && !reader.hasError()) { @@ -380,33 +418,33 @@ QSharedPointer Manager::parseMetadata(const QFileIn return metaData; } -QList Manager::parseAvailableDefinitionsList(QIODevice *device) const +QList Manager::parseAvailableDefinitionsList(QIODevice *device) { static const QLatin1Char kSlash('/'); static const QLatin1String kDefinition("Definition"); - QList metaDataList; + m_availableDefinitions.clear(); QXmlStreamReader reader(device); while (!reader.atEnd() && !reader.hasError()) { if (reader.readNext() == QXmlStreamReader::StartElement && reader.name() == kDefinition) { const QXmlStreamAttributes &atts = reader.attributes(); - HighlightDefinitionMetaData metaData; - metaData.name = atts.value(QLatin1String(kName)).toString(); - metaData.version = atts.value(QLatin1String(kVersion)).toString(); + DefinitionMetaDataPtr metaData(new HighlightDefinitionMetaData); + metaData->name = atts.value(QLatin1String(kName)).toString(); + metaData->version = atts.value(QLatin1String(kVersion)).toString(); QString url = atts.value(QLatin1String(kUrl)).toString(); - metaData.url = QUrl(url); + metaData->url = QUrl(url); const int slash = url.lastIndexOf(kSlash); if (slash != -1) - metaData.fileName = url.right(url.length() - slash - 1); + metaData->fileName = url.right(url.length() - slash - 1); - metaDataList.append(metaData); + m_availableDefinitions.insert(metaData->name, metaData); } } reader.clear(); - return metaDataList; + return m_availableDefinitions.values(); } void Manager::downloadAvailableDefinitionsMetaData() @@ -431,18 +469,28 @@ void Manager::downloadAvailableDefinitionsListFinished() void Manager::downloadDefinitions(const QList &urls, const QString &savePath) { - m_downloaders.clear(); - foreach (const QUrl &url, urls) - m_downloaders.append(new DefinitionDownloader(url, savePath)); + m_multiDownloader = new MultiDefinitionDownloader(savePath, m_register.m_idByName.keys()); + connect(m_multiDownloader, SIGNAL(finished()), this, SLOT(downloadDefinitionsFinished())); + m_multiDownloader->downloadDefinitions(urls); +} + +void MultiDefinitionDownloader::downloadDefinitions(const QList &urls) +{ + m_downloaders.clear(); + foreach (const QUrl &url, urls) { + DefinitionDownloader *downloader = new DefinitionDownloader(url, m_downloadPath); + connect(downloader, SIGNAL(foundReferencedDefinition(QString)), + this, SLOT(downloadReferencedDefinition(QString))); + m_downloaders.append(downloader); + } - m_isDownloadingDefinitionsSpec = true; QFuture future = QtConcurrent::map(m_downloaders, DownloaderStarter()); m_downloadWatcher.setFuture(future); ProgressManager::addTask(future, tr("Downloading Highlighting Definitions"), "TextEditor.Task.Download"); } -void Manager::downloadDefinitionsFinished() +void MultiDefinitionDownloader::downloadDefinitionsFinished() { int errors = 0; bool writeError = false; @@ -467,12 +515,37 @@ void Manager::downloadDefinitionsFinished() QMessageBox::critical(0, tr("Download Error"), text); } - m_isDownloadingDefinitionsSpec = false; + QList urls; + foreach (const QString &definition, m_referencedDefinitions) { + if (DefinitionMetaDataPtr metaData = + Manager::instance()->availableDefinitionByName(definition)) { + urls << metaData->url; + } + } + m_referencedDefinitions.clear(); + if (urls.isEmpty()) + emit finished(); + else + downloadDefinitions(urls); +} + +void Manager::downloadDefinitionsFinished() +{ + delete m_multiDownloader; + m_multiDownloader = 0; +} + +void MultiDefinitionDownloader::downloadReferencedDefinition(const QString &name) +{ + if (m_installedDefinitions.contains(name)) + return; + m_referencedDefinitions.insert(name); + m_installedDefinitions.append(name); } bool Manager::isDownloadingDefinitions() const { - return m_isDownloadingDefinitionsSpec; + return m_multiDownloader != 0; } void Manager::clear() diff --git a/src/plugins/texteditor/generichighlighter/manager.h b/src/plugins/texteditor/generichighlighter/manager.h index 226e431475d..2b720977564 100644 --- a/src/plugins/texteditor/generichighlighter/manager.h +++ b/src/plugins/texteditor/generichighlighter/manager.h @@ -56,6 +56,7 @@ namespace Internal { class HighlightDefinition; class DefinitionDownloader; class ManagerProcessor; +class MultiDefinitionDownloader; // This is the generic highlighter manager. It is not thread-safe. @@ -69,16 +70,17 @@ public: QString definitionIdByName(const QString &name) const; QString definitionIdByMimeType(const QString &mimeType) const; QString definitionIdByAnyMimeType(const QStringList &mimeTypes) const; + DefinitionMetaDataPtr availableDefinitionByName(const QString &name) const; bool isBuildingDefinition(const QString &id) const; QSharedPointer definition(const QString &id); - QSharedPointer definitionMetaData(const QString &id) const; + DefinitionMetaDataPtr definitionMetaData(const QString &id) const; void downloadAvailableDefinitionsMetaData(); void downloadDefinitions(const QList &urls, const QString &savePath); bool isDownloadingDefinitions() const; - static QSharedPointer parseMetadata(const QFileInfo &fileInfo); + static DefinitionMetaDataPtr parseMetadata(const QFileInfo &fileInfo); public slots: void registerMimeTypes(); @@ -95,21 +97,19 @@ private: Manager(); void clear(); - int foo(); - bool m_isDownloadingDefinitionsSpec; - QList m_downloaders; - QFutureWatcher m_downloadWatcher; - QList parseAvailableDefinitionsList(QIODevice *device) const; + MultiDefinitionDownloader *m_multiDownloader; + QList parseAvailableDefinitionsList(QIODevice *device); QSet m_isBuildingDefinition; QHash > m_definitions; + QHash m_availableDefinitions; struct RegisterData { QHash m_idByName; QHash m_idByMimeType; - QHash > m_definitionsMetaData; + QHash m_definitionsMetaData; }; RegisterData m_register; bool m_hasQueuedRegistration; @@ -117,7 +117,7 @@ private: friend class ManagerProcessor; signals: - void definitionsMetaDataReady(const QList&); + void definitionsMetaDataReady(const QList&); void errorDownloadingDefinitionsMetaData(); }; diff --git a/src/plugins/texteditor/texteditoractionhandler.cpp b/src/plugins/texteditor/texteditoractionhandler.cpp index 5ea1d31e052..941b87ede0d 100644 --- a/src/plugins/texteditor/texteditoractionhandler.cpp +++ b/src/plugins/texteditor/texteditoractionhandler.cpp @@ -382,7 +382,7 @@ void TextEditorActionHandler::createActions() m_unfoldAllAction->setEnabled(m_optionalActions & UnCollapseAll); } -QAction *TextEditorActionHandler::registerAction(const Core::Id &id, +QAction *TextEditorActionHandler::registerAction(Core::Id id, const char *slot, bool scriptable, const QString &title, diff --git a/src/plugins/texteditor/texteditoractionhandler.h b/src/plugins/texteditor/texteditoractionhandler.h index 5359401811d..292eafe0686 100644 --- a/src/plugins/texteditor/texteditoractionhandler.h +++ b/src/plugins/texteditor/texteditoractionhandler.h @@ -72,7 +72,7 @@ protected: virtual BaseTextEditorWidget *resolveTextEditorWidget(Core::IEditor *editor) const; private: - QAction *registerAction(const Core::Id &id, + QAction *registerAction(Core::Id id, const char *slot, bool scriptable = false, const QString &title = QString(), diff --git a/src/plugins/todo/qmljstodoitemsscanner.cpp b/src/plugins/todo/qmljstodoitemsscanner.cpp index fd35fd51e60..08a10d03f47 100644 --- a/src/plugins/todo/qmljstodoitemsscanner.cpp +++ b/src/plugins/todo/qmljstodoitemsscanner.cpp @@ -47,7 +47,7 @@ bool QmlJsTodoItemsScanner::shouldProcessFile(const QString &fileName) { QmlJS::ModelManagerInterface *modelManager = QmlJS::ModelManagerInterface::instance(); foreach (const QmlJS::ModelManagerInterface::ProjectInfo &info, modelManager->projectInfos()) - if (info.project->files(ProjectExplorer::Project::ExcludeGeneratedFiles).contains(fileName)) + if (info.sourceFiles.contains(fileName)) return true; return false; diff --git a/src/plugins/vcsbase/submiteditorfile.cpp b/src/plugins/vcsbase/submiteditorfile.cpp index 4101023ba2d..4fc185e02bb 100644 --- a/src/plugins/vcsbase/submiteditorfile.cpp +++ b/src/plugins/vcsbase/submiteditorfile.cpp @@ -47,11 +47,11 @@ using namespace VcsBase::Internal; SubmitEditorFile::SubmitEditorFile(const VcsBaseSubmitEditorParameters *parameters, VcsBaseSubmitEditor *parent) : Core::IDocument(parent), - m_mimeType(QLatin1String(parameters->mimeType)), m_modified(false), m_editor(parent) { setId(parameters->id); + setMimeType(QLatin1String(parameters->mimeType)); setTemporary(true); } @@ -86,11 +86,6 @@ bool SubmitEditorFile::save(QString *errorString, const QString &fileName, bool return true; } -QString SubmitEditorFile::mimeType() const -{ - return m_mimeType; -} - Core::IDocument::ReloadBehavior SubmitEditorFile::reloadBehavior(ChangeTrigger state, ChangeType type) const { Q_UNUSED(state) diff --git a/src/plugins/vcsbase/submiteditorfile.h b/src/plugins/vcsbase/submiteditorfile.h index 11801030d25..7fd2f4e3d8f 100644 --- a/src/plugins/vcsbase/submiteditorfile.h +++ b/src/plugins/vcsbase/submiteditorfile.h @@ -51,7 +51,6 @@ public: QString suggestedFileName() const { return QString(); } bool isModified() const { return m_modified; } - QString mimeType() const; bool isSaveAsAllowed() const { return false; } bool save(QString *errorString, const QString &fileName, bool autoSave); ReloadBehavior reloadBehavior(ChangeTrigger state, ChangeType type) const; @@ -60,7 +59,6 @@ public: void setModified(bool modified = true); private: - const QString m_mimeType; bool m_modified; VcsBaseSubmitEditor *m_editor; }; diff --git a/src/plugins/winrt/winrtdeployconfiguration.cpp b/src/plugins/winrt/winrtdeployconfiguration.cpp index 8a76634f736..082b435d0ca 100644 --- a/src/plugins/winrt/winrtdeployconfiguration.cpp +++ b/src/plugins/winrt/winrtdeployconfiguration.cpp @@ -48,7 +48,7 @@ static const char appxDeployConfigurationC[] = "WinRTAppxDeployConfiguration"; static const char phoneDeployConfigurationC[] = "WinRTPhoneDeployConfiguration"; static const char emulatorDeployConfigurationC[] = "WinRTEmulatorDeployConfiguration"; -static QString msgDeployConfigurationDisplayName(const Core::Id &id) +static QString msgDeployConfigurationDisplayName(Core::Id id) { if (id == appxDeployConfigurationC) { return QCoreApplication::translate("WinRt::Internal::WinRtDeployConfiguration", @@ -70,7 +70,7 @@ WinRtDeployConfigurationFactory::WinRtDeployConfigurationFactory(QObject *parent { } -QString WinRtDeployConfigurationFactory::displayNameForId(const Core::Id id) const +QString WinRtDeployConfigurationFactory::displayNameForId(Core::Id id) const { return msgDeployConfigurationDisplayName(id); } @@ -96,12 +96,12 @@ QList WinRtDeployConfigurationFactory::availableCreationIds(Target *pa return QList(); } -bool WinRtDeployConfigurationFactory::canCreate(Target *parent, const Core::Id id) const +bool WinRtDeployConfigurationFactory::canCreate(Target *parent, Core::Id id) const { return availableCreationIds(parent).contains(id); } -DeployConfiguration *WinRtDeployConfigurationFactory::create(Target *parent, const Core::Id id) +DeployConfiguration *WinRtDeployConfigurationFactory::create(Target *parent, Core::Id id) { if (id == appxDeployConfigurationC || id == phoneDeployConfigurationC @@ -155,7 +155,7 @@ QList WinRtDeployStepFactory::availableCreationIds(BuildStepList *pare return ids; } -QString WinRtDeployStepFactory::displayNameForId(const Core::Id id) const +QString WinRtDeployStepFactory::displayNameForId(Core::Id id) const { if (id == Constants::WINRT_BUILD_STEP_DEPLOY) { return QCoreApplication::translate("WinRt::Internal::WinRtDeployStepFactory", @@ -164,12 +164,12 @@ QString WinRtDeployStepFactory::displayNameForId(const Core::Id id) const return QString(); } -bool WinRtDeployStepFactory::canCreate(BuildStepList *parent, const Core::Id id) const +bool WinRtDeployStepFactory::canCreate(BuildStepList *parent, Core::Id id) const { return availableCreationIds(parent).contains(id); } -BuildStep *WinRtDeployStepFactory::create(BuildStepList *parent, const Core::Id id) +BuildStep *WinRtDeployStepFactory::create(BuildStepList *parent, Core::Id id) { if (id == Constants::WINRT_BUILD_STEP_DEPLOY) return new WinRtPackageDeploymentStep(parent); diff --git a/src/plugins/winrt/winrtdeployconfiguration.h b/src/plugins/winrt/winrtdeployconfiguration.h index fbc6d19cb46..4bb1ec34a21 100644 --- a/src/plugins/winrt/winrtdeployconfiguration.h +++ b/src/plugins/winrt/winrtdeployconfiguration.h @@ -40,10 +40,10 @@ class WinRtDeployConfigurationFactory : public ProjectExplorer::DeployConfigurat { public: explicit WinRtDeployConfigurationFactory(QObject *parent = 0); - QString displayNameForId(const Core::Id id) const; + QString displayNameForId(Core::Id id) const; QList availableCreationIds(ProjectExplorer::Target *parent) const; - bool canCreate(ProjectExplorer::Target *parent, const Core::Id id) const; - ProjectExplorer::DeployConfiguration *create(ProjectExplorer::Target *parent, const Core::Id id); + bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const; + ProjectExplorer::DeployConfiguration *create(ProjectExplorer::Target *parent, Core::Id id); bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const; ProjectExplorer::DeployConfiguration *restore(ProjectExplorer::Target *parent, const QVariantMap &map); bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::DeployConfiguration *source) const; @@ -55,9 +55,9 @@ class WinRtDeployStepFactory : public ProjectExplorer::IBuildStepFactory { public: QList availableCreationIds(ProjectExplorer::BuildStepList *parent) const; - QString displayNameForId(const Core::Id id) const; - bool canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const; - ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, const Core::Id id); + QString displayNameForId(Core::Id id) const; + bool canCreate(ProjectExplorer::BuildStepList *parent, Core::Id id) const; + ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, Core::Id id); bool canRestore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map) const; ProjectExplorer::BuildStep *restore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map); bool canClone(ProjectExplorer::BuildStepList *parent, ProjectExplorer::BuildStep *source) const; diff --git a/src/plugins/winrt/winrtrunconfiguration.cpp b/src/plugins/winrt/winrtrunconfiguration.cpp index 5feaaa41330..2fb121ecc7e 100644 --- a/src/plugins/winrt/winrtrunconfiguration.cpp +++ b/src/plugins/winrt/winrtrunconfiguration.cpp @@ -40,7 +40,7 @@ namespace Internal { static const char argumentsIdC[] = "WinRtRunConfigurationArgumentsId"; static const char uninstallAfterStopIdC[] = "WinRtRunConfigurationUninstallAfterStopId"; -WinRtRunConfiguration::WinRtRunConfiguration(ProjectExplorer::Target *parent, const Core::Id &id) +WinRtRunConfiguration::WinRtRunConfiguration(ProjectExplorer::Target *parent, Core::Id id) : RunConfiguration(parent, id) , m_uninstallAfterStop(false) { diff --git a/src/plugins/winrt/winrtrunconfiguration.h b/src/plugins/winrt/winrtrunconfiguration.h index ce18f5ce297..af2e1850d55 100644 --- a/src/plugins/winrt/winrtrunconfiguration.h +++ b/src/plugins/winrt/winrtrunconfiguration.h @@ -40,7 +40,7 @@ class WinRtRunConfiguration : public ProjectExplorer::RunConfiguration Q_OBJECT public: - explicit WinRtRunConfiguration(ProjectExplorer::Target *parent, const Core::Id &id); + explicit WinRtRunConfiguration(ProjectExplorer::Target *parent, Core::Id id); QWidget *createConfigurationWidget(); bool isEnabled() const { return true; } // Always enabled like DLL run control diff --git a/src/plugins/winrt/winrtrunfactories.cpp b/src/plugins/winrt/winrtrunfactories.cpp index 7f1a33a9f58..c49f41b0b3a 100644 --- a/src/plugins/winrt/winrtrunfactories.cpp +++ b/src/plugins/winrt/winrtrunfactories.cpp @@ -81,18 +81,18 @@ QList WinRtRunConfigurationFactory::availableCreationIds(Target *paren return result; } -QString WinRtRunConfigurationFactory::displayNameForId(const Core::Id id) const +QString WinRtRunConfigurationFactory::displayNameForId(Core::Id id) const { Q_UNUSED(id); return tr("Run App Package"); } -bool WinRtRunConfigurationFactory::canCreate(Target *parent, const Core::Id id) const +bool WinRtRunConfigurationFactory::canCreate(Target *parent, Core::Id id) const { return id == winrtConfigurationIdC && isKitCompatible(parent->kit()); } -RunConfiguration *WinRtRunConfigurationFactory::doCreate(Target *parent, const Core::Id id) +RunConfiguration *WinRtRunConfigurationFactory::doCreate(Target *parent, Core::Id id) { return new WinRtRunConfiguration(parent, id); } diff --git a/src/plugins/winrt/winrtrunfactories.h b/src/plugins/winrt/winrtrunfactories.h index 4e4fbafa2c6..2df07f6e7f1 100644 --- a/src/plugins/winrt/winrtrunfactories.h +++ b/src/plugins/winrt/winrtrunfactories.h @@ -44,15 +44,15 @@ public: WinRtRunConfigurationFactory(); QList availableCreationIds(ProjectExplorer::Target *parent, CreationMode mode) const; - QString displayNameForId(const Core::Id id) const; - bool canCreate(ProjectExplorer::Target *parent, const Core::Id id) const; + QString displayNameForId(Core::Id id) const; + bool canCreate(ProjectExplorer::Target *parent, Core::Id id) const; bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const; bool canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *product) const; ProjectExplorer::RunConfiguration *clone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *product); private: - virtual ProjectExplorer::RunConfiguration *doCreate(ProjectExplorer::Target *parent, const Core::Id id); + virtual ProjectExplorer::RunConfiguration *doCreate(ProjectExplorer::Target *parent, Core::Id id); virtual ProjectExplorer::RunConfiguration *doRestore(ProjectExplorer::Target *parent, const QVariantMap &map); }; diff --git a/src/tools/3rdparty/iossim/iphonesimulator.mm b/src/tools/3rdparty/iossim/iphonesimulator.mm index 17fa45d4193..ccb46614478 100644 --- a/src/tools/3rdparty/iossim/iphonesimulator.mm +++ b/src/tools/3rdparty/iossim/iphonesimulator.mm @@ -139,33 +139,33 @@ NSString* FindDeveloperDir() { return output; } - (void) printUsage { - fprintf(stdout, "Usage: ios-sim [--args ...]\n"); + fprintf(stdout, "Usage: ios-sim <command> <options> [--args ...]\n"); fprintf(stdout, "\n"); fprintf(stdout, "Commands:\n"); fprintf(stdout, " showsdks List the available iOS SDK versions\n"); - fprintf(stdout, " launch Launch the application at the specified path on the iOS Simulator\n"); + fprintf(stdout, " launch <application path> Launch the application at the specified path on the iOS Simulator\n"); fprintf(stdout, " start Launch iOS Simulator without an app\n"); fprintf(stdout, "\n"); fprintf(stdout, "Options:\n"); fprintf(stdout, " --version Print the version of ios-sim\n"); - fprintf(stdout, " --developer-path path to the developer directory (in Xcode)"); + fprintf(stdout, " --developer-path <developerDir> path to the developer directory (in Xcode)"); fprintf(stdout, " --help Show this help text\n"); fprintf(stdout, " --verbose Set the output level to verbose\n"); fprintf(stdout, " --exit Exit after startup\n"); fprintf(stdout, " --wait-for-debugger Wait for debugger to attach\n"); fprintf(stdout, " --debug Attach LLDB to the application on startup\n"); fprintf(stdout, " --use-gdb Use GDB instead of LLDB. (Requires --debug)\n"); - fprintf(stdout, " --sdk The iOS SDK version to run the application on (defaults to the latest)\n"); - fprintf(stdout, " --family The device type that should be simulated (defaults to `iphone')\n"); + fprintf(stdout, " --sdk <sdkversion> The iOS SDK version to run the application on (defaults to the latest)\n"); + fprintf(stdout, " --family <device family> The device type that should be simulated (defaults to `iphone')\n"); fprintf(stdout, " --retina Start a retina device\n"); fprintf(stdout, " --tall In combination with --retina flag, start the tall version of the retina device (e.g. iPhone 5 (4-inch))\n"); - fprintf(stdout, " --uuid A UUID identifying the session (is that correct?)\n"); - fprintf(stdout, " --env A plist file containing environment key-value pairs that should be set\n"); + fprintf(stdout, " --uuid <uuid> A UUID identifying the session (is that correct?)\n"); + fprintf(stdout, " --env <environment file path> A plist file containing environment key-value pairs that should be set\n"); fprintf(stdout, " --setenv NAME=VALUE Set an environment variable\n"); - fprintf(stdout, " --stdout The path where stdout of the simulator will be redirected to (defaults to stdout of ios-sim)\n"); - fprintf(stdout, " --stderr The path where stderr of the simulator will be redirected to (defaults to stderr of ios-sim)\n"); - fprintf(stdout, " --timeout The timeout time to wait for a response from the Simulator. Default value: 30 seconds\n"); - fprintf(stdout, " --args <...> All following arguments will be passed on to the application\n"); + fprintf(stdout, " --stdout <stdout file path> The path where stdout of the simulator will be redirected to (defaults to stdout of ios-sim)\n"); + fprintf(stdout, " --stderr <stderr file path> The path where stderr of the simulator will be redirected to (defaults to stderr of ios-sim)\n"); + fprintf(stdout, " --timeout <seconds> The timeout time to wait for a response from the Simulator. Default value: 30 seconds\n"); + fprintf(stdout, " --args <...> All following arguments will be passed on to the application\n"); fflush(stdout); } @@ -190,7 +190,7 @@ NSString* FindDeveloperDir() { - (void)session:(DTiPhoneSimulatorSession *)session didEndWithError:(NSError *)error { if (verbose) { - nsprintf(@"Session did end with error %@", error); + msgprintf(@"Session did end with error %@", error); } if (stderrFileHandle != nil) { @@ -215,7 +215,7 @@ NSString* FindDeveloperDir() { if (startOnly && session) { [NSTask launchedTaskWithLaunchPath:@"/usr/bin/osascript" arguments:[NSArray arrayWithObjects:@"-e", @"tell application \"iPhone Simulator\" to activate", nil]]; - nsprintf(@"Simulator started (no session)"); + msgprintf(@"Simulator started (no session)"); [self doExit:EXIT_SUCCESS]; return; } @@ -238,13 +238,13 @@ NSString* FindDeveloperDir() { if (child_pid == 0) { execvp(args[0], args); } else if (child_pid < 0) { - nsprintf(@"Could not start debugger process: %@", errno); + msgprintf(@"Could not start debugger process: %d", errno); [self doExit:EXIT_FAILURE]; return; } } if (verbose) { - nsprintf(@"Session started"); + msgprintf(@"Session started"); } nsprintf(@"%d", pid); fflush(stdout); @@ -253,7 +253,7 @@ NSString* FindDeveloperDir() { return; } } else { - nsprintf(@"Session could not be started: %@", error); + msgprintf(@"Session could not be started: %@", [error localizedDescription]); [self doExit:EXIT_FAILURE]; } } @@ -275,9 +275,9 @@ NSString* FindDeveloperDir() { } } if ([notification object] == stdoutFileHandle) { - printf("%s\n", [str UTF8String]); + printf("%s\n", [escapeString(str) UTF8String]); } else { - nsprintf(@"%@", str); // handle stderr differently? + nsprintf(@"%@", escapeString(str)); // handle stderr differently? } fflush(stdout); } @@ -286,11 +286,11 @@ NSString* FindDeveloperDir() { - (void)createStdioFIFO:(NSFileHandle **)fileHandle ofType:(NSString *)type atPath:(NSString **)path { *path = [NSString stringWithFormat:@"%@/ios-sim-%@-pipe-%d", NSTemporaryDirectory(), type, (int)time(NULL)]; if (mkfifo([*path UTF8String], S_IRUSR | S_IWUSR) == -1) { - nsprintf(@"Unable to create %@ named pipe `%@'", type, *path); + msgprintf(@"Unable to create %@ named pipe `%@'", type, *path); [self doExit:EXIT_FAILURE]; } else { if (verbose) { - nsprintf(@"Creating named pipe at `%@'", *path); + msgprintf(@"Creating named pipe at `%@'", *path); } int fd = open([*path UTF8String], O_RDONLY | O_NDELAY); *fileHandle = [[[NSFileHandle alloc] initWithFileDescriptor:fd] retain]; @@ -305,12 +305,12 @@ NSString* FindDeveloperDir() { - (void)removeStdioFIFO:(NSFileHandle *)fileHandle atPath:(NSString *)path { if (verbose) { - nsprintf(@"Removing named pipe at `%@'", path); + msgprintf(@"Removing named pipe at `%@'", path); } [fileHandle closeFile]; [fileHandle release]; if (![[NSFileManager defaultManager] removeItemAtPath:path error:NULL]) { - nsprintf(@"Unable to remove named pipe `%@'", path); + msgprintf(@"Unable to remove named pipe `%@'", path); } } @@ -329,7 +329,7 @@ NSString* FindDeveloperDir() { NSFileManager *fileManager = [[[NSFileManager alloc] init] autorelease]; if (!startOnly && ![fileManager fileExistsAtPath:path]) { - nsprintf(@"Application path %@ doesn't exist!", path); + msgprintf(@"Application path %@ doesn't exist!", path); return EXIT_FAILURE; } @@ -337,11 +337,11 @@ NSString* FindDeveloperDir() { appSpec = startOnly ? nil : [[self FindClassByName:@"DTiPhoneSimulatorApplicationSpecifier"] specifierWithApplicationPath:path]; if (verbose) { - nsprintf(@"App Spec: %@", appSpec); - nsprintf(@"SDK Root: %@", sdkRoot); + msgprintf(@"App Spec: %@", appSpec); + msgprintf(@"SDK Root: %@", sdkRoot); for (id key in environment) { - nsprintf(@"Env: %@ = %@", key, [environment objectForKey:key]); + msgprintf(@"Env: %@ = %@", key, [environment objectForKey:key]); } } @@ -413,7 +413,7 @@ NSString* FindDeveloperDir() { } if (![session requestStartWithConfig:config timeout:timeout error:&error]) { - nsprintf(@"Could not start simulator session: %@", error); + msgprintf(@"Could not start simulator session: %@", error); return EXIT_FAILURE; } @@ -424,7 +424,7 @@ NSString* FindDeveloperDir() { NSString *devicePropertyValue; if (retina) { if (verbose) { - nsprintf(@"using retina"); + msgprintf(@"using retina"); } if ([family isEqualToString:@"ipad"]) { devicePropertyValue = deviceIpadRetina; @@ -496,7 +496,7 @@ NSString* FindDeveloperDir() { exit([self showSDKs]); } else if (strcmp(argv[1], "launch") == 0 || startOnly) { if (strcmp(argv[1], "launch") == 0 && argc < 3) { - nsprintf(@"Missing application path argument"); + msgprintf(@"Missing application path argument"); [self printUsage]; exit(EXIT_FAILURE); } @@ -560,7 +560,7 @@ NSString* FindDeveloperDir() { } } if (sdkRoot == nil) { - fprintf(stdout,"Unknown or unsupported SDK version: %s\n",argv[i]); + msgprintf(@"Unknown or unsupported SDK version: %s\n",argv[i]); [self showSDKs]; exit(EXIT_FAILURE); } @@ -579,7 +579,7 @@ NSString* FindDeveloperDir() { NSString *envFilePath = [[NSString stringWithUTF8String:argv[i]] expandPath]; [environment setValuesForKeysWithDictionary:[NSDictionary dictionaryWithContentsOfFile:envFilePath]]; if (!environment) { - fprintf(stdout, "Could not read environment from file: %s\n", argv[i]); + msgprintf(@"Could not read environment from file: %s", argv[i]); [self printUsage]; exit(EXIT_FAILURE); } @@ -603,7 +603,7 @@ NSString* FindDeveloperDir() { i++; break; } else { - fprintf(stdout, "unrecognized argument:%s\n", argv[i]); + msgprintf(@"unrecognized argument:%s", argv[i]); [self printUsage]; [self doExit:EXIT_FAILURE]; return; diff --git a/src/tools/3rdparty/iossim/nsprintf.h b/src/tools/3rdparty/iossim/nsprintf.h index cee7c00d289..0f108a57d57 100644 --- a/src/tools/3rdparty/iossim/nsprintf.h +++ b/src/tools/3rdparty/iossim/nsprintf.h @@ -4,3 +4,6 @@ int nsvfprintf (FILE *stream, NSString *format, va_list args); int nsfprintf (FILE *stream, NSString *format, ...); int nsprintf (NSString *format, ...); +int msgvfprintf (FILE *stream, NSString *format, va_list args); +int msgprintf (NSString *format, ...); +NSString *escapeString(NSString *origString); diff --git a/src/tools/3rdparty/iossim/nsprintf.mm b/src/tools/3rdparty/iossim/nsprintf.mm index 95c12c785fd..b497d0bb72b 100644 --- a/src/tools/3rdparty/iossim/nsprintf.mm +++ b/src/tools/3rdparty/iossim/nsprintf.mm @@ -42,3 +42,34 @@ int nsprintf (NSString *format, ...) { return retval; } + +NSString *escapeString(NSString *origString) +{ + return [[[[origString stringByReplacingOccurrencesOfString: @"&" withString: @"&"] + stringByReplacingOccurrencesOfString: @"\"" withString: @"""] + stringByReplacingOccurrencesOfString: @">" withString: @">"] + stringByReplacingOccurrencesOfString: @"<" withString: @"<"]; +} + +int msgvfprintf (FILE *stream, NSString *format, va_list args) { + int retval; + + NSString *str = (NSString *) CFStringCreateWithFormatAndArguments(NULL, NULL, (CFStringRef) format, args); + retval = fprintf(stream, "%s\n", [escapeString(str) UTF8String]); + [str release]; + + return retval; +} + +int msgprintf(NSString *format, ...) { + va_list ap; + int retval; + + va_start(ap, format); + { + retval = msgvfprintf(stdout, format, ap); + } + va_end(ap); + + return retval; +} diff --git a/src/tools/makespy/main.cpp b/src/tools/makespy/main.cpp deleted file mode 100644 index 174372dc74e..00000000000 --- a/src/tools/makespy/main.cpp +++ /dev/null @@ -1,206 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -****************************************************************************/ - -#include -#include -#include -#include -#include -#include -#include - -class Process : public QProcess -{ - Q_OBJECT -public: - Process(); - - QString output() const { return m_output; } - QString error() const { return m_error; } - -private slots: - void standardErrorReady(); - void standardOutputReady(); - -private: - QString m_output; - QString m_error; -}; - -Process::Process() -{ - connect(this, SIGNAL(readyReadStandardError()), - this, SLOT(standardErrorReady())); - connect(this, SIGNAL(readyReadStandardOutput()), - this, SLOT(standardOutputReady())); -} - -void Process::standardErrorReady() -{ - m_error += readAllStandardError(); -} - -void Process::standardOutputReady() -{ - m_output += readAllStandardOutput(); -} - - -class MakeProcess : public Process -{ -public: - void handleOutput(); - -private: - void handleMakeLine(const QString &line); - void handleGccLine(const QString &line); - - QStringList m_dirStack; - - QVector m_options; - QStringList m_sourceFiles; - QStringList m_headerFiles; -}; - -void MakeProcess::handleOutput() -{ - QStringList lines = output().split('\n'); - m_dirStack.clear(); - m_dirStack.append(workingDirectory()); - foreach (const QString &line, lines) { - qDebug() << "LINE : " << line; - if (line.startsWith("make[")) - handleMakeLine(line); - else if (line.startsWith("gcc") || line.startsWith("g++")) - handleGccLine(line); - else - qDebug() << "IGNORE: " << line; - } -} - -void MakeProcess::handleMakeLine(const QString &line) -{ - int pos1 = line.indexOf('`'); - int pos2 = line.indexOf('\''); - if (pos1 >= 0 && pos2 >= 0) { - QString dir = line.mid(pos1 + 1, pos2 - pos1 - 1); - qDebug() << "MAKE" << pos1 << pos2 << dir; - if (line.contains(": Entering directory")) { - qDebug() << "ENTER: " << dir; - m_dirStack.append(dir); - } else if (line.contains(": Leaving directory")) { - qDebug() << "LEAVE: " << dir; - Q_ASSERT(m_dirStack.last() == dir); - (void) m_dirStack.takeLast(); - } - } -} - -QStringList parseLine(const QString &line) -{ - QStringList result; - QString word; - bool quoted = false; - bool escaped = false; - for (int i = 0; i != line.size(); ++i) { - char c = line.at(i).unicode(); - if (c == '\'') { - escaped = true; - continue; - } - if (c == '\"' && !escaped) { - quoted = !quoted; - } else if (c == ' ' && !quoted) { - if (!word.isEmpty()) - result.append(word); - word.clear(); - } else { - word += c; - } - } - if (!word.isEmpty()) - result.append(word); - return result; -} - -void MakeProcess::handleGccLine(const QString &line) -{ - QStringList args = parseLine(line); - qDebug() << "GCC: " << args; -} - -int main(int argc, char *argv[]) -{ - QApplication app(argc, argv); - QStringList args = app.arguments(); - QString buildName = ".makespybuild/gdb"; - //args << " - - QDir oldDir = QDir::current(); - QDir buildDir("/home/apoenitz/gdb/archer"); - buildDir.mkdir(buildName); - buildDir.cd(buildName); - QDir::setCurrent(buildDir.absolutePath()); - -/* - Process configure; - configure.setWorkingDirectory(buildDir.absolutePath()); - configure.start("../configure", QStringList()); - configure.waitForFinished(); - qDebug() << configure.errorString(); - qDebug() << configure.error(); - qDebug() << configure.output(); -*/ - MakeProcess make; - make.setWorkingDirectory(buildDir.absolutePath()); - make.start("make", QStringList()); - make.waitForFinished(); - make.handleOutput(); - qDebug() << make.errorString(); - qDebug() << make.error(); - qDebug() << make.output(); - - Process clean; - clean.setWorkingDirectory(buildDir.absolutePath()); - clean.start("make", QStringList() << "clean"); - clean.waitForFinished(); - qDebug() << clean.errorString(); - qDebug() << clean.error(); - qDebug() << clean.output(); - - QTextEdit edit; - edit.setText(make.error() + make.output()); - edit.resize(800, 600); - edit.show(); - - return app.exec(); - return 0; -} - -#include "main.moc" diff --git a/src/tools/makespy/makespy.pro b/src/tools/makespy/makespy.pro deleted file mode 100644 index ac7d7ea51ff..00000000000 --- a/src/tools/makespy/makespy.pro +++ /dev/null @@ -1,6 +0,0 @@ -TARGET = MakeSpy -CONFIG += console -CONFIG -= app_bundle -TEMPLATE = app -SOURCES += main.cpp -HEADERS += diff --git a/tests/system/shared/utils.py b/tests/system/shared/utils.py index b1076c2d1a4..c3177280a38 100644 --- a/tests/system/shared/utils.py +++ b/tests/system/shared/utils.py @@ -663,7 +663,7 @@ def getChildByClass(parent, classToSearchFor, occurrence=1): def getHelpViewer(): try: - return waitForObject(":Qt Creator_Help::Internal::HelpViewer", 1000) + return waitForObject(":Qt Creator_Help::Internal::HelpViewer", 3000) except: return waitForObject("{type='Help::Internal::TextBrowserHelpWidget' unnamed='1' " "visible='1' window=':Qt Creator_Core::Internal::MainWindow'}", 1000) diff --git a/tests/system/suite_QMLS/tst_QMLS03/test.py b/tests/system/suite_QMLS/tst_QMLS03/test.py index 65fb9c6eded..bec51c5100d 100644 --- a/tests/system/suite_QMLS/tst_QMLS03/test.py +++ b/tests/system/suite_QMLS/tst_QMLS03/test.py @@ -36,7 +36,7 @@ class ExpectedResult: self.lineContent = lineContent # check if usage in code (expectedText) is found in resultsView -def checkUsages(resultsView, expectedResults): +def checkUsages(resultsView, expectedResults, directory): # wait for results resultsModel = resultsView.model() waitFor("resultsModel.rowCount() > 0", 5000) @@ -45,7 +45,11 @@ def checkUsages(resultsView, expectedResults): # enum Roles { ResultItemRole = Qt::UserRole, ResultLineRole, ResultLineNumberRole, ResultIconRole, # SearchTermStartRole, SearchTermLengthRole, IsGeneratedRole }; # get only filename not full path - resultFile = str(index.data(Qt.UserRole + 1).toString()).replace("\\", "/").split('/')[-1] + fullPath = str(index.data(Qt.UserRole + 1).toString()) + if not fullPath.startswith(directory): + test.warning("Skipping '%s' due to known issue (QTCREATORBUG-11984)" % fullPath) + continue + resultFile = fullPath.replace("\\", "/").split('/')[-1] for chIndex in dumpIndices(resultsModel, index): resultLine = str(chIndex.data(Qt.UserRole + 1).toString()).strip() resultLineNumber = chIndex.data(Qt.UserRole + 2).toInt() @@ -97,7 +101,8 @@ def main(): ExpectedResult("property-animation.qml", 48, "Rectangle {"), ExpectedResult("property-animation.qml", 57, "Rectangle {")] resultsView = waitForObject(":Qt Creator_Find::Internal::SearchResultTreeView") - test.verify(checkUsages(resultsView, expectedResults), "Verifying if usages were properly found using context menu.") + test.verify(checkUsages(resultsView, expectedResults, templateDir), + "Verifying if usages were properly found using context menu.") # clear previous results & prepare for next search clickButton(waitForObject(":*Qt Creator.Clear_QToolButton")) mouseClick(editorArea, 5, 5, 0, Qt.LeftButton) @@ -115,7 +120,8 @@ def main(): ExpectedResult("property-animation.qml", 49, "anchors { left: parent.left; top: parent.top; right: parent.right; bottom: parent.verticalCenter }"), ExpectedResult("property-animation.qml", 58, "anchors { left: parent.left; top: parent.verticalCenter; right: parent.right; bottom: parent.bottom }")] resultsView = waitForObject(":Qt Creator_Find::Internal::SearchResultTreeView") - test.verify(checkUsages(resultsView, expectedResults), "Verifying if usages were properly found using main menu.") + test.verify(checkUsages(resultsView, expectedResults, templateDir), + "Verifying if usages were properly found using main menu.") # clear previous results & prepare for next search clickButton(waitForObject(":*Qt Creator.Clear_QToolButton")) mouseClick(editorArea, 5, 5, 0, Qt.LeftButton) @@ -130,7 +136,8 @@ def main(): # check if usage was properly found expectedResults = [ExpectedResult("color-animation.qml", 87, "SequentialAnimation on opacity {")] resultsView = waitForObject(":Qt Creator_Find::Internal::SearchResultTreeView") - test.verify(checkUsages(resultsView, expectedResults), "Verifying if usages were properly found using shortcut.") + test.verify(checkUsages(resultsView, expectedResults, templateDir), + "Verifying if usages were properly found using shortcut.") #save and exit invokeMenuItem("File", "Exit") diff --git a/tests/system/suite_general/tst_create_proj_wizard/test.py b/tests/system/suite_general/tst_create_proj_wizard/test.py index 73e70c5a4d1..f91efb6870c 100644 --- a/tests/system/suite_general/tst_create_proj_wizard/test.py +++ b/tests/system/suite_general/tst_create_proj_wizard/test.py @@ -77,7 +77,7 @@ def main(): __modifyAvailableTargets__(displayedPlatforms, requiredQtVersion, True) verifyKitCheckboxes(kits, displayedPlatforms) # FIXME: if QTBUG-35203 is fixed replace by triggering the shortcut for Back - clickButton(waitForObject("{type='QPushButton' text='Cancel'}")) + clickButton(waitForObject("{type='QPushButton' text='Cancel' visible='1'}")) # are there more Quick combinations - then recreate this project if counter < len(quickCombinations) - 1: displayedPlatforms = __createProject__(category, template) @@ -88,7 +88,7 @@ def main(): except LookupError: pass verifyKitCheckboxes(kits, displayedPlatforms) - clickButton(waitForObject("{type='QPushButton' text='Cancel'}")) + clickButton(waitForObject("{type='QPushButton' text='Cancel' visible='1'}")) invokeMenuItem("File", "Exit") def verifyKitCheckboxes(kits, displayedPlatforms): diff --git a/tests/system/suite_tools/tst_codepasting/test.py b/tests/system/suite_tools/tst_codepasting/test.py index 6a869e4f036..6a00a50e917 100644 --- a/tests/system/suite_tools/tst_codepasting/test.py +++ b/tests/system/suite_tools/tst_codepasting/test.py @@ -40,7 +40,7 @@ def main(): startApplication("qtcreator" + SettingsPath) if not startedWithoutPluginError(): return - protocolsToTest = ["Paste.KDE.Org", "Pastebin.Ca"] + protocolsToTest = ["Paste.KDE.Org"]#, "Pastebin.Ca"] # Be careful with Pastebin.Com, there are only 10 pastes per 24h # for all machines using the same IP-address like you. # protocolsToTest += ["Pastebin.Com"]