diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py index a305dbec7c4..99db06848cf 100644 --- a/share/qtcreator/debugger/dumper.py +++ b/share/qtcreator/debugger/dumper.py @@ -737,12 +737,16 @@ class DumperBase: with Children(self): self.putFields(value, dumpBase) + def putMembersItem(self, value, sortorder = 10): + with SubItem(self, "[members]"): + self.put('sortgroup="%s"' % sortorder) + self.putPlainChildren(value) + def isMapCompact(self, keyType, valueType): if self.currentItemFormat() == CompactMapFormat: return True return self.isSimpleType(keyType) and self.isSimpleType(valueType) - def check(self, exp): if not exp: raise RuntimeError("Check failed") @@ -923,13 +927,6 @@ class DumperBase: # self.expandedINames, self.currentIName in self.expandedINames)) return self.currentIName in self.expandedINames - def putPlainChildren(self, value): - self.putEmptyValue(-99) - self.putNumChild(1) - if self.currentIName in self.expandedINames: - with Children(self): - self.putFields(value) - def putCStyleArray(self, value): arrayType = value.type.unqualified() innerType = value[0].type @@ -1325,50 +1322,6 @@ class DumperBase: self.knownStaticMetaObjects[typeName] = result return result - def staticQObjectMetaData(self, metaobject, offset1, offset2, step): - items = [] - dd = metaobject["d"] - data = self.extractPointer(dd["data"]) - sd = self.extractPointer(dd["stringdata"]) - - metaObjectVersion = self.extractInt(data) - itemCount = self.extractInt(data + offset1) - itemData = -offset2 if offset2 < 0 else self.extractInt(data + offset2) - - if metaObjectVersion >= 7: # Qt 5. - byteArrayDataType = self.lookupType(self.qtNamespace() + "QByteArrayData") - byteArrayDataSize = byteArrayDataType.sizeof - for i in range(itemCount): - x = data + (itemData + step * i) * 4 - literal = sd + self.extractInt(x) * byteArrayDataSize - ldata, lsize, lalloc = self.byteArrayDataHelper(literal) - items.append(self.extractBlob(ldata, lsize).toString()) - else: # Qt 4. - for i in range(itemCount): - x = data + (itemData + step * i) * 4 - ldata = sd + self.extractInt(x) - items.append(self.extractCString(ldata).decode("utf8")) - - return items - - def staticQObjectPropertyCount(self, metaobject): - return self.extractInt(self.extractPointer(metaobject["d"]["data"]) + 24) - - def staticQObjectPropertyNames(self, metaobject): - return self.staticQObjectMetaData(metaobject, 24, 28, 3) - - def staticQObjectMethodCount(self, metaobject): - return self.extractInt(self.extractPointer(metaobject["d"]["data"]) + 16) - - def staticQObjectMethodNames(self, metaobject): - return self.staticQObjectMetaData(metaobject, 16, 20, 5) - - def staticQObjectSignalCount(self, metaobject): - return self.extractInt(self.extractPointer(metaobject["d"]["data"]) + 52) - - def staticQObjectSignalNames(self, metaobject): - return self.staticQObjectMetaData(metaobject, 52, -14, 5) - def extractCString(self, addr): result = bytearray() while True: @@ -1406,95 +1359,301 @@ class DumperBase: for i in range(size): yield self.createValue(data + i * innerSize, innerType) + def putStructGuts(self, value): + self.putEmptyValue() + if self.showQObjectNames: + staticMetaObject = self.extractStaticMetaObject(value.type) + if staticMetaObject: + self.context = value + self.putQObjectNameValue(value) + if self.isExpanded(): + self.put('sortable="1"') + with Children(self, 1, childType=None): + self.putFields(value) + if not self.showQObjectNames: + staticMetaObject = self.extractStaticMetaObject(value.type) + if staticMetaObject: + self.putQObjectGuts(value, staticMetaObject) # This is called is when a QObject derived class is expanded def putQObjectGuts(self, qobject, smo): - intSize = self.intSize() ptrSize = self.ptrSize() - # dd = value["d_ptr"]["d"] is just behind the vtable. dd = self.extractPointer(qobject, offset=ptrSize) - isQt5 = self.qtVersion() >= 0x50000 - - extraDataOffset = 5 * ptrSize + 8 if isQt5 else 6 * ptrSize + 8 - extraData = self.extractPointer(dd + extraDataOffset) - #with SubItem(self, "[extradata]"): - # self.putValue("0x%x" % toInteger(extraData)) # Parent and children. try: - d_ptr = qobject["d_ptr"]["d"] - self.putSubItem("[parent]", d_ptr["parent"]) - self.putSubItem("[children]", d_ptr["children"]) + if qobject: + d_ptr = qobject["d_ptr"]["d"] + with SubItem(self, "[parent]"): + self.putItem(d_ptr["parent"]) + self.put('sortgroup="9"') + with SubItem(self, "[children]"): + self.putItem(d_ptr["children"]) + self.put('sortgroup="1"') except: pass - with SubItem(self, "[properties]"): - propertyCount = 0 - usesVector = self.qtVersion() >= 0x50700 - if self.isExpanded(): - propertyNames = self.staticQObjectPropertyNames(smo) - propertyCount = len(propertyNames) # Doesn't include dynamic properties. - with Children(self): - # Static properties. - for i in range(propertyCount): - name = propertyNames[i] - self.putCallItem(str(name), qobject, "property", '"' + name + '"') + # dd = value["d_ptr"]["d"] is just behind the vtable. + isQt5 = self.qtVersion() >= 0x50000 + extraDataOffset = 5 * ptrSize + 8 if isQt5 else 6 * ptrSize + 8 + extraData = self.extractPointer(dd + extraDataOffset) + self.putQObjectGutsHelper(qobject, extraData, -1, smo, "QObject") - # Dynamic properties. - if extraData: - byteArrayType = self.lookupQtType("QByteArray") - variantType = self.lookupQtType("QVariant") - names = self.listChildrenGenerator(extraData + ptrSize, byteArrayType) - if usesVector: - values = self.vectorChildrenGenerator(extraData + 2 * ptrSize, variantType) - else: - values = self.listChildrenGenerator(extraData + 2 * ptrSize, variantType) - for (k, v) in zip(names, values): - with SubItem(self, propertyCount): - self.put('key="%s",' % self.encodeByteArray(k)) - self.put('keyencoded="latin1",') - self.putItem(v) - propertyCount += 1 - self.putItemCount(propertyCount) - else: - # We need a handle to [x] for the user to expand the item - # before we know whether there are actual children. Counting - # them is too expensive. + + def metaString(self, metaObject, index, revision = 7): + sd = self.extractPointer(metaObject["d"]["stringdata"]) + if revision >= 7: # Qt 5. + byteArrayDataType = self.lookupQtType("QByteArrayData") + byteArrayDataSize = byteArrayDataType.sizeof + literal = toInteger(sd) + toInteger(index) * byteArrayDataSize + ldata, lsize, lalloc = self.byteArrayDataHelper(literal) + try: + return self.extractBlob(ldata, lsize).toString() + except: + return "" + else: # Qt 4. + ldata = sd + index + return self.extractCString(ldata).decode("utf8") + + def putQMetaStuff(self, value, origType): + metaObject = value["mobj"] + if not metaObject: + self.putEmptyValue() + if self.isExpanded(): + with Children(self): + self.putFields(value) + else: + handle = toInteger(value["handle"]) + index = toInteger(metaObject["d"]["data"][handle]) + name = self.metaString(metaObject.dereference(), index) + self.putValue(name) + self.putNumChild(1) + if self.isExpanded(): + with Children(self): + self.putFields(value) + self.putQObjectGutsHelper(0, 0, handle, metaObject, origType) + + def putQObjectGutsHelper(self, qobject, extraData, handle, metaObject, origType): + intSize = self.intSize() + ptrSize = self.ptrSize() + data = metaObject["d"]["data"] + + def walker(base): + ptr = toInteger(base) + while True: + yield self.extractInt(ptr) + ptr += intSize + + def putt(name, value, typeName = ' '): + with SubItem(self, name): + self.putValue(value) + self.putType(typeName) + self.putNumChild(0) + + def superData(mo): + return mo['d']['superdata'] + + isQMetaObject = origType == "QMetaObject" + isQObject = origType == "QObject" + + p = walker(data) + revision = p.next() + classname = p.next() + classinfo = p.next() + classinfo2 = p.next() + methodCount = p.next() + methods = p.next() + propertyCount = p.next() + properties = p.next() + enumCount = p.next() + enums = p.next() + constructorCount = p.next() + constructors = p.next() + flags = p.next() + signalCount = p.next() + + globalOffset = 0 + superdata = superData(metaObject) + while toInteger(superdata): + sdata = superdata["d"]["data"] + p = walker(sdata) + revision = p.next() + classname = p.next() + classinfo = p.next() + classinfo2 = p.next() + methodCount = p.next() + globalOffset += methodCount + superdata = superData(superdata) + + largestStringIndex = -1 + for i in range(methodCount): + t = (p.next(), p.next(), p.next(), p.next(), p.next()) + if largestStringIndex < t[0]: + largestStringIndex = t[0] + + if isQMetaObject: + with SubItem(self, "[strings]"): + self.put('sortgroup="2"') + self.putSpecialValue("minimumitemcount", largestStringIndex + 1) self.putNumChild(1) - self.putSpecialValue("minimumitemcount", 0) + if self.isExpanded(): + with Children(self, largestStringIndex + 1): + for i in self.childRange(): + with SubItem(self, i): + self.putValue(self.hexencode(self.metaString(metaObject, i)), "latin1") + self.putNumChild(0) - with SubItem(self, "[methods]"): - methodCount = self.staticQObjectMethodCount(smo) - self.putItemCount(methodCount) - if self.isExpanded(): - methodNames = self.staticQObjectMethodNames(smo) - with Children(self): - for i in range(methodCount): - k = methodNames[i] - with SubItem(self, k): - self.putEmptyValue() + if isQMetaObject: + with SubItem(self, "[raw]"): + self.put('sortgroup="1"') + p = walker(data) + self.putEmptyValue() + self.putNumChild(1) + if self.isExpanded(): + with Children(self): + putt("revision", revision) + putt("classname", classname) + putt("classinfo", classinfo) + putt("methods", "%d %d" % (methodCount, methods)) + putt("properties", "%d %d" % (propertyCount, properties)) + putt("enums/sets", "%d %d" % (enumCount, enums)) + putt("constructors", "%d %d" % (constructorCount, constructors)) + putt("flags", flags) + putt("signalCount", signalCount) + p = walker(toInteger(data) + 14 * 4) + for i in range(methodCount): + t = (p.next(), p.next(), p.next(), p.next(), p.next()) + putt("method %d" % i, "%s %s %s %s %s" % t) - with SubItem(self, "[signals]"): - signalCount = self.staticQObjectSignalCount(smo) - self.putItemCount(signalCount) - if self.isExpanded(): - signalNames = self.staticQObjectSignalNames(smo) - signalCount = len(signalNames) - with Children(self): - for i in range(signalCount): - k = signalNames[i] - with SubItem(self, k): - self.putEmptyValue() - self.putQObjectConnections(qobject) + putt("[extraData]", "0x%x" % toInteger(extraData), "void *") - def putQObjectConnections(self, qobject): + if isQMetaObject or isQObject: + with SubItem(self, "[properties]"): + self.put('sortgroup="5"') + self.putItemCount(propertyCount) + if self.isExpanded(): + usesVector = self.qtVersion() >= 0x50700 + with Children(self): + # Static properties. + p = walker(toInteger(data) + properties * 4) + for i in range(propertyCount): + t = (p.next(), p.next(), p.next()) + name = self.metaString(metaObject, t[0]) + if qobject: + self.putCallItem(name, qobject, "property", '"' + name + '"') + else: + putt(name, ' ') + + # Dynamic properties. + if extraData: + byteArrayType = self.lookupQtType("QByteArray") + variantType = self.lookupQtType("QVariant") + names = self.listChildrenGenerator(extraData + ptrSize, byteArrayType) + if usesVector: + values = self.vectorChildrenGenerator(extraData + 2 * ptrSize, variantType) + else: + values = self.listChildrenGenerator(extraData + 2 * ptrSize, variantType) + for (k, v) in zip(names, values): + with SubItem(self, propertyCount): + self.put('key="%s",' % self.encodeByteArray(k)) + self.put('keyencoded="latin1",') + self.putItem(v) + propertyCount += 1 + else: + # We need a handle to [x] for the user to expand the item + # before we know whether there are actual children. Counting + # them is too expensive. + self.putNumChild(1) + self.putSpecialValue("minimumitemcount", propertyCount) + + if isQMetaObject or isQObject: + with SubItem(self, "[methods]"): + self.put('sortgroup="3"') + self.putItemCount(methodCount) + if self.isExpanded(): + with Children(self): + p = walker(toInteger(data) + 14 * 4) + for i in range(methodCount): + t = (p.next(), p.next(), p.next(), p.next(), p.next()) + name = self.metaString(metaObject, t[0]) + with SubItem(self, i): + self.putValue(name) + self.putType(" ") + self.putNumChild(1) + isSignal = False + flags = t[4] + if flags == 0x06: + typ = "signal" + isSignal = True + elif flags == 0x0a: + typ = "slot" + elif flags == 0x0a: + typ = "invokable" + else: + typ = "" + with Children(self): + putt("[nameindex]", t[0]) + putt("[type]", typ) + putt("[argc]", t[1]) + putt("[parameter]", t[2]) + putt("[tag]", t[3]) + putt("[flags]", t[4]) + putt("[localindex]", str(i)) + putt("[globalindex]", str(globalOffset + i)) + + if isQObject: + self.putSubItem("[metaObject]", metaObject) + + if isQObject: + with SubItem(self, "d"): + self.put('sortgroup="15"') + self.putItem(qobject["d_ptr"]["d"]) + + if isQMetaObject: + with SubItem(self, "[superdata]"): + self.put('sortgroup="12"') + superdata = superData(metaObject) + self.putValue("0x%x" % superdata) + if toInteger(superdata): + self.putNumChild(1) + if self.isExpanded(): + with Children(self): + self.putSubItem('*', superdata) + else: + self.putNumChild(0) + self.putType(superdata.type) + + if handle >= 0: + localIndex = (handle - methods) / 5 + with SubItem(self, "[localindex]"): + self.put('sortgroup="12"') + self.putValue(localIndex) + with SubItem(self, "[globalindex]"): + self.put('sortgroup="11"') + self.putValue(globalOffset + localIndex) + + + #with SubItem(self, "[signals]"): + # self.putItemCount(signalCount) + # signalNames = metaData(52, -14, 5) + # warn("NAMES: %s" % signalNames) + # if self.isExpanded(): + # with Children(self): + # putt("A", "b") + # for i in range(signalCount): + # k = signalNames[i] + # with SubItem(self, k): + # self.putEmptyValue() + # if dd: + # self.putQObjectConnections(dd) + + def putQObjectConnections(self, dd): with SubItem(self, "[connections]"): ptrSize = self.ptrSize() self.putNoType() ns = self.qtNamespace() privateTypeName = ns + "QObjectPrivate" privateType = self.lookupType(privateTypeName) - dd = qobject["d_ptr"]["d"] d_ptr = dd.cast(privateType.pointer()).dereference() connections = d_ptr["connectionLists"] if self.isNull(connections): diff --git a/share/qtcreator/debugger/gdbbridge.py b/share/qtcreator/debugger/gdbbridge.py index f9cf2d9f36d..24abf794d0e 100644 --- a/share/qtcreator/debugger/gdbbridge.py +++ b/share/qtcreator/debugger/gdbbridge.py @@ -1136,23 +1136,10 @@ class Dumper(DumperBase): #warn("INAME: %s " % self.currentIName) #warn("INAMES: %s " % self.expandedINames) #warn("EXPANDED: %s " % (self.currentIName in self.expandedINames)) - if self.showQObjectNames: - staticMetaObject = self.extractStaticMetaObject(value.type) - if staticMetaObject: - self.putQObjectNameValue(value) self.putType(typeName) - self.putEmptyValue() self.putNumChild(len(typeobj.fields())) + self.putStructGuts(value) - if self.currentIName in self.expandedINames: - innerType = None - self.put('sortable="1"') - with Children(self, 1, childType=innerType): - self.putFields(value) - if not self.showQObjectNames: - staticMetaObject = self.extractStaticMetaObject(value.type) - if staticMetaObject: - self.putQObjectGuts(value, staticMetaObject) def toBlob(self, value): size = toInteger(value.type.sizeof) @@ -1251,7 +1238,7 @@ class Dumper(DumperBase): # int (**)(void) n = 100 self.putType(" ") - self.put('sortgroup="1"') + self.put('sortgroup="20"') self.putValue(value[field.name]) self.putNumChild(n) if self.isExpanded(): @@ -1275,7 +1262,7 @@ class Dumper(DumperBase): baseNumber += 1 with UnnamedSubItem(self, "@%d" % baseNumber): baseValue = value.cast(field.type) - self.put('sortgroup="2"') + self.put('sortgroup="30"') self.putBaseClassName(field.name) self.putAddress(baseValue.address) self.putItem(baseValue, False) diff --git a/share/qtcreator/debugger/lldbbridge.py b/share/qtcreator/debugger/lldbbridge.py index 89a4a38fb26..5402db229fe 100644 --- a/share/qtcreator/debugger/lldbbridge.py +++ b/share/qtcreator/debugger/lldbbridge.py @@ -1084,27 +1084,14 @@ class Dumper(DumperBase): self.putValue(v) self.putType(typeName) - self.putEmptyValue() self.putNumChild(numchild) - if self.showQObjectNames: - staticMetaObject = self.extractStaticMetaObject(value.GetType()) - if staticMetaObject: - self.context = value - self.putQObjectNameValue(value) + self.putStructGuts(value) - if self.currentIName in self.expandedINames: - self.put('sortable="1"') - with Children(self): - self.putFields(value) - if not self.showQObjectNames: - staticMetaObject = self.extractStaticMetaObject(value.GetType()) - if staticMetaObject: - self.putQObjectGuts(value, staticMetaObject) def warn(self, msg): self.put('{name="%s",value="",type="",numchild="0"},' % msg) - def putFields(self, value): + def putFields(self, value, dumpBase = True): # Suppress printing of 'name' field for arrays. if value.GetType().GetTypeClass() == lldb.eTypeClassArray: for i in xrange(value.GetNumChildren()): @@ -1139,9 +1126,10 @@ class Dumper(DumperBase): for i in xrange(len(baseObjects)): baseObject = baseObjects[i] with UnnamedSubItem(self, "@%d" % (i + 1)): - self.put('iname="%s",' % self.currentIName) - self.put('name="[%s]",' % baseObject.name) - self.putItem(baseObject.value) + self.put('iname="%s",' % self.currentIName) + self.put('name="[%s]",' % baseObject.name) + self.put('sortgroup="30"') + self.putItem(baseObject.value) memberCount = value.GetNumChildren() if memberCount > 10000: diff --git a/share/qtcreator/debugger/qttypes.py b/share/qtcreator/debugger/qttypes.py index bc112de7fb5..095f30a8ff2 100644 --- a/share/qtcreator/debugger/qttypes.py +++ b/share/qtcreator/debugger/qttypes.py @@ -1089,431 +1089,26 @@ def qdump__QVariantMap(d, value): qdump__QMap(d, value) -def qdump__QMetaObjectPrivate(d, value): - d.putEmptyValue() - d.putNumChild(1) - if d.isExpanded(): - with Children(d): - # int revision; - # int className; - # int classInfoCount, classInfoData; - # int methodCount, methodData; - # int propertyCount, propertyData; - # int enumeratorCount, enumeratorData; - # int constructorCount, constructorData; //since revision 2 - # int flags; //since revision 3 - # int signalCount; //since revision 4 - d.putIntItem("revision", value["revision"]) - d.putIntItem("methodCount", value["methodCount"]) - d.putIntItem("propertyCount", value["propertyCount"]) - d.putIntItem("enumeratorCount", value["enumeratorCount"]) - d.putIntItem("constructorCount", value["constructorCount"]) - d.putIntItem("flags", value["flags"]) - d.putIntItem("signalCount", value["signalCount"]) +def qdump__QMetaMethod(d, value): + d.putQMetaStuff(value, "QMetaMethod") +def qdump__QMetaEnum(d, value): + d.putQMetaStuff(value, "QMetaEnum") +def qdump__QMetaProperty(d, value): + d.putQMetaStuff(value, "QMetaProperty") + +def qdump__QMetaClassInfo(d, value): + d.putQMetaStuff(value, "QMetaClassInfo") def qdump__QMetaObject(d, value): d.putEmptyValue() d.putNumChild(1) if d.isExpanded(): with Children(d): - dd = value["d"] - d.putSubItem("d", dd) - data = d.extractPointer(dd["data"]) + d.putQObjectGutsHelper(0, 0, -1, value, "QMetaObject") + d.putMembersItem(value) - propertyNames = d.staticQObjectPropertyNames(value) - propertyIndex = 0 - for propertyName in propertyNames: - with SubItem(d, "property_%s" % propertyIndex): - d.putValue(propertyName) - propertyIndex += 1 - - #byteArrayDataType = d.lookupType(d.qtNamespace() + "QByteArrayData") - #byteArrayDataSize = byteArrayDataType.sizeof - #sd = d.extractPointer(dd["stringdata"]) - #stringdata, size, alloc = d.byteArrayDataHelper(sd) - - #propertyCount = d.extractInt(data + 24) - #propertyData = d.extractInt(data + 28) - - ## This is the 'data' member in the qt_meta_stringdata_qobject__*_t struct - #d.putIntItem("_byteArrayDataSize", byteArrayDataSize) - #d.putAddressItem("_data", data) - #d.putAddressItem("_sd_", stringdata) - #with SubItem(d, "_sd"): - # d.putValue(d.readMemory(stringdata, size), "latin1") - #with SubItem(d, "_cn"): - # d.putValue(d.readMemory(stringdata + d.extractInt(data + 4), size), "latin1") - - #for i in range(propertyCount): - # with SubItem(d, "property_%s" % i): - # x = data + (propertyData + 3 * i) * 4 - # literal = sd + d.extractInt(x) * byteArrayDataSize - # ldata, lsize, lalloc = d.byteArrayDataHelper(literal) - # d.putValue(d.readMemory(ldata, lsize), "latin1") - - # d.putNumChild(1) - # if d.isExpanded(): - # with Children(d): - # if d.isExpanded(): - # d.putAddressItem("_literal", literal) - # d.putIntItem("__data", ldata) - # d.putIntItem("__size", lsize) - # d.putIntItem("__alloc", lalloc) - # d.putIntItem("name", d.extractInt(x)) - # d.putIntItem("type", d.extractInt(x + 4)) - # d.putIntItem("flags", d.extractInt(x + 8)) - - methodCount = d.extractInt(data + 16) - methodData = d.extractInt(data + 20) - for i in range(methodCount): - with SubItem(d, "method_%s" % i): - x = data + (methodData + 5 * i) * 4 - #d.putEmptyValue() - d.putValue(d.readCString(stringdata + d.extractInt(x))) - d.putNumChild(1) - if d.isExpanded(): - with Children(d): - if d.isExpanded(): - d.putIntItem("name", d.extractInt(x)) - d.putIntItem("argc", d.extractInt(x + 4)) - d.putIntItem("argv", d.extractInt(x + 8)) - d.putIntItem("type", d.extractInt(x + 12)) - d.putIntItem("flags", d.extractInt(x + 16)) - - d.putSubItem("stringData", dd["stringdata"]) - d.putIntItem("revision", d.extractInt(data)) - d.putIntItem("className", d.extractInt(data + 4)) - d.putIntItem("classInfoCount", d.extractInt(data + 8)) - d.putIntItem("className", d.extractInt(data + 12)) - d.putIntItem("methodCount", d.extractInt(data + 16)) - d.putIntItem("methodData", d.extractInt(data + 20)) - d.putIntItem("propertyCount", d.extractInt(data + 24)) - d.putIntItem("propertyData", d.extractInt(data + 28)) - d.putIntItem("enumeratorCount", d.extractInt(data + 32)) - d.putIntItem("enumeratorData", d.extractInt(data + 36)) - d.putIntItem("constructorCount", d.extractInt(data + 40)) - d.putIntItem("constructorData", d.extractInt(data + 44)) - d.putIntItem("flags", d.extractInt(data + 48)) - d.putIntItem("signalCount", d.extractInt(data + 52)) - -def _qdump__QObject(d, value): - d.putQObjectNameValue(value) - ns = d.qtNamespace() - - try: - privateTypeName = ns + "QObjectPrivate" - privateType = d.lookupType(privateTypeName) - staticMetaObject = value["staticMetaObject"] - except: - d.putPlainChildren(value) - return - #warn("SMO: %s " % staticMetaObject) - #warn("SMO DATA: %s " % staticMetaObject["d"]["stringdata"]) - superData = staticMetaObject["d"]["superdata"] - #warn("SUPERDATA: %s" % superData) - #while not d.isNull(superData): - # superData = superData.dereference()["d"]["superdata"] - # warn("SUPERDATA: %s" % superData) - - if privateType is None: - #d.putValue(d.cleanAddress(d.pointerValue(value)) - d.putPlainChildren(value) - return - - #warn("OBJECTNAME: %s " % objectName) - dd = value["d_ptr"]["d"] - d_ptr = dd.cast(privateType.pointer()).dereference() - #warn("D_PTR: %s " % d_ptr) - mo = d_ptr["metaObject"] - if d.isNull(mo): - mo = staticMetaObject - #warn("MO: %s " % mo) - #warn("MO.D: %s " % mo["d"]) - metaData = mo["d"]["data"] - metaStringData = mo["d"]["stringdata"] - # This is char * in Qt 4 and ByteArrayData * in Qt 5. - # Force it to the char * data in the Qt 5 case. - try: - offset = metaStringData["offset"] - metaStringData = metaStringData.cast(d.charPtrType()) + int(offset) - except: - pass - - #extradata = mo["d"]["extradata"] # Capitalization! - #warn("METADATA: %s " % metaData) - #warn("STRINGDATA: %s " % metaStringData) - #warn("TYPE: %s " % value.type) - #warn("INAME: %s " % d.currentIName) - d.putEmptyValue() - #QSignalMapper::staticMetaObject - #d.checkRef(d_ptr["ref"]) - d.putNumChild(4) - if d.isExpanded(): - with Children(d): - d.putQObjectGuts(value) - - # Local data. - if privateTypeName != ns + "QObjectPrivate": - if not privateType is None: - with SubItem(d, "data"): - d.putEmptyValue() - d.putNoType() - d.putPlainChildren(d_ptr, False) - - d.putFields(value) - # Parent and children. - if d.stripClassTag(str(value.type)) == ns + "QObject": - d.putSubItem("parent", d_ptr["parent"]) - d.putSubItem("children", d_ptr["children"]) - - # Metaobject. - d.putSubItem("metaobject", mo) - - # Dynamic Properties. - with SubItem(d, "dynamics"): - # Prolog - extraData = d_ptr["extraData"] # Capitalization! - if d.isNull(extraData): - dynamicPropertyCount = 0 - else: - extraDataType = d.lookupType( - ns + "QObjectPrivate::ExtraData").pointer() - extraData = extraData.cast(extraDataType) - ed = extraData.dereference() - names = ed["propertyNames"] - values = ed["propertyValues"] - #userData = ed["userData"] - namesBegin = names["d"]["begin"] - namesEnd = names["d"]["end"] - namesArray = names["d"]["array"] - dynamicPropertyCount = namesEnd - namesBegin - - d.putNoType() - d.putItemCount(dynamicPropertyCount) - - if d.isExpanded() and d.isGdb: - import gdb - # FIXME: Make this global. Don't leak. - variant = "'%sQVariant'" % ns - # Avoid malloc symbol clash with QVector - gdb.execute("set $d = (%s*)calloc(sizeof(%s), 1)" - % (variant, variant)) - gdb.execute("set $d.d.is_shared = 0") - - with Children(d): - dummyType = d.voidPtrType().pointer() - namesType = d.lookupType(ns + "QByteArray") - valuesBegin = values["d"]["begin"] - valuesEnd = values["d"]["end"] - valuesArray = values["d"]["array"] - valuesType = d.lookupType(ns + "QVariant") - p = namesArray.cast(dummyType) + namesBegin - q = valuesArray.cast(dummyType) + valuesBegin - for i in xrange(dynamicPropertyCount): - with SubItem(d, i): - pp = p.cast(namesType.pointer()).dereference(); - d.putField("key", d.encodeByteArray(pp)) - d.putField("keyencoded", "latin1") - qq = q.cast(valuesType.pointer().pointer()) - qq = qq.dereference(); - d.putField("address", d.cleanAddress(qq)) - d.putField("exp", "*(%s*)%s" - % (variant, d.cleanAddress(qq))) - t = qdump__QVariant(d, qq) - # Override the "QVariant (foo)" output. - d.putBetterType(t) - p += 1 - q += 1 - - - # Connections. - with SubItem(d, "connections"): - d.putNoType() - connections = d_ptr["connectionLists"] - connectionListCount = 0 - if not d.isNull(connections): - connectionListCount = connections["d"]["size"] - d.putItemCount(connectionListCount, 0) - if d.isExpanded(): - pp = 0 - with Children(d): - vectorType = d.fieldAt(connections.type.target(), 0).type - innerType = d.templateArgument(vectorType, 0) - # Should check: innerType == ns::QObjectPrivate::ConnectionList - p = gdb.Value(connections["p"]["array"]).cast(innerType.pointer()) - for i in xrange(connectionListCount): - first = p.dereference()["first"] - while not d.isNull(first): - with SubItem(d, pp): - connection = first.dereference() - d.putItem(connection) - d.putValue(connection["callFunction"]) - first = first["nextConnectionList"] - # We need to enforce some upper limit. - pp += 1 - if pp > 1000: - break - p += 1 - if pp < 1000: - d.putItemCount(pp) - - - # Active connection. - with SubItem(d, "currentSender"): - d.putNoType() - sender = d_ptr["currentSender"] - d.putPointerValue(sender) - if d.isNull(sender): - d.putNumChild(0) - else: - d.putNumChild(1) - if d.isExpanded(): - with Children(d): - # Sending object - d.putSubItem("object", sender["sender"]) - # Signal in sending object - with SubItem(d, "signal"): - d.putValue(sender["signal"]) - d.putNoType() - d.putNumChild(0) - -# QObject - -# static const uint qt_meta_data_QObject[] = { - -# int revision; -# int className; -# int classInfoCount, classInfoData; -# int methodCount, methodData; -# int propertyCount, propertyData; -# int enumeratorCount, enumeratorData; -# int constructorCount, constructorData; //since revision 2 -# int flags; //since revision 3 -# int signalCount; //since revision 4 - -# // content: -# 4, // revision -# 0, // classname -# 0, 0, // classinfo -# 4, 14, // methods -# 1, 34, // properties -# 0, 0, // enums/sets -# 2, 37, // constructors -# 0, // flags -# 2, // signalCount - -# /* 14 */ - -# // signals: signature, parameters, type, tag, flags -# 9, 8, 8, 8, 0x05, -# 29, 8, 8, 8, 0x25, - -# /* 24 */ -# // slots: signature, parameters, type, tag, flags -# 41, 8, 8, 8, 0x0a, -# 55, 8, 8, 8, 0x08, - -# /* 34 */ -# // properties: name, type, flags -# 90, 82, 0x0a095103, - -# /* 37 */ -# // constructors: signature, parameters, type, tag, flags -# 108, 101, 8, 8, 0x0e, -# 126, 8, 8, 8, 0x2e, - -# 0 // eod -# }; - -# static const char qt_meta_stringdata_QObject[] = { -# "QObject\0\0destroyed(QObject*)\0destroyed()\0" -# "deleteLater()\0_q_reregisterTimers(void*)\0" -# "QString\0objectName\0parent\0QObject(QObject*)\0" -# "QObject()\0" -# }; - - -# QSignalMapper - -# static const uint qt_meta_data_QSignalMapper[] = { - -# // content: -# 4, // revision -# 0, // classname -# 0, 0, // classinfo -# 7, 14, // methods -# 0, 0, // properties -# 0, 0, // enums/sets -# 0, 0, // constructors -# 0, // flags -# 4, // signalCount - -# // signals: signature, parameters, type, tag, flags -# 15, 14, 14, 14, 0x05, -# 27, 14, 14, 14, 0x05, -# 43, 14, 14, 14, 0x05, -# 60, 14, 14, 14, 0x05, - -# // slots: signature, parameters, type, tag, flags -# 77, 14, 14, 14, 0x0a, -# 90, 83, 14, 14, 0x0a, -# 104, 14, 14, 14, 0x08, - -# 0 // eod -# }; - -# static const char qt_meta_stringdata_QSignalMapper[] = { -# "QSignalMapper\0\0mapped(int)\0mapped(QString)\0" -# "mapped(QWidget*)\0mapped(QObject*)\0" -# "map()\0sender\0map(QObject*)\0" -# "_q_senderDestroyed()\0" -# }; - -# const QMetaObject QSignalMapper::staticMetaObject = { -# { &QObject::staticMetaObject, qt_meta_stringdata_QSignalMapper, -# qt_meta_data_QSignalMapper, 0 } -# }; - - - -# // Meta enumeration helpers -# static inline void dumpMetaEnumType(QDumper &d, const QMetaEnum &me) -# { -# QByteArray type = me.scope() -# if !type.isEmpty()) -# type += "::" -# type += me.name() -# d.putField("type", type.constData()) -# } -# -# static inline void dumpMetaEnumValue(QDumper &d, const QMetaProperty &mop, -# int value) -# { -# -# const QMetaEnum me = mop.enumerator() -# dumpMetaEnumType(d, me) -# if const char *enumValue = me.valueToKey(value)) { -# d.putValue(enumValue) -# } else { -# d.putValue(value) -# } -# d.putField("numchild", 0) -# } -# -# static inline void dumpMetaFlagValue(QDumper &d, const QMetaProperty &mop, -# int value) -# { -# const QMetaEnum me = mop.enumerator() -# dumpMetaEnumType(d, me) -# const QByteArray flagsValue = me.valueToKeys(value) -# if flagsValue.isEmpty(): -# d.putValue(value) -# else: -# d.putValue(flagsValue.constData()) -# d.putNumChild(0) -# } def qdump__QPixmap(d, value): offset = (3 if d.qtVersion() >= 0x050000 else 2) * d.ptrSize() diff --git a/share/qtcreator/qmldesigner/common/DesignerScrollViewStyle.qml b/share/qtcreator/qmldesigner/common/DesignerScrollViewStyle.qml index 7dca52fa81f..ba826a424ad 100644 --- a/share/qtcreator/qmldesigner/common/DesignerScrollViewStyle.qml +++ b/share/qtcreator/qmldesigner/common/DesignerScrollViewStyle.qml @@ -28,9 +28,9 @@ import QtQuick.Controls 1.1 import QtQuick.Controls.Styles 1.1 ScrollViewStyle { - property color scrollbarColor: "#444444" - property color scrollbarBorderColor: "#333333" - property color scrollBarHandleColor: "#656565" + readonly property color scrollbarColor: creatorTheme.BackgroundColorDark + readonly property color scrollbarBorderColor: creatorTheme.QmlDesignerBackgroundColorDarker + readonly property color scrollBarHandleColor: creatorTheme.QmlDesignerBackgroundColorLighter padding {left: 0; top: 0; right: 0; bottom: 0} diff --git a/share/qtcreator/qmldesigner/itemLibraryQmlSources/ItemDelegate.qml b/share/qtcreator/qmldesigner/itemLibraryQmlSources/ItemDelegate.qml index d5b0e37b6f6..e32c19de79b 100644 --- a/share/qtcreator/qmldesigner/itemLibraryQmlSources/ItemDelegate.qml +++ b/share/qtcreator/qmldesigner/itemLibraryQmlSources/ItemDelegate.qml @@ -28,9 +28,9 @@ import QtQuick.Controls 1.1 import QtQuick.Controls.Styles 1.0 Rectangle { - color: styleConstants.lighterBackgroundColor + color: creatorTheme.QmlDesignerBackgroundColorLighter - border.color: styleConstants.backgroundColor + border.color: creatorTheme.BackgroundColorDark border.width: 1 @@ -63,7 +63,7 @@ Rectangle { verticalAlignment: Qt.AlignVCenter horizontalAlignment: Qt.AlignHCenter text: itemName // to be set by model - color: "#FFFFFF" + color: creatorTheme.PanelTextColorLight renderType: Text.NativeRendering } diff --git a/share/qtcreator/qmldesigner/itemLibraryQmlSources/ItemsView.qml b/share/qtcreator/qmldesigner/itemLibraryQmlSources/ItemsView.qml index 3edab94482b..a16016d8ba1 100644 --- a/share/qtcreator/qmldesigner/itemLibraryQmlSources/ItemsView.qml +++ b/share/qtcreator/qmldesigner/itemLibraryQmlSources/ItemsView.qml @@ -64,8 +64,8 @@ ScrollView { Item { id: styleConstants - property color backgroundColor: "#4f4f4f" - property color lighterBackgroundColor: "#5f5f5f" + readonly property color backgroundColor: creatorTheme.QmlDesignerBackgroundColorDarkAlternate + readonly property color lighterBackgroundColor: creatorTheme.FancyToolBarSeparatorColor property int textWidth: 58 property int textHeight: 22 diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ButtonRowButton.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ButtonRowButton.qml index 7cbaa5b65d8..794cdd00539 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ButtonRowButton.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ButtonRowButton.qml @@ -68,12 +68,8 @@ Item { roundRight: isLast() anchors.fill: parent - z: checked ? 1 : 0 - - gradient: Gradient { - GradientStop {color: '#444' ; position: 0} - GradientStop {color: '#333' ; position: 1} - } + visible: checked + color: creatorTheme.QmlDesignerBackgroundColorDarker } RoundedPanel { @@ -81,7 +77,8 @@ Item { roundRight: isLast() anchors.fill: parent - z: !checked ? 1 : 0 + visible: !checked + color: creatorTheme.BackgroundColorDark } } diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CheckBox.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CheckBox.qml index 6e90b3fb703..263e154bf01 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CheckBox.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CheckBox.qml @@ -31,8 +31,6 @@ Controls.CheckBox { id: checkBox - property color borderColor: "#222" - property color highlightColor: "orange" property color textColor: colorLogic.textColor opacity: enabled ? 1 : 0.5 diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ColorLogic.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ColorLogic.qml index df4103a7ae1..551899f93d1 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ColorLogic.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ColorLogic.qml @@ -32,14 +32,14 @@ QtObject { id: innerObject property variant backendValue - property color textColor: Constants.colorsDefaultText + property color textColor: creatorTheme.PanelTextColorLight property variant valueFromBackend: backendValue.value; property bool baseStateFlag: isBaseState; property bool isInModel: backendValue.isInModel; property bool isInSubState: backendValue.isInSubState; - property bool highlight: textColor == Constants.colorsChangedBaseText + property bool highlight: textColor === __changedTextColor - property color __defaultTextColor: Constants.colorsDefaultText + property color __defaultTextColor: creatorTheme.PanelTextColorLight property color __changedTextColor: Constants.colorsChangedBaseText onBackendValueChanged: { @@ -70,12 +70,12 @@ QtObject { if (innerObject.backendValue.isInModel) innerObject.textColor = Constants.colorsChangedBaseText else - innerObject.textColor = Constants.colorsDefaultText + innerObject.textColor = creatorTheme.PanelTextColorLight } else { if (innerObject.backendValue.isInSubState) innerObject.textColor = Constants.colorsChangedStateText else - innerObject.textColor = Constants.colorsDefaultText + innerObject.textColor = creatorTheme.PanelTextColorLight } } diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ComboBox.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ComboBox.qml index 849a7eb78aa..8f982032713 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ComboBox.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ComboBox.qml @@ -112,7 +112,7 @@ Controls.ComboBox { ExtendedFunctionButton { x: 2 - y: 4 + y: 6 backendValue: comboBox.backendValue visible: comboBox.enabled } diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CustomCheckBoxStyle.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CustomCheckBoxStyle.qml index b7b807b5f7a..054c807ec4f 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CustomCheckBoxStyle.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CustomCheckBoxStyle.qml @@ -30,11 +30,24 @@ import QtQuick.Controls.Styles 1.1 CheckBoxStyle { spacing: 24 label: Controls.Label { text: control.text ; color: checkBox.textColor } - indicator: Item { + indicator: Item { implicitWidth: 16 implicitHeight: 16 - Image { source: "qrc:qmldesigner/images/checkbox_" + - (control.checked ? "checked": "unchecked") + - (control.pressed ? "_pressed": "") + ".png" } + Rectangle { + anchors.fill: parent + color: control.pressed + ? creatorTheme.FancyToolButtonHoverColor + : creatorTheme.FancyToolButtonSelectedColor + border.color: creatorTheme.QmlDesignerBackgroundColorDarker + anchors.margins: 1 + } + Image { + x: 2 + y: 2 + width: 14 + height: 13 + source: "image://icons/checkbox-indicator" + visible: control.checked + } } } diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CustomComboBoxStyle.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CustomComboBoxStyle.qml index 9cda5976cc2..4f5600a0101 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CustomComboBoxStyle.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CustomComboBoxStyle.qml @@ -28,10 +28,7 @@ import QtQuick.Controls 1.1 as Controls import QtQuick.Controls.Styles 1.2 ComboBoxStyle { - property color borderColor: "#222" - property color highlightColor: "orange" - property color textColor: "#eee" - + property color textColor: creatorTheme.PanelTextColorLight __editor: Item { } @@ -40,35 +37,24 @@ ComboBoxStyle { implicitWidth: 120 implicitHeight: 25 - RoundedPanel { + Rectangle { anchors.fill: parent - roundLeft: true - roundRight: true visible: !control.pressed + color: creatorTheme.FancyToolButtonSelectedColor + border.color: creatorTheme.QmlDesignerBackgroundColorDarker + border.width: 1 } - RoundedPanel { - gradient: Gradient { - GradientStop {color: '#444' ; position: 0} - GradientStop {color: '#333' ; position: 1} - } + Rectangle { + color: creatorTheme.FancyToolButtonHoverColor anchors.fill: parent - roundLeft: true - roundRight: true visible: control.pressed + border.color: creatorTheme.QmlDesignerBackgroundColorDarker + border.width: 1 } Rectangle { - border.color: highlightColor - anchors.fill: parent - anchors.margins: -1 - color: "transparent" - opacity: 0.3 - visible: control.activeFocus - } - - Rectangle { - color: "#333" + color: creatorTheme.IconsBaseColor width: 1 anchors.right: imageItem.left anchors.topMargin: 4 @@ -80,11 +66,13 @@ ComboBoxStyle { Image { id: imageItem - source: "images/down-arrow.png" + width: 8 + height: 4 + source: "image://icons/down-arrow" anchors.verticalCenter: parent.verticalCenter anchors.right: parent.right - anchors.rightMargin: 10 - opacity: control.enabled ? 0.7 : 0.5 + anchors.rightMargin: 8 + opacity: control.enabled ? 1 : 0.5 } } @@ -97,7 +85,7 @@ ComboBoxStyle { anchors.verticalCenter: parent.verticalCenter text: control.currentText renderType: Text.NativeRendering - color: textColor + color: creatorTheme.PanelTextColorLight } } diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CustomSpinBoxStyle.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CustomSpinBoxStyle.qml index 21ea119b363..82adcd00e4d 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CustomSpinBoxStyle.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/CustomSpinBoxStyle.qml @@ -28,10 +28,11 @@ import QtQuick.Controls 1.1 as Controls import QtQuick.Controls.Styles 1.1 SpinBoxStyle { - - selectionColor: spinBox.textColor - selectedTextColor: "black" + selectionColor: creatorTheme.PanelTextColorLight + selectedTextColor: creatorTheme.PanelTextColorMid textColor: spinBox.textColor + + padding.top: 3 padding.bottom: 1 padding.right: 18 @@ -42,7 +43,9 @@ SpinBoxStyle { implicitHeight: parent.height/2 opacity: styleData.upEnabled ? styleData.upPressed ? 0.5 : 1 : 0.5 Image { - source: "images/up-arrow.png" + width: 8 + height: 4 + source: "image://icons/up-arrow" x: 1 y: 5 } @@ -53,7 +56,9 @@ SpinBoxStyle { implicitHeight: parent.height/2 opacity: styleData.downEnabled ? styleData.downPressed ? 0.5 : 1 : 0.5 Image { - source: "images/down-arrow.png" + width: 8 + height: 4 + source: "image://icons/down-arrow" x: 1 y: 2.5 // Hack! Spinbox sets an non-int offset, somewhere } @@ -62,19 +67,7 @@ SpinBoxStyle { background: Rectangle { implicitWidth: Math.max(64, styleData.contentWidth) implicitHeight: 23 - border.color: borderColor - gradient: Gradient { - GradientStop {color: "#2c2c2c" ; position: 0} - GradientStop {color: "#343434" ; position: 0.15} - GradientStop {color: "#373737" ; position: 1} - } - Rectangle { - border.color: highlightColor - anchors.fill: parent - anchors.margins: -1 - color: "transparent" - opacity: 0.3 - visible: control.activeFocus - } + color: creatorTheme.FancyToolButtonSelectedColor + border.color: creatorTheme.QmlDesignerBackgroundColorDarker } } diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ExtendedFunctionButton.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ExtendedFunctionButton.qml index 687d4d69231..0e795d190b4 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ExtendedFunctionButton.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/ExtendedFunctionButton.qml @@ -37,26 +37,25 @@ Item { property variant backendValue - property string icon: "images/placeholder.png" - property string hoverIcon: "images/submenu.png"; + property string icon: "image://icons/placeholder" + property string hoverIcon: "image://icons/submenu" property bool active: true function setIcon() { if (backendValue == null) { - extendedFunctionButton.icon = "images/placeholder.png" + extendedFunctionButton.icon = "image://icons/placeholder" } else if (backendValue.isBound ) { if (backendValue.isTranslated) { //translations are a special case - extendedFunctionButton.icon = "images/placeholder.png" + extendedFunctionButton.icon = "image://icons/placeholder" } else { - extendedFunctionButton.icon = "images/expression.png" + extendedFunctionButton.icon = "image://icons/expression" } } else { if (backendValue.complexNode != null && backendValue.complexNode.exists) { - //extendedFunctionButton.icon = "images/behaivour.png" } else { - extendedFunctionButton.icon = "images/placeholder.png" + extendedFunctionButton.icon = "image://icons/placeholder" } } } @@ -86,6 +85,8 @@ Item { } Image { + width: 14 + height: 14 source: extendedFunctionButton.icon anchors.centerIn: parent } diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/Label.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/Label.qml index 09dd75d7b79..f58d2189aa1 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/Label.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/Label.qml @@ -36,7 +36,7 @@ Controls.Label { property alias toolTip: toolTipArea.tooltip width: Math.max(Math.min(240, parent.width - 220), 80) - color: "#eee" + color: creatorTheme.PanelTextColorLight elide: Text.ElideRight Layout.preferredWidth: width diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/LineEdit.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/LineEdit.qml index a0dc2f79fa3..56c651859bc 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/LineEdit.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/LineEdit.qml @@ -52,7 +52,7 @@ Controls.TextField { ExtendedFunctionButton { x: 2 - y: 4 + y: 6 backendValue: lineEdit.backendValue visible: lineEdit.enabled && showExtendedFunctionButton } @@ -105,31 +105,21 @@ Controls.TextField { } style: TextFieldStyle { - selectionColor: lineEdit.textColor - selectedTextColor: "black" - textColor: lineEdit.textColor + + selectionColor: creatorTheme.PanelTextColorLight + selectedTextColor: creatorTheme.PanelTextColorMid + textColor: creatorTheme.PanelTextColorLight + placeholderTextColor: creatorTheme.PanelTextColorMid + padding.top: 3 - padding.bottom: 1 + padding.bottom: 3 padding.left: 16 padding.right: lineEdit.showTranslateCheckBox ? 16 : 1 - placeholderTextColor: "gray" background: Rectangle { implicitWidth: 100 - implicitHeight: 23 - border.color: borderColor - gradient: Gradient { - GradientStop {color: "#2c2c2c" ; position: 0} - GradientStop {color: "#343434" ; position: 0.15} - GradientStop {color: "#373737" ; position: 1.0} - } - Rectangle { - border.color: highlightColor - anchors.fill: parent - anchors.margins: -1 - color: "transparent" - opacity: 0.3 - visible: control.activeFocus - } + implicitHeight: 24 + color: creatorTheme.FancyToolButtonSelectedColor + border.color: creatorTheme.QmlDesignerBackgroundColorDarker } } @@ -175,16 +165,28 @@ Controls.TextField { style: CheckBoxStyle { spacing: 8 - indicator: Item { - implicitWidth: 16 - implicitHeight: 16 + indicator: Item { + implicitWidth: 15 + implicitHeight: 15 x: 7 y: 1 - Image { source: "qrc:qmldesigner/images/checkbox_tr_" + - (control.checked ? "checked": "unchecked") + - (control.pressed ? "_pressed": "") + ".png" } + Rectangle { + anchors.fill: parent + border.color: creatorTheme.QmlDesignerBackgroundColorDarker + color: control.pressed + ? creatorTheme.QmlDesignerBackgroundColorLighter + : creatorTheme.FancyToolButtonHoverColor + opacity: control.hovered || control.pressed ? 1 : 0.75 + } + Image { + x: 1 + y: 1 + width: 13 + height: 13 + source: "image://icons/tr" + opacity: control.checked ? 1 : 0.3; + } } - } //control.pressed ? "qrc:qmldesigner/images/checkbox_unchecked_pressed.png" : - + } } } diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/OriginControl.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/OriginControl.qml index 73c4124785f..72cd9eaecfe 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/OriginControl.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/OriginControl.qml @@ -32,11 +32,13 @@ Item { property variant backendValue - property color highlightColor: "orange" property color borderColor: colorLogic.textColor property bool showTranslateCheckBox: true + readonly property color selectedColor: creatorTheme.QmlDesignerBackgroundColorDarkAlternate + readonly property color unselectedColor: creatorTheme.QmlDesignerBackgroundColorDarker + ExtendedFunctionButton { backendValue: originControl.backendValue visible: originControl.enabled @@ -98,7 +100,7 @@ Item { id: topLeft width: 15 height: 15 - color: selected ? "#4f4f4f" : "black" + color: selected ? selectedColor : unselectedColor border.color: originControl.borderColor border.width: selected ? 2 : 0 MouseArea { @@ -113,7 +115,7 @@ Item { property bool selected: false width: topLeft.width height: topLeft.height - color: selected ? "#4f4f4f" : "black" + color: selected ? selectedColor : unselectedColor border.width: selected ? 2 : 0 border.color: originControl.borderColor MouseArea { @@ -128,7 +130,7 @@ Item { property bool selected: false width: topLeft.width height: topLeft.height - color: selected ? "#4f4f4f" : "black" + color: selected ? selectedColor : unselectedColor border.width: selected ? 2 : 0 border.color: originControl.borderColor MouseArea { @@ -143,7 +145,7 @@ Item { property bool selected: false width: topLeft.width height: topLeft.height - color: selected ? "#4f4f4f" : "black" + color: selected ? selectedColor : unselectedColor border.width: selected ? 2 : 0 border.color: originControl.borderColor MouseArea { @@ -158,7 +160,7 @@ Item { property bool selected: false width: topLeft.width height: topLeft.height - color: selected ? "#4f4f4f" : "black" + color: selected ? selectedColor : unselectedColor border.width: selected ? 2 : 0 border.color: originControl.borderColor MouseArea { @@ -173,7 +175,7 @@ Item { property bool selected: false width: topLeft.width height: topLeft.height - color: selected ? "#4f4f4f" : "black" + color: selected ? selectedColor : unselectedColor border.width: selected ? 2 : 0 border.color: originControl.borderColor MouseArea { @@ -188,7 +190,7 @@ Item { property bool selected: false width: topLeft.width height: topLeft.height - color: selected ? "#4f4f4f" : "black" + color: selected ? selectedColor : unselectedColor border.width: selected ? 2 : 0 border.color: originControl.borderColor MouseArea { @@ -203,7 +205,7 @@ Item { property bool selected: false width: topLeft.width height: topLeft.height - color: selected ? "#4f4f4f" : "black" + color: selected ? selectedColor : unselectedColor border.width: selected ? 2 : 0 border.color: originControl.borderColor MouseArea { @@ -218,7 +220,7 @@ Item { property bool selected: false width: topLeft.width height: topLeft.height - color: selected ? "#4f4f4f" : "black" + color: selected ? selectedColor : unselectedColor border.width: selected ? 2 : 0 border.color: originControl.borderColor MouseArea { diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/RoundedPanel.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/RoundedPanel.qml index cf0e20e3ede..ca9f423307b 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/RoundedPanel.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/RoundedPanel.qml @@ -28,19 +28,23 @@ import QtQuick.Controls 1.0 as Controls import QtQuick.Layouts 1.0 Rectangle { + id: panel property bool roundLeft: false property bool roundRight: false + /* radius: roundLeft || roundRight ? 1 : 0 gradient: Gradient { GradientStop {color: '#555' ; position: 0} GradientStop {color: '#444' ; position: 1} } + */ border.width: roundLeft || roundRight ? 1 : 0 - border.color: "#2e2e2e" + color: creatorTheme.BackgroundColorDark + border.color: creatorTheme.QmlDesignerBackgroundColorDarker Rectangle { anchors.fill: parent @@ -48,8 +52,9 @@ Rectangle { anchors.leftMargin: 10 anchors.topMargin: 1 anchors.bottomMargin: 1 + color: panel.color Component.onCompleted: { - gradient = parent.gradient + //gradient = parent.gradient } } @@ -59,13 +64,14 @@ Rectangle { anchors.rightMargin: 10 anchors.topMargin: 1 anchors.bottomMargin: 1 + color: panel.color Component.onCompleted: { - gradient = parent.gradient + //gradient = parent.gradient } } Rectangle { - color: "#2e2e2e" + color: creatorTheme.QmlDesignerBackgroundColorDarker anchors.top: parent.top anchors.left: parent.left anchors.right: parent.right @@ -75,7 +81,7 @@ Rectangle { } Rectangle { - color: "#2e2e2e" + color: creatorTheme.QmlDesignerBackgroundColorDarker anchors.bottom: parent.bottom anchors.left: parent.left anchors.right: parent.right diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/Section.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/Section.qml index f9f10577f1c..3d185399956 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/Section.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/Section.qml @@ -48,27 +48,28 @@ Item { Controls.Label { id: label anchors.verticalCenter: parent.verticalCenter - color: "white" + color: creatorTheme.PanelTextColorLight x: 22 - style: Text.Sunken - styleColor: "#292929" font.bold: true } Image { id: arrow - source: "images/down-arrow.png" + width: 8 + height: 4 + source: "image://icons/down-arrow" anchors.left: parent.left anchors.leftMargin: 4 anchors.verticalCenter: parent.verticalCenter Behavior on rotation { NumberAnimation { + easing.type: Easing.OutCubic duration: animationDuration } } } - color: "#444" + color: creatorTheme.BackgroundColorDark Rectangle { visible: false @@ -78,6 +79,7 @@ Item { } Rectangle { + visible: false color: "#333" anchors.bottom: parent.bottom width: parent.width diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/SliderSpinBox.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/SliderSpinBox.qml index 9f03c5e5858..9bd286769e4 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/SliderSpinBox.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/SliderSpinBox.qml @@ -30,9 +30,7 @@ SpinBox { id: spinBox width: 76 - property color borderColor: "#222" - property color highlightColor: "orange" - property color textColor: "#eee" + property color textColor: colorLogic.textColor style: CustomSpinBoxStyle { diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/SpinBox.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/SpinBox.qml index 6562f7de817..08ac2a01573 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/SpinBox.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/SpinBox.qml @@ -29,8 +29,7 @@ import QtQuick.Controls.Styles 1.1 Controls.SpinBox { id: spinBox - property color borderColor: "#222" - property color highlightColor: "orange" + property color textColor: colorLogic.textColor property variant backendValue; diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/TabView.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/TabView.qml index e45b252f7b8..7838ffc79a1 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/TabView.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/TabView.qml @@ -30,13 +30,12 @@ import QtQuick.Controls.Styles 1.1 Controls.TabView { id: root - property color textColor: "#eee" frameVisible: false style: TabViewStyle { frameOverlap: 0 frame: Item { } tab: Rectangle { - color: styleData.selected ? "#eee" : "#414141" + color: styleData.selected ? creatorTheme.QmlDesignerTabLight : creatorTheme.QmlDesignerTabDark implicitWidth: root.width/root.count + 2 implicitHeight: 28 Text { @@ -46,21 +45,15 @@ Controls.TabView { anchors.verticalCenterOffset: -1 text: styleData.title renderType: Text.NativeRendering - color: styleData.selected ? "#333" : "#fff" + color: styleData.selected ? creatorTheme.QmlDesignerTabDark : creatorTheme.QmlDesignerTabLight } Rectangle { - color: "#eee" + color:creatorTheme.QmlDesignerTabLight width: parent.width height: 4 anchors.bottom: parent.bottom } - - Rectangle { - color: "#333" - width: parent.width - height: 1 - } } } } diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/down-arrow.png b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/down-arrow.png index 5780560f7d2..a28f1e3713c 100644 Binary files a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/down-arrow.png and b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/down-arrow.png differ diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/down-arrow@2x.png b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/down-arrow@2x.png index 684a03ab502..6246fc2c29e 100644 Binary files a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/down-arrow@2x.png and b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/down-arrow@2x.png differ diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/expression.png b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/expression.png index 93754ed8e25..d13cf9fad9f 100644 Binary files a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/expression.png and b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/expression.png differ diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/expression@2x.png b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/expression@2x.png index 560c7e2d5a9..56244287a5e 100644 Binary files a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/expression@2x.png and b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/expression@2x.png differ diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/placeholder.png b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/placeholder.png index 1321327dc4e..ae22d32b6e0 100644 Binary files a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/placeholder.png and b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/placeholder.png differ diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/placeholder@2x.png b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/placeholder@2x.png index abe5d8aa9a6..305619812d9 100644 Binary files a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/placeholder@2x.png and b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/placeholder@2x.png differ diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/submenu.png b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/submenu.png index 4e7b5484850..18be756dec4 100644 Binary files a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/submenu.png and b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/submenu.png differ diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/submenu@2x.png b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/submenu@2x.png index 49d77d15f38..58d6320b77d 100644 Binary files a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/submenu@2x.png and b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/submenu@2x.png differ diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/up-arrow.png b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/up-arrow.png index 42934bfad0f..13792106852 100644 Binary files a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/up-arrow.png and b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/up-arrow.png differ diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/up-arrow@2x.png b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/up-arrow@2x.png index 455c36f2f5b..2f2fc059557 100644 Binary files a/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/up-arrow@2x.png and b/share/qtcreator/qmldesigner/propertyEditorQmlSources/HelperWidgets/images/up-arrow@2x.png differ diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/AnchorRow.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/AnchorRow.qml index f1f5c5bc668..75e815098c5 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/AnchorRow.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/AnchorRow.qml @@ -58,6 +58,7 @@ RowLayout { property alias buttonRow: buttonRow + readonly property color __defaultTextColor: creatorTheme.PanelTextColorLight IconLabel { id: icon @@ -71,7 +72,7 @@ RowLayout { Controls.Label { text: qsTr("Target") - color: "#eee" + color: __defaultTextColor elide: Text.ElideRight Layout.minimumWidth: Math.min(60, Layout.preferredWidth + 10) } @@ -85,7 +86,7 @@ RowLayout { Controls.Label { text: "Margin" - color: "#eee" + color: __defaultTextColor elide: Text.ElideRight Layout.minimumWidth: Math.min(60, Layout.preferredWidth + 10) } diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ItemPane.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ItemPane.qml index a7daa3cc9f6..f6091e6426b 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ItemPane.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ItemPane.qml @@ -31,7 +31,7 @@ Rectangle { id: itemPane width: 320 height: 400 - color: "#4f4f4f" + color: creatorTheme.QmlDesignerBackgroundColorDarkAlternate ScrollView { anchors.fill: parent diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/QtObjectPane.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/QtObjectPane.qml index 33ddd30a6a6..2581ab77f8e 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/QtObjectPane.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/QtObjectPane.qml @@ -31,7 +31,7 @@ Rectangle { id: itemPane width: 320 height: 400 - color: "#4f4f4f" + color: creatorTheme.QmlDesignerBackgroundColorDarkAlternate ScrollView { anchors.fill: parent diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/emptyPane.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/emptyPane.qml index 1d8e6fe5a51..0e74817de6f 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/emptyPane.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/emptyPane.qml @@ -30,7 +30,7 @@ Rectangle { id: itemPane width: 320 height: 400 - color: "#4f4f4f" + color: creatorTheme.QmlDesignerBackgroundColorDarkAlternate Section { y: -1 diff --git a/share/qtcreator/qmldesigner/statesEditorQmlSources/DesignerTextFieldStyle.qml b/share/qtcreator/qmldesigner/statesEditorQmlSources/DesignerTextFieldStyle.qml index 57235504370..008c6e6392c 100644 --- a/share/qtcreator/qmldesigner/statesEditorQmlSources/DesignerTextFieldStyle.qml +++ b/share/qtcreator/qmldesigner/statesEditorQmlSources/DesignerTextFieldStyle.qml @@ -28,10 +28,10 @@ import QtQuick.Controls 1.1 import QtQuick.Controls.Styles 1.1 TextFieldStyle { - selectionColor: "#FFFFFF" - selectedTextColor: "#000000" - textColor: "#FFFFFF" - placeholderTextColor: "#A0A0A0" + selectionColor: creatorTheme.PanelTextColorLight + selectedTextColor: creatorTheme.PanelTextColorDark + textColor: creatorTheme.PanelTextColorLight + placeholderTextColor: creatorTheme.PanelTextColorMid padding.top: 4 padding.bottom: 4 @@ -39,20 +39,7 @@ TextFieldStyle { background: Rectangle { implicitWidth: 100 implicitHeight: font.pixelSize + padding.top + padding.bottom - border.color: "#222222" - gradient: Gradient { - GradientStop {color: "#2c2c2c" ; position: 0} - GradientStop {color: "#343434" ; position: 0.15} - GradientStop {color: "#373737" ; position: 1.0} - } - Rectangle { - border.color: highlightColor - anchors.fill: parent - anchors.margins: -1 - color: "#00000000" //Qt.transparent - radius: 4 - opacity: 0.3 - visible: control.activeFocus - } + color: creatorTheme.FancyToolButtonSelectedColor + border.color: creatorTheme.QmlDesignerBackgroundColorDarker } } diff --git a/share/qtcreator/qmldesigner/statesEditorQmlSources/StatesDelegate.qml b/share/qtcreator/qmldesigner/statesEditorQmlSources/StatesDelegate.qml index 43c7b3a7c96..6e13ae4934c 100644 --- a/share/qtcreator/qmldesigner/statesEditorQmlSources/StatesDelegate.qml +++ b/share/qtcreator/qmldesigner/statesEditorQmlSources/StatesDelegate.qml @@ -103,7 +103,7 @@ Rectangle { // as we change the background we need to change the text // color to see some text - textColor: "#FFFFFF" + textColor: creatorTheme.PanelTextColorLight } Item { diff --git a/share/qtcreator/qmldesigner/statesEditorQmlSources/StatesList.qml b/share/qtcreator/qmldesigner/statesEditorQmlSources/StatesList.qml index 78ee0aab01e..1f3fca6e108 100644 --- a/share/qtcreator/qmldesigner/statesEditorQmlSources/StatesList.qml +++ b/share/qtcreator/qmldesigner/statesEditorQmlSources/StatesList.qml @@ -57,7 +57,7 @@ FocusScope { Rectangle { id: background anchors.fill: parent - color: "#4f4f4f" + color: creatorTheme.QmlDesignerBackgroundColorDarkAlternate } MouseArea { @@ -109,7 +109,7 @@ FocusScope { style: ButtonStyle { background: Rectangle { - property color buttonBaseColor: "#6f6f6f" + property color buttonBaseColor: Qt.darker(creatorTheme.QmlDesignerBackgroundColorDarkAlternate, 1.1) color: control.hovered ? Qt.lighter(buttonBaseColor, 1.2) : buttonBaseColor border.width: 1 Image { diff --git a/share/qtcreator/styles/solarized-dark.xml b/share/qtcreator/styles/solarized-dark.xml new file mode 100644 index 00000000000..d0ac62e6717 --- /dev/null +++ b/share/qtcreator/styles/solarized-dark.xml @@ -0,0 +1,69 @@ + + + +