From 076488bfbb80142ce014fffc8d65db05b4e2818a Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 21 Jan 2009 11:12:12 +0100 Subject: [PATCH 01/16] Use gdb's 'print' command to access dumper output. Simple solution after all. This idea got initially dropped early in the process because it does not handle binary data and using x/x was way to slow. But since we use only printable characters now thanks to base64 encoding etc using 'p' becomes feasible again and simplifies the process vastly as no additional communication channel is needed anymore. --- bin/gdbmacros/gdbmacros.cpp | 50 +++--- src/plugins/debugger/debuggerplugin.cpp | 2 +- src/plugins/debugger/gdbengine.cpp | 193 +++++++++++++++++++++++- src/plugins/debugger/gdbengine.h | 3 + src/plugins/debugger/gdbmi.cpp | 30 ++-- src/plugins/debugger/gdbmi.h | 22 +-- 6 files changed, 243 insertions(+), 57 deletions(-) diff --git a/bin/gdbmacros/gdbmacros.cpp b/bin/gdbmacros/gdbmacros.cpp index 7a304607b6c..0a94e527b81 100644 --- a/bin/gdbmacros/gdbmacros.cpp +++ b/bin/gdbmacros/gdbmacros.cpp @@ -216,7 +216,8 @@ QT_END_NAMESPACE // this can be mangled typenames of nested templates, each char-by-char // comma-separated integer list static char qDumpInBuffer[10000]; -static char qDumpBuffer[1000]; +static char qDumpOutBuffer[100000]; +static char qDumpSize[20]; namespace { @@ -443,27 +444,28 @@ QDumper::~QDumper() { flush(); - char buf[30]; - int len = qsnprintf(buf, sizeof(buf) - 1, "%d^done\n", token); - write(buf, len); + //char buf[30]; + //int len = qsnprintf(buf, sizeof(buf) - 1, "%d^done\n", token); + //write(buf, len); } void QDumper::write(const void *buf, int len) { - ::fwrite(buf, len, 1, stdout); - ::fflush(stdout); + //::fwrite(buf, len, 1, stdout); + //::fflush(stdout); } void QDumper::flush() { - if (pos != 0) { - char buf[30]; - int len = qsnprintf(buf, sizeof(buf) - 1, "%d#%d,", token, pos); - write(buf, len); - write(qDumpBuffer, pos); - write("\n", 1); - pos = 0; - } + put(0); + //if (pos != 0) { + // char buf[30]; + // int len = qsnprintf(buf, sizeof(buf) - 1, "%d#%d,", token, pos); + // write(buf, len); + // write(qDumpOutBuffer, pos); + // write("\n", 1); + // pos = 0; + // } } void QDumper::setupTemplateParameters() @@ -489,49 +491,49 @@ void QDumper::setupTemplateParameters() QDumper &QDumper::operator<<(unsigned long long c) { checkFill(); - pos += sprintf(qDumpBuffer + pos, "%llu", c); + pos += sprintf(qDumpOutBuffer + pos, "%llu", c); return *this; } QDumper &QDumper::operator<<(unsigned long c) { checkFill(); - pos += sprintf(qDumpBuffer + pos, "%lu", c); + pos += sprintf(qDumpOutBuffer + pos, "%lu", c); return *this; } QDumper &QDumper::operator<<(float d) { checkFill(); - pos += sprintf(qDumpBuffer + pos, "%f", d); + pos += sprintf(qDumpOutBuffer + pos, "%f", d); return *this; } QDumper &QDumper::operator<<(double d) { checkFill(); - pos += sprintf(qDumpBuffer + pos, "%f", d); + pos += sprintf(qDumpOutBuffer + pos, "%f", d); return *this; } QDumper &QDumper::operator<<(unsigned int i) { checkFill(); - pos += sprintf(qDumpBuffer + pos, "%u", i); + pos += sprintf(qDumpOutBuffer + pos, "%u", i); return *this; } QDumper &QDumper::operator<<(long c) { checkFill(); - pos += sprintf(qDumpBuffer + pos, "%ld", c); + pos += sprintf(qDumpOutBuffer + pos, "%ld", c); return *this; } QDumper &QDumper::operator<<(int i) { checkFill(); - pos += sprintf(qDumpBuffer + pos, "%d", i); + pos += sprintf(qDumpOutBuffer + pos, "%d", i); return *this; } @@ -555,21 +557,21 @@ QDumper &QDumper::operator<<(const void *p) void QDumper::checkFill() { - if (pos >= int(sizeof(qDumpBuffer)) - 100) + if (pos >= int(sizeof(qDumpOutBuffer)) - 100) flush(); } void QDumper::put(char c) { checkFill(); - qDumpBuffer[pos++] = c; + qDumpOutBuffer[pos++] = c; } void QDumper::addCommaIfNeeded() { if (pos == 0) return; - char c = qDumpBuffer[pos - 1]; + char c = qDumpOutBuffer[pos - 1]; if (c == '}' || c == '"' || c == ']') put(','); } diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index f62140129ec..a42c1038204 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -928,7 +928,7 @@ void DebuggerPlugin::readSettings() m->m_skipKnownFrames = s->value("SkipKnownFrames", false).toBool(); m->m_debugDumpers = s->value("DebugDumpers", false).toBool(); - m->m_useCustomDumpers = s->value("UseCustomDupers", false).toBool(); + m->m_useCustomDumpers = s->value("UseCustomDumpers", true).toBool(); m->m_useFastStart = s->value("UseFastStart", false).toBool(); m->m_useToolTips = s->value("UseToolTips", false).toBool(); m->m_useTerminal = s->value("UseTerminal", false).toBool(); diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp index a6d426d21da..ba1042aff8a 100644 --- a/src/plugins/debugger/gdbengine.cpp +++ b/src/plugins/debugger/gdbengine.cpp @@ -113,6 +113,7 @@ enum GdbCommandType GdbInfoProc, GdbQueryDataDumper1, GdbQueryDataDumper2, + GdbQueryDataDumper3, BreakCondition = 200, BreakEnablePending, @@ -144,7 +145,8 @@ enum GdbCommandType WatchToolTip, WatchDumpCustomSetup, WatchDumpCustomValue1, // waiting for gdb ack - WatchDumpCustomValue2, // waiting for actual data + WatchDumpCustomValue2, // waiting for actual data (fd version) + WatchDumpCustomValue3, // waiting for actual data (buffer version) WatchDumpCustomEditValue, }; @@ -807,6 +809,9 @@ void GdbEngine::handleResult(const GdbResultRecord & record, int type, case GdbQueryDataDumper2: handleQueryDataDumper2(record); break; + case GdbQueryDataDumper3: + handleQueryDataDumper3(record); + break; case BreakList: handleBreakList(record); @@ -883,6 +888,9 @@ void GdbEngine::handleResult(const GdbResultRecord & record, int type, case WatchDumpCustomValue2: handleDumpCustomValue2(record, cookie.value()); break; + case WatchDumpCustomValue3: + handleDumpCustomValue3(record, cookie.value()); + break; case WatchDumpCustomSetup: handleDumpCustomSetup(record); break; @@ -1562,6 +1570,7 @@ bool GdbEngine::startDebugger() //sendCommand("set confirm off"); //sendCommand("set pagination off"); sendCommand("set breakpoint pending on", BreakEnablePending); + sendCommand("set print elements 10000"); // one of the following is needed to prevent crashes in gdb on code like: // template T foo() { return T(0); } @@ -3081,11 +3090,12 @@ void GdbEngine::runCustomDumper(const WatchData & data0, bool dumpChildren) // create response slot for socket data QVariant var; var.setValue(data); - sendSynchronizedCommand(QString(), WatchDumpCustomValue2, var); + //sendSynchronizedCommand(QString(), WatchDumpCustomValue2, var); // this increases the probability that gdb spits out output it // has collected so far //sendCommand("p qDumpInBuffer"); + sendSynchronizedCommand("p (char*)qDumpOutBuffer", WatchDumpCustomValue3, var); } void GdbEngine::createGdbVariable(const WatchData &data) @@ -3360,6 +3370,73 @@ void GdbEngine::handleQueryDataDumper2(const GdbResultRecord &record) //qDebug() << "DATA DUMPERS AVAILABLE" << m_availableSimpleDumpers; } +void GdbEngine::handleQueryDataDumper3(const GdbResultRecord &record) +{ +#if 1 + // is this the official gdb response. However, it won't contain + // interesting data other than the information that 'real' data + // either already arrived or is still in the pipe. So we do + // _not_ register this result for counting purposes, this will + // be done by the 'real' result (with resultClass == GdbResultCustomDone) + //qDebug() << "DATA DUMPER TRIAL:" << record.toString(); + //GdbMi output = record.data.findChild("customvaluecontents"); + GdbMi output = record.data.findChild("consolestreamoutput"); + QByteArray out = output.data(); + out = out.mid(out.indexOf('"') + 1); + out = out.replace('\\', ""); + out = out.left(out.lastIndexOf('"')); + out = "result={" + out + "}"; + qDebug() << "OUTPUT: " << out; + + GdbMi contents; + contents.fromString(out); + GdbMi simple = contents.findChild("dumpers"); + m_namespace = contents.findChild("namespace").data(); + GdbMi qtversion = contents.findChild("qtversion"); + if (qtversion.children().size() == 3) { + m_qtVersion = (qtversion.childAt(0).data().toInt() << 16) + + (qtversion.childAt(1).data().toInt() << 8) + + qtversion.childAt(2).data().toInt(); + //qDebug() << "FOUND QT VERSION: " << qtversion.toString() << m_qtVersion; + } else { + m_qtVersion = 0; + } + + qDebug() << "OUTPUT: " << out; + qDebug() << "CONTENTS: " << contents.toString(); + qDebug() << "SIMPLE DUMPERS: " << simple.toString(); + m_availableSimpleDumpers.clear(); + foreach (const GdbMi &item, simple.children()) + m_availableSimpleDumpers.append(item.data()); + if (m_availableSimpleDumpers.isEmpty()) { + m_dataDumperState = DataDumperUnavailable; + QMessageBox::warning(q->mainWindow(), + tr("Cannot find special data dumpers"), + tr("The debugged binary does not contain information needed for " + "nice display of Qt data types.\n\n" + "Try might want to try include the file\n\n" + ".../ide/main/bin/gdbmacros/gdbmacros.cpp'\n\n" + "into your project directly.") + ); + } else { + m_dataDumperState = DataDumperAvailable; + } + qDebug() << "DATA DUMPERS AVAILABLE" << m_availableSimpleDumpers; +#else + // divert this to the fd version + GdbMi output = record.data.findChild("consolestreamoutput"); + QByteArray out = output.data(); + out = out.mid(out.indexOf('=') + 3); + out = out.replace("\\\\", "\\"); + out = out.left(out.lastIndexOf('"')); + out = "dummy={customvaluecontents=\"{" + out + "}\"}"; + GdbResultRecord record1 = record; + record1.data = GdbMi(); + record1.data.fromString(out); + handleQueryDataDumper2(record1); +#endif +} + void GdbEngine::sendWatchParameters(const QByteArray ¶ms0) { QByteArray params = params0; @@ -3596,6 +3673,115 @@ void GdbEngine::handleDumpCustomValue2(const GdbResultRecord &record, } } +void GdbEngine::handleDumpCustomValue3(const GdbResultRecord &record, + const WatchData &data0) +{ + WatchData data = data0; + QTC_ASSERT(data.isValid(), return); + qDebug() << "CUSTOM VALUE RESULT: " << record.toString(); + qDebug() << "FOR DATA: " << data.toString() << record.resultClass; + if (record.resultClass == GdbResultDone) { + //GdbMi output = record.data.findChild("customvaluecontents"); + + GdbMi output = record.data.findChild("consolestreamoutput"); + QByteArray out = output.data(); + out = out.mid(out.indexOf('"') + 1); + out = out.replace('\\', ""); + out = out.left(out.lastIndexOf('"')); + out = "result={" + out + "}"; + qDebug() << "OUTPUT: " << out; + + GdbMi contents; + contents.fromString(out); + + //qDebug() << "HANDLE VALUE CONTENTS: " << output.toString(true); + if (!contents.isValid()) { + qDebug() << "INVALID"; + // custom dumper produced no output + if (data.isValueNeeded()) + data.setValue(""); + if (data.isTypeNeeded()) + data.setType(""); + if (data.isChildrenNeeded()) + data.setChildCount(0); + if (data.isChildCountNeeded()) + data.setChildCount(0); + data.setValueToolTip(""); + insertData(data); + } else { + //GdbMi contents; + //qDebug() << "OUTPUT" << output.toString(true); + //contents.fromString(output.data()); + qDebug() << "CONTENTS" << contents.toString(true); + setWatchDataType(data, contents.findChild("type")); + setWatchDataValue(data, contents.findChild("value"), + contents.findChild("valueencoded").data().toInt()); + setWatchDataAddress(data, contents.findChild("addr")); + setWatchDataChildCount(data, contents.findChild("numchild")); + setWatchDataValueToolTip(data, contents.findChild("valuetooltip")); + setWatchDataValueDisabled(data, contents.findChild("valuedisabled")); + setWatchDataEditValue(data, contents.findChild("editvalue")); + if (qq->watchHandler()->isDisplayedIName(data.iname)) { + GdbMi editvalue = contents.findChild("editvalue"); + if (editvalue.isValid()) { + setWatchDataEditValue(data, editvalue); + qq->watchHandler()->showEditValue(data); + } + } + if (!qq->watchHandler()->isExpandedIName(data.iname)) + data.setChildrenUnneeded(); + GdbMi children = contents.findChild("children"); + if (children.isValid() || !qq->watchHandler()->isExpandedIName(data.iname)) + data.setChildrenUnneeded(); + data.setValueUnneeded(); + + // try not to repeat data too often + WatchData childtemplate; + setWatchDataType(childtemplate, contents.findChild("childtype")); + setWatchDataChildCount(childtemplate, contents.findChild("childnumchild")); + //qDebug() << "DATA: " << data.toString(); + insertData(data); + foreach (GdbMi item, children.children()) { + WatchData data1 = childtemplate; + data1.name = item.findChild("name").data(); + data1.iname = data.iname + "." + 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()) + data1.name += " (" + key + ")"; + setWatchDataType(data1, item.findChild("type")); + setWatchDataExpression(data1, item.findChild("exp")); + setWatchDataChildCount(data1, item.findChild("numchild")); + setWatchDataValue(data1, item.findChild("value"), + item.findChild("valueencoded").data().toInt()); + setWatchDataAddress(data1, item.findChild("addr")); + setWatchDataValueToolTip(data1, item.findChild("valuetooltip")); + setWatchDataValueDisabled(data1, item.findChild("valuedisabled")); + if (!qq->watchHandler()->isExpandedIName(data1.iname)) + data1.setChildrenUnneeded(); + //qDebug() << "HANDLE CUSTOM SUBCONTENTS:" << data1.toString(); + insertData(data1); + } + } + //qDebug() << "HANDLE CUSTOM VALUE CONTENTS: " << data.toString(); + } else if (record.resultClass == GdbResultError) { + // FIXME: Should not happen here, i.e. could be removed + QString msg = record.data.findChild("msg").data(); + //qDebug() << "CUSTOM DUMPER ERROR MESSAGE: " << msg; + if (msg.startsWith("The program being debugged was sig")) + msg = strNotInScope; + if (msg.startsWith("The program being debugged stopped while")) + msg = strNotInScope; + data.setError(msg); + insertData(data); + } else { + qDebug() << "STRANGE CUSTOM DUMPER RESULT DATA: " << data.toString(); + } +} + void GdbEngine::updateLocals() { setTokenBarrier(); @@ -4021,7 +4207,8 @@ void GdbEngine::tryLoadCustomDumpers() sendCommand("call qDumpObjectData440(1,%1+1,0,0,0,0,0,0)", GdbQueryDataDumper1); // create response slot for socket data - sendCommand(QString(), GdbQueryDataDumper2); + //sendCommand(QString(), GdbQueryDataDumper2); + sendCommand("p (char*)qDumpOutBuffer", GdbQueryDataDumper3); } diff --git a/src/plugins/debugger/gdbengine.h b/src/plugins/debugger/gdbengine.h index 60493a53e58..1113955ab86 100644 --- a/src/plugins/debugger/gdbengine.h +++ b/src/plugins/debugger/gdbengine.h @@ -307,8 +307,11 @@ private: const WatchData &cookie); void handleQueryDataDumper1(const GdbResultRecord &record); void handleQueryDataDumper2(const GdbResultRecord &record); + void handleQueryDataDumper3(const GdbResultRecord &record); void handleDumpCustomValue2(const GdbResultRecord &record, const WatchData &cookie); + void handleDumpCustomValue3(const GdbResultRecord &record, + const WatchData &cookie); void handleDumpCustomEditValue(const GdbResultRecord &record); void handleDumpCustomSetup(const GdbResultRecord &record); void handleStackListLocals(const GdbResultRecord &record); diff --git a/src/plugins/debugger/gdbmi.cpp b/src/plugins/debugger/gdbmi.cpp index 88060d7b350..d3fbeb44281 100644 --- a/src/plugins/debugger/gdbmi.cpp +++ b/src/plugins/debugger/gdbmi.cpp @@ -46,20 +46,20 @@ QTextStream & operator<<(QTextStream & os, const GdbMi & mi) return os << mi.toString(); } -//static void skipSpaces(const GdbMi::Char *&from, const GdbMi::Char *to) +//static void skipSpaces(const char *&from, const char *to) //{ // while (from != to && QChar(*from).isSpace()) // ++from; //} -void GdbMi::parseResultOrValue(const Char *&from, const Char *to) +void GdbMi::parseResultOrValue(const char *&from, const char *to) { //skipSpaces(from, to); while (from != to && QChar(*from).isSpace()) ++from; - //qDebug() << "parseResultOrValue: " << QByteArray::fromLatin1(from, to - from); + //qDebug() << "parseResultOrValue: " << QByteArray(from, to - from); parseValue(from, to); if (isValid()) { //qDebug() << "no valid result in " << QByteArray::fromLatin1(from, to - from); @@ -67,7 +67,7 @@ void GdbMi::parseResultOrValue(const Char *&from, const Char *to) } if (from == to || *from == '(') return; - const Char *ptr = from; + const char *ptr = from; while (ptr < to && *ptr != '=') { //qDebug() << "adding" << QChar(*ptr) << "to name"; ++ptr; @@ -80,7 +80,7 @@ void GdbMi::parseResultOrValue(const Char *&from, const Char *to) } } -QByteArray GdbMi::parseCString(const Char *&from, const Char *to) +QByteArray GdbMi::parseCString(const char *&from, const char *to) { QByteArray result; //qDebug() << "parseCString: " << QByteArray::fromUtf16(from, to - from); @@ -88,7 +88,7 @@ QByteArray GdbMi::parseCString(const Char *&from, const Char *to) qDebug() << "MI Parse Error, double quote expected"; return QByteArray(); } - const Char *ptr = from; + const char *ptr = from; ++ptr; while (ptr < to) { if (*ptr == '"') { @@ -115,7 +115,7 @@ QByteArray GdbMi::parseCString(const Char *&from, const Char *to) return result; } -void GdbMi::parseValue(const Char *&from, const Char *to) +void GdbMi::parseValue(const char *&from, const char *to) { //qDebug() << "parseValue: " << QByteArray::fromUtf16(from, to - from); switch (*from) { @@ -135,7 +135,7 @@ void GdbMi::parseValue(const Char *&from, const Char *to) } -void GdbMi::parseTuple(const Char *&from, const Char *to) +void GdbMi::parseTuple(const char *&from, const char *to) { //qDebug() << "parseTuple: " << QByteArray::fromUtf16(from, to - from); QTC_ASSERT(*from == '{', /**/); @@ -143,7 +143,7 @@ void GdbMi::parseTuple(const Char *&from, const Char *to) parseTuple_helper(from, to); } -void GdbMi::parseTuple_helper(const Char *&from, const Char *to) +void GdbMi::parseTuple_helper(const char *&from, const char *to) { //qDebug() << "parseTuple_helper: " << QByteArray::fromUtf16(from, to - from); m_type = Tuple; @@ -163,7 +163,7 @@ void GdbMi::parseTuple_helper(const Char *&from, const Char *to) } } -void GdbMi::parseList(const Char *&from, const Char *to) +void GdbMi::parseList(const char *&from, const char *to) { //qDebug() << "parseList: " << QByteArray::fromUtf16(from, to - from); QTC_ASSERT(*from == '[', /**/); @@ -267,8 +267,8 @@ QByteArray GdbMi::toString(bool multiline, int indent) const void GdbMi::fromString(const QByteArray &ba) { - const Char *from = ba.constBegin(); - const Char *to = ba.constEnd(); + const char *from = ba.constBegin(); + const char *to = ba.constEnd(); parseResultOrValue(from, to); } @@ -449,16 +449,16 @@ static struct Tester { } for (int i = from; i < to; ++i) { if (str[i] == '{') - result += "{\n" + QByteArray(2*++indent + 1, QChar(' ')); + result += "{\n" + QByteArray(2*++indent + 1, ' '); else if (str[i] == '}') { if (!result.isEmpty() && result[result.size() - 1] != '\n') result += "\n"; - result += QByteArray(2*--indent + 1, QChar(' ')) + "}\n"; + result += QByteArray(2*--indent + 1, ' ') + "}\n"; } else if (str[i] == ',') { if (true || !result.isEmpty() && result[result.size() - 1] != '\n') result += "\n"; - result += QByteArray(2*indent, QChar(' ')); + result += QByteArray(2*indent, ' '); } else result += str[i]; diff --git a/src/plugins/debugger/gdbmi.h b/src/plugins/debugger/gdbmi.h index 0e6c36e9756..21810eed40e 100644 --- a/src/plugins/debugger/gdbmi.h +++ b/src/plugins/debugger/gdbmi.h @@ -34,8 +34,6 @@ #ifndef DEBUGGER_GDBMI_H #define DEBUGGER_GDBMI_H -#include - #include #include @@ -125,8 +123,8 @@ public: inline const QList &children() const { return m_children; } inline int childCount() const { return m_children.size(); } - const GdbMi & childAt(int index) const { return m_children[index]; } - GdbMi & childAt(int index) { return m_children[index]; } + const GdbMi &childAt(int index) const { return m_children[index]; } + GdbMi &childAt(int index) { return m_children[index]; } GdbMi findChild(const QByteArray &name) const; GdbMi findChild(const QByteArray &name, const QByteArray &defaultString) const; @@ -138,14 +136,12 @@ private: friend class GdbResultRecord; friend class GdbEngine; - //typedef ushort Char; - typedef char Char; - static QByteArray parseCString(const Char *&from, const Char *to); - void parseResultOrValue(const Char *&from, const Char *to); - void parseValue(const Char *&from, const Char *to); - void parseTuple(const Char *&from, const Char *to); - void parseTuple_helper(const Char *&from, const Char *to); - void parseList(const Char *&from, const Char *to); + static QByteArray parseCString(const char *&from, const char *to); + void parseResultOrValue(const char *&from, const char *to); + void parseValue(const char *&from, const char *to); + void parseTuple(const char *&from, const char *to); + void parseTuple_helper(const char *&from, const char *to); + void parseList(const char *&from, const char *to); void dumpChildren(QByteArray *str, bool multiline, int indent) const; }; @@ -171,8 +167,6 @@ public: int token; GdbResultClass resultClass; GdbMi data; -private: - friend class GdbMi; }; } // namespace Internal From f58e1c108b70744206655315fc984f58419ec0ec Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 21 Jan 2009 11:41:32 +0100 Subject: [PATCH 02/16] some cleanup after switching the dumper output to 'p' --- src/plugins/debugger/gdbengine.cpp | 193 ++--------------------------- src/plugins/debugger/gdbengine.h | 3 - 2 files changed, 7 insertions(+), 189 deletions(-) diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp index ba1042aff8a..ae883d89230 100644 --- a/src/plugins/debugger/gdbengine.cpp +++ b/src/plugins/debugger/gdbengine.cpp @@ -113,7 +113,6 @@ enum GdbCommandType GdbInfoProc, GdbQueryDataDumper1, GdbQueryDataDumper2, - GdbQueryDataDumper3, BreakCondition = 200, BreakEnablePending, @@ -145,8 +144,7 @@ enum GdbCommandType WatchToolTip, WatchDumpCustomSetup, WatchDumpCustomValue1, // waiting for gdb ack - WatchDumpCustomValue2, // waiting for actual data (fd version) - WatchDumpCustomValue3, // waiting for actual data (buffer version) + WatchDumpCustomValue2, // waiting for actual data WatchDumpCustomEditValue, }; @@ -809,9 +807,6 @@ void GdbEngine::handleResult(const GdbResultRecord & record, int type, case GdbQueryDataDumper2: handleQueryDataDumper2(record); break; - case GdbQueryDataDumper3: - handleQueryDataDumper3(record); - break; case BreakList: handleBreakList(record); @@ -888,9 +883,6 @@ void GdbEngine::handleResult(const GdbResultRecord & record, int type, case WatchDumpCustomValue2: handleDumpCustomValue2(record, cookie.value()); break; - case WatchDumpCustomValue3: - handleDumpCustomValue3(record, cookie.value()); - break; case WatchDumpCustomSetup: handleDumpCustomSetup(record); break; @@ -3087,15 +3079,11 @@ void GdbEngine::runCustomDumper(const WatchData & data0, bool dumpChildren) q->showStatusMessage( tr("Retrieving data for watch view (%1 requests pending)...") .arg(m_pendingRequests + 1), 10000); - // create response slot for socket data + + // retrieve response QVariant var; var.setValue(data); - //sendSynchronizedCommand(QString(), WatchDumpCustomValue2, var); - - // this increases the probability that gdb spits out output it - // has collected so far - //sendCommand("p qDumpInBuffer"); - sendSynchronizedCommand("p (char*)qDumpOutBuffer", WatchDumpCustomValue3, var); + sendSynchronizedCommand("p (char*)qDumpOutBuffer", WatchDumpCustomValue2, var); } void GdbEngine::createGdbVariable(const WatchData &data) @@ -3328,58 +3316,7 @@ void GdbEngine::handleQueryDataDumper1(const GdbResultRecord &record) void GdbEngine::handleQueryDataDumper2(const GdbResultRecord &record) { - // is this the official gdb response. However, it won't contain - // interesting data other than the information that 'real' data - // either already arrived or is still in the pipe. So we do - // _not_ register this result for counting purposes, this will - // be done by the 'real' result (with resultClass == GdbResultCustomDone) //qDebug() << "DATA DUMPER TRIAL:" << record.toString(); - GdbMi output = record.data.findChild("customvaluecontents"); - GdbMi contents(output.data()); - GdbMi simple = contents.findChild("dumpers"); - m_namespace = contents.findChild("namespace").data(); - GdbMi qtversion = contents.findChild("qtversion"); - if (qtversion.children().size() == 3) { - m_qtVersion = (qtversion.childAt(0).data().toInt() << 16) - + (qtversion.childAt(1).data().toInt() << 8) - + qtversion.childAt(2).data().toInt(); - //qDebug() << "FOUND QT VERSION: " << qtversion.toString() << m_qtVersion; - } else { - m_qtVersion = 0; - } - - //qDebug() << "OUTPUT: " << output.toString(); - //qDebug() << "CONTENTS: " << contents.toString(); - //qDebug() << "SIMPLE DUMPERS: " << simple.toString(); - m_availableSimpleDumpers.clear(); - foreach (const GdbMi &item, simple.children()) - m_availableSimpleDumpers.append(item.data()); - if (m_availableSimpleDumpers.isEmpty()) { - m_dataDumperState = DataDumperUnavailable; - QMessageBox::warning(q->mainWindow(), - tr("Cannot find special data dumpers"), - tr("The debugged binary does not contain information needed for " - "nice display of Qt data types.\n\n" - "Try might want to try include the file\n\n" - ".../ide/main/bin/gdbmacros/gdbmacros.cpp'\n\n" - "into your project directly.") - ); - } else { - m_dataDumperState = DataDumperAvailable; - } - //qDebug() << "DATA DUMPERS AVAILABLE" << m_availableSimpleDumpers; -} - -void GdbEngine::handleQueryDataDumper3(const GdbResultRecord &record) -{ -#if 1 - // is this the official gdb response. However, it won't contain - // interesting data other than the information that 'real' data - // either already arrived or is still in the pipe. So we do - // _not_ register this result for counting purposes, this will - // be done by the 'real' result (with resultClass == GdbResultCustomDone) - //qDebug() << "DATA DUMPER TRIAL:" << record.toString(); - //GdbMi output = record.data.findChild("customvaluecontents"); GdbMi output = record.data.findChild("consolestreamoutput"); QByteArray out = output.data(); out = out.mid(out.indexOf('"') + 1); @@ -3422,19 +3359,6 @@ void GdbEngine::handleQueryDataDumper3(const GdbResultRecord &record) m_dataDumperState = DataDumperAvailable; } qDebug() << "DATA DUMPERS AVAILABLE" << m_availableSimpleDumpers; -#else - // divert this to the fd version - GdbMi output = record.data.findChild("consolestreamoutput"); - QByteArray out = output.data(); - out = out.mid(out.indexOf('=') + 3); - out = out.replace("\\\\", "\\"); - out = out.left(out.lastIndexOf('"')); - out = "dummy={customvaluecontents=\"{" + out + "}\"}"; - GdbResultRecord record1 = record; - record1.data = GdbMi(); - record1.data.fromString(out); - handleQueryDataDumper2(record1); -#endif } void GdbEngine::sendWatchParameters(const QByteArray ¶ms0) @@ -3556,7 +3480,7 @@ void GdbEngine::handleDumpCustomValue1(const GdbResultRecord &record, QString msg = record.data.findChild("msg").data(); //qDebug() << "CUSTOM DUMPER ERROR MESSAGE: " << msg; #ifdef QT_DEBUG - // Make debugging of dumers easier + // Make debugging of dumpers easier if (q->settings()->m_debugDumpers && msg.startsWith("The program being debugged stopped while") && msg.contains("qDumpObjectData440")) { @@ -3583,103 +3507,6 @@ void GdbEngine::handleDumpCustomValue2(const GdbResultRecord &record, QTC_ASSERT(data.isValid(), return); //qDebug() << "CUSTOM VALUE RESULT: " << record.toString(); //qDebug() << "FOR DATA: " << data.toString() << record.resultClass; - if (record.resultClass == GdbResultDone) { - GdbMi output = record.data.findChild("customvaluecontents"); - //qDebug() << "HANDLE VALUE CONTENTS: " << output.toString(true); - if (!output.isValid()) { - //qDebug() << "INVALID"; - // custom dumper produced no output - if (data.isValueNeeded()) - data.setValue(""); - if (data.isTypeNeeded()) - data.setType(""); - if (data.isChildrenNeeded()) - data.setChildCount(0); - if (data.isChildCountNeeded()) - data.setChildCount(0); - data.setValueToolTip(""); - insertData(data); - } else { - GdbMi contents; - //qDebug() << "OUTPUT" << output.toString(true); - contents.fromString(output.data()); - //qDebug() << "CONTENTS" << contents.toString(true); - setWatchDataType(data, contents.findChild("type")); - setWatchDataValue(data, contents.findChild("value"), - contents.findChild("valueencoded").data().toInt()); - setWatchDataAddress(data, contents.findChild("addr")); - setWatchDataChildCount(data, contents.findChild("numchild")); - setWatchDataValueToolTip(data, contents.findChild("valuetooltip")); - setWatchDataValueDisabled(data, contents.findChild("valuedisabled")); - setWatchDataEditValue(data, contents.findChild("editvalue")); - if (qq->watchHandler()->isDisplayedIName(data.iname)) { - GdbMi editvalue = contents.findChild("editvalue"); - if (editvalue.isValid()) { - setWatchDataEditValue(data, editvalue); - qq->watchHandler()->showEditValue(data); - } - } - if (!qq->watchHandler()->isExpandedIName(data.iname)) - data.setChildrenUnneeded(); - GdbMi children = contents.findChild("children"); - if (children.isValid() || !qq->watchHandler()->isExpandedIName(data.iname)) - data.setChildrenUnneeded(); - data.setValueUnneeded(); - - // try not to repeat data too often - WatchData childtemplate; - setWatchDataType(childtemplate, contents.findChild("childtype")); - setWatchDataChildCount(childtemplate, contents.findChild("childnumchild")); - //qDebug() << "DATA: " << data.toString(); - insertData(data); - foreach (GdbMi item, children.children()) { - WatchData data1 = childtemplate; - data1.name = item.findChild("name").data(); - data1.iname = data.iname + "." + 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()) - data1.name += " (" + key + ")"; - setWatchDataType(data1, item.findChild("type")); - setWatchDataExpression(data1, item.findChild("exp")); - setWatchDataChildCount(data1, item.findChild("numchild")); - setWatchDataValue(data1, item.findChild("value"), - item.findChild("valueencoded").data().toInt()); - setWatchDataAddress(data1, item.findChild("addr")); - setWatchDataValueToolTip(data1, item.findChild("valuetooltip")); - setWatchDataValueDisabled(data1, item.findChild("valuedisabled")); - if (!qq->watchHandler()->isExpandedIName(data1.iname)) - data1.setChildrenUnneeded(); - //qDebug() << "HANDLE CUSTOM SUBCONTENTS:" << data1.toString(); - insertData(data1); - } - } - //qDebug() << "HANDLE CUSTOM VALUE CONTENTS: " << data.toString(); - } else if (record.resultClass == GdbResultError) { - // FIXME: Should not happen here, i.e. could be removed - QString msg = record.data.findChild("msg").data(); - //qDebug() << "CUSTOM DUMPER ERROR MESSAGE: " << msg; - if (msg.startsWith("The program being debugged was sig")) - msg = strNotInScope; - if (msg.startsWith("The program being debugged stopped while")) - msg = strNotInScope; - data.setError(msg); - insertData(data); - } else { - qDebug() << "STRANGE CUSTOM DUMPER RESULT DATA: " << data.toString(); - } -} - -void GdbEngine::handleDumpCustomValue3(const GdbResultRecord &record, - const WatchData &data0) -{ - WatchData data = data0; - QTC_ASSERT(data.isValid(), return); - qDebug() << "CUSTOM VALUE RESULT: " << record.toString(); - qDebug() << "FOR DATA: " << data.toString() << record.resultClass; if (record.resultClass == GdbResultDone) { //GdbMi output = record.data.findChild("customvaluecontents"); @@ -3693,8 +3520,8 @@ void GdbEngine::handleDumpCustomValue3(const GdbResultRecord &record, GdbMi contents; contents.fromString(out); + qDebug() << "CONTENTS" << contents.toString(true); - //qDebug() << "HANDLE VALUE CONTENTS: " << output.toString(true); if (!contents.isValid()) { qDebug() << "INVALID"; // custom dumper produced no output @@ -3709,10 +3536,6 @@ void GdbEngine::handleDumpCustomValue3(const GdbResultRecord &record, data.setValueToolTip(""); insertData(data); } else { - //GdbMi contents; - //qDebug() << "OUTPUT" << output.toString(true); - //contents.fromString(output.data()); - qDebug() << "CONTENTS" << contents.toString(true); setWatchDataType(data, contents.findChild("type")); setWatchDataValue(data, contents.findChild("value"), contents.findChild("valueencoded").data().toInt()); @@ -4206,9 +4029,7 @@ void GdbEngine::tryLoadCustomDumpers() // retreive list of dumpable classes sendCommand("call qDumpObjectData440(1,%1+1,0,0,0,0,0,0)", GdbQueryDataDumper1); - // create response slot for socket data - //sendCommand(QString(), GdbQueryDataDumper2); - sendCommand("p (char*)qDumpOutBuffer", GdbQueryDataDumper3); + sendCommand("p (char*)qDumpOutBuffer", GdbQueryDataDumper2); } diff --git a/src/plugins/debugger/gdbengine.h b/src/plugins/debugger/gdbengine.h index 1113955ab86..60493a53e58 100644 --- a/src/plugins/debugger/gdbengine.h +++ b/src/plugins/debugger/gdbengine.h @@ -307,11 +307,8 @@ private: const WatchData &cookie); void handleQueryDataDumper1(const GdbResultRecord &record); void handleQueryDataDumper2(const GdbResultRecord &record); - void handleQueryDataDumper3(const GdbResultRecord &record); void handleDumpCustomValue2(const GdbResultRecord &record, const WatchData &cookie); - void handleDumpCustomValue3(const GdbResultRecord &record, - const WatchData &cookie); void handleDumpCustomEditValue(const GdbResultRecord &record); void handleDumpCustomSetup(const GdbResultRecord &record); void handleStackListLocals(const GdbResultRecord &record); From 8a322699c2a9b9c6a6862c61b59548236294af28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= Date: Wed, 21 Jan 2009 11:46:26 +0100 Subject: [PATCH 03/16] Added spaces to silence MSVC warnings Requested by danimo --- src/plugins/bineditor/bineditorplugin.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/plugins/bineditor/bineditorplugin.cpp b/src/plugins/bineditor/bineditorplugin.cpp index 7e3d15dc4c1..8a4198b4bf0 100644 --- a/src/plugins/bineditor/bineditorplugin.cpp +++ b/src/plugins/bineditor/bineditorplugin.cpp @@ -276,10 +276,10 @@ public: void setDisplayName(const QString &title) { m_displayName = title; emit changed(); } bool duplicateSupported() const { return false; } - IEditor *duplicate(QWidget */*parent*/) { return 0; } + IEditor *duplicate(QWidget * /* parent */) { return 0; } - QByteArray saveState() const { return QByteArray();} // TODO - bool restoreState(const QByteArray &/*state*/) {return false;} // TODO + QByteArray saveState() const { return QByteArray(); } // TODO + bool restoreState(const QByteArray & /* state */) { return false; } // TODO QToolBar *toolBar() { return m_toolBar; } From f93bd26a3a3f782231f94b74a7d09df49e38459f Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 21 Jan 2009 11:57:14 +0100 Subject: [PATCH 04/16] debugger: signal incomplete responses --- bin/gdbmacros/gdbmacros.cpp | 41 ++++++++---------------------- src/plugins/debugger/gdbengine.cpp | 17 ++++++------- 2 files changed, 18 insertions(+), 40 deletions(-) diff --git a/bin/gdbmacros/gdbmacros.cpp b/bin/gdbmacros/gdbmacros.cpp index 0a94e527b81..7f8f4cc8ef9 100644 --- a/bin/gdbmacros/gdbmacros.cpp +++ b/bin/gdbmacros/gdbmacros.cpp @@ -386,7 +386,6 @@ struct QDumper { explicit QDumper(); ~QDumper(); - void flush(); void checkFill(); QDumper &operator<<(long c); QDumper &operator<<(int i); @@ -408,8 +407,6 @@ struct QDumper void beginHash(); // start of data hash output void endHash(); // start of data hash output - void write(const void *buf, int len); // raw write to stdout - // the dumper arguments int protocolVersion; // dumper protocol version int token; // some token to show on success @@ -428,6 +425,7 @@ struct QDumper // internal state bool success; // are we finished? + bool full; int pos; int extraInt[4]; @@ -437,35 +435,16 @@ struct QDumper QDumper::QDumper() { success = false; - pos = 0; + full = false; + qDumpOutBuffer[0] = 'f'; // marks output as 'wrong' + pos = 1; } QDumper::~QDumper() { - flush(); - - //char buf[30]; - //int len = qsnprintf(buf, sizeof(buf) - 1, "%d^done\n", token); - //write(buf, len); -} - -void QDumper::write(const void *buf, int len) -{ - //::fwrite(buf, len, 1, stdout); - //::fflush(stdout); -} - -void QDumper::flush() -{ - put(0); - //if (pos != 0) { - // char buf[30]; - // int len = qsnprintf(buf, sizeof(buf) - 1, "%d#%d,", token, pos); - // write(buf, len); - // write(qDumpOutBuffer, pos); - // write("\n", 1); - // pos = 0; - // } + qDumpOutBuffer[pos++] = '\0'; + if (success) + qDumpOutBuffer[0] = (full ? '+' : 't'); } void QDumper::setupTemplateParameters() @@ -558,13 +537,14 @@ QDumper &QDumper::operator<<(const void *p) void QDumper::checkFill() { if (pos >= int(sizeof(qDumpOutBuffer)) - 100) - flush(); + full = true; } void QDumper::put(char c) { checkFill(); - qDumpOutBuffer[pos++] = c; + if (!full) + qDumpOutBuffer[pos++] = c; } void QDumper::addCommaIfNeeded() @@ -634,7 +614,6 @@ QDumper &QDumper::operator<<(const QString &str) void QDumper::disarm() { - flush(); success = true; } diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp index ae883d89230..36711c0325a 100644 --- a/src/plugins/debugger/gdbengine.cpp +++ b/src/plugins/debugger/gdbengine.cpp @@ -3319,11 +3319,11 @@ void GdbEngine::handleQueryDataDumper2(const GdbResultRecord &record) //qDebug() << "DATA DUMPER TRIAL:" << record.toString(); GdbMi output = record.data.findChild("consolestreamoutput"); QByteArray out = output.data(); - out = out.mid(out.indexOf('"') + 1); + out = out.mid(out.indexOf('"') + 2); // + 1 is success marker out = out.replace('\\', ""); out = out.left(out.lastIndexOf('"')); out = "result={" + out + "}"; - qDebug() << "OUTPUT: " << out; + //qDebug() << "OUTPUT: " << out; GdbMi contents; contents.fromString(out); @@ -3339,9 +3339,8 @@ void GdbEngine::handleQueryDataDumper2(const GdbResultRecord &record) m_qtVersion = 0; } - qDebug() << "OUTPUT: " << out; - qDebug() << "CONTENTS: " << contents.toString(); - qDebug() << "SIMPLE DUMPERS: " << simple.toString(); + //qDebug() << "CONTENTS: " << contents.toString(); + //qDebug() << "SIMPLE DUMPERS: " << simple.toString(); m_availableSimpleDumpers.clear(); foreach (const GdbMi &item, simple.children()) m_availableSimpleDumpers.append(item.data()); @@ -3358,7 +3357,7 @@ void GdbEngine::handleQueryDataDumper2(const GdbResultRecord &record) } else { m_dataDumperState = DataDumperAvailable; } - qDebug() << "DATA DUMPERS AVAILABLE" << m_availableSimpleDumpers; + //qDebug() << "DATA DUMPERS AVAILABLE" << m_availableSimpleDumpers; } void GdbEngine::sendWatchParameters(const QByteArray ¶ms0) @@ -3512,15 +3511,15 @@ void GdbEngine::handleDumpCustomValue2(const GdbResultRecord &record, GdbMi output = record.data.findChild("consolestreamoutput"); QByteArray out = output.data(); - out = out.mid(out.indexOf('"') + 1); + out = out.mid(out.indexOf('"') + 2); // +1 is the 'success marker' out = out.replace('\\', ""); out = out.left(out.lastIndexOf('"')); out = "result={" + out + "}"; - qDebug() << "OUTPUT: " << out; + //qDebug() << "OUTPUT: " << out; GdbMi contents; contents.fromString(out); - qDebug() << "CONTENTS" << contents.toString(true); + //qDebug() << "CONTENTS" << contents.toString(true); if (!contents.isValid()) { qDebug() << "INVALID"; From 31f7b0fbadecbbf2e7de34e0c188c0b68784dae8 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 21 Jan 2009 12:07:19 +0100 Subject: [PATCH 05/16] Fixes: Unified debug enum in the designer plugin --- src/plugins/designer/cpp/formclasswizard.cpp | 4 +-- src/plugins/designer/designerconstants.h | 3 +++ src/plugins/designer/formeditorw.cpp | 23 +++++++--------- src/plugins/designer/formwindoweditor.cpp | 26 +++++++++---------- src/plugins/designer/formwindowfile.cpp | 19 ++++++-------- src/plugins/designer/formwindowhost.cpp | 10 +++---- src/plugins/designer/formwizard.cpp | 2 -- src/plugins/designer/settingsmanager.cpp | 21 +++++++-------- src/plugins/designer/workbenchintegration.cpp | 15 +++++------ 9 files changed, 54 insertions(+), 69 deletions(-) diff --git a/src/plugins/designer/cpp/formclasswizard.cpp b/src/plugins/designer/cpp/formclasswizard.cpp index 77d002f2d72..c480fc059fc 100644 --- a/src/plugins/designer/cpp/formclasswizard.cpp +++ b/src/plugins/designer/cpp/formclasswizard.cpp @@ -43,8 +43,6 @@ #include #include -enum { debugFormClassWizard = 0 }; - using namespace Designer; using namespace Designer::Internal; @@ -111,7 +109,7 @@ Core::GeneratedFiles FormClassWizard::generateFiles(const QWizard *w, QString *e sourceFile.setContents(source); headerFile.setContents(header); - if (debugFormClassWizard) + if (Designer::Constants::Internal::debug) qDebug() << Q_FUNC_INFO << '\n' << header << '\n' << source; return Core::GeneratedFiles() << headerFile << sourceFile << uiFile; diff --git a/src/plugins/designer/designerconstants.h b/src/plugins/designer/designerconstants.h index 0f4024f2b9a..f403f6322f2 100644 --- a/src/plugins/designer/designerconstants.h +++ b/src/plugins/designer/designerconstants.h @@ -67,6 +67,9 @@ enum EditModes NumEditModes }; +namespace Internal { + enum { debug = 0 }; +} } // Constants } // Designer diff --git a/src/plugins/designer/formeditorw.cpp b/src/plugins/designer/formeditorw.cpp index 0067b5b50f2..da8374091d5 100644 --- a/src/plugins/designer/formeditorw.cpp +++ b/src/plugins/designer/formeditorw.cpp @@ -83,7 +83,6 @@ #include #include -enum { debugFormEditor = 0 }; enum { wantCodeGenerationAction = 0 }; static const char *editorWidgetStateKeyC = "editorWidgetState"; @@ -169,7 +168,7 @@ FormEditorW::FormEditorW() : m_actionPrint(0), m_actionGenerateCode(0) { - if (debugFormEditor) + if (Designer::Constants::Internal::debug) qDebug() << Q_FUNC_INFO; QTC_ASSERT(!m_self, return); m_self = this; @@ -220,7 +219,7 @@ void FormEditorW::fullInit() { QTC_ASSERT(m_initStage == RegisterPlugins, return); QTime *initTime = 0; - if (debugFormEditor) { + if (Designer::Constants::Internal::debug) { initTime = new QTime; initTime->start(); } @@ -244,7 +243,7 @@ void FormEditorW::fullInit() } } - if (debugFormEditor) { + if (Designer::Constants::Internal::debug) { qDebug() << Q_FUNC_INFO << initTime->elapsed() << "ms"; delete initTime; } @@ -282,7 +281,7 @@ void FormEditorW::initDesignerSubWindows() void FormEditorW::ensureInitStage(InitializationStage s) { - if (debugFormEditor) + if (Designer::Constants::Internal::debug) qDebug() << Q_FUNC_INFO << s; if (!m_self) m_self = new FormEditorW; @@ -573,8 +572,8 @@ void FormEditorW::editorDestroyed() { QObject *source = sender(); - if (debugFormEditor) - qDebug() << "FormEditorW::editorDestroyed()" << source; + if (Designer::Constants::Internal::debug) + qDebug() << Q_FUNC_INFO << source; for (EditorList::iterator it = m_formWindows.begin(); it != m_formWindows.end(); ) { if (*it == source) { @@ -588,8 +587,8 @@ void FormEditorW::editorDestroyed() void FormEditorW::currentEditorChanged(Core::IEditor *editor) { - if (debugFormEditor) - qDebug() << "FormEditorW::currentEditorChanged" << editor << " of " << m_fwm->formWindowCount(); + if (Designer::Constants::Internal::debug) + qDebug() << Q_FUNC_INFO << editor << " of " << m_fwm->formWindowCount(); // Deactivate Designer if a non-form is being edited if (editor && !qstrcmp(editor->kind(), Constants::C_FORMWINDOW)) { @@ -604,9 +603,8 @@ void FormEditorW::currentEditorChanged(Core::IEditor *editor) void FormEditorW::activeFormWindowChanged(QDesignerFormWindowInterface *afw) { - if (debugFormEditor) - qDebug() << "FormEditorW::activeFormWindowChanged" << afw - << " of " << m_fwm->formWindowCount() << m_formWindows; + if (Designer::Constants::Internal::debug) + qDebug() << Q_FUNC_INFO << afw << " of " << m_fwm->formWindowCount() << m_formWindows; m_fwm->closeAllPreviews(); @@ -718,7 +716,6 @@ void FormEditorW::print() painter.drawPixmap(0, 0, pixmap); m_core->mainWindow()->setCursor(oldCursor); -// m_core->statusBar()->showMessage(tr("Printed %1...").arg(QFileInfo(fw->fileName()).fileName())); } while (false); m_core->printer()->setFullPage(oldFullPage); m_core->printer()->setOrientation(oldOrientation); diff --git a/src/plugins/designer/formwindoweditor.cpp b/src/plugins/designer/formwindoweditor.cpp index 3865716f820..be6b763e61c 100644 --- a/src/plugins/designer/formwindoweditor.cpp +++ b/src/plugins/designer/formwindoweditor.cpp @@ -64,8 +64,6 @@ using ProjectExplorer::ProjectNode; using ProjectExplorer::FolderNode; using ProjectExplorer::FileNode; -enum { debugFormWindowEditor = 0 }; - class QrcFilesVisitor : public NodesVisitor { public: @@ -109,8 +107,8 @@ FormWindowEditor::FormWindowEditor(const QList &context, m_sessionNode(0), m_sessionWatcher(0) { - if (debugFormWindowEditor) - qDebug() << "FormWindowEditor::FormWindowEditor" << form << parent; + if (Designer::Constants::Internal::debug) + qDebug() << Q_FUNC_INFO << form << parent; connect(m_file, SIGNAL(reload(QString)), this, SLOT(slotOpen(QString))); connect(m_file, SIGNAL(setDisplayName(QString)), this, SLOT(slotSetDisplayName(QString))); @@ -130,8 +128,8 @@ FormWindowEditor::~FormWindowEditor() delete m_toolBar; delete m_host; delete m_editorWidget; - if (debugFormWindowEditor) - qDebug() << "FormWindowEditor::~FormWindowEditor" << m_displayName; + if (Designer::Constants::Internal::debug) + qDebug() << Q_FUNC_INFO << m_displayName; if (m_sessionNode && m_sessionWatcher) { m_sessionNode->unregisterWatcher(m_sessionWatcher); delete m_sessionWatcher; @@ -140,8 +138,8 @@ FormWindowEditor::~FormWindowEditor() bool FormWindowEditor::createNew(const QString &contents) { - if (debugFormWindowEditor) - qDebug() << "FormWindowEditor::createNew()" << contents.size() << "chars"; + if (Designer::Constants::Internal::debug) + qDebug() << Q_FUNC_INFO << contents.size() << "chars"; if (!m_formWindow) return false; @@ -157,8 +155,8 @@ bool FormWindowEditor::createNew(const QString &contents) bool FormWindowEditor::open(const QString &fileName /*= QString()*/) { - if (debugFormWindowEditor) - qDebug() << "FormWindowEditor::open" << fileName; + if (Designer::Constants::Internal::debug) + qDebug() << Q_FUNC_INFO << fileName; if (fileName.isEmpty()) { setDisplayName(tr("untitled")); @@ -240,8 +238,8 @@ void FormWindowEditor::slotOpen(const QString &fileName) void FormWindowEditor::slotSetDisplayName(const QString &title) { - if (debugFormWindowEditor) - qDebug() << "FormWindowEditor::slotSetDisplayName" << title; + if (Designer::Constants::Internal::debug) + qDebug() << Q_FUNC_INFO << title; setDisplayName(title); } @@ -304,8 +302,8 @@ QWidget *FormWindowEditor::widget() bool FormWindowEditor::generateCode(QByteArray &header, QString &errorMessage) const { - if (debugFormWindowEditor) - qDebug() << "FormWindowEditor::generateCode"; + if (Designer::Constants::Internal::debug) + qDebug() << Q_FUNC_INFO; QString tempPattern = QDir::tempPath(); if (!tempPattern.endsWith(QDir::separator())) // platform-dependant diff --git a/src/plugins/designer/formwindowfile.cpp b/src/plugins/designer/formwindowfile.cpp index f638c04358c..f2d833642a4 100644 --- a/src/plugins/designer/formwindowfile.cpp +++ b/src/plugins/designer/formwindowfile.cpp @@ -53,9 +53,6 @@ using namespace Designer::Internal; using namespace Designer::Constants; using namespace SharedTools; -enum { debugFormWindowFile = 0 }; - - FormWindowFile::FormWindowFile(QDesignerFormWindowInterface *form, QObject *parent) : Core::IFile(parent), m_mimeType(QLatin1String(FORM_MIMETYPE)), @@ -67,8 +64,8 @@ bool FormWindowFile::save(const QString &name /*= QString()*/) { const QString actualName = name.isEmpty() ? fileName() : name; - if (debugFormWindowFile) - qDebug() << "FormWindowFile::save" << name << "->" << actualName; + if (Designer::Constants::Internal::debug) + qDebug() << Q_FUNC_INFO << name << "->" << actualName; if (actualName.isEmpty()) return false; @@ -118,8 +115,8 @@ bool FormWindowFile::isSaveAsAllowed() const void FormWindowFile::modified(Core::IFile::ReloadBehavior *behavior) { - if (debugFormWindowFile) - qDebug() << "FormWindowFile::modified" << m_fileName << *behavior; + if (Designer::Constants::Internal::debug) + qDebug() << Q_FUNC_INFO << m_fileName << *behavior; switch (*behavior) { case Core::IFile::ReloadNone: @@ -157,8 +154,8 @@ QString FormWindowFile::defaultPath() const void FormWindowFile::setSuggestedFileName(const QString &fileName) { - if (debugFormWindowFile) - qDebug() << "FormWindowFile:setSuggestedFileName" << m_fileName << fileName; + if (Designer::Constants::Internal::debug) + qDebug() << Q_FUNC_INFO << m_fileName << fileName; m_suggestedName = fileName; } @@ -175,8 +172,8 @@ QString FormWindowFile::mimeType() const bool FormWindowFile::writeFile(const QString &fileName, QString &errorString) const { - if (debugFormWindowFile) - qDebug() << "FormWindowFile::writeFile" << m_fileName << fileName; + if (Designer::Constants::Internal::debug) + qDebug() << Q_FUNC_INFO << m_fileName << fileName; QFile file(fileName); if (!file.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Truncate)) { diff --git a/src/plugins/designer/formwindowhost.cpp b/src/plugins/designer/formwindowhost.cpp index e1de87af80e..a2f3da0f0f9 100644 --- a/src/plugins/designer/formwindowhost.cpp +++ b/src/plugins/designer/formwindowhost.cpp @@ -44,8 +44,6 @@ using namespace Designer::Internal; using namespace SharedTools; -enum { debugFormWindowHost = 0 }; - FormWindowHost::FormWindowHost(QDesignerFormWindowInterface *form, QWidget *parent) : WidgetHost(parent, form) @@ -57,14 +55,14 @@ FormWindowHost::FormWindowHost(QDesignerFormWindowInterface *form, FormWindowHost::~FormWindowHost() { - if (debugFormWindowHost) - qDebug() << "FormWindowHost::~FormWindowHost"; + if (Designer::Constants::Internal::debug) + qDebug() << Q_FUNC_INFO; } void FormWindowHost::formSizeChanged(int w, int h) { - if (debugFormWindowHost) - qDebug() << "FormWindowHost::formSizeChanged" << w << h; + if (Designer::Constants::Internal::debug) + qDebug() << Q_FUNC_INFO << w << h; formWindow()->setDirty(true); static const QString geometry = QLatin1String("geometry"); diff --git a/src/plugins/designer/formwizard.cpp b/src/plugins/designer/formwizard.cpp index d69c2abbbbc..77029f6500a 100644 --- a/src/plugins/designer/formwizard.cpp +++ b/src/plugins/designer/formwizard.cpp @@ -39,8 +39,6 @@ #include #include -enum { debugFormWizard = 0 }; - using namespace Designer; using namespace Designer::Internal; diff --git a/src/plugins/designer/settingsmanager.cpp b/src/plugins/designer/settingsmanager.cpp index 3edad0921b8..a827ddf162a 100644 --- a/src/plugins/designer/settingsmanager.cpp +++ b/src/plugins/designer/settingsmanager.cpp @@ -32,26 +32,23 @@ ***************************************************************************/ #include "settingsmanager.h" +#include "designerconstants.h" #include using namespace Designer::Internal; -namespace { - bool debug = false; -} - void SettingsManager::beginGroup(const QString &prefix) { - if (debug) - qDebug() << "Designer - beginning group " << addPrefix(prefix); + if (Designer::Constants::Internal::debug) + qDebug() << Q_FUNC_INFO << addPrefix(prefix); m_settings.beginGroup(addPrefix(prefix)); } void SettingsManager::endGroup() { - if (debug) - qDebug() << "Designer - end group"; + if (Designer::Constants::Internal::debug) + qDebug() << Q_FUNC_INFO; m_settings.endGroup(); } @@ -62,16 +59,16 @@ bool SettingsManager::contains(const QString &key) const void SettingsManager::setValue(const QString &key, const QVariant &value) { - if (debug) - qDebug() << "Designer - storing " << addPrefix(key) << ": " << value; + if (Designer::Constants::Internal::debug) + qDebug() << Q_FUNC_INFO << addPrefix(key) << ": " << value; m_settings.setValue(addPrefix(key), value); } QVariant SettingsManager::value(const QString &key, const QVariant &defaultValue) const { QVariant result = m_settings.value(addPrefix(key), defaultValue); - if (debug) - qDebug() << "Designer - retrieving " << addPrefix(key) << ": " << result; + if (Designer::Constants::Internal::debug) + qDebug() << Q_FUNC_INFO << addPrefix(key) << ": " << result; return result; } diff --git a/src/plugins/designer/workbenchintegration.cpp b/src/plugins/designer/workbenchintegration.cpp index 9e25f80432a..6f699b83817 100644 --- a/src/plugins/designer/workbenchintegration.cpp +++ b/src/plugins/designer/workbenchintegration.cpp @@ -59,7 +59,6 @@ #include #include -enum { debugSlotNavigation = 0 }; enum { indentation = 4 }; using namespace Designer::Internal; @@ -149,7 +148,7 @@ static bool matchMemberClassName(const QString &needle, const QString &hayStack) // Find class definition in namespace static const Class *findClass(const Namespace *parentNameSpace, const QString &className, QString *namespaceName) { - if (debugSlotNavigation) + if (Designer::Constants::Internal::debug) qDebug() << Q_FUNC_INFO << className; const Overview o; @@ -487,7 +486,7 @@ static ClassDocumentPtrPair const Document::Ptr &doc, const QString &className, unsigned maxIncludeDepth, QString *namespaceName) { - if (debugSlotNavigation) + if (Designer::Constants::Internal::debug) qDebug() << Q_FUNC_INFO << doc->fileName() << maxIncludeDepth; // Check document if (const Class *cl = findClass(doc->globalNamespace(), className, namespaceName)) @@ -548,8 +547,8 @@ bool WorkbenchIntegration::navigateToSlot(const QString &objectName, const CPlusPlus::Snapshot docTable = cppModelManagerInstance()->snapshot(); QList docList = findDocumentsIncluding(docTable, uicedName, true); // change to false when we know the absolute path to generated ui_<>.h file - if (debugSlotNavigation) - qDebug() << objectName << signalSignature << "Looking for " << uicedName << " returned " << docList.size(); + if (Designer::Constants::Internal::debug) + qDebug() << Q_FUNC_INFO << objectName << signalSignature << "Looking for " << uicedName << " returned " << docList.size(); if (docList.isEmpty()) { *errorMessage = tr("No documents matching %1 could be found.").arg(uicedName); return false; @@ -559,7 +558,7 @@ bool WorkbenchIntegration::navigateToSlot(const QString &objectName, const QString uiClass = uiClassName(fwi->mainContainer()->objectName()); - if (debugSlotNavigation) + if (Designer::Constants::Internal::debug) qDebug() << "Checking docs for " << uiClass; // Find the class definition in the file itself or in the directly @@ -587,8 +586,8 @@ bool WorkbenchIntegration::navigateToSlot(const QString &objectName, const QString functionName = QLatin1String("on_") + objectName + QLatin1Char('_') + signalSignature; const QString functionNameWithParameterNames = addParameterNames(functionName, parameterNames); - if (debugSlotNavigation) - qDebug() << "Found " << uiClass << doc->fileName() << " checking " << functionName << functionNameWithParameterNames; + if (Designer::Constants::Internal::debug) + qDebug() << Q_FUNC_INFO << "Found " << uiClass << doc->fileName() << " checking " << functionName << functionNameWithParameterNames; int line = 0; Document::Ptr sourceDoc; From 59f45976be5a5158a29f289f896aec03386a15b2 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 21 Jan 2009 12:16:27 +0100 Subject: [PATCH 06/16] debugger: use single instead of double quotes for dumper output. This makes both source and log files more readable and also prevents gdb from applying extra quoting of its own. --- bin/gdbmacros/gdbmacros.cpp | 179 ++++++++++++++--------------- src/plugins/debugger/gdbengine.cpp | 26 +---- 2 files changed, 94 insertions(+), 111 deletions(-) diff --git a/bin/gdbmacros/gdbmacros.cpp b/bin/gdbmacros/gdbmacros.cpp index 7f8f4cc8ef9..5b9b36d1282 100644 --- a/bin/gdbmacros/gdbmacros.cpp +++ b/bin/gdbmacros/gdbmacros.cpp @@ -36,24 +36,42 @@ // this relies on contents copied from qobject_p.h #define PRIVATE_OBJECT_ALLOWED 1 -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +int qtGhVersion = QT_VERSION; + +#ifdef QT_GUI_LIB +# include +# include +#endif + +#include +#include +#include +#include + +#include +#include + +#ifdef Q_OS_WIN +# include +#endif /*! \class QDumper @@ -91,7 +109,7 @@ 'P(d, name, value)' roughly expands to: - d << (name) << "=\"" << value << "\""; + d << (name) << "='" << value << "'"; Useful (i.e. understood by the IDE) names include: @@ -117,25 +135,6 @@ */ -int qtGhVersion = QT_VERSION; - -#ifdef QT_GUI_LIB -# include -# include -#endif - -#include -#include -#include -#include - -#include -#include - -#ifdef Q_OS_WIN -# include -#endif - #undef NS #ifdef QT_NAMESPACE # define STRINGIFY0(s) #s @@ -552,7 +551,7 @@ void QDumper::addCommaIfNeeded() if (pos == 0) return; char c = qDumpOutBuffer[pos - 1]; - if (c == '}' || c == '"' || c == ']') + if (c == '}' || c == '\'' || c == ']') put(','); } @@ -631,7 +630,7 @@ void QDumper::endHash() void QDumper::putEllipsis() { addCommaIfNeeded(); - *this << "{name=\"\",value=\"\",type=\"" << innertype << "\"}"; + *this << "{name='',value='',type='" << innertype << "'}"; } // @@ -643,7 +642,7 @@ void QDumper::putEllipsis() #define P(dumper,name,value) \ do { \ dumper.addCommaIfNeeded(); \ - dumper << (name) << "=\"" << value << "\""; \ + dumper << (name) << "='" << value << "'"; \ } while (0) // simple string property @@ -741,7 +740,7 @@ static void qDumpInnerValueHelper(QDumper &d, const char *type, const void *addr return; case 'B': if (isEqual(type, "QByteArray")) { - d << key << "encoded=\"1\","; + d << key << "encoded='1',"; P(d, key, *(QByteArray*)addr); } return; @@ -770,7 +769,7 @@ static void qDumpInnerValueHelper(QDumper &d, const char *type, const void *addr return; case 'S': if (isEqual(type, "QString")) { - d << key << "encoded=\"1\","; + d << key << "encoded='1',"; P(d, key, *(QString*)addr); } return; @@ -837,7 +836,7 @@ static void qDumpQByteArray(QDumper &d) char buf[20]; for (int i = 0; i != ba.size(); ++i) { unsigned char c = ba.at(i); - unsigned char u = isprint(c) && c != '"' ? c : '?'; + unsigned char u = (isprint(c) && c != '\'' && c != '"') ? c : '?'; sprintf(buf, "%02x (%u '%c')", c, c, u); d.beginHash(); P(d, "name", "[" << i << "]"); @@ -2009,7 +2008,7 @@ static void qDumpQVariantHelper(const void *data, QString *value, *numchild = 0; break; case QVariant::String: - *value = QLatin1Char('"') + v.toString() + QLatin1Char('"'); + *value = QLatin1Char('\'') + v.toString() + QLatin1Char('\''); *numchild = 0; break; case QVariant::StringList: @@ -2241,9 +2240,9 @@ static void qDumpStdString(QDumper &d) qCheckAccess(str.c_str() + str.size() - 1); } - d << ",value=\""; + d << ",value='"; d.putBase64Encoded(str.c_str(), str.size()); - d << "\""; + d << "'"; P(d, "valueencoded", "1"); P(d, "type", "std::string"); P(d, "numchild", "0"); @@ -2260,9 +2259,9 @@ static void qDumpStdWString(QDumper &d) qCheckAccess(str.c_str() + str.size() - 1); } - d << "value=\""; + d << "value='"; d.putBase64Encoded((const char *)str.c_str(), str.size() * sizeof(wchar_t)); - d << "\""; + d << "'"; P(d, "valueencoded", (sizeof(wchar_t) == 2 ? "2" : "3")); P(d, "type", "std::wstring"); P(d, "numchild", "0"); @@ -2483,54 +2482,54 @@ void qDumpObjectData440( // They are mentioned here nevertheless. For types that not listed // here, dumpers won't be used. d << "dumpers=[" - "\""NS"QByteArray\"," - "\""NS"QDateTime\"," - "\""NS"QDir\"," - "\""NS"QFile\"," - "\""NS"QFileInfo\"," - "\""NS"QHash\"," - "\""NS"QHashNode\"," - "\""NS"QImage\"," - "\""NS"QLinkedList\"," - "\""NS"QList\"," - "\""NS"QLocale\"," - "\""NS"QMap\"," - "\""NS"QMapNode\"," - "\""NS"QModelIndex\"," + "'"NS"QByteArray'," + "'"NS"QDateTime'," + "'"NS"QDir'," + "'"NS"QFile'," + "'"NS"QFileInfo'," + "'"NS"QHash'," + "'"NS"QHashNode'," + "'"NS"QImage'," + "'"NS"QLinkedList'," + "'"NS"QList'," + "'"NS"QLocale'," + "'"NS"QMap'," + "'"NS"QMapNode'," + "'"NS"QModelIndex'," #if QT_VERSION >= 0x040500 - "\""NS"QMultiMap\"," + "'"NS"QMultiMap'," #endif - "\""NS"QObject\"," - "\""NS"QObjectMethodList\"," // hack to get nested properties display - "\""NS"QObjectPropertyList\"," + "'"NS"QObject'," + "'"NS"QObjectMethodList'," // hack to get nested properties display + "'"NS"QObjectPropertyList'," #if PRIVATE_OBJECT_ALLOWED - "\""NS"QObjectSignal\"," - "\""NS"QObjectSignalList\"," - "\""NS"QObjectSlot\"," - "\""NS"QObjectSlotList\"," + "'"NS"QObjectSignal'," + "'"NS"QObjectSignalList'," + "'"NS"QObjectSlot'," + "'"NS"QObjectSlotList'," #endif // PRIVATE_OBJECT_ALLOWED - // << "\""NS"QRegion\"," - "\""NS"QSet\"," - "\""NS"QString\"," - "\""NS"QStringList\"," - "\""NS"QTextCodec\"," - "\""NS"QVariant\"," - "\""NS"QVector\"," - "\""NS"QWidget\"," - "\"string\"," - "\"wstring\"," - "\"std::basic_string\"," - "\"std::list\"," - "\"std::map\"," - "\"std::string\"," - "\"std::vector\"," - "\"std::wstring\"," + // << "'"NS"QRegion'," + "'"NS"QSet'," + "'"NS"QString'," + "'"NS"QStringList'," + "'"NS"QTextCodec'," + "'"NS"QVariant'," + "'"NS"QVector'," + "'"NS"QWidget'," + "'string'," + "'wstring'," + "'std::basic_string'," + "'std::list'," + "'std::map'," + "'std::string'," + "'std::vector'," + "'std::wstring'," "]"; d << ",qtversion=[" - "\"" << ((QT_VERSION >> 16) & 255) << "\"," - "\"" << ((QT_VERSION >> 8) & 255) << "\"," - "\"" << ((QT_VERSION) & 255) << "\"]"; - d << ",namespace=\""NS"\""; + "'" << ((QT_VERSION >> 16) & 255) << "'," + "'" << ((QT_VERSION >> 8) & 255) << "'," + "'" << ((QT_VERSION) & 255) << "']"; + d << ",namespace='"NS"'"; d.disarm(); } diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp index 36711c0325a..4b84c88cb7f 100644 --- a/src/plugins/debugger/gdbengine.cpp +++ b/src/plugins/debugger/gdbengine.cpp @@ -467,20 +467,6 @@ void GdbEngine::handleResponse() break; } - case '#': { - //qDebug() << "CUSTOM OUTPUT, TOKEN" << token; - QString str; - for (; from != to && *from >= '0' && *from <= '9'; ++from) - str += QLatin1Char(*from); - ++from; // skip the ' ' - int len = str.toInt(); - QByteArray ba(from, len); - from += len; - m_inbuffer = QByteArray(from, to - from); - m_customOutputForToken[token] += QString(ba); - break; - } - case '^': { GdbResultRecord record; @@ -3320,9 +3306,9 @@ void GdbEngine::handleQueryDataDumper2(const GdbResultRecord &record) GdbMi output = record.data.findChild("consolestreamoutput"); QByteArray out = output.data(); out = out.mid(out.indexOf('"') + 2); // + 1 is success marker - out = out.replace('\\', ""); out = out.left(out.lastIndexOf('"')); - out = "result={" + out + "}"; + out = out.replace('\'', '"'); + out = "dummy={" + out + "}"; //qDebug() << "OUTPUT: " << out; GdbMi contents; @@ -3507,14 +3493,12 @@ void GdbEngine::handleDumpCustomValue2(const GdbResultRecord &record, //qDebug() << "CUSTOM VALUE RESULT: " << record.toString(); //qDebug() << "FOR DATA: " << data.toString() << record.resultClass; if (record.resultClass == GdbResultDone) { - //GdbMi output = record.data.findChild("customvaluecontents"); - GdbMi output = record.data.findChild("consolestreamoutput"); QByteArray out = output.data(); - out = out.mid(out.indexOf('"') + 2); // +1 is the 'success marker' - out = out.replace('\\', ""); + out = out.mid(out.indexOf('"') + 2); // + 1 is the 'success marker' out = out.left(out.lastIndexOf('"')); - out = "result={" + out + "}"; + out = out.replace('\'', '"'); + out = "dummy={" + out + "}"; //qDebug() << "OUTPUT: " << out; GdbMi contents; From 95aad08aadf6046aa02bbfad4cbcda2d5710001a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= Date: Wed, 21 Jan 2009 12:49:20 +0100 Subject: [PATCH 07/16] Some shortcut settings improvements Don't display the useless "Other" category, since the categorization of commands isn't used anywhere (candidate for removal). Filter out accelerator ampersands, since they aren't interesting here and reduce the effectiveness of searching. --- .../actionmanager/actionmanager.cpp | 2 +- .../actionmanager/actionmanager_p.h | 2 +- .../coreplugin/dialogs/shortcutsettings.cpp | 44 ++++++------------- .../coreplugin/dialogs/shortcutsettings.ui | 3 ++ 4 files changed, 19 insertions(+), 32 deletions(-) diff --git a/src/plugins/coreplugin/actionmanager/actionmanager.cpp b/src/plugins/coreplugin/actionmanager/actionmanager.cpp index 9101801ac73..b5a1e5cc0c6 100644 --- a/src/plugins/coreplugin/actionmanager/actionmanager.cpp +++ b/src/plugins/coreplugin/actionmanager/actionmanager.cpp @@ -222,7 +222,7 @@ ActionManagerPrivate::~ActionManagerPrivate() qDeleteAll(m_idContainerMap.values()); } -ActionManagerPrivate* ActionManagerPrivate::instance() +ActionManagerPrivate *ActionManagerPrivate::instance() { return m_instance; } diff --git a/src/plugins/coreplugin/actionmanager/actionmanager_p.h b/src/plugins/coreplugin/actionmanager/actionmanager_p.h index 31513276ec1..f1e106c4bf7 100644 --- a/src/plugins/coreplugin/actionmanager/actionmanager_p.h +++ b/src/plugins/coreplugin/actionmanager/actionmanager_p.h @@ -69,7 +69,7 @@ public: ~ActionManagerPrivate(); void setContext(const QList &context); - static ActionManagerPrivate* instance(); + static ActionManagerPrivate *instance(); void saveSettings(QSettings *settings); QList defaultGroups() const; diff --git a/src/plugins/coreplugin/dialogs/shortcutsettings.cpp b/src/plugins/coreplugin/dialogs/shortcutsettings.cpp index 3d51e00b874..b245d5ced59 100644 --- a/src/plugins/coreplugin/dialogs/shortcutsettings.cpp +++ b/src/plugins/coreplugin/dialogs/shortcutsettings.cpp @@ -34,14 +34,13 @@ #include "shortcutsettings.h" #include "ui_shortcutsettings.h" #include "actionmanager_p.h" +#include "actionmanager/command.h" #include "command_p.h" -#include "coreconstants.h" -#include "coreimpl.h" #include "commandsfile.h" +#include "coreconstants.h" #include "filemanager.h" - -#include -#include +#include "icore.h" +#include "uniqueidmanager.h" #include #include @@ -232,11 +231,10 @@ void ShortcutSettings::removeKeySequence() void ShortcutSettings::importAction() { - UniqueIDManager *uidm = - CoreImpl::instance()->uniqueIDManager(); + UniqueIDManager *uidm = UniqueIDManager::instance(); QString fileName = QFileDialog::getOpenFileName(0, tr("Import Keyboard Mapping Scheme"), - CoreImpl::instance()->resourcePath() + "/schemes/", + ICore::instance()->resourcePath() + "/schemes/", tr("Keyboard Mapping Scheme (*.kms)")); if (!fileName.isEmpty()) { CommandsFile cf(fileName); @@ -266,9 +264,9 @@ void ShortcutSettings::defaultAction() void ShortcutSettings::exportAction() { - QString fileName = CoreImpl::instance()->fileManager()->getSaveFileNameWithExtension( + QString fileName = ICore::instance()->fileManager()->getSaveFileNameWithExtension( tr("Export Keyboard Mapping Scheme"), - CoreImpl::instance()->resourcePath() + "/schemes/", + ICore::instance()->resourcePath() + "/schemes/", tr("Keyboard Mapping Scheme (*.kms)"), ".kms"); if (!fileName.isEmpty()) { @@ -279,16 +277,11 @@ void ShortcutSettings::exportAction() void ShortcutSettings::initialize() { - QMap categories; - m_am = ActionManagerPrivate::instance(); - UniqueIDManager *uidm = - CoreImpl::instance()->uniqueIDManager(); + UniqueIDManager *uidm = UniqueIDManager::instance(); - QList cmds = m_am->commands(); - for (int i = 0; i < cmds.size(); ++i) { - CommandPrivate *c = cmds.at(i); - if (c->hasAttribute(CommandPrivate::CA_NonConfigureable)) + foreach (Command *c, m_am->commands()) { + if (c->hasAttribute(Command::CA_NonConfigureable)) continue; if (c->action() && c->action()->isSeparator()) continue; @@ -296,24 +289,15 @@ void ShortcutSettings::initialize() QTreeWidgetItem *item = 0; ShortcutItem *s = new ShortcutItem; m_scitems << s; - if (c->category().isEmpty()) { - item = new QTreeWidgetItem(m_page->commandList); - } else { - if (!categories.contains(c->category())) { - QTreeWidgetItem *cat = new QTreeWidgetItem(m_page->commandList); - cat->setText(0, c->category()); - categories.insert(c->category(), cat); - cat->setExpanded(true); - } - item = new QTreeWidgetItem(categories.value(c->category())); - } + item = new QTreeWidgetItem(m_page->commandList); s->m_cmd = c; s->m_item = item; item->setText(0, uidm->stringForUniqueIdentifier(c->id())); if (c->action()) { - QString text = c->hasAttribute(CommandPrivate::CA_UpdateText) && !c->defaultText().isNull() ? c->defaultText() : c->action()->text(); + QString text = c->hasAttribute(Command::CA_UpdateText) && !c->defaultText().isNull() ? c->defaultText() : c->action()->text(); + text.remove(QRegExp("&(?!&)")); s->m_key = c->action()->shortcut(); item->setText(1, text); } else { diff --git a/src/plugins/coreplugin/dialogs/shortcutsettings.ui b/src/plugins/coreplugin/dialogs/shortcutsettings.ui index f1cc3f795a5..867b021f94e 100644 --- a/src/plugins/coreplugin/dialogs/shortcutsettings.ui +++ b/src/plugins/coreplugin/dialogs/shortcutsettings.ui @@ -36,6 +36,9 @@ + + false + true From 5b50ffc20db6fe13ab4926d706bb40e3ddc08cda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= Date: Wed, 21 Jan 2009 13:33:58 +0100 Subject: [PATCH 08/16] Cleaned up usages of CoreImpl::instance The instance method has been moved to ICore, so there is generally no need to include coreimpl.h anymore. Many objects accessed through this core instance also had their own static instance methods. --- .../actionmanager/actioncontainer.cpp | 11 ++++------- .../coreplugin/actionmanager/commandsfile.cpp | 5 ++--- .../coreplugin/dialogs/settingsdialog.cpp | 1 - src/plugins/coreplugin/editmode.cpp | 7 +++---- .../coreplugin/editormanager/editormanager.cpp | 17 +++++++++-------- .../editormanager/openeditorsview.cpp | 4 ++-- .../editormanager/stackededitorgroup.cpp | 3 +-- src/plugins/coreplugin/mainwindow.cpp | 2 +- src/plugins/coreplugin/modemanager.cpp | 1 - .../progressmanager/progressmanager.cpp | 5 ++--- src/plugins/coreplugin/uniqueidmanager.h | 2 +- src/plugins/coreplugin/versiondialog.cpp | 4 ++-- src/plugins/coreplugin/welcomemode.cpp | 5 ++--- 13 files changed, 29 insertions(+), 38 deletions(-) diff --git a/src/plugins/coreplugin/actionmanager/actioncontainer.cpp b/src/plugins/coreplugin/actionmanager/actioncontainer.cpp index bf2d49826c0..d8c7a1930c4 100644 --- a/src/plugins/coreplugin/actionmanager/actioncontainer.cpp +++ b/src/plugins/coreplugin/actionmanager/actioncontainer.cpp @@ -35,7 +35,6 @@ #include "actionmanager_p.h" #include "command_p.h" -#include "coreimpl.h" #include "coreconstants.h" #include "uniqueidmanager.h" @@ -150,15 +149,13 @@ bool ActionContainerPrivate::hasState(ContainerState state) const void ActionContainerPrivate::appendGroup(const QString &group) { - UniqueIDManager *idmanager = CoreImpl::instance()->uniqueIDManager(); - int gid = idmanager->uniqueIdentifier(group); + int gid = UniqueIDManager::instance()->uniqueIdentifier(group); m_groups << gid; } QAction *ActionContainerPrivate::insertLocation(const QString &group) const { - UniqueIDManager *idmanager = CoreImpl::instance()->uniqueIDManager(); - int grpid = idmanager->uniqueIdentifier(group); + int grpid = UniqueIDManager::instance()->uniqueIdentifier(group); int prevKey = 0; int pos = ((grpid << 16) | 0xFFFF); return beforeAction(pos, &prevKey); @@ -181,7 +178,7 @@ void ActionContainerPrivate::addAction(Command *action, const QString &group) } a->setStateFlags(a->stateFlags() | CommandPrivate::CS_Initialized); } else { - UniqueIDManager *idmanager = CoreImpl::instance()->uniqueIDManager(); + UniqueIDManager *idmanager = UniqueIDManager::instance(); int grpid = idmanager->uniqueIdentifier(Constants::G_DEFAULT_TWO); if (!group.isEmpty()) grpid = idmanager->uniqueIdentifier(group); @@ -208,7 +205,7 @@ void ActionContainerPrivate::addMenu(ActionContainer *menu, const QString &group } mc->setState(ActionContainerPrivate::CS_Initialized); } else { - UniqueIDManager *idmanager = CoreImpl::instance()->uniqueIDManager(); + UniqueIDManager *idmanager = UniqueIDManager::instance(); int grpid = idmanager->uniqueIdentifier(Constants::G_DEFAULT_TWO); if (!group.isEmpty()) grpid = idmanager->uniqueIdentifier(group); diff --git a/src/plugins/coreplugin/actionmanager/commandsfile.cpp b/src/plugins/coreplugin/actionmanager/commandsfile.cpp index abdecf43660..85d7d172a1d 100644 --- a/src/plugins/coreplugin/actionmanager/commandsfile.cpp +++ b/src/plugins/coreplugin/actionmanager/commandsfile.cpp @@ -31,7 +31,6 @@ ** ***************************************************************************/ -#include "coreimpl.h" #include "commandsfile.h" #include "shortcutsettings.h" #include "command_p.h" @@ -100,7 +99,7 @@ QMap CommandsFile::importCommands() const */ bool CommandsFile::exportCommands(const QList &items) { - UniqueIDManager *idmanager = CoreImpl::instance()->uniqueIDManager(); + UniqueIDManager *idmanager = UniqueIDManager::instance(); QFile file(m_filename); if (!file.open(QIODevice::WriteOnly)) @@ -110,7 +109,7 @@ bool CommandsFile::exportCommands(const QList &items) QDomElement root = doc.createElement("mapping"); doc.appendChild(root); - for (int i=0; istringForUniqueIdentifier(item->m_cmd->id())); diff --git a/src/plugins/coreplugin/dialogs/settingsdialog.cpp b/src/plugins/coreplugin/dialogs/settingsdialog.cpp index 547c0f2d40d..7e48417d2ce 100644 --- a/src/plugins/coreplugin/dialogs/settingsdialog.cpp +++ b/src/plugins/coreplugin/dialogs/settingsdialog.cpp @@ -32,7 +32,6 @@ ***************************************************************************/ #include "settingsdialog.h" -#include "coreimpl.h" #include diff --git a/src/plugins/coreplugin/editmode.cpp b/src/plugins/coreplugin/editmode.cpp index dacb31e355c..e5de7124485 100644 --- a/src/plugins/coreplugin/editmode.cpp +++ b/src/plugins/coreplugin/editmode.cpp @@ -34,7 +34,6 @@ #include "editmode.h" #include "editormanager.h" #include "coreconstants.h" -#include "coreimpl.h" #include "modemanager.h" #include "uniqueidmanager.h" #include "minisplitter.h" @@ -122,9 +121,9 @@ const char* EditMode::uniqueModeName() const QList EditMode::context() const { static QList contexts = QList() << - CoreImpl::instance()->uniqueIDManager()->uniqueIdentifier(Constants::C_EDIT_MODE) << - CoreImpl::instance()->uniqueIDManager()->uniqueIdentifier(Constants::C_EDITORMANAGER) << - CoreImpl::instance()->uniqueIDManager()->uniqueIdentifier(Constants::C_NAVIGATION_PANE); + UniqueIDManager::instance()->uniqueIdentifier(Constants::C_EDIT_MODE) << + UniqueIDManager::instance()->uniqueIdentifier(Constants::C_EDITORMANAGER) << + UniqueIDManager::instance()->uniqueIdentifier(Constants::C_NAVIGATION_PANE); return contexts; } diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index 5b8bee111e9..d3aac99cb5d 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -32,19 +32,19 @@ ***************************************************************************/ #include "editormanager.h" +#include "editorgroup.h" #include "editorsplitter.h" +#include "openeditorsview.h" #include "openeditorswindow.h" #include "openwithdialog.h" #include "filemanager.h" -#include "tabpositionindicator.h" -#include "saveitemsdialog.h" -#include "vcsmanager.h" +#include "icore.h" #include "iversioncontrol.h" -#include "openeditorsview.h" -#include "editorgroup.h" #include "mimedatabase.h" +#include "saveitemsdialog.h" +#include "tabpositionindicator.h" +#include "vcsmanager.h" -#include #include #include #include @@ -68,6 +68,7 @@ #include #include #include +#include #include #include #include @@ -649,7 +650,7 @@ bool EditorManager::closeEditors(const QList editorsToClose, bool askA //ask whether to save modified files if (askAboutModifiedEditors) { bool cancelled = false; - QList list = CoreImpl::instance()->fileManager()-> + QList list = ICore::instance()->fileManager()-> saveModifiedFiles(filesForEditors(acceptedEditors), &cancelled); if (cancelled) return false; @@ -1549,7 +1550,7 @@ void EditorManager::openInExternalEditor() return; if (editor->file()->isModified()) { bool cancelled = false; - QList list = CoreImpl::instance()->fileManager()-> + QList list = ICore::instance()->fileManager()-> saveModifiedFiles(QList() << editor->file(), &cancelled); if (cancelled) return; diff --git a/src/plugins/coreplugin/editormanager/openeditorsview.cpp b/src/plugins/coreplugin/editormanager/openeditorsview.cpp index 63950714942..77e44faaa05 100644 --- a/src/plugins/coreplugin/editormanager/openeditorsview.cpp +++ b/src/plugins/coreplugin/editormanager/openeditorsview.cpp @@ -34,7 +34,7 @@ #include "openeditorsview.h" #include "editorgroup.h" #include "editormanager.h" -#include "coreimpl.h" +#include "icore.h" #include #include @@ -218,7 +218,7 @@ void OpenEditorsWidget::closeEditors() selectedEditors.append(item->data(0, Qt::UserRole).value()); selectedFiles.append(item->data(0, Qt::UserRole).value()->file()); } - ICore *core = CoreImpl::instance(); + ICore *core = ICore::instance(); bool cancelled = false; core->fileManager()->saveModifiedFiles(selectedFiles, &cancelled); if (cancelled) diff --git a/src/plugins/coreplugin/editormanager/stackededitorgroup.cpp b/src/plugins/coreplugin/editormanager/stackededitorgroup.cpp index fee513e2e7b..08e63b2773e 100644 --- a/src/plugins/coreplugin/editormanager/stackededitorgroup.cpp +++ b/src/plugins/coreplugin/editormanager/stackededitorgroup.cpp @@ -33,7 +33,6 @@ #include "stackededitorgroup.h" #include "editormanager.h" -#include "coreimpl.h" #include @@ -355,7 +354,7 @@ QList StackedEditorGroup::editorsInNaturalOrder() const void StackedEditorGroup::makeEditorWritable() { - CoreImpl::instance()->editorManager()->makeEditorWritable(currentEditor()); + EditorManager::instance()->makeEditorWritable(currentEditor()); } void StackedEditorGroup::listSelectionChanged(int index) diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp index 04ce8a346f4..93e2cb0b991 100644 --- a/src/plugins/coreplugin/mainwindow.cpp +++ b/src/plugins/coreplugin/mainwindow.cpp @@ -94,7 +94,7 @@ extern "C" void handleSigInt(int sig) { Q_UNUSED(sig); - Core::Internal::CoreImpl::instance()->exit(); + Core::ICore::instance()->exit(); qDebug() << "SIGINT caught. Shutting down."; } #endif diff --git a/src/plugins/coreplugin/modemanager.cpp b/src/plugins/coreplugin/modemanager.cpp index 24a0b6eac37..64006ff7236 100644 --- a/src/plugins/coreplugin/modemanager.cpp +++ b/src/plugins/coreplugin/modemanager.cpp @@ -42,7 +42,6 @@ #include #include #include -#include #include #include diff --git a/src/plugins/coreplugin/progressmanager/progressmanager.cpp b/src/plugins/coreplugin/progressmanager/progressmanager.cpp index 968d2bb9fc8..392e8aafa8d 100644 --- a/src/plugins/coreplugin/progressmanager/progressmanager.cpp +++ b/src/plugins/coreplugin/progressmanager/progressmanager.cpp @@ -33,10 +33,9 @@ #include "progressmanager_p.h" #include "progressview.h" -#include "coreimpl.h" #include "baseview.h" - #include "coreconstants.h" +#include "icore.h" #include "uniqueidmanager.h" #include @@ -48,7 +47,7 @@ ProgressManagerPrivate::ProgressManagerPrivate(QObject *parent) : ProgressManager(parent) { m_progressView = new ProgressView; - ICore *core = CoreImpl::instance(); + ICore *core = ICore::instance(); connect(core, SIGNAL(coreAboutToClose()), this, SLOT(cancelAllRunningTasks())); } diff --git a/src/plugins/coreplugin/uniqueidmanager.h b/src/plugins/coreplugin/uniqueidmanager.h index 0a8ed6fcd07..eff119762d7 100644 --- a/src/plugins/coreplugin/uniqueidmanager.h +++ b/src/plugins/coreplugin/uniqueidmanager.h @@ -47,7 +47,7 @@ public: UniqueIDManager(); ~UniqueIDManager(); - static UniqueIDManager* instance() { return m_instance; } + static UniqueIDManager *instance() { return m_instance; } bool hasUniqueIdentifier(const QString &id) const; int uniqueIdentifier(const QString &id); diff --git a/src/plugins/coreplugin/versiondialog.cpp b/src/plugins/coreplugin/versiondialog.cpp index a61e29e50d7..5ce821a8147 100644 --- a/src/plugins/coreplugin/versiondialog.cpp +++ b/src/plugins/coreplugin/versiondialog.cpp @@ -34,7 +34,7 @@ #include "versiondialog.h" #include "coreconstants.h" -#include "coreimpl.h" +#include "icore.h" #include @@ -121,7 +121,7 @@ void VersionDialog::popupLicense() layout->addWidget(buttonBox); // Read file into string - ICore * core = CoreImpl::instance(); + ICore *core = ICore::instance(); QTC_ASSERT(core, return); QString fileName = core->resourcePath() + "/license.txt"; QFile file(fileName); diff --git a/src/plugins/coreplugin/welcomemode.cpp b/src/plugins/coreplugin/welcomemode.cpp index ee66ac7f33c..7cd17e3ddcd 100644 --- a/src/plugins/coreplugin/welcomemode.cpp +++ b/src/plugins/coreplugin/welcomemode.cpp @@ -34,7 +34,6 @@ #include "welcomemode.h" #include "coreconstants.h" #include "uniqueidmanager.h" -#include "coreimpl.h" #include "modemanager.h" #if !defined(QT_NO_WEBKIT) @@ -193,7 +192,7 @@ const char* WelcomeMode::uniqueModeName() const QList WelcomeMode::context() const { static QList contexts = QList() - << CoreImpl::instance()->uniqueIDManager()->uniqueIdentifier(Constants::C_WELCOME_MODE); + << UniqueIDManager::instance()->uniqueIdentifier(Constants::C_WELCOME_MODE); return contexts; } @@ -250,7 +249,7 @@ void WelcomeMode::updateWelcomePage(const WelcomePageData &welcomePageData) void WelcomeMode::linkClicked(const QUrl &url) { QString scheme = url.scheme(); - Core::ModeManager *modeManager = CoreImpl::instance()->modeManager(); + Core::ModeManager *modeManager = ModeManager::instance(); if (scheme.startsWith(QLatin1String("gh"))) { QString s = url.toString(QUrl::RemoveScheme); if (scheme == QLatin1String("gh")) { From 47f4ccada7c70b8cce2a46872a26c572f6ac60d4 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 21 Jan 2009 13:58:04 +0100 Subject: [PATCH 09/16] Fixes: coding style: mention order #includes RevBy: partially by dt --- doc/coding-style.qdoc | 52 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 48 insertions(+), 4 deletions(-) diff --git a/doc/coding-style.qdoc b/doc/coding-style.qdoc index c2e886c85b3..fff5a4bd0fd 100644 --- a/doc/coding-style.qdoc +++ b/doc/coding-style.qdoc @@ -265,6 +265,7 @@ Whitespace Always use only one blank line Always use a single space after a keyword, and before a curly brace. +\code // Wrong if(foo){ } @@ -272,18 +273,24 @@ Whitespace // Correct if (foo) { } +\endcode For pointers or references, always use a single space before '*' or '&', but never after. Avoid C-style casts when possible. +\code // Wrong char* blockOfMemory = (char* ) malloc(data.size()); // Correct char *blockOfMemory = (char *)malloc(data.size()); char *blockOfMemory = reinterpret_cast(malloc(data.size())); +\endcode + Of course, in this particulare case, using \c new might be an even better + option. Braces As a base rule, the left curly brace goes on the same line as the start of the statement: +\code // Wrong if (codec) { @@ -292,8 +299,10 @@ Braces // Correct if (codec) { } +\endcode Exception: Function implementations and class declarations always have the left brace on the start of a line: +\code static void foo(int g) { qDebug("foo: %i", g); @@ -302,8 +311,10 @@ Braces class Moo { }; +\endcode Use curly braces when the body of a conditional statement contains more than one line, and also if a single line statement is somewhat complex. +\code // Wrong if (address.isEmpty()) { return false; @@ -319,15 +330,19 @@ Braces for (int i = 0; i < 10; ++i) qDebug("%i", i); +\endcode Exception 1: Use braces also if the parent statement covers several lines / wraps +\code // Correct if (address.isEmpty() || !isValid() || !codec) { return false; } +\endcode Exception 2: Use braces also in if-then-else blocks where either the if-code or the else-code covers several lines +\code // Wrong if (address.isEmpty()) --it; @@ -358,16 +373,20 @@ Braces else ... } +\endcode Use curly braces when the body of a conditional statement is empty +\code // Wrong while (a); // Correct while (a) {} +\endcode Parentheses Use parentheses to group expressions: +\code // Wrong if (a && b || c) @@ -379,10 +398,12 @@ Parentheses // Correct (a + b) & c +\endcode Line breaks Keep lines shorter than 100 characters; insert line breaks if necessary. Commas go at the end of a broken line; operators start at the beginning of the new line. The operator is at the end of the line to avoid having to scroll if your editor is too narrow. +\code // Wrong if (longExpression + otherLongExpression + @@ -394,10 +415,7 @@ Line breaks + otherLongExpression + otherOtherLongExpression) { } - - - - +\endcode \section2 Declarations @@ -424,6 +442,32 @@ Line breaks If you create a new file, the top of the file should include a header comment equal to the one found in other source files of Qt Creator. +\section2 Include order + + Always go from less general to more general. In a typical implementation + file that would look like +\code + #include "myownheader.h" + ... + #include "other_headers_from_my_own_plugin.h" + ... + #include + ... + #include + ... + #include + ... + #include + ... + #include +\endcode + This order ensures that the headers are self-contained. + + Using <...> instead of "..." for headers from other plugins helps + spotting plugin-external dependencies in the sources. + + Using empty lines between blocks of "peer" headers are encouraged. + \section2 Documentation The documentation is generated from source and header files. From 6adecf3767c18e00ecc9a3089527c96fb64ad1c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= Date: Wed, 21 Jan 2009 15:52:34 +0100 Subject: [PATCH 10/16] Avoid going through ICore when it's not necessary Many singletons have their own instance() method, in which case there is no need to use ICore::instance() to get access to them. --- src/plugins/bineditor/bineditorplugin.cpp | 15 +++++----- src/plugins/bookmarks/bookmarkmanager.cpp | 7 ++--- .../cmakeprojectmanager.cpp | 7 ++--- .../coreplugin/actionmanager/commandsfile.cpp | 3 +- src/plugins/coreplugin/basefilewizard.cpp | 2 +- src/plugins/coreplugin/coreplugin.cpp | 2 +- .../editormanager/editormanager.cpp | 6 ++-- .../editormanager/openeditorsview.cpp | 3 +- src/plugins/coreplugin/filemanager.cpp | 2 +- src/plugins/cpaster/cpasterplugin.cpp | 8 ++---- src/plugins/cppeditor/cppeditor.cpp | 12 ++++---- src/plugins/cppeditor/cppplugin.cpp | 16 +++++------ src/plugins/cpptools/cpptoolsplugin.cpp | 2 +- src/plugins/debugger/debuggerplugin.cpp | 9 +++--- src/plugins/designer/formeditorfactory.cpp | 2 +- src/plugins/git/gitplugin.cpp | 3 +- src/plugins/perforce/perforceplugin.cpp | 28 +++++++++---------- .../foldernavigationwidget.cpp | 2 +- .../projectexplorer/projectexplorer.cpp | 12 ++++---- .../projectexplorer/projecttreewidget.cpp | 2 +- src/plugins/projectexplorer/taskwindow.cpp | 4 +-- .../qt4projectmanager/profileeditor.cpp | 12 +++----- .../profileeditorfactory.cpp | 4 +-- .../qt4projectmanager/qt4projectmanager.cpp | 4 +-- .../qtscripteditor/qtscripteditorfactory.cpp | 3 +- src/plugins/quickopen/basefilefilter.cpp | 3 +- .../resourceeditor/resourceeditorfactory.cpp | 5 ++-- .../resourceeditor/resourceeditorplugin.cpp | 2 +- src/plugins/subversion/subversionplugin.cpp | 22 +++++++-------- src/plugins/texteditor/basetexteditor.cpp | 3 +- src/plugins/texteditor/basetextmark.cpp | 5 ++-- src/plugins/texteditor/plaintexteditor.cpp | 9 ++---- .../texteditor/plaintexteditorfactory.cpp | 4 +-- .../texteditor/texteditoractionhandler.cpp | 2 +- src/plugins/texteditor/texteditorplugin.cpp | 2 +- src/plugins/vcsbase/basevcseditorfactory.cpp | 3 +- .../vcsbase/basevcssubmiteditorfactory.cpp | 4 +-- src/plugins/vcsbase/vcsbaseeditor.cpp | 13 ++++----- src/plugins/vcsbase/vcsbasesubmiteditor.cpp | 3 +- 39 files changed, 107 insertions(+), 143 deletions(-) diff --git a/src/plugins/bineditor/bineditorplugin.cpp b/src/plugins/bineditor/bineditorplugin.cpp index 8a4198b4bf0..bfdd5624ab1 100644 --- a/src/plugins/bineditor/bineditorplugin.cpp +++ b/src/plugins/bineditor/bineditorplugin.cpp @@ -234,12 +234,11 @@ public: BinEditorInterface(BinEditor *parent) : Core::IEditor(parent) { - Core::ICore *core = Core::ICore::instance(); + Core::UniqueIDManager *uidm = Core::UniqueIDManager::instance(); m_editor = parent; m_file = new BinEditorFile(parent); - m_context << core->uniqueIDManager()-> - uniqueIdentifier(Core::Constants::K_DEFAULT_BINARY_EDITOR); - m_context << core->uniqueIDManager()->uniqueIdentifier(Constants::C_BINEDITOR); + m_context << uidm->uniqueIdentifier(Core::Constants::K_DEFAULT_BINARY_EDITOR); + m_context << uidm->uniqueIdentifier(Constants::C_BINEDITOR); m_cursorPositionLabel = new Core::Utils::LineColumnLabel; QHBoxLayout *l = new QHBoxLayout; @@ -320,8 +319,8 @@ QString BinEditorFactory::kind() const Core::IFile *BinEditorFactory::open(const QString &fileName) { - Core::ICore *core = Core::ICore::instance(); - Core::IEditor *iface = core->editorManager()->openEditor(fileName, kind()); + Core::EditorManager *em = Core::EditorManager::instance(); + Core::IEditor *iface = em->openEditor(fileName, kind()); return iface ? iface->file() : 0; } @@ -384,8 +383,8 @@ void BinEditorPlugin::initializeEditor(BinEditor *editor) QObject::connect(editor, SIGNAL(modificationChanged(bool)), editorInterface, SIGNAL(changed())); editor->setEditorInterface(editorInterface); - Core::ICore *core = Core::ICore::instance(); - m_context << core->uniqueIDManager()->uniqueIdentifier(Constants::C_BINEDITOR); + Core::UniqueIDManager *uidm = Core::UniqueIDManager::instance(); + m_context << uidm->uniqueIdentifier(Constants::C_BINEDITOR); if (!m_undoAction) { m_undoAction = registerNewAction(QLatin1String(Core::Constants::UNDO), this, SLOT(undoAction()), diff --git a/src/plugins/bookmarks/bookmarkmanager.cpp b/src/plugins/bookmarks/bookmarkmanager.cpp index 3d9ea294d92..fa8eaefa55c 100644 --- a/src/plugins/bookmarks/bookmarkmanager.cpp +++ b/src/plugins/bookmarks/bookmarkmanager.cpp @@ -293,8 +293,7 @@ void BookmarkView::gotoBookmark(const QModelIndex &index) BookmarkContext::BookmarkContext(BookmarkView *widget) : m_bookmarkView(widget) { - Core::ICore *core = ICore::instance(); - m_context << core->uniqueIDManager()->uniqueIdentifier(Constants::BOOKMARKS_CONTEXT); + m_context << UniqueIDManager::instance()->uniqueIdentifier(Constants::BOOKMARKS_CONTEXT); } QList BookmarkContext::context() const @@ -509,7 +508,7 @@ void BookmarkManager::documentPrevNext(bool next) nextLine = markLine; } - Core::EditorManager *em = Core::ICore::instance()->editorManager(); + Core::EditorManager *em = Core::EditorManager::instance(); em->addCurrentPositionToNavigationHistory(true); if (next) { if (nextLine == -1) @@ -554,7 +553,7 @@ void BookmarkManager::prev() TextEditor::ITextEditor *BookmarkManager::currentTextEditor() const { - Core::EditorManager *em = Core::ICore::instance()->editorManager(); + Core::EditorManager *em = Core::EditorManager::instance(); Core::IEditor *currEditor = em->currentEditor(); if (!currEditor) return 0; diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp index 966c0144355..845255eda5d 100644 --- a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp @@ -36,7 +36,6 @@ #include "cmakeproject.h" #include "cmakeprojectconstants.h" -#include #include #include @@ -44,9 +43,9 @@ using namespace CMakeProjectManager::Internal; CMakeManager::CMakeManager() { - Core::ICore *core = Core::ICore::instance(); - m_projectContext = core->uniqueIDManager()->uniqueIdentifier(CMakeProjectManager::Constants::PROJECTCONTEXT); - m_projectLanguage = core->uniqueIDManager()->uniqueIdentifier(ProjectExplorer::Constants::LANG_CXX); + Core::UniqueIDManager *uidm = Core::UniqueIDManager::instance(); + m_projectContext = uidm->uniqueIdentifier(CMakeProjectManager::Constants::PROJECTCONTEXT); + m_projectLanguage = uidm->uniqueIdentifier(ProjectExplorer::Constants::LANG_CXX); } int CMakeManager::projectContext() const diff --git a/src/plugins/coreplugin/actionmanager/commandsfile.cpp b/src/plugins/coreplugin/actionmanager/commandsfile.cpp index 85d7d172a1d..8fc086079bb 100644 --- a/src/plugins/coreplugin/actionmanager/commandsfile.cpp +++ b/src/plugins/coreplugin/actionmanager/commandsfile.cpp @@ -109,8 +109,7 @@ bool CommandsFile::exportCommands(const QList &items) QDomElement root = doc.createElement("mapping"); doc.appendChild(root); - for (int i = 0; i < items.count(); ++i) { - ShortcutItem *item = items.at(i); + foreach (const ShortcutItem *item, items) { QDomElement ctag = doc.createElement("shortcut"); ctag.setAttribute(QLatin1String("id"), idmanager->stringForUniqueIdentifier(item->m_cmd->id())); root.appendChild(ctag); diff --git a/src/plugins/coreplugin/basefilewizard.cpp b/src/plugins/coreplugin/basefilewizard.cpp index 17cf04615b5..7a7279cfe49 100644 --- a/src/plugins/coreplugin/basefilewizard.cpp +++ b/src/plugins/coreplugin/basefilewizard.cpp @@ -509,7 +509,7 @@ bool BaseFileWizard::postGenerateFiles(const GeneratedFiles &l, QString *errorMe { // File mode: open the editors in file mode and ensure editor pane const Core::GeneratedFiles::const_iterator cend = l.constEnd(); - Core::EditorManager *em = Core::ICore::instance()->editorManager(); + Core::EditorManager *em = Core::EditorManager::instance(); for (Core::GeneratedFiles::const_iterator it = l.constBegin(); it != cend; ++it) { if (!em->openEditor(it->path(), it->editorKind())) { *errorMessage = tr("Failed to open an editor for %1").arg(it->path()); diff --git a/src/plugins/coreplugin/coreplugin.cpp b/src/plugins/coreplugin/coreplugin.cpp index b947b54827c..c6bc596b282 100644 --- a/src/plugins/coreplugin/coreplugin.cpp +++ b/src/plugins/coreplugin/coreplugin.cpp @@ -85,7 +85,7 @@ bool CorePlugin::initialize(const QStringList & /*arguments*/, QString *error_me m_welcomeMode = new WelcomeMode; addObject(m_welcomeMode); - EditorManager *editorManager = qobject_cast(m_mainWindow->editorManager()); + EditorManager *editorManager = m_mainWindow->editorManager(); m_editMode = new EditMode(editorManager); addObject(m_editMode); } diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index d3aac99cb5d..77092e343eb 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -599,8 +599,7 @@ QList return found.toList(); } -QList - EditorManager::filesForEditors(QList editors) const +QList EditorManager::filesForEditors(QList editors) const { QSet handledEditors; QList files; @@ -925,9 +924,8 @@ QStringList EditorManager::getOpenFileNames() const void EditorManager::ensureEditorManagerVisible() { - if (!isVisible()) { + if (!isVisible()) m_d->m_core->modeManager()->activateMode(Constants::MODE_EDIT); - } } IEditor *EditorManager::newFile(const QString &editorKind, diff --git a/src/plugins/coreplugin/editormanager/openeditorsview.cpp b/src/plugins/coreplugin/editormanager/openeditorsview.cpp index 77e44faaa05..a7119c74547 100644 --- a/src/plugins/coreplugin/editormanager/openeditorsview.cpp +++ b/src/plugins/coreplugin/editormanager/openeditorsview.cpp @@ -223,8 +223,7 @@ void OpenEditorsWidget::closeEditors() core->fileManager()->saveModifiedFiles(selectedFiles, &cancelled); if (cancelled) return; - core->editorManager()-> - closeEditors(selectedEditors); + core->editorManager()->closeEditors(selectedEditors); updateEditorList(); } diff --git a/src/plugins/coreplugin/filemanager.cpp b/src/plugins/coreplugin/filemanager.cpp index d94649cba5a..c503dbd7dd8 100644 --- a/src/plugins/coreplugin/filemanager.cpp +++ b/src/plugins/coreplugin/filemanager.cpp @@ -509,7 +509,7 @@ void FileManager::syncWithEditor(Core::IContext *context) if (!context) return; - Core::IEditor *editor = Core::ICore::instance()->editorManager()->currentEditor(); + Core::IEditor *editor = Core::EditorManager::instance()->currentEditor(); if (editor && (editor->widget() == context->widget())) setCurrentFile(editor->file()->fileName()); } diff --git a/src/plugins/cpaster/cpasterplugin.cpp b/src/plugins/cpaster/cpasterplugin.cpp index af4cbabbbe8..4558ccaae88 100644 --- a/src/plugins/cpaster/cpasterplugin.cpp +++ b/src/plugins/cpaster/cpasterplugin.cpp @@ -84,8 +84,7 @@ bool CodepasterPlugin::initialize(const QStringList &arguments, QString *error_m // Create the globalcontext list to register actions accordingly QList globalcontext; - globalcontext << ICore::instance()->uniqueIDManager()-> - uniqueIdentifier(Core::Constants::C_GLOBAL); + globalcontext << UniqueIDManager::instance()->uniqueIdentifier(Core::Constants::C_GLOBAL); // Create the settings Page m_settingsPage = new SettingsPage(); @@ -129,7 +128,7 @@ void CodepasterPlugin::post() { if (m_poster) delete m_poster; - IEditor* editor = ICore::instance()->editorManager()->currentEditor(); + IEditor* editor = EditorManager::instance()->currentEditor(); ITextEditor* textEditor = qobject_cast(editor); if (!textEditor) return; @@ -240,8 +239,7 @@ void CustomFetcher::customRequestFinished(int, bool error) QByteArray data = body(); if (!m_listWidget) { QString title = QString::fromLatin1("Code Paster: %1").arg(m_id); - ICore::instance()->editorManager()->newFile(Core::Constants::K_DEFAULT_TEXT_EDITOR - , &title, data); + EditorManager::instance()->newFile(Core::Constants::K_DEFAULT_TEXT_EDITOR, &title, data); } else { m_listWidget->clear(); QStringList lines = QString(data).split(QLatin1Char('\n')); diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp index 0a9cf3958b2..87d229d6f4e 100644 --- a/src/plugins/cppeditor/cppeditor.cpp +++ b/src/plugins/cppeditor/cppeditor.cpp @@ -139,10 +139,10 @@ QualifiedNameId *qualifiedNameIdForSymbol(Symbol *s, const LookupContext &contex CPPEditorEditable::CPPEditorEditable(CPPEditor *editor) : BaseTextEditorEditable(editor) { - Core::ICore *core = Core::ICore::instance(); - m_context << core->uniqueIDManager()->uniqueIdentifier(CppEditor::Constants::C_CPPEDITOR); - m_context << core->uniqueIDManager()->uniqueIdentifier(ProjectExplorer::Constants::LANG_CXX); - m_context << core->uniqueIDManager()->uniqueIdentifier(TextEditor::Constants::C_TEXTEDITOR); + Core::UniqueIDManager *uidm = Core::UniqueIDManager::instance(); + m_context << uidm->uniqueIdentifier(CppEditor::Constants::C_CPPEDITOR); + m_context << uidm->uniqueIdentifier(ProjectExplorer::Constants::LANG_CXX); + m_context << uidm->uniqueIdentifier(TextEditor::Constants::C_TEXTEDITOR); } CPPEditor::CPPEditor(QWidget *parent) @@ -334,10 +334,10 @@ void CPPEditor::jumpToMethod(int) if (! symbol) return; - Core::ICore::instance()->editorManager()->addCurrentPositionToNavigationHistory(true); + Core::EditorManager::instance()->addCurrentPositionToNavigationHistory(true); int line = symbol->line(); gotoLine(line); - Core::ICore::instance()->editorManager()->addCurrentPositionToNavigationHistory(); + Core::EditorManager::instance()->addCurrentPositionToNavigationHistory(); setFocus(); } diff --git a/src/plugins/cppeditor/cppplugin.cpp b/src/plugins/cppeditor/cppplugin.cpp index 3d09e02fc02..e600de92c58 100644 --- a/src/plugins/cppeditor/cppplugin.cpp +++ b/src/plugins/cppeditor/cppplugin.cpp @@ -88,7 +88,7 @@ QString CppPluginEditorFactory::kind() const Core::IFile *CppPluginEditorFactory::open(const QString &fileName) { - Core::IEditor *iface = Core::ICore::instance()->editorManager()->openEditor(fileName, kind()); + Core::IEditor *iface = Core::EditorManager::instance()->openEditor(fileName, kind()); return iface ? iface->file() : 0; } @@ -238,20 +238,18 @@ void CppPlugin::extensionsInitialized() void CppPlugin::switchDeclarationDefinition() { - Core::ICore *core = Core::ICore::instance(); - CPPEditor *editor = qobject_cast(core->editorManager()->currentEditor()->widget()); - if (editor) { + Core::EditorManager *em = Core::EditorManager::instance(); + CPPEditor *editor = qobject_cast(em->currentEditor()->widget()); + if (editor) editor->switchDeclarationDefinition(); - } } void CppPlugin::jumpToDefinition() { - Core::ICore *core = Core::ICore::instance(); - CPPEditor *editor = qobject_cast(core->editorManager()->currentEditor()->widget()); - if (editor) { + Core::EditorManager *em = Core::EditorManager::instance(); + CPPEditor *editor = qobject_cast(em->currentEditor()->widget()); + if (editor) editor->jumpToDefinition(); - } } Q_EXPORT_PLUGIN(CppPlugin) diff --git a/src/plugins/cpptools/cpptoolsplugin.cpp b/src/plugins/cpptools/cpptoolsplugin.cpp index c28c4a8127d..3a8c271a098 100644 --- a/src/plugins/cpptools/cpptoolsplugin.cpp +++ b/src/plugins/cpptools/cpptoolsplugin.cpp @@ -147,7 +147,7 @@ void CppToolsPlugin::shutdown() void CppToolsPlugin::switchHeaderSource() { - Core::EditorManager *editorManager = Core::ICore::instance()->editorManager(); + Core::EditorManager *editorManager = Core::EditorManager::instance(); Core::IEditor *editor = editorManager->currentEditor(); QString otherFile = correspondingHeaderOrSource(editor->file()->fileName()); if (!otherFile.isEmpty()) { diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index a42c1038204..07904b8efa3 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -723,18 +723,17 @@ void DebuggerPlugin::activatePreviousMode() void DebuggerPlugin::activateDebugMode() { - ICore *core = ICore::instance(); - Core::ModeManager *modeManager = core->modeManager(); + ModeManager *modeManager = ModeManager::instance(); m_previousMode = QLatin1String(modeManager->currentMode()->uniqueModeName()); modeManager->activateMode(QLatin1String(MODE_DEBUG)); } void DebuggerPlugin::queryCurrentTextEditor(QString *fileName, int *lineNumber, QObject **object) { - ICore *core = ICore::instance(); - if (!core || !core->editorManager()) + EditorManager *editorManager = EditorManager::instance(); + if (!editorManager) return; - Core::IEditor *editor = core->editorManager()->currentEditor(); + Core::IEditor *editor = editorManager->currentEditor(); ITextEditor *textEditor = qobject_cast(editor); if (!textEditor) return; diff --git a/src/plugins/designer/formeditorfactory.cpp b/src/plugins/designer/formeditorfactory.cpp index b07140eff61..df3c59adfa3 100644 --- a/src/plugins/designer/formeditorfactory.cpp +++ b/src/plugins/designer/formeditorfactory.cpp @@ -63,7 +63,7 @@ QString FormEditorFactory::kind() const Core::IFile *FormEditorFactory::open(const QString &fileName) { - Core::IEditor *iface = Core::ICore::instance()->editorManager()->openEditor(fileName, kind()); + Core::IEditor *iface = Core::EditorManager::instance()->openEditor(fileName, kind()); return iface ? iface->file() : 0; } diff --git a/src/plugins/git/gitplugin.cpp b/src/plugins/git/gitplugin.cpp index f00f6d711ef..11823909585 100644 --- a/src/plugins/git/gitplugin.cpp +++ b/src/plugins/git/gitplugin.cpp @@ -236,8 +236,7 @@ bool GitPlugin::initialize(const QStringList &arguments, QString *error_message) m_gitClient = new GitClient(this); // Create the globalcontext list to register actions accordingly QList globalcontext; - globalcontext << m_core->uniqueIDManager()-> - uniqueIdentifier(Core::Constants::C_GLOBAL); + globalcontext << m_core->uniqueIDManager()->uniqueIdentifier(Core::Constants::C_GLOBAL); // Create the output Window m_outputWindow = new GitOutputWindow(); diff --git a/src/plugins/perforce/perforceplugin.cpp b/src/plugins/perforce/perforceplugin.cpp index 23db7b2862a..7d126c4bb94 100644 --- a/src/plugins/perforce/perforceplugin.cpp +++ b/src/plugins/perforce/perforceplugin.cpp @@ -241,8 +241,8 @@ bool PerforcePlugin::initialize(const QStringList &arguments, QString *errorMess globalcontext << Core::Constants::C_GLOBAL_ID; QList perforcesubmitcontext; - perforcesubmitcontext << - Core::ICore::instance()->uniqueIDManager()->uniqueIdentifier(Constants::C_PERFORCESUBMITEDITOR); + perforcesubmitcontext << Core::UniqueIDManager::instance()-> + uniqueIdentifier(Constants::C_PERFORCESUBMITEDITOR); Core::Command *command; QAction *tmpaction; @@ -467,7 +467,7 @@ void PerforcePlugin::diffAllOpened() void PerforcePlugin::printOpenedFileList() { - Core::IEditor *e = Core::ICore::instance()->editorManager()->currentEditor(); + Core::IEditor *e = Core::EditorManager::instance()->currentEditor(); if (e) e->widget()->setFocus(); PerforceResponse result = runP4Cmd(QStringList() << QLatin1String("opened"), QStringList(), CommandToWindow|StdOutToWindow|StdErrToWindow|ErrorToWindow); @@ -542,9 +542,9 @@ void PerforcePlugin::submit() Core::IEditor *PerforcePlugin::openPerforceSubmitEditor(const QString &fileName, const QStringList &depotFileNames) { - Core::IEditor *editor = - Core::ICore::instance()->editorManager()->openEditor(fileName, Constants::PERFORCESUBMITEDITOR_KIND); - Core::ICore::instance()->editorManager()->ensureEditorManagerVisible(); + Core::EditorManager *editorManager = Core::EditorManager::instance(); + Core::IEditor *editor = editorManager->openEditor(fileName, Constants::PERFORCESUBMITEDITOR_KIND); + editorManager->ensureEditorManagerVisible(); PerforceSubmitEditor *submitEditor = dynamic_cast(editor); QTC_ASSERT(submitEditor, return 0); submitEditor->restrictToProjectFiles(depotFileNames); @@ -841,9 +841,9 @@ Core::IEditor * PerforcePlugin::showOutputInEditor(const QString& title, const Q if (Perforce::Constants::debug) qDebug() << "PerforcePlugin::showOutputInEditor" << title << kind << "Size= " << output.size() << " Type=" << editorType << debugCodec(codec); QString s = title; - Core::IEditor *ediface = Core::ICore::instance()->editorManager()-> + Core::IEditor *editor = Core::EditorManager::instance()-> newFile(kind, &s, output.toLocal8Bit()); - PerforceEditor *e = qobject_cast(ediface->widget()); + PerforceEditor *e = qobject_cast(editor->widget()); if (!e) return 0; s.replace(QLatin1Char(' '), QLatin1Char('_')); @@ -857,7 +857,7 @@ QStringList PerforcePlugin::environment() const { QStringList newEnv = QProcess::systemEnvironment(); const QString name = "P4DIFF"; - for (int i=0; ieditorManager()->openedEditors()) { + foreach (Core::IEditor *ed, Core::EditorManager::instance()->openedEditors()) { if (ed->property("originalFileName").toString() == fileName) { existingEditor = ed; displayInEditor = false; @@ -912,7 +912,7 @@ void PerforcePlugin::p4Diff(const QStringList &files, QString diffname) } else if (!displayInEditor && existingEditor) { if (existingEditor) { existingEditor->createNew(result.stdOut); - Core::ICore::instance()->editorManager()->setCurrentEditor(existingEditor); + Core::EditorManager::instance()->setCurrentEditor(existingEditor); } } } @@ -930,7 +930,7 @@ void PerforcePlugin::describe(const QString & source, const QString &n) void PerforcePlugin::submitCurrentLog() { - Core::EditorManager *em = Core::ICore::instance()->editorManager(); + Core::EditorManager *em = Core::EditorManager::instance(); em->closeEditors(QList() << em->currentEditor()); } @@ -1004,8 +1004,8 @@ bool PerforcePlugin::editorAboutToClose(Core::IEditor *editor) void PerforcePlugin::openFiles(const QStringList &files) { - Core::EditorManager *em = Core::ICore::instance()->editorManager(); - foreach (QString s, files) + Core::EditorManager *em = Core::EditorManager::instance(); + foreach (const QString &s, files) em->openEditor(clientFilePath(s)); em->ensureEditorManagerVisible(); } diff --git a/src/plugins/projectexplorer/foldernavigationwidget.cpp b/src/plugins/projectexplorer/foldernavigationwidget.cpp index 1cb9979538c..29b0fbe1cd1 100644 --- a/src/plugins/projectexplorer/foldernavigationwidget.cpp +++ b/src/plugins/projectexplorer/foldernavigationwidget.cpp @@ -170,7 +170,7 @@ void FolderNavigationWidget::openItem(const QModelIndex &index) setCurrentTitle(QDir(m_dirModel->filePath(srcIndex))); } else { const QString filePath = m_dirModel->filePath(srcIndex); - Core::EditorManager *editorManager = Core::ICore::instance()->editorManager(); + Core::EditorManager *editorManager = Core::EditorManager::instance(); editorManager->openEditor(filePath); editorManager->ensureEditorManagerVisible(); } diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 5b60ab1db0d..69b642bc425 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -870,7 +870,7 @@ bool ProjectExplorerPlugin::openProjects(const QStringList &fileNames) updateActions(); - Core::ICore::instance()->modeManager()->activateMode(Core::Constants::MODE_EDIT); + Core::ModeManager::instance()->activateMode(Core::Constants::MODE_EDIT); QApplication::restoreOverrideCursor(); return true; @@ -986,7 +986,7 @@ void ProjectExplorerPlugin::restoreSession() } // update welcome page - Core::ModeManager *modeManager = Core::ICore::instance()->modeManager(); + Core::ModeManager *modeManager = Core::ModeManager::instance(); connect(modeManager, SIGNAL(currentModeChanged(Core::IMode*)), this, SLOT(currentModeChanged(Core::IMode*))); if (Core::Internal::WelcomeMode *welcomeMode = qobject_cast(modeManager->mode(Core::Constants::MODE_WELCOME))) { updateWelcomePage(welcomeMode); @@ -1618,9 +1618,9 @@ void ProjectExplorerPlugin::openFile() { if (m_currentNode) return; - Core::ICore *core = Core::ICore::instance(); - core->editorManager()->openEditor(m_currentNode->path()); - core->editorManager()->ensureEditorManagerVisible(); + Core::EditorManager *em = Core::EditorManager::instance(); + em->openEditor(m_currentNode->path()); + em->ensureEditorManagerVisible(); } void ProjectExplorerPlugin::removeFile() @@ -1802,7 +1802,7 @@ void ProjectExplorerPlugin::openWithMenuTriggered(QAction *action) qWarning() << "Editor Factory not attached to action, can't happen"<editorManager(); + Core::EditorManager *em = Core::EditorManager::instance(); em->openEditor(currentNode()->path(), editorFactory->kind()); em->ensureEditorManagerVisible(); } diff --git a/src/plugins/projectexplorer/projecttreewidget.cpp b/src/plugins/projectexplorer/projecttreewidget.cpp index dc6db614996..3329f80788a 100644 --- a/src/plugins/projectexplorer/projecttreewidget.cpp +++ b/src/plugins/projectexplorer/projecttreewidget.cpp @@ -291,7 +291,7 @@ void ProjectTreeWidget::openItem(const QModelIndex &mainIndex) { Node *node = m_model->nodeForIndex(mainIndex); if (node->nodeType() == FileNodeType) { - Core::EditorManager *editorManager = Core::ICore::instance()->editorManager(); + Core::EditorManager *editorManager = Core::EditorManager::instance(); editorManager->openEditor(node->path()); editorManager->ensureEditorManagerVisible(); } diff --git a/src/plugins/projectexplorer/taskwindow.cpp b/src/plugins/projectexplorer/taskwindow.cpp index 03243abb5ca..0091c82f2d4 100644 --- a/src/plugins/projectexplorer/taskwindow.cpp +++ b/src/plugins/projectexplorer/taskwindow.cpp @@ -578,8 +578,8 @@ void TaskDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, TaskWindowContext::TaskWindowContext(QWidget *widget) : m_taskList(widget) { - Core::ICore *core = Core::ICore::instance(); - m_context << core->uniqueIDManager()->uniqueIdentifier(Core::Constants::C_PROBLEM_PANE); + Core::UniqueIDManager *uidm = Core::UniqueIDManager::instance(); + m_context << uidm->uniqueIdentifier(Core::Constants::C_PROBLEM_PANE); } QList TaskWindowContext::context() const diff --git a/src/plugins/qt4projectmanager/profileeditor.cpp b/src/plugins/qt4projectmanager/profileeditor.cpp index 12750868c4b..3cab2eaaca5 100644 --- a/src/plugins/qt4projectmanager/profileeditor.cpp +++ b/src/plugins/qt4projectmanager/profileeditor.cpp @@ -40,7 +40,6 @@ #include "proeditormodel.h" #include "procommandmanager.h" -#include #include #include #include @@ -62,13 +61,10 @@ using namespace ProjectExplorer; ProFileEditorEditable::ProFileEditorEditable(ProFileEditor *editor) : BaseTextEditorEditable(editor) { - Core::ICore *core = Core::ICore::instance(); - m_context << core->uniqueIDManager()-> - uniqueIdentifier(Qt4ProjectManager::Constants::C_PROFILEEDITOR); - m_context << core->uniqueIDManager()-> - uniqueIdentifier(TextEditor::Constants::C_TEXTEDITOR); -// m_contexts << core->uniqueIDManager()-> -// uniqueIdentifier(Qt4ProjectManager::Constants::PROJECT_KIND); + Core::UniqueIDManager *uidm = Core::UniqueIDManager::instance(); + m_context << uidm->uniqueIdentifier(Qt4ProjectManager::Constants::C_PROFILEEDITOR); + m_context << uidm->uniqueIdentifier(TextEditor::Constants::C_TEXTEDITOR); +// m_contexts << uidm->uniqueIdentifier(Qt4ProjectManager::Constants::PROJECT_KIND); } TextEditor::BaseTextEditorEditable *ProFileEditor::createEditableInterface() diff --git a/src/plugins/qt4projectmanager/profileeditorfactory.cpp b/src/plugins/qt4projectmanager/profileeditorfactory.cpp index b3d32a025e4..21299bb2fea 100644 --- a/src/plugins/qt4projectmanager/profileeditorfactory.cpp +++ b/src/plugins/qt4projectmanager/profileeditorfactory.cpp @@ -37,7 +37,6 @@ #include "qt4projectmanagerconstants.h" #include "profileeditor.h" -#include #include #include #include @@ -74,8 +73,7 @@ QString ProFileEditorFactory::kind() const Core::IFile *ProFileEditorFactory::open(const QString &fileName) { - Core::ICore *core = Core::ICore::instance(); - Core::IEditor *iface = core->editorManager()->openEditor(fileName, kind()); + Core::IEditor *iface = Core::EditorManager::instance()->openEditor(fileName, kind()); return iface ? iface->file() : 0; } diff --git a/src/plugins/qt4projectmanager/qt4projectmanager.cpp b/src/plugins/qt4projectmanager/qt4projectmanager.cpp index 8d44d81df20..4356b0b536e 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanager.cpp +++ b/src/plugins/qt4projectmanager/qt4projectmanager.cpp @@ -89,8 +89,8 @@ Qt4Manager::Qt4Manager(Qt4ProjectManagerPlugin *plugin) m_contextProject(0), m_languageID(0) { - m_languageID = Core::ICore::instance()->uniqueIDManager()-> - uniqueIdentifier(ProjectExplorer::Constants::LANG_CXX); + m_languageID = Core::UniqueIDManager::instance()-> + uniqueIdentifier(ProjectExplorer::Constants::LANG_CXX); } Qt4Manager::~Qt4Manager() diff --git a/src/plugins/qtscripteditor/qtscripteditorfactory.cpp b/src/plugins/qtscripteditor/qtscripteditorfactory.cpp index 9e169648f12..1f776d8df08 100644 --- a/src/plugins/qtscripteditor/qtscripteditorfactory.cpp +++ b/src/plugins/qtscripteditor/qtscripteditorfactory.cpp @@ -37,7 +37,6 @@ #include "qtscripteditorconstants.h" #include "qtscripteditorplugin.h" -#include #include #include @@ -67,7 +66,7 @@ QString QtScriptEditorFactory::kind() const Core::IFile *QtScriptEditorFactory::open(const QString &fileName) { - Core::IEditor *iface = Core::ICore::instance()->editorManager()->openEditor(fileName, kind()); + Core::IEditor *iface = Core::EditorManager::instance()->openEditor(fileName, kind()); if (!iface) { qWarning() << "QtScriptEditorFactory::open: openEditor failed for " << fileName; return 0; diff --git a/src/plugins/quickopen/basefilefilter.cpp b/src/plugins/quickopen/basefilefilter.cpp index 147cd5b07d1..8bd10cd4a6b 100644 --- a/src/plugins/quickopen/basefilefilter.cpp +++ b/src/plugins/quickopen/basefilefilter.cpp @@ -33,7 +33,6 @@ #include "basefilefilter.h" -#include #include #include @@ -89,7 +88,7 @@ QList BaseFileFilter::matchesFor(const QString &origEntry) void BaseFileFilter::accept(QuickOpen::FilterEntry selection) const { - Core::EditorManager *em = Core::ICore::instance()->editorManager(); + Core::EditorManager *em = Core::EditorManager::instance(); em->openEditor(selection.internalData.toString()); em->ensureEditorManagerVisible(); } diff --git a/src/plugins/resourceeditor/resourceeditorfactory.cpp b/src/plugins/resourceeditor/resourceeditorfactory.cpp index 658a572c394..dcdd691c9fc 100644 --- a/src/plugins/resourceeditor/resourceeditorfactory.cpp +++ b/src/plugins/resourceeditor/resourceeditorfactory.cpp @@ -36,7 +36,6 @@ #include "resourceeditorplugin.h" #include "resourceeditorconstants.h" -#include #include #include #include @@ -53,7 +52,7 @@ ResourceEditorFactory::ResourceEditorFactory(ResourceEditorPlugin *plugin) : m_kind(QLatin1String(C_RESOURCEEDITOR)), m_plugin(plugin) { - m_context += Core::ICore::instance()->uniqueIDManager() + m_context += Core::UniqueIDManager::instance() ->uniqueIdentifier(QLatin1String(ResourceEditor::Constants::C_RESOURCEEDITOR)); Core::FileIconProvider *iconProvider = Core::FileIconProvider::instance(); iconProvider->registerIconForSuffix(QIcon(":/resourceeditor/images/qt_qrc.png"), @@ -67,7 +66,7 @@ QString ResourceEditorFactory::kind() const Core::IFile *ResourceEditorFactory::open(const QString &fileName) { - Core::IEditor *iface = Core::ICore::instance()->editorManager()->openEditor(fileName, kind()); + Core::IEditor *iface = Core::EditorManager::instance()->openEditor(fileName, kind()); if (!iface) { qWarning() << "ResourceEditorFactory::open: openEditor failed for " << fileName; return 0; diff --git a/src/plugins/resourceeditor/resourceeditorplugin.cpp b/src/plugins/resourceeditor/resourceeditorplugin.cpp index 7e5a7dcd1f8..117ccedfbd7 100644 --- a/src/plugins/resourceeditor/resourceeditorplugin.cpp +++ b/src/plugins/resourceeditor/resourceeditorplugin.cpp @@ -129,7 +129,7 @@ void ResourceEditorPlugin::onUndoStackChanged(ResourceEditorW const *editor, ResourceEditorW * ResourceEditorPlugin::currentEditor() const { ResourceEditorW * const focusEditor = qobject_cast( - Core::ICore::instance()->editorManager()->currentEditor()); + Core::EditorManager::instance()->currentEditor()); QTC_ASSERT(focusEditor, return 0); return focusEditor; } diff --git a/src/plugins/subversion/subversionplugin.cpp b/src/plugins/subversion/subversionplugin.cpp index 4d10297d9b9..7f6ea476eb2 100644 --- a/src/plugins/subversion/subversionplugin.cpp +++ b/src/plugins/subversion/subversionplugin.cpp @@ -134,7 +134,7 @@ static inline QString debugCodec(const QTextCodec *c) Core::IEditor* locateEditor(const char *property, const QString &entry) { - foreach (Core::IEditor *ed, Core::ICore::instance()->editorManager()->openedEditors()) + foreach (Core::IEditor *ed, Core::EditorManager::instance()->openedEditors()) if (ed->property(property).toString() == entry) return ed; return 0; @@ -407,7 +407,7 @@ bool SubversionPlugin::initialize(const QStringList &arguments, QString *errorMe // Actions of the submit editor QList svncommitcontext; - svncommitcontext << Core::ICore::instance()->uniqueIDManager()->uniqueIdentifier(Constants::SUBVERSIONCOMMITEDITOR); + svncommitcontext << Core::UniqueIDManager::instance()->uniqueIdentifier(Constants::SUBVERSIONCOMMITEDITOR); m_submitCurrentLogAction = new QAction(VCSBase::VCSBaseSubmitEditor::submitIcon(), tr("Commit"), this); command = ami->registerAction(m_submitCurrentLogAction, Constants::SUBMIT_CURRENT, svncommitcontext); @@ -513,7 +513,7 @@ void SubversionPlugin::svnDiff(const QStringList &files, QString diffname) // Show in the same editor if diff has been executed before if (Core::IEditor *editor = locateEditor("originalFileName", files.front())) { editor->createNew(response.stdOut); - Core::ICore::instance()->editorManager()->setCurrentEditor(editor); + Core::EditorManager::instance()->setCurrentEditor(editor); return; } } @@ -525,7 +525,7 @@ void SubversionPlugin::svnDiff(const QStringList &files, QString diffname) SubversionSubmitEditor *SubversionPlugin::openSubversionSubmitEditor(const QString &fileName) { - Core::IEditor *editor = Core::ICore::instance()->editorManager()->openEditor(fileName, QLatin1String(Constants::SUBVERSIONCOMMITEDITOR_KIND)); + Core::IEditor *editor = Core::EditorManager::instance()->openEditor(fileName, QLatin1String(Constants::SUBVERSIONCOMMITEDITOR_KIND)); SubversionSubmitEditor *submitEditor = qobject_cast(editor); QTC_ASSERT(submitEditor, /**/); submitEditor->registerActions(m_submitUndoAction, m_submitRedoAction, m_submitCurrentLogAction, m_submitDiffAction); @@ -776,7 +776,7 @@ void SubversionPlugin::filelog(const QString &file) if (Core::IEditor *editor = locateEditor("logFileName", file)) { editor->createNew(response.stdOut); - Core::ICore::instance()->editorManager()->setCurrentEditor(editor); + Core::EditorManager::instance()->setCurrentEditor(editor); } else { const QString title = tr("svn log %1").arg(QFileInfo(file).fileName()); Core::IEditor *newEditor = showOutputInEditor(title, response.stdOut, VCSBase::LogOutput, file, codec); @@ -819,7 +819,7 @@ void SubversionPlugin::annotate(const QString &file) if (Core::IEditor *editor = locateEditor("annotateFileName", file)) { editor->createNew(response.stdOut); - Core::ICore::instance()->editorManager()->setCurrentEditor(editor); + Core::EditorManager::instance()->setCurrentEditor(editor); } else { const QString title = tr("svn annotate %1").arg(QFileInfo(file).fileName()); Core::IEditor *newEditor = showOutputInEditor(title, response.stdOut, VCSBase::AnnotateOutput, file, codec); @@ -873,7 +873,7 @@ void SubversionPlugin::describe(const QString &source, const QString &changeNr) const QString id = diffArg + source; if (Core::IEditor *editor = locateEditor("describeChange", id)) { editor->createNew(response.stdOut); - Core::ICore::instance()->editorManager()->setCurrentEditor(editor); + Core::EditorManager::instance()->setCurrentEditor(editor); } else { const QString title = tr("svn describe %1#%2").arg(QFileInfo(source).fileName(), changeNr); Core::IEditor *newEditor = showOutputInEditor(title, response.stdOut, VCSBase::DiffOutput, source, codec); @@ -883,8 +883,8 @@ void SubversionPlugin::describe(const QString &source, const QString &changeNr) void SubversionPlugin::submitCurrentLog() { - Core::ICore::instance()->editorManager()->closeEditors(QList() - << Core::ICore::instance()->editorManager()->currentEditor()); + Core::EditorManager::instance()->closeEditors(QList() + << Core::EditorManager::instance()->currentEditor()); } QString SubversionPlugin::currentFileName() const @@ -990,8 +990,8 @@ Core::IEditor * SubversionPlugin::showOutputInEditor(const QString& title, const if (Subversion::Constants::debug) qDebug() << "SubversionPlugin::showOutputInEditor" << title << kind << "Size= " << output.size() << " Type=" << editorType << debugCodec(codec); QString s = title; - Core::IEditor *ediface = Core::ICore::instance()->editorManager()->newFile(kind, &s, output.toLocal8Bit()); - SubversionEditor *e = qobject_cast(ediface->widget()); + Core::IEditor *editor = Core::EditorManager::instance()->newFile(kind, &s, output.toLocal8Bit()); + SubversionEditor *e = qobject_cast(editor->widget()); if (!e) return 0; s.replace(QLatin1Char(' '), QLatin1Char('_')); diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index cae7df6bd7d..0e058ff752e 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -43,7 +43,6 @@ #include "codecselector.h" #ifndef TEXTEDITOR_STANDALONE -#include #include #include #include @@ -132,7 +131,7 @@ ITextEditor *BaseTextEditor::openEditorAt(const QString &fileName, int column, const QString &editorKind) { - Core::EditorManager *editorManager = Core::ICore::instance()->editorManager(); + Core::EditorManager *editorManager = Core::EditorManager::instance(); editorManager->addCurrentPositionToNavigationHistory(true); Core::IEditor *editor = editorManager->openEditor(fileName, editorKind, true); TextEditor::ITextEditor *texteditor = qobject_cast(editor); diff --git a/src/plugins/texteditor/basetextmark.cpp b/src/plugins/texteditor/basetextmark.cpp index c5db6932565..b6ec76b7ddc 100644 --- a/src/plugins/texteditor/basetextmark.cpp +++ b/src/plugins/texteditor/basetextmark.cpp @@ -35,7 +35,6 @@ #include #include -#include #include @@ -57,7 +56,7 @@ BaseTextMark::BaseTextMark(const QString &filename, int line) void BaseTextMark::init() { m_init = true; - Core::EditorManager *em = Core::ICore::instance()->editorManager(); + Core::EditorManager *em = Core::EditorManager::instance(); connect(em, SIGNAL(editorOpened(Core::IEditor *)), this, SLOT(editorOpened(Core::IEditor *))); foreach (Core::IEditor *editor, em->openedEditors()) @@ -117,7 +116,7 @@ void BaseTextMark::updateMarker() void BaseTextMark::moveMark(const QString & /* filename */, int /* line */) { - Core::EditorManager *em = Core::ICore::instance()->editorManager(); + Core::EditorManager *em = Core::EditorManager::instance(); if (!m_init) { connect(em, SIGNAL(editorOpened(Core::IEditor *)), this, SLOT(editorOpened(Core::IEditor *))); m_init = true; diff --git a/src/plugins/texteditor/plaintexteditor.cpp b/src/plugins/texteditor/plaintexteditor.cpp index 4a76df10766..ed0e43e30b7 100644 --- a/src/plugins/texteditor/plaintexteditor.cpp +++ b/src/plugins/texteditor/plaintexteditor.cpp @@ -36,7 +36,6 @@ #include "texteditorplugin.h" #include -#include #include using namespace TextEditor; @@ -45,11 +44,9 @@ using namespace TextEditor::Internal; PlainTextEditorEditable::PlainTextEditorEditable(PlainTextEditor *editor) :BaseTextEditorEditable(editor) { - Core::ICore *core = Core::ICore::instance(); - m_context << core->uniqueIDManager()-> - uniqueIdentifier(Core::Constants::K_DEFAULT_TEXT_EDITOR); - m_context << core->uniqueIDManager()-> - uniqueIdentifier(TextEditor::Constants::C_TEXTEDITOR); + Core::UniqueIDManager *uidm = Core::UniqueIDManager::instance(); + m_context << uidm->uniqueIdentifier(Core::Constants::K_DEFAULT_TEXT_EDITOR); + m_context << uidm->uniqueIdentifier(TextEditor::Constants::C_TEXTEDITOR); } PlainTextEditor::PlainTextEditor(QWidget *parent) : diff --git a/src/plugins/texteditor/plaintexteditorfactory.cpp b/src/plugins/texteditor/plaintexteditorfactory.cpp index 7c63855ec7a..8fc40ac703f 100644 --- a/src/plugins/texteditor/plaintexteditorfactory.cpp +++ b/src/plugins/texteditor/plaintexteditorfactory.cpp @@ -37,7 +37,6 @@ #include "texteditorplugin.h" #include "texteditoractionhandler.h" -#include #include #include @@ -67,8 +66,7 @@ QString PlainTextEditorFactory::kind() const Core::IFile *PlainTextEditorFactory::open(const QString &fileName) { - Core::ICore *core = Core::ICore::instance(); - Core::IEditor *iface = core->editorManager()->openEditor(fileName, kind()); + Core::IEditor *iface = Core::EditorManager::instance()->openEditor(fileName, kind()); return iface ? iface->file() : 0; } diff --git a/src/plugins/texteditor/texteditoractionhandler.cpp b/src/plugins/texteditor/texteditoractionhandler.cpp index 511e1d919e7..5ff46ef1353 100644 --- a/src/plugins/texteditor/texteditoractionhandler.cpp +++ b/src/plugins/texteditor/texteditoractionhandler.cpp @@ -89,7 +89,7 @@ TextEditorActionHandler::TextEditorActionHandler(const QString &context, m_moveLineUpAction = 0; m_moveLineDownAction = 0; - m_contextId << Core::ICore::instance()->uniqueIDManager()->uniqueIdentifier(context); + m_contextId << Core::UniqueIDManager::instance()->uniqueIdentifier(context); connect(Core::ICore::instance(), SIGNAL(contextAboutToChange(Core::IContext *)), this, SLOT(updateCurrentEditor(Core::IContext *))); diff --git a/src/plugins/texteditor/texteditorplugin.cpp b/src/plugins/texteditor/texteditorplugin.cpp index 23b96a53217..3432d221e4e 100644 --- a/src/plugins/texteditor/texteditorplugin.cpp +++ b/src/plugins/texteditor/texteditorplugin.cpp @@ -166,7 +166,7 @@ void TextEditorPlugin::initializeEditor(TextEditor::PlainTextEditor *editor) void TextEditorPlugin::invokeCompletion() { - Core::IEditor *iface = Core::ICore::instance()->editorManager()->currentEditor(); + Core::IEditor *iface = Core::EditorManager::instance()->currentEditor(); ITextEditor *editor = qobject_cast(iface); if (editor) editor->triggerCompletions(); diff --git a/src/plugins/vcsbase/basevcseditorfactory.cpp b/src/plugins/vcsbase/basevcseditorfactory.cpp index edfadc7032a..d7f85a9449d 100644 --- a/src/plugins/vcsbase/basevcseditorfactory.cpp +++ b/src/plugins/vcsbase/basevcseditorfactory.cpp @@ -35,7 +35,6 @@ #include "vcsbaseplugin.h" #include "vcsbaseeditor.h" -#include #include #include #include @@ -83,7 +82,7 @@ QString BaseVCSEditorFactory::kind() const Core::IFile *BaseVCSEditorFactory::open(const QString &fileName) { - Core::IEditor *iface = Core::ICore::instance()->editorManager()->openEditor(fileName, kind()); + Core::IEditor *iface = Core::EditorManager::instance()->openEditor(fileName, kind()); return iface ? iface->file() : 0; } diff --git a/src/plugins/vcsbase/basevcssubmiteditorfactory.cpp b/src/plugins/vcsbase/basevcssubmiteditorfactory.cpp index f4610ed6685..616f27794a3 100644 --- a/src/plugins/vcsbase/basevcssubmiteditorfactory.cpp +++ b/src/plugins/vcsbase/basevcssubmiteditorfactory.cpp @@ -34,7 +34,6 @@ #include "basevcssubmiteditorfactory.h" #include "vcsbasesubmiteditor.h" -#include #include namespace VCSBase { @@ -82,8 +81,7 @@ QStringList BaseVCSSubmitEditorFactory::mimeTypes() const Core::IFile *BaseVCSSubmitEditorFactory::open(const QString &fileName) { - Core::ICore *core = Core::ICore::instance(); - if (Core::IEditor *iface = core->editorManager()->openEditor(fileName, kind())) + if (Core::IEditor *iface = Core::EditorManager::instance()->openEditor(fileName, kind())) return iface->file(); return 0; } diff --git a/src/plugins/vcsbase/vcsbaseeditor.cpp b/src/plugins/vcsbase/vcsbaseeditor.cpp index 7cf2f2a9a4e..5a4e02dd81e 100644 --- a/src/plugins/vcsbase/vcsbaseeditor.cpp +++ b/src/plugins/vcsbase/vcsbaseeditor.cpp @@ -38,7 +38,6 @@ #include "vcsbaseconstants.h" #include -#include #include #include #include @@ -85,10 +84,9 @@ VCSBaseEditorEditable::VCSBaseEditorEditable(VCSBaseEditor *editor, const VCSBaseEditorParameters *type) : BaseTextEditorEditable(editor), m_kind(type->kind) { - Core::ICore *core = Core::ICore::instance(); - m_context << core->uniqueIDManager()->uniqueIdentifier(QLatin1String(type->context)) - << core->uniqueIDManager()->uniqueIdentifier(QLatin1String(TextEditor::Constants::C_TEXTEDITOR)); - + Core::UniqueIDManager *uidm = Core::UniqueIDManager::instance(); + m_context << uidm->uniqueIdentifier(QLatin1String(type->context)) + << uidm->uniqueIdentifier(QLatin1String(TextEditor::Constants::C_TEXTEDITOR)); } QList VCSBaseEditorEditable::context() const @@ -363,7 +361,7 @@ void VCSBaseEditor::jumpToChangeFromDiff(QTextCursor cursor) if (!exists) return; - Core::EditorManager *em = Core::ICore::instance()->editorManager(); + Core::EditorManager *em = Core::EditorManager::instance(); Core::IEditor *ed = em->openEditor(fileName); em->ensureEditorManagerVisible(); if (TextEditor::ITextEditor *editor = qobject_cast(ed)) @@ -409,8 +407,7 @@ static QTextCodec *findFileCodec(const QString &source) { typedef QList EditorList; - const EditorList editors = - Core::ICore::instance()->editorManager()->editorsForFileName(source); + const EditorList editors = Core::EditorManager::instance()->editorsForFileName(source); if (!editors.empty()) { const EditorList::const_iterator ecend = editors.constEnd(); for (EditorList::const_iterator it = editors.constBegin(); it != ecend; ++it) diff --git a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp index 64192d1b6b4..16636aaedb2 100644 --- a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp +++ b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp @@ -35,7 +35,6 @@ #include "submiteditorfile.h" #include -#include #include #include #include @@ -84,7 +83,7 @@ VCSBaseSubmitEditorPrivate::VCSBaseSubmitEditorPrivate(const VCSBaseSubmitEditor m_parameters(parameters), m_file(new VCSBase::Internal::SubmitEditorFile(QLatin1String(m_parameters->mimeType), q)) { - m_contexts << Core::ICore::instance()->uniqueIDManager()->uniqueIdentifier(m_parameters->context); + m_contexts << Core::UniqueIDManager::instance()->uniqueIdentifier(m_parameters->context); } VCSBaseSubmitEditor::VCSBaseSubmitEditor(const VCSBaseSubmitEditorParameters *parameters, From 64d058a81be807922091db92d59ee2db13949526 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 21 Jan 2009 16:04:34 +0100 Subject: [PATCH 11/16] Fixes: fakevim: fix df Details: was broken due to wrong cursor selection approach --- src/plugins/fakevim/fakevimhandler.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index 32663da298e..3c8f31baa8a 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -367,6 +367,7 @@ bool FakeVimHandler::Private::handleEvent(QKeyEvent *ev) quit(); return true; } + m_mode = CommandMode; return false; } @@ -1824,11 +1825,15 @@ void FakeVimHandler::Private::recordEndGroup() QString FakeVimHandler::Private::recordRemoveSelectedText() { EditOperation op; - //qDebug() << "1 POS: " << position() << " ANCHOR: " << anchor() << m_tc.anchor(); - m_tc.setPosition(anchor(), KeepAnchor); - op.m_position = qMin(position(), anchor()); - //qDebug() << "2 POS: " << position() << " ANCHOR: " << anchor() << m_tc.anchor(); + //qDebug() << "POS: " << position() << " ANCHOR: " << anchor() << m_tc.anchor(); + int pos = m_tc.position(); + if (pos == anchor()) + return QString(); + m_tc.setPosition(anchor(), MoveAnchor); + m_tc.setPosition(pos, KeepAnchor); + op.m_position = qMin(pos, anchor()); op.m_from = m_tc.selection().toPlainText(); + //qDebug() << "OP: " << op; recordOperation(op); m_tc.deleteChar(); return op.m_from; From 7ce2676c6a4c9418fe01edfb359362f6b3faaaf9 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 21 Jan 2009 16:18:20 +0100 Subject: [PATCH 12/16] Fixes: fakevim: better undo behaviour Details: prevent creation of empty "groups" that required additional 'u' key strokes to 'undo' --- src/plugins/fakevim/fakevimhandler.cpp | 91 ++++++++++++++------------ 1 file changed, 48 insertions(+), 43 deletions(-) diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index 3c8f31baa8a..b59cbc42130 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -137,20 +137,20 @@ enum MoveType struct EditOperation { - EditOperation() : m_position(-1), m_itemCount(0) {} - int m_position; - int m_itemCount; // used to combine several operations - QString m_from; - QString m_to; + EditOperation() : position(-1), itemCount(0) {} + int position; + int itemCount; // used to combine several operations + QString from; + QString to; }; QDebug &operator<<(QDebug &ts, const EditOperation &op) { - if (op.m_itemCount > 0) { - ts << "\n EDIT BLOCK WITH " << op.m_itemCount << " ITEMS"; + if (op.itemCount > 0) { + ts << "\n EDIT BLOCK WITH " << op.itemCount << " ITEMS"; } else { - ts << "\n EDIT AT " << op.m_position - << "\n FROM " << op.m_from << "\n TO " << op.m_to; + ts << "\n EDIT AT " << op.position + << "\n FROM " << op.from << "\n TO " << op.to; } return ts; } @@ -1357,9 +1357,9 @@ void FakeVimHandler::Private::handleExCommand(const QString &cmd0) m_tc.setPosition(positionForLine(beginLine)); EditOperation op; // FIXME: broken for "upward selection" - op.m_position = m_tc.position(); - op.m_from = text; - op.m_to = result; + op.position = m_tc.position(); + op.from = text; + op.to = result; recordOperation(op); enterCommandMode(); @@ -1757,18 +1757,18 @@ void FakeVimHandler::Private::undo() } else { EditOperation op = m_undoStack.pop(); //qDebug() << "UNDO " << op; - if (op.m_itemCount > 0) { - for (int i = op.m_itemCount; --i >= 0; ) + if (op.itemCount > 0) { + for (int i = op.itemCount; --i >= 0; ) undo(); } else { - m_tc.setPosition(op.m_position, MoveAnchor); - if (!op.m_to.isEmpty()) { - m_tc.setPosition(op.m_position + op.m_to.size(), KeepAnchor); + m_tc.setPosition(op.position, MoveAnchor); + if (!op.to.isEmpty()) { + m_tc.setPosition(op.position + op.to.size(), KeepAnchor); m_tc.deleteChar(); } - if (!op.m_from.isEmpty()) - m_tc.insertText(op.m_from); - m_tc.setPosition(op.m_position, MoveAnchor); + if (!op.from.isEmpty()) + m_tc.insertText(op.from); + m_tc.setPosition(op.position, MoveAnchor); } m_redoStack.push(op); showBlackMessage(QString()); @@ -1786,18 +1786,18 @@ void FakeVimHandler::Private::redo() } else { EditOperation op = m_redoStack.pop(); //qDebug() << "REDO " << op; - if (op.m_itemCount > 0) { - for (int i = op.m_itemCount; --i >= 0; ) + if (op.itemCount > 0) { + for (int i = op.itemCount; --i >= 0; ) redo(); } else { - m_tc.setPosition(op.m_position, MoveAnchor); - if (!op.m_from.isEmpty()) { - m_tc.setPosition(op.m_position + op.m_from.size(), KeepAnchor); + m_tc.setPosition(op.position, MoveAnchor); + if (!op.from.isEmpty()) { + m_tc.setPosition(op.position + op.from.size(), KeepAnchor); m_tc.deleteChar(); } - if (!op.m_to.isEmpty()) - m_tc.insertText(op.m_to); - m_tc.setPosition(op.m_position, MoveAnchor); + if (!op.to.isEmpty()) + m_tc.insertText(op.to); + m_tc.setPosition(op.position, MoveAnchor); } m_undoStack.push(op); showBlackMessage(QString()); @@ -1810,15 +1810,15 @@ void FakeVimHandler::Private::recordBeginGroup() //qDebug() << "PUSH"; m_undoGroupStack.push(m_undoStack.size()); EditOperation op; - op.m_position = m_tc.position(); + op.position = m_tc.position(); recordOperation(op); } void FakeVimHandler::Private::recordEndGroup() { EditOperation op; - op.m_itemCount = m_undoStack.size() - m_undoGroupStack.pop(); - //qDebug() << "POP " << op.m_itemCount; + op.itemCount = m_undoStack.size() - m_undoGroupStack.pop(); + //qDebug() << "POP " << op.itemCount << m_undoStack; recordOperation(op); } @@ -1831,12 +1831,12 @@ QString FakeVimHandler::Private::recordRemoveSelectedText() return QString(); m_tc.setPosition(anchor(), MoveAnchor); m_tc.setPosition(pos, KeepAnchor); - op.m_position = qMin(pos, anchor()); - op.m_from = m_tc.selection().toPlainText(); + op.position = qMin(pos, anchor()); + op.from = m_tc.selection().toPlainText(); //qDebug() << "OP: " << op; recordOperation(op); m_tc.deleteChar(); - return op.m_from; + return op.from; } void FakeVimHandler::Private::recordRemoveNextChar() @@ -1849,15 +1849,20 @@ void FakeVimHandler::Private::recordRemoveNextChar() void FakeVimHandler::Private::recordInsertText(const QString &data) { EditOperation op; - op.m_position = m_tc.position(); - op.m_to = data; + op.position = m_tc.position(); + op.to = data; recordOperation(op); m_tc.insertText(data); } void FakeVimHandler::Private::recordOperation(const EditOperation &op) { - //qDebug() << "OP: " << op; + // No need to record operations that actually do not change anything. + if (op.from.isEmpty() && op.to.isEmpty() && op.itemCount == 0) + return; + // No need to create groups with only one member. + if (op.itemCount == 1) + return; m_undoStack.push(op); m_redoStack.clear(); } @@ -1865,16 +1870,16 @@ void FakeVimHandler::Private::recordOperation(const EditOperation &op) void FakeVimHandler::Private::recordMove(int position, int nestedCount) { EditOperation op; - op.m_position = position; - op.m_itemCount = nestedCount; + op.position = position; + op.itemCount = nestedCount; recordOperation(op); } void FakeVimHandler::Private::recordInsert(int position, const QString &data) { EditOperation op; - op.m_position = position; - op.m_to = data; + op.position = position; + op.to = data; recordOperation(op); } @@ -1889,8 +1894,8 @@ void FakeVimHandler::Private::recordRemove(int position, int length) void FakeVimHandler::Private::recordRemove(int position, const QString &data) { EditOperation op; - op.m_position = position; - op.m_from = data; + op.position = position; + op.from = data; recordOperation(op); } From bc0717d06a13a3c50373608a3356e0ddd2acd694 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 21 Jan 2009 17:08:47 +0100 Subject: [PATCH 13/16] Fixes: fakevim: work on undo --- src/plugins/fakevim/fakevimhandler.cpp | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index b59cbc42130..f6e9d759708 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -1749,9 +1749,6 @@ QWidget *FakeVimHandler::Private::editor() const void FakeVimHandler::Private::undo() { -#if 0 - EDITOR(undo()); -#else if (m_undoStack.isEmpty()) { showBlackMessage(tr("Already at oldest change")); } else { @@ -1764,7 +1761,7 @@ void FakeVimHandler::Private::undo() m_tc.setPosition(op.position, MoveAnchor); if (!op.to.isEmpty()) { m_tc.setPosition(op.position + op.to.size(), KeepAnchor); - m_tc.deleteChar(); + m_tc.removeSelectedText(); } if (!op.from.isEmpty()) m_tc.insertText(op.from); @@ -1773,14 +1770,10 @@ void FakeVimHandler::Private::undo() m_redoStack.push(op); showBlackMessage(QString()); } -#endif } void FakeVimHandler::Private::redo() { -#if 0 - EDITOR(redo()); -#else if (m_redoStack.isEmpty()) { showBlackMessage(tr("Already at newest change")); } else { @@ -1793,7 +1786,7 @@ void FakeVimHandler::Private::redo() m_tc.setPosition(op.position, MoveAnchor); if (!op.from.isEmpty()) { m_tc.setPosition(op.position + op.from.size(), KeepAnchor); - m_tc.deleteChar(); + m_tc.removeSelectedText(); } if (!op.to.isEmpty()) m_tc.insertText(op.to); @@ -1802,7 +1795,6 @@ void FakeVimHandler::Private::redo() m_undoStack.push(op); showBlackMessage(QString()); } -#endif } void FakeVimHandler::Private::recordBeginGroup() @@ -1816,6 +1808,10 @@ void FakeVimHandler::Private::recordBeginGroup() void FakeVimHandler::Private::recordEndGroup() { + if (m_undoGroupStack.isEmpty()) { + qWarning("fakevim: undo groups not balanced.\n"); + return; + } EditOperation op; op.itemCount = m_undoStack.size() - m_undoGroupStack.pop(); //qDebug() << "POP " << op.itemCount << m_undoStack; @@ -1835,7 +1831,7 @@ QString FakeVimHandler::Private::recordRemoveSelectedText() op.from = m_tc.selection().toPlainText(); //qDebug() << "OP: " << op; recordOperation(op); - m_tc.deleteChar(); + m_tc.removeSelectedText(); return op.from; } @@ -1904,6 +1900,7 @@ void FakeVimHandler::Private::enterInsertMode() EDITOR(setOverwriteMode(false)); m_mode = InsertMode; m_lastInsertion.clear(); + recordBeginGroup(); } void FakeVimHandler::Private::enterCommandMode() From 23624321096c531b5499757caa04800d0afe52f1 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 21 Jan 2009 18:09:37 +0100 Subject: [PATCH 14/16] Fixes: some ICore::instance() related cleanup --- src/plugins/find/currentdocumentfind.cpp | 4 ++-- src/plugins/find/currentdocumentfind.h | 5 +---- src/plugins/find/findplugin.cpp | 11 ++++------- src/plugins/find/searchresultwindow.cpp | 15 ++++++++------- src/plugins/find/searchresultwindow.h | 4 +--- 5 files changed, 16 insertions(+), 23 deletions(-) diff --git a/src/plugins/find/currentdocumentfind.cpp b/src/plugins/find/currentdocumentfind.cpp index b51504db7df..7c9532eb17f 100644 --- a/src/plugins/find/currentdocumentfind.cpp +++ b/src/plugins/find/currentdocumentfind.cpp @@ -45,8 +45,8 @@ using namespace Core; using namespace Find; using namespace Find::Internal; -CurrentDocumentFind::CurrentDocumentFind(ICore *core) - : m_core(core), m_currentFind(0) +CurrentDocumentFind::CurrentDocumentFind() + : m_currentFind(0) { connect(qApp, SIGNAL(focusChanged(QWidget*, QWidget*)), this, SLOT(updateCurrentFindFilter(QWidget*,QWidget*))); diff --git a/src/plugins/find/currentdocumentfind.h b/src/plugins/find/currentdocumentfind.h index 2f41acbe7b0..c5674db6632 100644 --- a/src/plugins/find/currentdocumentfind.h +++ b/src/plugins/find/currentdocumentfind.h @@ -36,8 +36,6 @@ #include "ifindfilter.h" -#include - #include #include @@ -49,7 +47,7 @@ class CurrentDocumentFind : public QObject Q_OBJECT public: - CurrentDocumentFind(Core::ICore *core); + CurrentDocumentFind(); void resetIncrementalSearch(); void clearResults(); @@ -83,7 +81,6 @@ private slots: private: void removeFindSupportConnections(); - Core::ICore *m_core; QPointer m_currentFind; QPointer m_currentWidget; }; diff --git a/src/plugins/find/findplugin.cpp b/src/plugins/find/findplugin.cpp index fb6c9c53b71..483f0da3e90 100644 --- a/src/plugins/find/findplugin.cpp +++ b/src/plugins/find/findplugin.cpp @@ -77,14 +77,13 @@ FindPlugin::~FindPlugin() bool FindPlugin::initialize(const QStringList &, QString *) { - Core::ICore *core = Core::ICore::instance(); setupMenu(); - m_currentDocumentFind = new CurrentDocumentFind(core); + m_currentDocumentFind = new CurrentDocumentFind; m_findToolBar = new FindToolBar(this, m_currentDocumentFind); m_findDialog = new FindToolWindow(this); - SearchResultWindow *searchResultWindow = new SearchResultWindow(core); + SearchResultWindow *searchResultWindow = new SearchResultWindow; addAutoReleasedObject(searchResultWindow); return true; } @@ -126,8 +125,7 @@ void FindPlugin::openFindFilter() void FindPlugin::setupMenu() { - Core::ICore *core = Core::ICore::instance(); - Core::ActionManager *am = core->actionManager(); + Core::ActionManager *am = Core::ICore::instance()->actionManager(); Core::ActionContainer *medit = am->actionContainer(Core::Constants::M_EDIT); Core::ActionContainer *mfind = am->createMenu(Constants::M_FIND); medit->addMenu(mfind, Core::Constants::G_EDIT_FIND); @@ -150,8 +148,7 @@ void FindPlugin::setupMenu() void FindPlugin::setupFilterMenuItems() { - Core::ICore *core = Core::ICore::instance(); - Core::ActionManager *am = core->actionManager(); + Core::ActionManager *am = Core::ICore::instance()->actionManager(); QList findInterfaces = ExtensionSystem::PluginManager::instance()->getObjects(); Core::Command *cmd; diff --git a/src/plugins/find/searchresultwindow.cpp b/src/plugins/find/searchresultwindow.cpp index 57cd669515b..a979e9b39c9 100644 --- a/src/plugins/find/searchresultwindow.cpp +++ b/src/plugins/find/searchresultwindow.cpp @@ -34,6 +34,8 @@ #include "searchresultwindow.h" #include "searchresulttreemodel.h" +#include + #include #include #include @@ -46,10 +48,9 @@ using namespace Find::Internal; static const QString SETTINGSKEYSECTIONNAME("SearchResults"); static const QString SETTINGSKEYEXPANDRESULTS("ExpandResults"); -SearchResultWindow::SearchResultWindow(Core::ICore *core) : - m_core(core), - m_widget(new QStackedWidget()) +SearchResultWindow::SearchResultWindow() { + m_widget = new QStackedWidget; m_widget->setWindowTitle(name()); m_searchResultTreeView = new SearchResultTreeView(m_widget); @@ -173,8 +174,8 @@ void SearchResultWindow::handleExpandCollapseToolButton(bool checked) void SearchResultWindow::readSettings(void) { - if (m_core && m_core->settings()) { - QSettings *s = m_core->settings(); + QSettings *s = Core::ICore::instance()->settings(); + if (s) { s->beginGroup(SETTINGSKEYSECTIONNAME); m_expandCollapseToolButton->setChecked(s->value(SETTINGSKEYEXPANDRESULTS, m_initiallyExpand).toBool()); s->endGroup(); @@ -183,8 +184,8 @@ void SearchResultWindow::readSettings(void) void SearchResultWindow::writeSettings(void) { - if (m_core && m_core->settings()) { - QSettings *s = m_core->settings(); + QSettings *s = Core::ICore::instance()->settings(); + if (s) { s->beginGroup(SETTINGSKEYSECTIONNAME); s->setValue(SETTINGSKEYEXPANDRESULTS, m_expandCollapseToolButton->isChecked()); s->endGroup(); diff --git a/src/plugins/find/searchresultwindow.h b/src/plugins/find/searchresultwindow.h index c167727ea05..e7923b5cc8c 100644 --- a/src/plugins/find/searchresultwindow.h +++ b/src/plugins/find/searchresultwindow.h @@ -38,7 +38,6 @@ #include "searchresulttreeview.h" #include -#include #include #include @@ -65,7 +64,7 @@ class FIND_EXPORT SearchResultWindow : public Core::IOutputPane Q_OBJECT public: - SearchResultWindow(Core::ICore *core); + SearchResultWindow(); ~SearchResultWindow(); QWidget *outputWidget(QWidget *); @@ -97,7 +96,6 @@ private: Internal::SearchResultTreeView *m_searchResultTreeView; QListWidget *m_noMatchesFoundDisplay; - Core::ICore *m_core; QToolButton *m_expandCollapseToolButton; static const bool m_initiallyExpand = false; QStackedWidget *m_widget; From 09316a10df35438e39a5c5d44a613707da451b28 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 21 Jan 2009 18:12:38 +0100 Subject: [PATCH 15/16] Fixes: remove unneeded #include from header --- src/plugins/find/findplugin.cpp | 1 + src/plugins/find/findplugin.h | 1 - src/plugins/find/findtoolbar.cpp | 1 + 3 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/find/findplugin.cpp b/src/plugins/find/findplugin.cpp index 483f0da3e90..879acc7bda3 100644 --- a/src/plugins/find/findplugin.cpp +++ b/src/plugins/find/findplugin.cpp @@ -42,6 +42,7 @@ #include #include #include +#include #include diff --git a/src/plugins/find/findplugin.h b/src/plugins/find/findplugin.h index 9b2ac1f4aa6..28639476b95 100644 --- a/src/plugins/find/findplugin.h +++ b/src/plugins/find/findplugin.h @@ -38,7 +38,6 @@ #include "ifindfilter.h" #include "findtoolbar.h" -#include #include #include diff --git a/src/plugins/find/findtoolbar.cpp b/src/plugins/find/findtoolbar.cpp index 5af25e496d4..a8d96531604 100644 --- a/src/plugins/find/findtoolbar.cpp +++ b/src/plugins/find/findtoolbar.cpp @@ -37,6 +37,7 @@ #include #include +#include #include #include #include From 592560b5786a6596d2b8114512967ab485ad307c Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 21 Jan 2009 18:30:45 +0100 Subject: [PATCH 16/16] Fixes: rempve unnneded icore.h #include Task: 180315 RevBy: Details: --- src/plugins/bineditor/bineditorplugin.cpp | 10 ---------- src/plugins/bineditor/bineditorplugin.h | 7 +------ src/plugins/texteditor/basefilefind.cpp | 3 ++- src/plugins/texteditor/plaintexteditor.cpp | 6 +++--- src/plugins/texteditor/texteditorplugin.cpp | 1 + 5 files changed, 7 insertions(+), 20 deletions(-) diff --git a/src/plugins/bineditor/bineditorplugin.cpp b/src/plugins/bineditor/bineditorplugin.cpp index bfdd5624ab1..7d7e3c9f7e0 100644 --- a/src/plugins/bineditor/bineditorplugin.cpp +++ b/src/plugins/bineditor/bineditorplugin.cpp @@ -338,27 +338,17 @@ QStringList BinEditorFactory::mimeTypes() const ///////////////////////////////// BinEditorPlugin ////////////////////////////////// -BinEditorPlugin *BinEditorPlugin::m_instance = 0; - BinEditorPlugin::BinEditorPlugin() { m_undoAction = m_redoAction = m_copyAction = m_selectAllAction = 0; - m_instance = this; } BinEditorPlugin::~BinEditorPlugin() { - m_instance = 0; -} - -BinEditorPlugin *BinEditorPlugin::instance() -{ - return m_instance; } QAction *BinEditorPlugin::registerNewAction(const QString &id, const QString &title) { - QAction *result = new QAction(title, this); Core::ICore::instance()->actionManager()->registerAction(result, id, m_context); return result; diff --git a/src/plugins/bineditor/bineditorplugin.h b/src/plugins/bineditor/bineditorplugin.h index ddc4333acdb..a7c78269707 100644 --- a/src/plugins/bineditor/bineditorplugin.h +++ b/src/plugins/bineditor/bineditorplugin.h @@ -43,7 +43,6 @@ #include namespace Core { -class ICore; class IWizard; } @@ -61,8 +60,6 @@ public: BinEditorPlugin(); ~BinEditorPlugin(); - static BinEditorPlugin *instance(); - bool initialize(const QStringList &arguments, QString *error_message = 0); void extensionsInitialized(); @@ -77,6 +74,7 @@ private slots: void updateActions(); void updateCurrentEditor(Core::IContext *object); + private: QList m_context; QAction *registerNewAction(const QString &id, const QString &title = QString()); @@ -90,9 +88,6 @@ private: friend class BinEditorFactory; Core::IEditor *createEditor(QWidget *parent); - static BinEditorPlugin *m_instance; - - Core::ICore *m_core; typedef QList WizardList; WizardList m_wizards; BinEditorFactory *m_factory; diff --git a/src/plugins/texteditor/basefilefind.cpp b/src/plugins/texteditor/basefilefind.cpp index e574140d3d8..36295979d1d 100644 --- a/src/plugins/texteditor/basefilefind.cpp +++ b/src/plugins/texteditor/basefilefind.cpp @@ -33,6 +33,7 @@ #include "basefilefind.h" +#include #include #include #include @@ -40,7 +41,7 @@ #include #include -#include +#include #include #include #include diff --git a/src/plugins/texteditor/plaintexteditor.cpp b/src/plugins/texteditor/plaintexteditor.cpp index ed0e43e30b7..f4fbe12aa8c 100644 --- a/src/plugins/texteditor/plaintexteditor.cpp +++ b/src/plugins/texteditor/plaintexteditor.cpp @@ -42,15 +42,15 @@ using namespace TextEditor; using namespace TextEditor::Internal; PlainTextEditorEditable::PlainTextEditorEditable(PlainTextEditor *editor) - :BaseTextEditorEditable(editor) + : BaseTextEditorEditable(editor) { Core::UniqueIDManager *uidm = Core::UniqueIDManager::instance(); m_context << uidm->uniqueIdentifier(Core::Constants::K_DEFAULT_TEXT_EDITOR); m_context << uidm->uniqueIdentifier(TextEditor::Constants::C_TEXTEDITOR); } -PlainTextEditor::PlainTextEditor(QWidget *parent) : - BaseTextEditor(parent) +PlainTextEditor::PlainTextEditor(QWidget *parent) + : BaseTextEditor(parent) { setRevisionsVisible(true); setMarksVisible(true); diff --git a/src/plugins/texteditor/texteditorplugin.cpp b/src/plugins/texteditor/texteditorplugin.cpp index 3432d221e4e..1e6a47e47d4 100644 --- a/src/plugins/texteditor/texteditorplugin.cpp +++ b/src/plugins/texteditor/texteditorplugin.cpp @@ -43,6 +43,7 @@ #include "plaintexteditor.h" #include "storagesettings.h" +#include #include #include #include