diff --git a/share/qtcreator/gdbmacros/gdbmacros.cpp b/share/qtcreator/gdbmacros/gdbmacros.cpp index c70e3b75a4383943092ccea033c0350d57a656ce..5576b36c6f2991e1f41ee6e1fdb7aea05e415086 100644 --- a/share/qtcreator/gdbmacros/gdbmacros.cpp +++ b/share/qtcreator/gdbmacros/gdbmacros.cpp @@ -311,7 +311,7 @@ static bool isSimpleType(const char *type) static bool isShortKey(const char *type) { - return isSimpleType(type) || isEqual(type, "QString"); + return isSimpleType(type) || isEqual(type, NS"QString"); } static bool isMovableType(const char *type) @@ -555,7 +555,7 @@ void QDumper::addCommaIfNeeded() put(','); } -void QDumper::putBase64Encoded(const char *buf, int n) +void QDumper::putBase64Encoded(const char *buf, int n, char delim) { const char alphabet[] = "ABCDEFGH" "IJKLMNOP" "QRSTUVWX" "YZabcdef" "ghijklmn" "opqrstuv" "wxyz0123" "456789+/"; @@ -704,44 +704,44 @@ static void qDumpUnknown(QDumper &d) } static void qDumpInnerValueHelper(QDumper &d, const char *type, const void *addr, - const char *key = "value") + const char *field = "value") { type = stripNamespace(type); switch (type[1]) { case 'l': if (isEqual(type, "float")) - P(d, key, *(float*)addr); + P(d, field, *(float*)addr); return; case 'n': if (isEqual(type, "int")) - P(d, key, *(int*)addr); + P(d, field, *(int*)addr); else if (isEqual(type, "unsigned")) - P(d, key, *(unsigned int*)addr); + P(d, field, *(unsigned int*)addr); else if (isEqual(type, "unsigned int")) - P(d, key, *(unsigned int*)addr); + P(d, field, *(unsigned int*)addr); else if (isEqual(type, "unsigned long")) - P(d, key, *(unsigned long*)addr); + P(d, field, *(unsigned long*)addr); else if (isEqual(type, "unsigned long long")) - P(d, key, *(qulonglong*)addr); + P(d, field, *(qulonglong*)addr); return; case 'o': if (isEqual(type, "bool")) switch (*(bool*)addr) { - case 0: P(d, key, "false"); break; - case 1: P(d, key, "true"); break; - default: P(d, key, *(bool*)addr); break; + case 0: P(d, field, "false"); break; + case 1: P(d, field, "true"); break; + default: P(d, field, *(bool*)addr); break; } else if (isEqual(type, "double")) - P(d, key, *(double*)addr); + P(d, field, *(double*)addr); else if (isEqual(type, "long")) - P(d, key, *(long*)addr); + P(d, field, *(long*)addr); else if (isEqual(type, "long long")) - P(d, key, *(qulonglong*)addr); + P(d, field, *(qulonglong*)addr); return; case 'B': if (isEqual(type, "QByteArray")) { - d << key << "encoded=\"1\","; - P(d, key, *(QByteArray*)addr); + d << field << "encoded=\"1\","; + P(d, field, *(QByteArray*)addr); } return; case 'L': @@ -769,8 +769,8 @@ static void qDumpInnerValueHelper(QDumper &d, const char *type, const void *addr return; case 'S': if (isEqual(type, "QString")) { - d << key << "encoded=\"1\","; - P(d, key, *(QString*)addr); + d << field << "encoded=\"1\","; + P(d, field, *(QString*)addr); } return; default: diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index 77092e343eb577dabc6fc09226e3c45129980b92..e4bedc5bd058905cebcfe5d42cec7fe24beb7eed 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -361,7 +361,7 @@ EditorManager::EditorManager(ICore *core, QWidget *parent) : this, SLOT(updateActions())); connect(this, SIGNAL(currentEditorChanged(Core::IEditor*)), this, SLOT(updateEditorHistory())); - m_d->m_splitter = new EditorSplitter(m_d->m_core); + m_d->m_splitter = new EditorSplitter; connect(m_d->m_splitter, SIGNAL(closeRequested(Core::IEditor *)), this, SLOT(closeEditor(Core::IEditor *))); connect(m_d->m_splitter, SIGNAL(editorGroupsChanged()), diff --git a/src/plugins/coreplugin/editormanager/editorsplitter.cpp b/src/plugins/coreplugin/editormanager/editorsplitter.cpp index 5ff9832ec02fe80203821de4e974008a4bb82434..0b02e14d73174e532e82eeb08d12d25a05a496a0 100644 --- a/src/plugins/coreplugin/editormanager/editorsplitter.cpp +++ b/src/plugins/coreplugin/editormanager/editorsplitter.cpp @@ -51,10 +51,9 @@ using namespace Core; using namespace Core::Internal; -EditorSplitter::EditorSplitter(ICore *core, QWidget *parent) +EditorSplitter::EditorSplitter(QWidget *parent) : QWidget(parent), - m_curGroup(0), - m_core(core) + m_curGroup(0) { registerActions(); createRootGroup(); @@ -69,9 +68,9 @@ void EditorSplitter::registerActions() { QList<int> gc = QList<int>() << Constants::C_GLOBAL_ID; const QList<int> editorManagerContext = - QList<int>() << m_core->uniqueIDManager()->uniqueIdentifier(Constants::C_EDITORMANAGER); + QList<int>() << ICore::instance()->uniqueIDManager()->uniqueIdentifier(Constants::C_EDITORMANAGER); - ActionManager *am = m_core->actionManager(); + ActionManager *am = ICore::instance()->actionManager(); ActionContainer *mwindow = am->actionContainer(Constants::M_WINDOW); Command *cmd; @@ -538,13 +537,13 @@ QWidget *EditorSplitter::recreateGroupTree(QWidget *node) void EditorSplitter::saveCurrentLayout() { - QSettings *settings = m_core->settings(); + QSettings *settings = ICore::instance()->settings(); settings->setValue("EditorManager/Splitting", saveState()); } void EditorSplitter::restoreDefaultLayout() { - QSettings *settings = m_core->settings(); + QSettings *settings = ICore::instance()->settings(); if (settings->contains("EditorManager/Splitting")) restoreState(settings->value("EditorManager/Splitting").toByteArray()); } @@ -656,12 +655,12 @@ EditorGroup *EditorSplitter::createGroup() this, SLOT(updateActions())); connect(group, SIGNAL(editorAdded(Core::IEditor *)), this, SLOT(updateActions())); - m_core->addContextObject(group->contextObject()); + ICore::instance()->addContextObject(group->contextObject()); return group; } void EditorSplitter::deleteGroup(EditorGroup *group) { - m_core->removeContextObject(group->contextObject()); + ICore::instance()->removeContextObject(group->contextObject()); delete group; } diff --git a/src/plugins/coreplugin/editormanager/editorsplitter.h b/src/plugins/coreplugin/editormanager/editorsplitter.h index 94aac2df2316d20e4f7d3e1a61255f3309a87b3c..aeff22a2ed3ed1d95ea72451e204f929d37f1b8e 100644 --- a/src/plugins/coreplugin/editormanager/editorsplitter.h +++ b/src/plugins/coreplugin/editormanager/editorsplitter.h @@ -45,7 +45,6 @@ namespace Core { class EditorGroup; -class ICore; class IEditor; namespace Internal { @@ -55,7 +54,7 @@ class EditorSplitter : public QWidget Q_OBJECT public: - EditorSplitter(ICore *core, QWidget *parent = 0); + explicit EditorSplitter(QWidget *parent = 0); ~EditorSplitter(); void setCurrentGroup(Core::EditorGroup *group); @@ -114,7 +113,6 @@ private: QWidget *m_root; EditorGroup *m_curGroup; - ICore *m_core; QAction *m_horizontalSplitAction; QAction *m_verticalSplitAction; diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp index 97648813d0171c64df5515382dfb3e1668f5ba84..91c2756d3157cfcb46849944776e0ed0b5d98bc8 100644 --- a/src/plugins/coreplugin/mainwindow.cpp +++ b/src/plugins/coreplugin/mainwindow.cpp @@ -120,7 +120,7 @@ MainWindow::MainWindow() : m_editorManager(0), m_fileManager(new FileManager(this)), m_progressManager(new ProgressManagerPrivate()), - m_scriptManager(new ScriptManagerPrivate(this, m_coreImpl)), + m_scriptManager(new ScriptManagerPrivate(this)), m_variableManager(new VariableManager(this)), m_vcsManager(new VCSManager()), m_viewManager(0), diff --git a/src/plugins/coreplugin/scriptmanager/scriptmanager.cpp b/src/plugins/coreplugin/scriptmanager/scriptmanager.cpp index 937af4f66a36ea9983970350ed7c4d330a263fa8..74f04c2a466025cddfcb34683ff0058dd8dc4cd4 100644 --- a/src/plugins/coreplugin/scriptmanager/scriptmanager.cpp +++ b/src/plugins/coreplugin/scriptmanager/scriptmanager.cpp @@ -181,10 +181,8 @@ static QScriptValue fileBox(QScriptContext *context, QScriptEngine *engine) namespace Core { namespace Internal { -ScriptManagerPrivate::ScriptManagerPrivate(QObject *parent, ICore *core) : - ScriptManager(parent), - m_core(core), - m_initialized(false) +ScriptManagerPrivate::ScriptManagerPrivate(QObject *parent) + : ScriptManager(parent), m_initialized(false) { } @@ -250,7 +248,6 @@ void ScriptManagerPrivate::ensureEngineInitialized() { if (m_initialized) return; - QTC_ASSERT(m_core, return); // register QObjects that occur as properties SharedTools::registerQObject<QMainWindow>(m_engine); SharedTools::registerQObject<QStatusBar>(m_engine); @@ -274,7 +271,7 @@ void ScriptManagerPrivate::ensureEngineInitialized() // SharedTools::registerQObjectInterface<Core::ICore, CorePrototype>(m_engine); // Make "core" available - m_engine.globalObject().setProperty(QLatin1String("core"), qScriptValueFromValue(&m_engine, m_core)); + m_engine.globalObject().setProperty(QLatin1String("core"), qScriptValueFromValue(&m_engine, Core::ICore::instance())); // CLASSIC: registerInterfaceWithDefaultPrototype<Core::MessageManager, MessageManagerPrototype>(m_engine); diff --git a/src/plugins/coreplugin/scriptmanager/scriptmanager_p.h b/src/plugins/coreplugin/scriptmanager/scriptmanager_p.h index e05778a832d84b68332b8491b4c2321ec808712c..b8acddf90d9b12d15e349e871aa8b7060e37b0df 100644 --- a/src/plugins/coreplugin/scriptmanager/scriptmanager_p.h +++ b/src/plugins/coreplugin/scriptmanager/scriptmanager_p.h @@ -37,13 +37,9 @@ #include <coreplugin/scriptmanager/scriptmanager.h> #include <QtCore/QObject> -#include <QtCore/QList> #include <QtScript/QScriptEngine> namespace Core { - -class ICore; - namespace Internal { class ScriptManagerPrivate : public Core::ScriptManager @@ -51,12 +47,11 @@ class ScriptManagerPrivate : public Core::ScriptManager Q_OBJECT public: - ScriptManagerPrivate(QObject *parent, ICore *core); - - virtual QScriptEngine &scriptEngine(); + explicit ScriptManagerPrivate(QObject *parent); - virtual bool runScript(const QString &script, QString *errorMessage, Stack *stack); - virtual bool runScript(const QString &script, QString *errorMessage); + QScriptEngine &scriptEngine(); + bool runScript(const QString &script, QString *errorMessage, Stack *stack); + bool runScript(const QString &script, QString *errorMessage); static QString engineError(QScriptEngine &scriptEngine); @@ -64,7 +59,6 @@ private: void ensureEngineInitialized(); QScriptEngine m_engine; - ICore *m_core; bool m_initialized; }; diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp index 824b7b4b1cb1415a350e1475b862e232afa57be2..df68e5778dceff90d5c6c79b1584ddb66f060ad9 100644 --- a/src/plugins/cpptools/cppcodecompletion.cpp +++ b/src/plugins/cpptools/cppcodecompletion.cpp @@ -74,9 +74,10 @@ using namespace CPlusPlus; namespace CppTools { namespace Internal { -class FunctionArgumentWidget : public QLabel { +class FunctionArgumentWidget : public QLabel +{ public: - FunctionArgumentWidget(Core::ICore *core); + FunctionArgumentWidget(); void showFunctionHint(Function *functionSymbol, const Snapshot &snapshot); protected: @@ -183,10 +184,10 @@ protected: using namespace CppTools::Internal; -FunctionArgumentWidget::FunctionArgumentWidget(Core::ICore *core) +FunctionArgumentWidget::FunctionArgumentWidget() : m_item(0) { - QObject *editorObject = core->editorManager()->currentEditor(); + QObject *editorObject = Core::ICore::instance()->editorManager()->currentEditor(); m_editor = qobject_cast<TextEditor::ITextEditor *>(editorObject); m_popupFrame = new QFrame(0, Qt::ToolTip|Qt::WindowStaysOnTopHint); @@ -311,9 +312,8 @@ void FunctionArgumentWidget::updateHintText() setText(text); } -CppCodeCompletion::CppCodeCompletion(CppModelManager *manager, Core::ICore *core) +CppCodeCompletion::CppCodeCompletion(CppModelManager *manager) : ICompletionCollector(manager), - m_core(core), m_manager(manager), m_caseSensitivity(Qt::CaseSensitive), m_autoInsertBraces(true), @@ -1030,7 +1030,7 @@ void CppCodeCompletion::complete(const TextEditor::CompletionItem &item) Function *function = symbol->type()->asFunction(); QTC_ASSERT(function, return); - m_functionArgumentWidget = new FunctionArgumentWidget(m_core); + m_functionArgumentWidget = new FunctionArgumentWidget(); m_functionArgumentWidget->showFunctionHint(function, typeOfExpression.snapshot()); } } else if (m_completionOperator == T_SIGNAL || m_completionOperator == T_SLOT) { diff --git a/src/plugins/cpptools/cppcodecompletion.h b/src/plugins/cpptools/cppcodecompletion.h index 6d4690babca9df92419fc8d5c3ab543128bf205d..08a767ea6ced3f7e2195d07d43a96576b43753e0 100644 --- a/src/plugins/cpptools/cppcodecompletion.h +++ b/src/plugins/cpptools/cppcodecompletion.h @@ -34,23 +34,17 @@ #ifndef CPPCODECOMPLETION_H #define CPPCODECOMPLETION_H -// C++ front-end #include <ASTfwd.h> #include <FullySpecifiedType.h> #include <cplusplus/Icons.h> #include <cplusplus/Overview.h> #include <cplusplus/TypeOfExpression.h> -// Qt Creator #include <texteditor/icompletioncollector.h> -// Qt #include <QtCore/QObject> #include <QtCore/QPointer> -namespace Core { -class ICore; -} namespace TextEditor { class ITextEditor; @@ -66,7 +60,7 @@ class CppCodeCompletion : public TextEditor::ICompletionCollector { Q_OBJECT public: - CppCodeCompletion(CppModelManager *manager, Core::ICore *core); + explicit CppCodeCompletion(CppModelManager *manager); bool triggersCompletion(TextEditor::ITextEditable *editor); int startCompletion(TextEditor::ITextEditable *editor); @@ -131,7 +125,6 @@ private: TextEditor::ITextEditable *m_editor; int m_startPosition; // Position of the cursor from which completion started - Core::ICore *m_core; CppModelManager *m_manager; Qt::CaseSensitivity m_caseSensitivity; bool m_autoInsertBraces; diff --git a/src/plugins/cpptools/cpptoolsplugin.cpp b/src/plugins/cpptools/cpptoolsplugin.cpp index 3a8c271a0989729f59d80d37b8957a9fabd592c3..f70a766a46b3b7d52114644c4cca84592380dae8 100644 --- a/src/plugins/cpptools/cpptoolsplugin.cpp +++ b/src/plugins/cpptools/cpptoolsplugin.cpp @@ -87,7 +87,7 @@ bool CppToolsPlugin::initialize(const QStringList &arguments, QString *error) // Objects m_modelManager = new CppModelManager(this); addAutoReleasedObject(m_modelManager); - m_completion = new CppCodeCompletion(m_modelManager, core); + m_completion = new CppCodeCompletion(m_modelManager); addAutoReleasedObject(m_completion); CppQuickOpenFilter *quickOpenFilter = new CppQuickOpenFilter(m_modelManager, core->editorManager()); diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 3f9cfc6caaa9a7e0d2f592b40686da1bf375f4dc..2874911c56a6b4afa1fb13a82c8e77ad28c72d52 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -61,6 +61,7 @@ #include <extensionsystem/pluginmanager.h> +#include <projectexplorer/projectexplorer.h> #include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/session.h> @@ -85,8 +86,6 @@ #include <QtGui/QTextCursor> -namespace ExtensionSystem { class PluginManager; } - using namespace Core; using namespace Debugger::Constants; using namespace Debugger::Internal; @@ -144,6 +143,11 @@ const char * const ADD_TO_WATCH_KEY = "Ctrl+Alt+Q"; } // namespace Debugger +static ProjectExplorer::SessionManager *sessionManager() +{ + return ProjectExplorer::ProjectExplorerPlugin::instance()->session(); +} + /////////////////////////////////////////////////////////////////////// // // DebugMode @@ -339,7 +343,6 @@ void GdbOptionPage::apply() DebuggerPlugin::DebuggerPlugin() { - m_pm = 0; m_generalOptionPage = 0; m_locationMark = 0; m_manager = 0; @@ -390,8 +393,6 @@ bool DebuggerPlugin::initialize(const QStringList &arguments, QString *error_mes m_manager = new DebuggerManager; - m_pm = ExtensionSystem::PluginManager::instance(); - ICore *core = ICore::instance(); QTC_ASSERT(core, return false); @@ -663,9 +664,9 @@ bool DebuggerPlugin::initialize(const QStringList &arguments, QString *error_mes // // ProjectExplorer - connect(projectExplorer()->session(), SIGNAL(sessionLoaded()), + connect(sessionManager(), SIGNAL(sessionLoaded()), m_manager, SLOT(sessionLoaded())); - connect(projectExplorer()->session(), SIGNAL(aboutToSaveSession()), + connect(sessionManager(), SIGNAL(aboutToSaveSession()), m_manager, SLOT(aboutToSaveSession())); // EditorManager @@ -706,11 +707,6 @@ void DebuggerPlugin::extensionsInitialized() { } -ProjectExplorer::ProjectExplorerPlugin *DebuggerPlugin::projectExplorer() const -{ - return m_pm->getObject<ProjectExplorer::ProjectExplorerPlugin>(); -} - /*! Activates the previous mode when the current mode is the debug mode. */ void DebuggerPlugin::activatePreviousMode() { @@ -822,17 +818,14 @@ void DebuggerPlugin::showToolTip(TextEditor::ITextEditor *editor, void DebuggerPlugin::setSessionValue(const QString &name, const QVariant &value) { //qDebug() << "SET SESSION VALUE" << name << value; - ProjectExplorerPlugin *pe = projectExplorer(); - if (pe->session()) - pe->session()->setValue(name, value); - else - qDebug() << "FIXME: Session does not exist yet"; + QTC_ASSERT(sessionManager(), return); + sessionManager()->setValue(name, value); } void DebuggerPlugin::querySessionValue(const QString &name, QVariant *value) { - ProjectExplorerPlugin *pe = projectExplorer(); - *value = pe->session()->value(name); + QTC_ASSERT(sessionManager(), return); + *value = sessionManager()->value(name); //qDebug() << "GET SESSION VALUE: " << name << value; } diff --git a/src/plugins/debugger/debuggerplugin.h b/src/plugins/debugger/debuggerplugin.h index 4ab9c5b89f8fd5a5eeec673a539468386686d76e..4468740678d9427a0f57826194538ba6a41a6cc6 100644 --- a/src/plugins/debugger/debuggerplugin.h +++ b/src/plugins/debugger/debuggerplugin.h @@ -34,19 +34,26 @@ #ifndef DEBUGGERPLUGIN_H #define DEBUGGERPLUGIN_H -#include <projectexplorer/projectexplorer.h> #include <extensionsystem/iplugin.h> #include <QtCore/QObject> QT_BEGIN_NAMESPACE +class QAbstractItemView; class QAction; class QCursor; -class QAbstractItemView; +class QMenu; +class QPoint; QT_END_NAMESPACE -namespace Core { class IEditor; } -namespace TextEditor { class ITextEditor; } +namespace Core { +class IEditor; +class IMode; +} + +namespace TextEditor { +class ITextEditor; +} namespace Debugger { namespace Internal { @@ -99,12 +106,9 @@ private: friend class GdbOptionPage; friend class DebugMode; // FIXME: Just a hack now so that it can access the views - ProjectExplorer::ProjectExplorerPlugin *projectExplorer() const; - DebuggerManager *m_manager; DebugMode *m_debugMode; - ExtensionSystem::PluginManager *m_pm; GdbOptionPage *m_generalOptionPage; QString m_previousMode; diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp index c559bcb2c1ca351716f03c6e369ab560e030bdae..1924de930384f3295f1290e113cc7911634508b8 100644 --- a/src/plugins/debugger/gdbengine.cpp +++ b/src/plugins/debugger/gdbengine.cpp @@ -2761,14 +2761,17 @@ static void setWatchDataValue(WatchData &data, const GdbMi &mi, break; case 1: // base64 encoded 8 bit data ba = QByteArray::fromBase64(mi.data()); + ba = '"' + ba + '"'; break; case 2: // base64 encoded 16 bit data ba = QByteArray::fromBase64(mi.data()); ba = QString::fromUtf16((ushort *)ba.data(), ba.size() / 2).toUtf8(); + ba = '"' + ba + '"'; break; case 3: // base64 encoded 32 bit data ba = QByteArray::fromBase64(mi.data()); ba = QString::fromUcs4((uint *)ba.data(), ba.size() / 4).toUtf8(); + ba = '"' + ba + '"'; break; } data.setValue(ba); @@ -3550,13 +3553,12 @@ void GdbEngine::handleDumpCustomValue2(const GdbResultRecord &record, data1.iname = data.iname + "." + data1.name; if (!data1.name.isEmpty() && data1.name.at(0).isDigit()) data1.name = '[' + data1.name + ']'; - //qDebug() << "NAMEENCODED: " << item.findChild("nameencoded").data() - // << item.findChild("nameencoded").data()[1]; - if (item.findChild("nameencoded").data()[0] == '1') - data1.name = QByteArray::fromBase64(data1.name.toUtf8()); QString key = item.findChild("key").data(); - if (!key.isEmpty()) + if (!key.isEmpty()) { + if (item.findChild("keyencoded").data()[0] == '1') + key = '"' + QByteArray::fromBase64(key.toUtf8()) + '"'; data1.name += " (" + key + ")"; + } setWatchDataType(data1, item.findChild("type")); setWatchDataExpression(data1, item.findChild("exp")); setWatchDataChildCount(data1, item.findChild("numchild")); diff --git a/src/plugins/help/centralwidget.cpp b/src/plugins/help/centralwidget.cpp index f18795c3d39a762dd96bdac5fd334af88c8b2e6f..a944efa29b3af5a28c0f1f8306d7360f22e8f68f 100644 --- a/src/plugins/help/centralwidget.cpp +++ b/src/plugins/help/centralwidget.cpp @@ -61,6 +61,8 @@ #include <QtHelp/QHelpEngine> +#include <coreplugin/coreconstants.h> + using namespace Help::Internal; namespace { @@ -228,20 +230,23 @@ void CentralWidget::setSource(const QUrl &url) void CentralWidget::setLastShownPages() { - const QStringList lastShownPageList = helpEngine->customValue(QLatin1String("LastShownPages")). - toString().split(QLatin1Char('|'), QString::SkipEmptyParts); + const QStringList lastShownPageList = + helpEngine->customValue(QLatin1String("LastShownPages")). toString(). + split(QLatin1Char('|'), QString::SkipEmptyParts); if (!lastShownPageList.isEmpty()) { - foreach (const QString page, lastShownPageList) + foreach (const QString& page, lastShownPageList) setSourceInNewTab(page); - tabWidget->setCurrentIndex(helpEngine->customValue(QLatin1String("LastTabPage"), 0).toInt()); + tabWidget->setCurrentIndex(helpEngine-> + customValue(QLatin1String("LastTabPage"), 0).toInt()); } else { - QUrl url = helpEngine->findFile(QUrl("qthelp://com.trolltech.qt.440/qdoc/index.html")); - if (url.isValid()) - setSource(url); - else - setSource(QUrl("qthelp://com.trolltech.qt.440/qdoc/index.html")); + QUrl url(helpEngine->findFile(QUrl("qthelp://com.trolltech.qt.440/qdoc/index.html"))); + if (!url.isValid()) { + url.setUrl(QString("qthelp://com.nokia.qtcreator.%1%2/doc/index.html"). + arg(IDE_VERSION_MAJOR).arg(IDE_VERSION_MINOR)); + } + setSource(url); } updateBrowserFont(); @@ -392,19 +397,33 @@ void CentralWidget::setGlobalActions(const QList<QAction*> &actions) { globalActionList = actions; } + void CentralWidget::setSourceInNewTab(const QUrl &url) { HelpViewer* viewer = new HelpViewer(helpEngine, this); viewer->installEventFilter(this); viewer->setSource(url); viewer->setFocus(Qt::OtherFocusReason); - tabWidget->setCurrentIndex(tabWidget->addTab(viewer, viewer->documentTitle())); + tabWidget->setCurrentIndex(tabWidget->addTab(viewer, + quoteTabTitle(viewer->documentTitle()))); +#if defined(QT_NO_WEBIT) QFont font = qApp->font(); if (helpEngine->customValue(QLatin1String("useBrowserFont")).toBool()) font = qVariantValue<QFont>(helpEngine->customValue(QLatin1String("browserFont"))); - viewer->setFont(font); +#else + QWebView* view = qobject_cast<QWebView*> (viewer); + if (view) { + QWebSettings* settings = QWebSettings::globalSettings(); + int fontSize = settings->fontSize(QWebSettings::DefaultFontSize); + QString fontFamily = settings->fontFamily(QWebSettings::StandardFont); + + settings = view->settings(); + settings->setFontSize(QWebSettings::DefaultFontSize, fontSize); + settings->setFontFamily(QWebSettings::StandardFont, fontFamily); + } +#endif connectSignals(); } @@ -492,7 +511,7 @@ void CentralWidget::currentPageChanged(int index) bool enabled = false; if (viewer) enabled = tabWidget->count() > 1; - + tabWidget->setTabsClosable(enabled); tabWidget->cornerWidget(Qt::TopLeftCorner)->setEnabled(true); @@ -595,6 +614,7 @@ bool CentralWidget::eventFilter(QObject *object, QEvent *e) void CentralWidget::updateBrowserFont() { +#if defined(QT_NO_WEBKIT) QFont font = qApp->font(); if (helpEngine->customValue(QLatin1String("useBrowserFont")).toBool()) font = qVariantValue<QFont>(helpEngine->customValue(QLatin1String("browserFont"))); @@ -605,9 +625,25 @@ void CentralWidget::updateBrowserFont() if (widget->font() != font) widget->setFont(font); } +#else + QWebSettings* settings = QWebSettings::globalSettings(); + int fontSize = settings->fontSize(QWebSettings::DefaultFontSize); + QString fontFamily = settings->fontFamily(QWebSettings::StandardFont); + + QWebView* widget = 0; + for (int i = 0; i < tabWidget->count(); ++i) { + widget = qobject_cast<QWebView*> (tabWidget->widget(i)); + if (widget) { + settings = widget->settings(); + settings->setFontSize(QWebSettings::DefaultFontSize, fontSize); + settings->setFontFamily(QWebSettings::StandardFont, fontFamily); + } + } +#endif } -bool CentralWidget::find(const QString &txt, QTextDocument::FindFlags findFlags, bool incremental) +bool CentralWidget::find(const QString &txt, QTextDocument::FindFlags findFlags, + bool incremental) { HelpViewer* viewer = currentHelpViewer(); @@ -666,7 +702,7 @@ bool CentralWidget::find(const QString &txt, QTextDocument::FindFlags findFlags, } void CentralWidget::showTopicChooser(const QMap<QString, QUrl> &links, - const QString &keyword) + const QString &keyword) { TopicChooser tc(this, keyword, links); if (tc.exec() == QDialog::Accepted) diff --git a/src/plugins/help/docsettingspage.cpp b/src/plugins/help/docsettingspage.cpp index 79e915557acd2bbad54bf84eb3e51c2a745b087c..4abc79a13adc428433522f34c8c4c28470fa69cb 100644 --- a/src/plugins/help/docsettingspage.cpp +++ b/src/plugins/help/docsettingspage.cpp @@ -136,5 +136,11 @@ bool DocSettingsPage::applyChanges() } ++it; } - return m_registeredDocs || m_removeDocs.count(); + + bool success = m_registeredDocs || m_removeDocs.count(); + + m_removeDocs.clear(); + m_registeredDocs = false; + + return success; } diff --git a/src/plugins/help/helpplugin.cpp b/src/plugins/help/helpplugin.cpp index 3eddaa5e0eca2bdaa2c52d522a25fe4a255f5ddc..4d48afd0b20495a2d8f6cfd2cbfce1235aa19c22 100644 --- a/src/plugins/help/helpplugin.cpp +++ b/src/plugins/help/helpplugin.cpp @@ -395,6 +395,11 @@ void HelpPlugin::rightPaneForward() m_helpViewerForSideBar->forward(); } +void HelpPlugin::activateHelpMode() +{ + m_core->modeManager()->activateMode(QLatin1String(Constants::ID_MODE_HELP)); +} + void HelpPlugin::switchToHelpMode() { switchToHelpMode(m_helpViewerForSideBar->source()); @@ -403,14 +408,14 @@ void HelpPlugin::switchToHelpMode() void HelpPlugin::switchToHelpMode(const QUrl &source) { - m_core->modeManager()->activateMode(QLatin1String(Constants::ID_MODE_HELP)); + activateHelpMode(); m_centralWidget->setSource(source); m_centralWidget->setFocus(); } void HelpPlugin::switchToHelpMode(const QMap<QString, QUrl> &urls, const QString &keyword) { - m_core->modeManager()->activateMode(QLatin1String(Constants::ID_MODE_HELP)); + activateHelpMode(); m_centralWidget->showTopicChooser(urls, keyword); } @@ -561,7 +566,7 @@ void HelpPlugin::activateContext() viewer = m_helpViewerForSideBar; } else { viewer = m_centralWidget->currentHelpViewer(); - m_core->modeManager()->activateMode(QLatin1String(Constants::ID_MODE_HELP)); + activateHelpMode(); } if (viewer) { @@ -579,7 +584,7 @@ void HelpPlugin::activateContext() viewer = m_helpViewerForSideBar; } else { viewer = m_centralWidget->currentHelpViewer(); - m_core->modeManager()->activateMode(QLatin1String(Constants::ID_MODE_HELP)); + activateHelpMode(); } if (viewer) { @@ -593,19 +598,19 @@ void HelpPlugin::activateContext() void HelpPlugin::activateIndex() { - m_core->modeManager()->activateMode(QLatin1String(Constants::ID_MODE_HELP)); + activateHelpMode(); m_sideBar->activateItem(m_indexItem); } void HelpPlugin::activateContents() { - m_core->modeManager()->activateMode(QLatin1String(Constants::ID_MODE_HELP)); + activateHelpMode(); m_sideBar->activateItem(m_contentItem); } void HelpPlugin::activateSearch() { - m_core->modeManager()->activateMode(QLatin1String(Constants::ID_MODE_HELP)); + activateHelpMode(); m_sideBar->activateItem(m_searchItem); } @@ -680,7 +685,7 @@ void HelpPlugin::addNewBookmark(const QString &title, const QString &url) void HelpPlugin::openGettingStarted() { - m_core->modeManager()->activateMode(QLatin1String(Constants::ID_MODE_HELP)); + activateHelpMode(); m_centralWidget->setSource( QString("qthelp://com.nokia.qtcreator.%1%2/doc/index.html") .arg(IDE_VERSION_MAJOR).arg(IDE_VERSION_MINOR)); diff --git a/src/plugins/help/helpplugin.h b/src/plugins/help/helpplugin.h index ef56c7e33649852f63e6dc681bf7f8391a880f46..145981e16a28cb14361545c94071d55d8db73d61 100644 --- a/src/plugins/help/helpplugin.h +++ b/src/plugins/help/helpplugin.h @@ -134,6 +134,7 @@ private slots: private: QToolBar *createToolBar(); void createRightPaneSideBar(); + void activateHelpMode(); Core::ICore *m_core; QHelpEngine *m_helpEngine; diff --git a/src/plugins/qtestlib/qtestlibplugin.cpp b/src/plugins/qtestlib/qtestlibplugin.cpp index 3bb2d1df359366da08993e6aa88e84360448acfc..86ea4f571602df764e87a60504a283d8423fc285 100644 --- a/src/plugins/qtestlib/qtestlibplugin.cpp +++ b/src/plugins/qtestlib/qtestlibplugin.cpp @@ -33,8 +33,8 @@ #include "qtestlibplugin.h" -//#include <Qt4IProjectManagers> -//#include <texteditor/TextEditorInterfaces> +#include <coreplugin/icore.h> +#include <texteditor/itexteditor.h> #include <QtCore/QDebug> #include <QtCore/QDir> @@ -116,28 +116,27 @@ static QTestFunction::MessageType stringToMessageType(const QString &str) } // ----------------------------------- -QTestLibPlugin::QTestLibPlugin() : - m_projectExplorer(0), - m_core(0), - m_outputPane(0) +QTestLibPlugin::QTestLibPlugin() + : m_projectExplorer(0), m_outputPane(0) { } QTestLibPlugin::~QTestLibPlugin() { - if (m_core && m_outputPane) - m_core->pluginManager()->removeObject(m_outputPane); + if (m_outputPane) + ExtensionSystem::PluginManager::instance()->removeObject(m_outputPane); } -bool QTestLibPlugin::init(ExtensionSystem::PluginManagerInterface *app, QString *errorMessage) +bool QTestLibPlugin::init(const QStringList &arguments, QString *errorMessage) { + Q_UNUSED(arguments); Q_UNUSED(errorMessage); - m_projectExplorer = app->getObject<ProjectExplorer::ProjectExplorerPlugin>(); - connect(m_projectExplorer->qObject(), SIGNAL(aboutToExecuteProject(ProjectExplorer::Project *)), + m_projectExplorer = ProjectExplorer::ProjectExplorerPlugin::instance(); + connect(m_projectExplorer, SIGNAL(aboutToExecuteProject(ProjectExplorer::Project *)), this, SLOT(projectRunHook(ProjectExplorer::Project *))); m_outputPane = new QTestOutputPane(this); - app->addObject(m_outputPane); + ExtensionSystem::PluginManager::instance()->addObject(m_outputPane); return true; } @@ -169,10 +168,10 @@ void QTestLibPlugin::projectRunHook(ProjectExplorer::Project *proj) //NBS proj->setCustomApplicationOutputHandler(this); //NBS proj->setExtraApplicationRunArguments(QStringList() << QLatin1String("-xml") << QLatin1String("-o") << m_outputFile); - const QString proFile = proj->fileName(); - const QFileInfo fi(proFile); - if (QFile::exists(fi.absolutePath())) - m_projectDirectory = fi.absolutePath(); +// const QString proFile = proj->fileName(); +// const QFileInfo fi(proFile); +// if (QFile::exists(fi.absolutePath())) +// m_projectDirectory = fi.absolutePath(); } void QTestLibPlugin::clear() @@ -319,9 +318,11 @@ bool QTestFunction::indexHasIncidents(const QModelIndex &function, IncidentType return false; } + // -------------- QTestOutputPane -QTestOutputPane::QTestOutputPane(QTestLibPlugin *plugin) : - QObject(plugin), + +QTestOutputPane::QTestOutputPane(QTestLibPlugin *plugin) + : QObject(plugin), m_plugin(plugin), m_widget(0), m_model(new QStandardItemModel(this)) @@ -485,8 +486,8 @@ void QTestOutputWidget::gotoLocation(QModelIndex index) QTestLocation loc = tag.value<QTestLocation>(); - m_coreInterface->editorManager()->openEditor(loc.file); - Core::EditorInterface *edtIface = m_coreInterface->editorManager()->currentEditor(); + Core::ICore::instance()->editorManager()->openEditor(loc.file); + Core::EditorInterface *edtIface = Core::ICore::instance()->editorManager()->currentEditor(); if (!edtIface) return; TextEditor::ITextEditor *editor = diff --git a/src/plugins/qtestlib/qtestlibplugin.h b/src/plugins/qtestlib/qtestlibplugin.h index c442a1ddec6b00235bd47fbed19990fa15a7ceb5..24e336483084c7a89ddfb845143fba753a31ec1d 100644 --- a/src/plugins/qtestlib/qtestlibplugin.h +++ b/src/plugins/qtestlib/qtestlibplugin.h @@ -35,18 +35,19 @@ #define QTESTLIBPLUGIN_H #include <coreplugin/ioutputpane.h> -//#include <projectexplorer/ProjectExplorerInterfaces> +#include <extensionsystem/pluginmanager.h> +#include <projectexplorer/projectexplorer.h> #include <QtGui/QPixmap> +#include <QtGui/QSortFilterProxyModel> #include <QtGui/QStandardItem> #include <QtGui/QWidget> -#include <QtGui/QSortFilterProxyModel> QT_BEGIN_NAMESPACE +class QComboBox; class QStandardItemModel; -class QTreeView; class QTextEdit; -class QComboBox; +class QTreeView; QT_END_NAMESPACE namespace QTestLib { @@ -101,7 +102,7 @@ public: class QTestOutputPane : public Core::IOutputPane { Q_OBJECT - //Q_INTERFACES(Core::IOutputPane) + public: QTestOutputPane(QTestLibPlugin *plugin); @@ -116,8 +117,13 @@ public: void show(); -Q_SIGNALS: -//signals + // FIXME: + virtual int priorityInStatusBar() const { return 0;} + virtual void setFocus() {} + virtual bool hasFocus() { return false;} + virtual bool canFocus() { return false;} + +signals: void showPage(); private: @@ -165,19 +171,15 @@ private: QTestOutputFilter *m_filterModel; }; -class QTestLibPlugin : public QObject, - public ExtensionSystem::PluginInterface, - public ProjectExplorer::IApplicationOutput +class QTestLibPlugin : public QObject { Q_OBJECT - Q_INTERFACES(ExtensionSystem::PluginInterface - ProjectExplorer::IApplicationOutput) public: QTestLibPlugin(); virtual ~QTestLibPlugin(); - bool init(ExtensionSystem::PluginManagerInterface *app, QString *error_message); + bool init(const QStringList &args, QString *error_message); void extensionsInitialized(); // IApplicationOutput diff --git a/src/plugins/snippets/README b/src/plugins/snippets/README new file mode 100644 index 0000000000000000000000000000000000000000..0631c716c2ecf12196589f79162b92582c6a7a8b --- /dev/null +++ b/src/plugins/snippets/README @@ -0,0 +1 @@ +This is dead code for now. diff --git a/src/plugins/snippets/snippetscompletion.cpp b/src/plugins/snippets/snippetscompletion.cpp index 129d27d63cc7b2bd47c6077f0ea926fb672678da..1ab6464a33e081c9afaee60656f2ea1096e8be51 100644 --- a/src/plugins/snippets/snippetscompletion.cpp +++ b/src/plugins/snippets/snippetscompletion.cpp @@ -50,8 +50,7 @@ const QIcon SnippetsCompletion::m_fileIcon = QIcon(":/snippets/images/file.png") SnippetsCompletion::SnippetsCompletion(QObject *parent) : ICompletionCollector(parent) { - m_core = SnippetsPlugin::core(); - m_snippetsWnd = SnippetsPlugin::snippetsWindow(); + m_snippetsWindow = SnippetsPlugin::snippetsWindow(); updateCompletions(); } @@ -66,9 +65,9 @@ void SnippetsCompletion::updateCompletions() { qDeleteAll(m_autoCompletions.values()); m_autoCompletions.clear(); - +#if 0 int index = 0; - foreach (SnippetSpec *spec, m_snippetsWnd->snippets()) { + foreach (SnippetSpec *spec, m_snippetsWindow->snippets()) { if (!spec->completionShortcut().isEmpty()) { TextEditor::CompletionItem *item = new TextEditor::CompletionItem; item->m_key = spec->name(); @@ -79,6 +78,7 @@ void SnippetsCompletion::updateCompletions() ++index; } } +#endif } bool SnippetsCompletion::triggersCompletion(TextEditor::ITextEditable *editor) @@ -96,29 +96,36 @@ int SnippetsCompletion::startCompletion(TextEditor::ITextEditable *editor) return m_startPosition; } -void SnippetsCompletion::completions(QList<TextEditor::CompletionItem *> *completions) +#if 0 +void SnippetsCompletion::completions(const QList<TextEditor::CompletionItem *> &completions) { const int length = m_editor->position() - m_startPosition; if (length >= 2) { QString key = m_editor->textAt(m_startPosition, length); foreach (TextEditor::CompletionItem* item, m_autoCompletions.values()) { - if (item->m_key.startsWith(key, Qt::CaseInsensitive)) { - (*completions) << item; - } + if (item->m_key.startsWith(key, Qt::CaseInsensitive)) + completions->append(item); } } } +#endif QString SnippetsCompletion::text(TextEditor::CompletionItem *item) const { - const SnippetSpec *spec = m_snippetsWnd->snippets().at(item->m_index); +#if 0 + const SnippetSpec *spec = m_snippetsWindow->snippets().at(item->m_index); return spec->name(); +#endif + return QString(); } QString SnippetsCompletion::details(TextEditor::CompletionItem *item) const { - const SnippetSpec *spec = m_snippetsWnd->snippets().at(item->m_index); +#if 0 + const SnippetSpec *spec = m_snippetsWindow->snippets().at(item->m_index); return spec->description(); +#endif + return QString(); } QIcon SnippetsCompletion::icon(TextEditor::CompletionItem *) const @@ -126,18 +133,20 @@ QIcon SnippetsCompletion::icon(TextEditor::CompletionItem *) const return m_fileIcon; } -void SnippetsCompletion::complete(TextEditor::CompletionItem *item) +void SnippetsCompletion::complete(const TextEditor::CompletionItem &item) { - SnippetSpec *spec = m_snippetsWnd->snippets().at(item->m_index); +#if 0 + SnippetSpec *spec = m_snippetsWindow->snippets().at(item->m_index); int length = m_editor->position() - m_startPosition; m_editor->setCurPos(m_startPosition); m_editor->remove(length); - m_snippetsWnd->insertSnippet(m_editor, spec); + m_snippetsWindow->insertSnippet(m_editor, spec); +#endif } -bool SnippetsCompletion::partiallyComplete() +bool SnippetsCompletion::partiallyComplete(const myns::QList<TextEditor::CompletionItem>&) { return false; } diff --git a/src/plugins/snippets/snippetscompletion.h b/src/plugins/snippets/snippetscompletion.h index 5749bd0cbe98b6f1524b452eced30f898d381bf7..df19b40e3d1ec5091b57f589efbc74c88572b38b 100644 --- a/src/plugins/snippets/snippetscompletion.h +++ b/src/plugins/snippets/snippetscompletion.h @@ -36,15 +36,11 @@ #include <texteditor/icompletioncollector.h> -#include <QtCore/QObject> -#include <QtCore/QMap> #include <QtCore/QDir> +#include <QtCore/QMap> +#include <QtCore/QObject> #include <QtGui/QIcon> -namespace Core { -class ICore; -} - namespace TextEditor { class ITextEditable; class ITextEditor; @@ -72,10 +68,12 @@ public: QString details(TextEditor::CompletionItem *item) const; QIcon icon(TextEditor::CompletionItem *item) const; - void complete(TextEditor::CompletionItem *item); - bool partiallyComplete(); + void complete(const TextEditor::CompletionItem &item); + bool partiallyComplete(const QList<TextEditor::CompletionItem> &); void cleanup(); + void completions(QList<TextEditor::CompletionItem>*); + private slots: void updateCompletions(); @@ -83,10 +81,9 @@ private: static int findStartOfName(const TextEditor::ITextEditor *editor); TextEditor::ITextEditable *m_editor; - int m_startPosition; // Position of the cursor from which completion started + int m_startPosition; // Position of the cursor from which completion started - SnippetsWindow *m_snippetsWnd; - Core::ICore *m_core; + SnippetsWindow *m_snippetsWindow; QMultiMap<QString, TextEditor::CompletionItem *> m_autoCompletions; diff --git a/src/plugins/snippets/snippetsplugin.cpp b/src/plugins/snippets/snippetsplugin.cpp index 32dd4bc04e2655b54b3dfef63769ae7e03aa60c8..3eae254875cc9b96d83e01bef706d4e700b3120f 100644 --- a/src/plugins/snippets/snippetsplugin.cpp +++ b/src/plugins/snippets/snippetsplugin.cpp @@ -36,16 +36,18 @@ #include "snippetsplugin.h" #include "snippetspec.h" -#include <QtCore/QtPlugin> #include <QtCore/QDebug> -#include <QtGui/QShortcut> +#include <QtCore/QtPlugin> #include <QtGui/QApplication> +#include <QtGui/QShortcut> #include <extensionsystem/pluginmanager.h> #include <coreplugin/uniqueidmanager.h> -#include <coreplugin/actionmanager/actionmanagerinterface.h> +#include <coreplugin/actionmanager/actionmanager.h> #include <coreplugin/editormanager/editormanager.h> -#include <coreplugin/CoreTools> +#include <coreplugin/baseview.h> +#include <coreplugin/icore.h> +#include <coreplugin/iview.h> #include <texteditor/itexteditable.h> #include <texteditor/texteditorconstants.h> @@ -56,6 +58,7 @@ SnippetsPlugin *SnippetsPlugin::m_instance = 0; SnippetsPlugin::SnippetsPlugin() { m_instance = this; + m_snippetsCompletion = 0; } SnippetsPlugin::~SnippetsPlugin() @@ -78,17 +81,20 @@ bool SnippetsPlugin::initialize(const QStringList &arguments, QString *) context << core->uniqueIDManager()->uniqueIdentifier(TextEditor::Constants::C_TEXTEDITOR); m_snippetWnd = new SnippetsWindow(); - addAutoReleasedObject(new Core::BaseView("Snippets.SnippetsTree", - m_snippetWnd, - QList<int>() << core->uniqueIDManager()->uniqueIdentifier(QLatin1String("Snippets Window")) - << core->uniqueIDManager()->uniqueIdentifier(TextEditor::Constants::C_TEXTEDITOR), - Qt::RightDockWidgetArea)); + Core::BaseView *view = new Core::BaseView; + view->setUniqueViewName("Snippets.SnippetsTree"); + view->setWidget(m_snippetWnd); + view->setContext(QList<int>() + << core->uniqueIDManager()->uniqueIdentifier(QLatin1String("Snippets Window")) + << core->uniqueIDManager()->uniqueIdentifier(TextEditor::Constants::C_TEXTEDITOR)); + //view->setDefaultPosition(Qt::RightDockWidgetArea)); + addAutoReleasedObject(view); m_snippetsCompletion = new SnippetsCompletion(this); addObject(m_snippetsCompletion); foreach (SnippetSpec *snippet, m_snippetWnd->snippets()) { QShortcut *sc = new QShortcut(m_snippetWnd); - Core::ICommand *cmd = am->registerShortcut(sc, simplifySnippetName(snippet), context); + Core::Command *cmd = am->registerShortcut(sc, simplifySnippetName(snippet), context); cmd->setCategory(tr("Snippets")); connect(sc, SIGNAL(activated()), this, SLOT(snippetActivated())); m_shortcuts.insert(sc, snippet); diff --git a/src/plugins/snippets/snippetswindow.cpp b/src/plugins/snippets/snippetswindow.cpp index f6377e199af1ab3de4b0b2167677405484bfdc15..982b8752049596c3569ca6c8a555b6f38a9a56a5 100644 --- a/src/plugins/snippets/snippetswindow.cpp +++ b/src/plugins/snippets/snippetswindow.cpp @@ -59,8 +59,6 @@ Q_DECLARE_METATYPE(Snippets::Internal::SnippetSpec *) SnippetsWindow::SnippetsWindow() { - m_core = SnippetsPlugin::core(); - setWindowTitle(tr("Snippets")); setWindowIcon(QIcon(":/snippets/images/snippets.png")); setOrientation(Qt::Vertical); @@ -79,7 +77,7 @@ SnippetsWindow::SnippetsWindow() if (!initSnippetsDir()) setDisabled(true); else { - QDir defaultDir(m_core->resourcePath() + QLatin1String("/snippets")); + QDir defaultDir(Core::ICore::instance()->resourcePath() + QLatin1String("/snippets")); if (defaultDir.exists()) initSnippets(defaultDir); initSnippets(m_snippetsDir); @@ -110,9 +108,9 @@ void SnippetsWindow::activateSnippet(QTreeWidgetItem *item, int column) return; TextEditor::ITextEditable *editor = 0; - if (m_core->editorManager()->currentEditor()) + if (Core::ICore::instance()->editorManager()->currentEditor()) editor = qobject_cast<TextEditor::ITextEditable *>( - m_core->editorManager()->currentEditor()); + Core::ICore::instance()->editorManager()->currentEditor()); if (editor) { SnippetSpec* spec = qVariantValue<SnippetSpec*>(item->data(0, Qt::UserRole)); insertSnippet(editor, spec); @@ -229,9 +227,9 @@ void SnippetsWindow::showInputWidget(bool canceled, const QString &value) return; TextEditor::ITextEditor *te = 0; - if (m_core->editorManager()->currentEditor()) + if (Core::ICore::instance()->editorManager()->currentEditor()) te = qobject_cast<TextEditor::ITextEditor*>( - m_core->editorManager()->currentEditor()); + Core::ICore::instance()->editorManager()->currentEditor()); int arg = m_requiredArgs.takeFirst(); if (arg != -1) diff --git a/src/plugins/snippets/snippetswindow.h b/src/plugins/snippets/snippetswindow.h index f0c4e0327518d933ccec69201ae6c57830cc946a..a81457c29022655348c7f02e62f8fa55f355122f 100644 --- a/src/plugins/snippets/snippetswindow.h +++ b/src/plugins/snippets/snippetswindow.h @@ -44,10 +44,6 @@ class QDir; class QLabel; QT_END_NAMESPACE -namespace Core { -class ICore; -} - namespace TextEditor { class ITextEditable; class ITextEditor; @@ -97,7 +93,6 @@ private: SnippetSpec *m_currentSnippet; TextEditor::ITextEditable *m_currentEditor; - Core::ICore *m_core; QDir m_snippetsDir; SnippetsTree *m_snippetsTree; diff --git a/src/shared/qrceditor/qrceditor.cpp b/src/shared/qrceditor/qrceditor.cpp index e4f04c9762e71de5d38d6b90906d8a637d8464d1..a353d73839496d20f4368e746b68a1b345a9656c 100644 --- a/src/shared/qrceditor/qrceditor.cpp +++ b/src/shared/qrceditor/qrceditor.cpp @@ -151,21 +151,28 @@ void QrcEditor::updateCurrent() const bool isValid = m_treeview->currentIndex().isValid(); const bool isPrefix = m_treeview->isPrefix(m_treeview->currentIndex()) && isValid; const bool isFile = !isPrefix && isValid; + int cursorPosition; m_ui.aliasLabel->setEnabled(isFile); m_ui.aliasText->setEnabled(isFile); m_currentAlias = m_treeview->currentAlias(); + cursorPosition = m_ui.aliasText->cursorPosition(); m_ui.aliasText->setText(m_currentAlias); + m_ui.aliasText->setCursorPosition(cursorPosition); m_ui.prefixLabel->setEnabled(isPrefix); m_ui.prefixText->setEnabled(isPrefix); m_currentPrefix = m_treeview->currentPrefix(); + cursorPosition = m_ui.prefixText->cursorPosition(); m_ui.prefixText->setText(m_currentPrefix); + m_ui.prefixText->setCursorPosition(cursorPosition); m_ui.languageLabel->setEnabled(isPrefix); m_ui.languageText->setEnabled(isPrefix); m_currentLanguage = m_treeview->currentLanguage(); + cursorPosition = m_ui.languageText->cursorPosition(); m_ui.languageText->setText(m_currentLanguage); + m_ui.languageText->setCursorPosition(cursorPosition); m_ui.addButton->setEnabled(true); m_addFileAction->setEnabled(isValid);