diff options
author | Friedemann Kleint <[email protected]> | 2008-12-03 15:06:43 +0100 |
---|---|---|
committer | Friedemann Kleint <[email protected]> | 2008-12-03 15:06:43 +0100 |
commit | d8bc36eb612cd4851e9cbee7ece138af888362be (patch) | |
tree | aa5aae77cbe774ba8caf24a4e12d7169dab90e28 /src/plugins | |
parent | 0b99d82d4e8dacb9391508e4123c58c409809f7b (diff) | |
parent | a22ffb1cb4c449fd5f00909395b388897e8e1b9b (diff) |
Merge branch '0.9.1-beta' of [email protected]:creator/mainline into 0.9.1-beta
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/coreplugin/editormanager/editormanager.cpp | 28 | ||||
-rw-r--r-- | src/plugins/debugger/gdbengine.cpp | 17 | ||||
-rw-r--r-- | src/plugins/projectexplorer/projectexplorer.cpp | 33 | ||||
-rw-r--r-- | src/plugins/projectexplorer/projectexplorer.h | 1 | ||||
-rw-r--r-- | src/plugins/projectexplorer/session.cpp | 1 |
5 files changed, 26 insertions, 54 deletions
diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index ddfe984a8d2..29798b25c01 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -74,20 +74,6 @@ using namespace Core::Internal; enum { debugEditorManager=0 }; -QString EditorManager::defaultExternalEditor() const -{ -#ifdef Q_OS_MAC - return m_d->m_core->resourcePath() - +QLatin1String("/runInTerminal.command vi %f %l %c %W %H %x %y"); -#elif defined(Q_OS_UNIX) - return QLatin1String("xterm -geom %Wx%H+%x+%y -e vi %f +%l +\"normal %c|\""); -#elif defined (Q_OS_WIN) - return QLatin1String("notepad %f"); -#else - return QString(); -#endif -} - //===================EditorManager===================== EditorManagerPlaceHolder *EditorManagerPlaceHolder::m_current = 0; @@ -388,6 +374,20 @@ QSize EditorManager::minimumSizeHint() const return QSize(400, 300); } +QString EditorManager::defaultExternalEditor() const +{ +#ifdef Q_OS_MAC + return m_d->m_core->resourcePath() + +QLatin1String("/runInTerminal.command vi %f %l %c %W %H %x %y"); +#elif defined(Q_OS_UNIX) + return QLatin1String("xterm -geom %Wx%H+%x+%y -e vi %f +%l +\"normal %c|\""); +#elif defined (Q_OS_WIN) + return QLatin1String("notepad %f"); +#else + return QString(); +#endif +} + EditorSplitter *EditorManager::editorSplitter() const { return m_d->m_splitter; diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp index df0eaa9f0b2..e8f22f4944a 100644 --- a/src/plugins/debugger/gdbengine.cpp +++ b/src/plugins/debugger/gdbengine.cpp @@ -444,7 +444,7 @@ void GdbEngine::handleResponse() break; } - if (token == -1 && *from != '&' && *from != '~') { + if (token == -1 && *from != '&' && *from != '~' && *from != '*') { // FIXME: On Linux the application's std::out is merged in here. // High risk of falsely interpreting this as MI output. // We assume that we _always_ use tokens, so not finding a token @@ -493,8 +493,10 @@ void GdbEngine::handleResponse() m_inbuffer = QByteArray(from, to - from); if (asyncClass == "stopped") { handleAsyncOutput(record); + } else if (asyncClass == "running") { + // Archer has 'thread-id="all"' here } else { - qDebug() << "INGNORED ASYNC OUTPUT " << record.toString(); + qDebug() << "IGNORED ASYNC OUTPUT " << record.toString(); } break; } @@ -773,11 +775,6 @@ void GdbEngine::handleResultRecord(const GdbResultRecord &record) if (token == -1) return; - if (!m_cookieForToken.contains(token)) { - qDebug() << "NO SUCH TOKEN (ANYMORE): " << token; - return; - } - GdbCookie cmd = m_cookieForToken.take(token); // FIXME: this falsely rejects results from the custom dumper recognition @@ -788,12 +785,6 @@ void GdbEngine::handleResultRecord(const GdbResultRecord &record) return; } - // We get _two_ results for a '-exec-foo' command: First a - // 'running' notification, then a 'stopped' or similar. - // So put it back. - if (record.resultClass == GdbResultRunning) - m_cookieForToken[token] = cmd; - #if 0 qDebug() << "# handleOutput, " << "cmd type: " << cmd.type diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 9e41e3703f6..b95d5c19463 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -686,28 +686,19 @@ void ProjectExplorerPlugin::loadAction() updateActions(); } -bool ProjectExplorerPlugin::saveAction(Project *pro) +void ProjectExplorerPlugin::unloadProject() { if (debug) - qDebug() << "ProjectExplorerPlugin::saveAction"; - - if (!pro) - pro = m_currentProject; - Q_ASSERT(pro); - - Core::IFile *fi = pro->file(); + qDebug() << "ProjectExplorerPlugin::unloadProject"; - if (!fi) // TODO Why saving the session here???? - fi = m_session->file(); + Core::IFile *fi = m_currentProject->file(); if (!fi || fi->fileName().isEmpty()) //nothing to save? - return false; + return; QList<Core::IFile*> filesToSave; - filesToSave << fi; - if (pro) - filesToSave << pro->dependencies(); + filesToSave << m_currentProject->dependencies(); // check the number of modified files int readonlycount = 0; @@ -722,20 +713,10 @@ bool ProjectExplorerPlugin::saveAction(Project *pro) else success = m_core->fileManager()->saveModifiedFilesSilently(filesToSave).isEmpty(); - if (success) - addToRecentProjects(fi->fileName()); - updateActions(); - return success; -} - -void ProjectExplorerPlugin::unloadProject() -{ - if (debug) - qDebug() << "ProjectExplorerPlugin::unloadProject"; - - if (!saveAction(m_currentProject)) + if (!success) return; + addToRecentProjects(fi->fileName()); m_session->removeProject(m_currentProject); updateActions(); } diff --git a/src/plugins/projectexplorer/projectexplorer.h b/src/plugins/projectexplorer/projectexplorer.h index 039def13052..6a7f4beb831 100644 --- a/src/plugins/projectexplorer/projectexplorer.h +++ b/src/plugins/projectexplorer/projectexplorer.h @@ -139,7 +139,6 @@ private slots: void cancelBuild(); void debugProject(); void editDependencies(); - bool saveAction(ProjectExplorer::Project *pro = 0); void loadAction(); void unloadProject(); void clearSession(); diff --git a/src/plugins/projectexplorer/session.cpp b/src/plugins/projectexplorer/session.cpp index 61ca7df05a9..876b8294a37 100644 --- a/src/plugins/projectexplorer/session.cpp +++ b/src/plugins/projectexplorer/session.cpp @@ -939,6 +939,7 @@ void SessionManager::removeProjects(QList<Project *> remove) // Delete projects foreach (Project *pro, remove) { + pro->saveSettings(); m_file->m_projects.removeOne(pro); if (pro == m_file->m_startupProject) |