Merge remote-tracking branch 'origin/4.0'

Conflicts:
	src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp

Change-Id: I6ae2d37290643d69390f679a54f7596782f3d97f
This commit is contained in:
Eike Ziller
2016-04-12 10:43:10 +02:00
341 changed files with 2512 additions and 1247 deletions
+24
View File
@@ -216,6 +216,30 @@ we thank the authors who made this possible:
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
### Open Source tool for generating C++ code that classifies keywords (license MIT)
Roberto Raggi <roberto.raggi@gmail.com>
QtCreator/src/tools/3rdparty/cplusplus-keywordgen
Copyright (c) 2007 Roberto Raggi <roberto.raggi@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
### Botan, a C++ crypto library. Version 1.10.2 ### Botan, a C++ crypto library. Version 1.10.2
Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

@@ -49,7 +49,7 @@
To suppress diagnostics, select \uicontrol {Suppress This Diagnostic} in the To suppress diagnostics, select \uicontrol {Suppress This Diagnostic} in the
context menu. To view the suppression list for a project and to remove context menu. To view the suppression list for a project and to remove
diagnostics from it, select \uicontrol {Clang Static Analyzer Settings} in diagnostics from it, select \uicontrol {Clang Static Analyzer} in
the \uicontrol Projects mode. the \uicontrol Projects mode.
\section1 Setting Up Clang Static Analyzer \section1 Setting Up Clang Static Analyzer
+82 -15
View File
@@ -31,9 +31,11 @@
\title Running Autotests \title Running Autotests
\QC integrates the \l{Qt Test} framework for unit testing Qt based \QC integrates the \l{Qt Test} framework and
applications and libraries. You can use \QC to build and \l{https://github.com/google/googletest}{Google C++ Testing Framework} for
run autotests for your projects. unit testing applications and libraries. You can use \QC to build and run
Qt tests, Qt Quick tests (QML-based Qt tests), and Google tests for your
projects.
\image qtcreator-autotests.png \image qtcreator-autotests.png
@@ -41,18 +43,18 @@
\uicontrol {About Plugins} > \uicontrol Utilities > \uicontrol {Auto Test}. \uicontrol {About Plugins} > \uicontrol Utilities > \uicontrol {Auto Test}.
Restart \QC to be able to use the plugin. Restart \QC to be able to use the plugin.
\section1 Creating Autotests \section1 Creating Qt Tests
You can use a wizard to create projects that contain autotests: You can use a wizard to create projects that contain Qt tests:
\list 1 \list 1
\li Select \uicontrol File > \uicontrol {New File or Project} > \li Select \uicontrol File > \uicontrol {New File or Project} >
\uicontrol {Other Project} > \uicontrol {Auto Test} > \uicontrol {Other Project} > \uicontrol {Auto Test} >
\uicontrol Choose to create a project with boilerplate code for an \uicontrol Choose to create a project with boilerplate code for a
autotest. Qt test.
\li In the \uicontrol {Project and Test Information} dialog, specify \li In the \uicontrol {Project and Test Information} dialog, specify
settings for the project and autotest: settings for the project and test:
\list 1 \list 1
@@ -72,7 +74,7 @@
up the test. up the test.
\li In the \uicontrol {Build auto tests} field, select \li In the \uicontrol {Build auto tests} field, select
\uicontrol Always to always build the autotest when building \uicontrol Always to always build the test when building
the project or \uicontrol {Debug Only} to only build it the project or \uicontrol {Debug Only} to only build it
during debug builds. during debug builds.
@@ -80,18 +82,78 @@
\endlist \endlist
\QC creates the autotest in the \c{tests\auto} directory in the project \QC creates the test in the \c{tests\auto} directory in the project
directory. Edit the .cpp file to add private slots for each test directory. Edit the .cpp file to add private slots for each test
function in your test. For more information about creating autotests, see function in your test. For more information about creating Qt tests, see
\l{Creating a Test}. \l{Creating a Test}.
\section1 Building and Running Autotests \section1 Setting Up the Google C++ Testing Framework
To build and run autotests: To build and run Google tests, you must have the Google C++ Testing
framework installed and configured on the development host. You can either
clone it from Git Hub or install it from an installation package.
To configure a project to use a cloned Google testing framework, edit the
\c INCLUDEPATH variable in the project file (.pro) to include the source
and \c include folders of Google Test's \c googletest and \c googlemock.
Usually, you need to add the following subfolders:
\list
\li \c googletest
\li \c googlemock
\li \c googletest/include
\li \c googlemock/include
\endlist
You also need to add the necessary files to the \c SOURCES variable. For
example:
\list
\li \c googletest/src/gtest-all.cc
\li \c googlemock/src/gmock-all.cc
\endlist
To configure a project to use an installed Google testing framework package,
add the following include paths to the .pro file:
\list
\li \c <googletest_install_path>/include/gtest
\li \c <googletest_install_path>/include/gmock
\endlist
Then add linker options to be able to find the libraries and to link against
them. For example, for qmake based projects, you typically need to add the
following values to the .pro file:
\list
\li \c {LIBS += -lgtest -L<path_to_gtest_lib>}
\li \c {LIBS += -lgmock -L<path_to_gmock_lib>}
\endlist
To specify settings for running Google tests, select \uicontrol Tools >
\uicontrol Options > \uicontrol {Test Settings}.
\image qtcreator-autotests-options.png
To run disabled tests, select the \uicontrol {Run disabled tests} check box.
To run several iterations of the tests, select the \uicontrol {Repeat tests}
check box and enter the number of times the tests should be run in the
\uicontrol Iterations field. To make sure that the tests are independent and
repeatable, you can run them in a different order each time by selecting the
\uicontrol {Shuffle tests} check box.
For more information about creating Google tests, see the
\l{https://github.com/google/googletest/blob/master/googletest/docs/Primer.md}
{Google Test Primer}.
\section1 Building and Running Tests
To build and run tests:
\list 1 \list 1
\li Open a project that contains autotests. \li Open a project that contains tests.
\li In the \uicontrol {Test Results} output pane, select \li In the \uicontrol {Test Results} output pane, select
\inlineimage qtcreator-run.png \inlineimage qtcreator-run.png
@@ -109,9 +171,14 @@
\endlist \endlist
If a test takes more than a minute to execute, the default timeout might If a test takes more than a minute to execute, the default timeout might
stop the test execution. To increase the timeout, select \uicontrol Tools > stop the test execution. To increase the timeout, select \uicontrol Tools >
\uicontrol Options > \uicontrol {Test Settings}. \uicontrol Options > \uicontrol {Test Settings}.
\QC scans the project for tests when you open the project and updates the
test list when you edit tests. To only update the test list when the
\uicontrol Tests view or the \uicontrol {Test Results} output pane is open,
deselect the \uicontrol {Always parse current project for tests} check box.
The code inside a benchmark test is measured, and possibly also repeated The code inside a benchmark test is measured, and possibly also repeated
several times in order to get an accurate measurement. This depends on the several times in order to get an accurate measurement. This depends on the
measurement back-end that you can select in \uicontrol {Test Settings}: measurement back-end that you can select in \uicontrol {Test Settings}:
+10 -1
View File
@@ -491,7 +491,7 @@
To determine whether the keywords in the whole project or in the current To determine whether the keywords in the whole project or in the current
file are displayed by default, select \uicontrol {Scanning scope}. file are displayed by default, select \uicontrol {Scanning scope}.
To exclude files from scanning, select \uicontrol {To-Do Settings} in the To exclude files from scanning, select \uicontrol {To-Do} in the
\uicontrol Projects mode. Select \uicontrol Add and enter a regular \uicontrol Projects mode. Select \uicontrol Add and enter a regular
expression that matches the path to files to exclude. Use a forward slash expression that matches the path to files to exclude. Use a forward slash
(/) as a separator in the path also on Windows. (/) as a separator in the path also on Windows.
@@ -523,6 +523,8 @@
\list \list
\li Export SVG images to pixmaps
\li Switch between background and outline modes \li Switch between background and outline modes
\li Zoom in and out \li Zoom in and out
@@ -535,6 +537,13 @@
\endlist \endlist
\section2 Exporting SVG Images
If you receive a freely scalable icon in the SVG format from an UI designer,
you can export it to several images of different sizes to create a set of
pixmaps. You can then use QIcon::addPixmap() to add the pixmaps to icons in
different modes and states.
\section1 Navigating with Keyboard \section1 Navigating with Keyboard
\QC caters not only to developers who are used to using the mouse, \QC caters not only to developers who are used to using the mouse,
+6 -4
View File
@@ -211,7 +211,7 @@
With Git and Subversion, the diff is displayed side-by-side in a \l{Comparing Files} With Git and Subversion, the diff is displayed side-by-side in a \l{Comparing Files}
{diff editor} by default. To use the inline diff view instead, select the {diff editor} by default. To use the inline diff view instead, select the
\uicontrol {Switch to Text Diff Editor} option from the toolbar. In the inline \uicontrol {Switch to Text Diff Editor} (1) option from the toolbar. In the inline
diff view, you can use context menu commands to apply, revert, stage, and diff view, you can use context menu commands to apply, revert, stage, and
unstage hunks, as well as send them to a code pasting service. unstage hunks, as well as send them to a code pasting service.
@@ -241,13 +241,15 @@
Display the versioning history of a file by selecting \uicontrol{Log} Display the versioning history of a file by selecting \uicontrol{Log}
or \uicontrol{Filelog}. Typically, the log output contains the date, the commit or \uicontrol{Filelog}. Typically, the log output contains the date, the commit
message, and a change or revision identifier. Click on the identifier to message, and a change or revision identifier. Click on the identifier to
display a description of the change including the diff. display a description of the change including the diff in the
\uicontrol {Git Show} view.
\image qtcreator-vcs-show.png
Right-clicking on an identifier brings up a context menu that lets you Right-clicking on an identifier brings up a context menu that lets you
show annotation views of previous versions (see \l{Annotating Files}). show annotation views of previous versions (see \l{Annotating Files}).
With Git you can also choose to cherry-pick or revert a change. With Git you can also choose to cherry-pick or revert a change.
\image qtcreator-vcs-log.png
\section2 Annotating Files \section2 Annotating Files
Annotation views are obtained by selecting \uicontrol{Annotate} or \uicontrol{Blame}. Annotation views are obtained by selecting \uicontrol{Annotate} or \uicontrol{Blame}.
+2 -2
View File
@@ -108,8 +108,8 @@
Themes enable you to customize the appearance of the \QC UI: widgets, Themes enable you to customize the appearance of the \QC UI: widgets,
colors, and icons. colors, and icons.
To switch from the default theme to a dark theme, select \uicontrol Tools > To switch themes, select \uicontrol Tools > \uicontrol Options >
\uicontrol Options > \uicontrol Environment, and then select \uicontrol Dark \uicontrol Environment, and then select a theme
in the \uicontrol Theme field. in the \uicontrol Theme field.
You can use the \QC text and code editors with your favorite color scheme You can use the \QC text and code editors with your favorite color scheme
+3 -3
View File
@@ -112,9 +112,9 @@
execution. In addition, the QML Profiler enables you to profile execution. In addition, the QML Profiler enables you to profile
Qt Quick applications. Qt Quick applications.
\QC is integrated to the \l{Qt Test} framework for unit testing \QC is integrated to the \l{Qt Test} and Google C++ Testing
Qt based applications and libraries. You can use \QC to build frameworks for unit testing applications and libraries. You can
and run autotests. use \QC to build and run autotests.
For more information, see \l{Testing}. For more information, see \l{Testing}.
\li \b {Publishing} \li \b {Publishing}
+1 -1
View File
@@ -61,7 +61,7 @@
\li \l{Running Autotests} \li \l{Running Autotests}
You can use an experimental Auto Test plugin to build and run You can use an experimental Auto Test plugin to build and run
autotests using \QC. Qt tests, Qt Quick tests, and Google tests using \QC.
\endlist \endlist
@@ -172,8 +172,8 @@
\li Qt Auto Test \li Qt Auto Test
Projects with boilerplate code for an autotest. For more Projects with boilerplate code for a Qt test. For more
information, see \l {Creating Autotests}. information, see \l {Creating Qt Tests}.
\li Qt Quick UI \li Qt Quick UI
@@ -95,9 +95,9 @@
\li \l{Specifying Dependencies}{Dependencies} \li \l{Specifying Dependencies}{Dependencies}
\li \l{Using Clang Static Analyzer}{Clang Static Analyzer Settings} \li \l{Using Clang Static Analyzer}{Clang Static Analyzer}
\li \l{To-Do List}{To-Do Settings} (experimental) \li \l{To-Do List}{To-Do} (experimental)
\endlist \endlist
@@ -7,7 +7,7 @@
# STATIC_BASE - base directory for the files listed in STATIC_FILES # STATIC_BASE - base directory for the files listed in STATIC_FILES
# STATIC_FILES - list of files to be deployed # STATIC_FILES - list of files to be deployed
include(../../qtcreator.pri) include(qtcreator.pri)
# used in custom compilers which just copy files # used in custom compilers which just copy files
defineReplace(stripStaticBase) { defineReplace(stripStaticBase) {
Regular → Executable
View File
Regular → Executable
View File
Regular → Executable
View File
Regular → Executable
View File
Regular → Executable
View File
+19 -6
View File
@@ -429,6 +429,8 @@ class DumperBase:
# Hex encoding operating on str or bytes, return str. # Hex encoding operating on str or bytes, return str.
def hexencode(self, s): def hexencode(self, s):
if s is None:
s = ''
if sys.version_info[0] == 2: if sys.version_info[0] == 2:
return s.encode("hex") return s.encode("hex")
if isinstance(s, str): if isinstance(s, str):
@@ -1049,12 +1051,23 @@ class DumperBase:
# This is shared by pointer and array formatting. # This is shared by pointer and array formatting.
def tryPutSimpleFormattedPointer(self, value, typeName, innerTypeName, displayFormat, limit): def tryPutSimpleFormattedPointer(self, value, typeName, innerTypeName, displayFormat, limit):
if displayFormat == AutomaticFormat and innerTypeName == "char": if displayFormat == AutomaticFormat:
# Use Latin1 as default for char *. if innerTypeName == "char":
self.putType(typeName) # Use UTF-8 as default for char *.
(elided, data) = self.encodeCArray(value, 1, limit) self.putType(typeName)
self.putValue(data, "latin1", elided=elided) (elided, data) = self.encodeCArray(value, 1, limit)
return True self.putValue(data, "utf8", elided=elided)
return True
if innerTypeName == "wchar_t":
self.putType(typeName)
charSize = self.lookupType('wchar_t').sizeof
(elided, data) = self.encodeCArray(value, charSize, limit)
if charSize == 2:
self.putValue(data, "utf16", elided=elided)
else:
self.putValue(data, "ucs4", elided=elided)
return True
if displayFormat == Latin1StringFormat: if displayFormat == Latin1StringFormat:
self.putType(typeName) self.putType(typeName)
+3 -11
View File
@@ -285,7 +285,6 @@ class Dumper(DumperBase):
self.autoDerefPointers = int(args.get("autoderef", "0")) self.autoDerefPointers = int(args.get("autoderef", "0"))
self.partialUpdate = int(args.get("partial", "0")) self.partialUpdate = int(args.get("partial", "0"))
self.fallbackQtVersion = 0x50200 self.fallbackQtVersion = 0x50200
self.sortStructMembers = bool(args.get("sortstructs", True))
#warn("NAMESPACE: '%s'" % self.qtNamespace()) #warn("NAMESPACE: '%s'" % self.qtNamespace())
#warn("EXPANDED INAMES: %s" % self.expandedINames) #warn("EXPANDED INAMES: %s" % self.expandedINames)
@@ -436,7 +435,6 @@ class Dumper(DumperBase):
# Don't bother. It's only supplementary information anyway. # Don't bother. It's only supplementary information anyway.
pass pass
locals.sort(key = lambda item: item.name)
for item in locals: for item in locals:
value = self.downcast(item.value) if self.useDynamicType else item.value value = self.downcast(item.value) if self.useDynamicType else item.value
with OutputSafer(self): with OutputSafer(self):
@@ -1144,6 +1142,7 @@ class Dumper(DumperBase):
if self.currentIName in self.expandedINames: if self.currentIName in self.expandedINames:
innerType = None innerType = None
self.put('sortable="1"')
with Children(self, 1, childType=innerType): with Children(self, 1, childType=innerType):
self.putFields(value) self.putFields(value)
if not self.showQObjectNames: if not self.showQObjectNames:
@@ -1215,15 +1214,6 @@ class Dumper(DumperBase):
def putFields(self, value, dumpBase = True): def putFields(self, value, dumpBase = True):
fields = value.type.fields() fields = value.type.fields()
if self.sortStructMembers:
def sortOrder(field):
if field.is_base_class:
return 0
if field.name and field.name.startswith("_vptr."):
return 1
return 2
fields.sort(key = lambda field: "%d%s" % (sortOrder(field), field.name))
#warn("TYPE: %s" % value.type) #warn("TYPE: %s" % value.type)
#warn("FIELDS: %s" % fields) #warn("FIELDS: %s" % fields)
baseNumber = 0 baseNumber = 0
@@ -1257,6 +1247,7 @@ class Dumper(DumperBase):
# int (**)(void) # int (**)(void)
n = 100 n = 100
self.putType(" ") self.putType(" ")
self.put('sortgroup="1"')
self.putValue(value[field.name]) self.putValue(value[field.name])
self.putNumChild(n) self.putNumChild(n)
if self.isExpanded(): if self.isExpanded():
@@ -1280,6 +1271,7 @@ class Dumper(DumperBase):
baseNumber += 1 baseNumber += 1
with UnnamedSubItem(self, "@%d" % baseNumber): with UnnamedSubItem(self, "@%d" % baseNumber):
baseValue = value.cast(field.type) baseValue = value.cast(field.type)
self.put('sortgroup="2"')
self.putBaseClassName(field.name) self.putBaseClassName(field.name)
self.putAddress(baseValue.address) self.putAddress(baseValue.address)
self.putItem(baseValue, False) self.putItem(baseValue, False)
+5 -9
View File
@@ -1092,6 +1092,7 @@ class Dumper(DumperBase):
self.putQObjectNameValue(value) self.putQObjectNameValue(value)
if self.currentIName in self.expandedINames: if self.currentIName in self.expandedINames:
self.put('sortable="1"')
with Children(self): with Children(self):
self.putFields(value) self.putFields(value)
if not self.showQObjectNames: if not self.showQObjectNames:
@@ -1134,8 +1135,6 @@ class Dumper(DumperBase):
baseObject = value.Cast(baseClass) baseObject = value.Cast(baseClass)
baseObjects.append(ChildItem(baseClass.GetName(), baseObject)) baseObjects.append(ChildItem(baseClass.GetName(), baseObject))
if self.sortStructMembers:
baseObjects.sort(key = lambda baseObject: str(baseObject.name))
for i in xrange(len(baseObjects)): for i in xrange(len(baseObjects)):
baseObject = baseObjects[i] baseObject = baseObjects[i]
with UnnamedSubItem(self, "@%d" % (i + 1)): with UnnamedSubItem(self, "@%d" % (i + 1)):
@@ -1147,8 +1146,6 @@ class Dumper(DumperBase):
if memberCount > 10000: if memberCount > 10000:
memberCount = 10000 memberCount = 10000
children = [value.GetChildAtIndex(memberBase + i) for i in xrange(memberCount)] children = [value.GetChildAtIndex(memberBase + i) for i in xrange(memberCount)]
if self.sortStructMembers:
children.sort(key = lambda child: str(child.GetName()))
for child in children: for child in children:
# Only needed in the QVariant4 test. # Only needed in the QVariant4 test.
if int(child.GetLoadAddress()) == 0xffffffffffffffff: if int(child.GetLoadAddress()) == 0xffffffffffffffff:
@@ -1169,7 +1166,6 @@ class Dumper(DumperBase):
self.expandedINames = set(args.get('expanded', [])) self.expandedINames = set(args.get('expanded', []))
self.autoDerefPointers = int(args.get('autoderef', '0')) self.autoDerefPointers = int(args.get('autoderef', '0'))
self.sortStructMembers = bool(args.get('sortstructs', True));
self.useDynamicType = int(args.get('dyntype', '0')) self.useDynamicType = int(args.get('dyntype', '0'))
self.useFancy = int(args.get('fancy', '0')) self.useFancy = int(args.get('fancy', '0'))
self.passExceptions = int(args.get('passexceptions', '0')) self.passExceptions = int(args.get('passexceptions', '0'))
@@ -1390,12 +1386,12 @@ class Dumper(DumperBase):
elif eventType == lldb.SBProcess.eBroadcastBitSTDOUT: elif eventType == lldb.SBProcess.eBroadcastBitSTDOUT:
# FIXME: Size? # FIXME: Size?
msg = self.process.GetSTDOUT(1024) msg = self.process.GetSTDOUT(1024)
self.report('output={channel="stdout",data="%s"}' if msg is not None:
% self.hexencode(msg)) self.report('output={channel="stdout",data="%s"}' % self.hexencode(msg))
elif eventType == lldb.SBProcess.eBroadcastBitSTDERR: elif eventType == lldb.SBProcess.eBroadcastBitSTDERR:
msg = self.process.GetSTDERR(1024) msg = self.process.GetSTDERR(1024)
self.report('output={channel="stderr",data="%s"}' if msg is not None:
% self.hexencode(msg)) self.report('output={channel="stderr",data="%s"}' % self.hexencode(msg))
elif eventType == lldb.SBProcess.eBroadcastBitProfileData: elif eventType == lldb.SBProcess.eBroadcastBitProfileData:
pass pass
+16
View File
@@ -82,6 +82,22 @@ def qdump__QByteArrayData(d, value):
d.putIntItem("size", size) d.putIntItem("size", size)
d.putIntItem("alloc", alloc) d.putIntItem("alloc", alloc)
def qdump__QBitArray(d, value):
data, basize, alloc = d.byteArrayDataHelper(d.extractPointer(value["d"]))
unused = d.extractByte(data)
size = basize * 8 - unused
d.putItemCount(size)
if d.isExpanded():
with Children(d, size, maxNumChild=10000):
for i in d.childRange():
q = data + 1 + int(i / 8)
with SubItem(d, i):
d.putValue((int(d.extractPointer(q)) >> (i % 8)) & 1)
d.putType("bool")
d.putNumChild(0)
def qdump__QChar(d, value): def qdump__QChar(d, value):
d.putValue(int(value["ucs"])) d.putValue(int(value["ucs"]))
d.putNumChild(0) d.putNumChild(0)
+9
View File
@@ -750,6 +750,15 @@ def qdump__std____debug__unordered_set(d, value):
qdump__std__unordered_set(d, value) qdump__std__unordered_set(d, value)
def qform__std__valarray():
return arrayForms()
def qdump__std__valarray(d, value):
size = value["_M_size"]
d.putItemCount(size)
d.putPlotData(value["_M_data"], size, d.templateArgument(value.type, 0))
def qform__std__vector(): def qform__std__vector():
return arrayForms() return arrayForms()
@@ -1049,7 +1049,8 @@ InformationChangedCommand NodeInstanceServer::createAllInformationChangedCommand
static bool supportedVariantType(int type) static bool supportedVariantType(int type)
{ {
return type < int(QVariant::UserType) && type != QMetaType::QObjectStar; return type < int(QVariant::UserType) && type != QMetaType::QObjectStar
&& type != QMetaType::QModelIndex;
} }
ValuesChangedCommand NodeInstanceServer::createValuesChangedCommand(const QList<ServerNodeInstance> &instanceList) const ValuesChangedCommand NodeInstanceServer::createValuesChangedCommand(const QList<ServerNodeInstance> &instanceList) const
@@ -1,5 +1,29 @@
INCLUDEPATH += $$PWD/ INCLUDEPATH += $$PWD/
# in case we are building the puppet inside qtcreator we don't have the qtcreator.pri where this function comes from
defineTest(minQtVersion) {
maj = $$1
min = $$2
patch = $$3
isEqual(QT_MAJOR_VERSION, $$maj) {
isEqual(QT_MINOR_VERSION, $$min) {
isEqual(QT_PATCH_VERSION, $$patch) {
return(true)
}
greaterThan(QT_PATCH_VERSION, $$patch) {
return(true)
}
}
greaterThan(QT_MINOR_VERSION, $$min) {
return(true)
}
}
greaterThan(QT_MAJOR_VERSION, $$maj) {
return(true)
}
return(false)
}
minQtVersion(5, 6, 0) { minQtVersion(5, 6, 0) {
HEADERS += \ HEADERS += \
$$PWD/qmlprivategate.h $$PWD/qmlprivategate.h
+2 -23
View File
@@ -1,25 +1,4 @@
TEMPLATE = app TEMPLATE = aux
TARGET = phony_target
CONFIG -= qt sdk separate_debug_info gdb_dwarf_index
QT =
LIBS =
macx:CONFIG -= app_bundle
isEmpty(vcproj) {
QMAKE_LINK = @: IGNORE THIS LINE
OBJECTS_DIR =
win32:CONFIG -= embed_manifest_exe
} else {
CONFIG += console
PHONY_DEPS = .
phony_src.input = PHONY_DEPS
phony_src.output = phony.c
phony_src.variable_out = GENERATED_SOURCES
phony_src.commands = echo int main() { return 0; } > phony.c
phony_src.name = CREATE phony.c
phony_src.CONFIG += combine
QMAKE_EXTRA_COMPILERS += phony_src
}
STATIC_BASE = $$PWD STATIC_BASE = $$PWD
@@ -52,7 +31,7 @@ for(data_dir, DATA_DIRS) {
STATIC_FILES += $$file STATIC_FILES += $$file
} }
include(static.pri) include(../../qtcreatordata.pri)
SRCRESOURCEDIR = $$IDE_SOURCE_TREE/src/share/qtcreator/ SRCRESOURCEDIR = $$IDE_SOURCE_TREE/src/share/qtcreator/
defineReplace(stripSrcResourceDir) { defineReplace(stripSrcResourceDir) {
+12
View File
@@ -71,6 +71,18 @@ IconsModeDebugActiveColor=ff99aaef
IconsModeProjetcsActiveColor=ff80c342 IconsModeProjetcsActiveColor=ff80c342
IconsModeAnalyzeActiveColor=ff43adee IconsModeAnalyzeActiveColor=ff43adee
IconsModeHelpActiveColor=fff4be04 IconsModeHelpActiveColor=fff4be04
IconsCodeModelKeywordColor=ffaaaaaa
IconsCodeModelClassColor=ffc0b550
IconsCodeModelStructColor=ff53b053
IconsCodeModelFunctionColor=ffd34373
IconsCodeModelVariableColor=ff2bbbcc
IconsCodeModelEnumColor=ffc0b550
IconsCodeModelMacroColor=ff477ba0
IconsCodeModelAttributeColor=ff316511
IconsCodeModelUniformColor=ff994899
IconsCodeModelVaryingColor=ffa08833
IconsCodeModelOverlayBackgroundColor=88000000
IconsCodeModelOverlayForegroundColor=ffdcdcdc
InfoBarBackground=ff505000 InfoBarBackground=ff505000
InfoBarText=text InfoBarText=text
MenuBarEmptyAreaBackgroundColor=shadowBackground MenuBarEmptyAreaBackgroundColor=shadowBackground
@@ -65,6 +65,18 @@ IconsModeDebugActiveColor=ffffffff
IconsModeProjetcsActiveColor=ffffffff IconsModeProjetcsActiveColor=ffffffff
IconsModeAnalyzeActiveColor=ffffffff IconsModeAnalyzeActiveColor=ffffffff
IconsModeHelpActiveColor=ffffffff IconsModeHelpActiveColor=ffffffff
IconsCodeModelKeywordColor=ff777777
IconsCodeModelClassColor=ffc0b550
IconsCodeModelStructColor=ff53b053
IconsCodeModelFunctionColor=fff36393
IconsCodeModelVariableColor=ff2bbbcc
IconsCodeModelEnumColor=ffc0b550
IconsCodeModelMacroColor=ff476ba0
IconsCodeModelAttributeColor=ff316511
IconsCodeModelUniformColor=ff994899
IconsCodeModelVaryingColor=ffa08833
IconsCodeModelOverlayBackgroundColor=70ffffff
IconsCodeModelOverlayForegroundColor=ff232425
InfoBarBackground=ffffffe1 InfoBarBackground=ffffffe1
InfoBarText=ff000000 InfoBarText=ff000000
MenuBarEmptyAreaBackgroundColor=ffff0000 MenuBarEmptyAreaBackgroundColor=ffff0000
@@ -8,6 +8,8 @@ text=ff000000
textDisabled=55000000 textDisabled=55000000
toolBarItem=b6fbfdff toolBarItem=b6fbfdff
toolBarItemDisabled=60a4a6a8 toolBarItemDisabled=60a4a6a8
fancyBarsNormalTextColor=ffffffff
fancyBarsBoldTextColor=b6fbfdff
hoverBackground=22ffffff hoverBackground=22ffffff
selectedBackground=66000000 selectedBackground=66000000
normalBackground=ffffffff normalBackground=ffffffff
@@ -29,7 +31,7 @@ BadgeLabelTextColorUnchecked=ffffffff
CanceledSearchTextColor=ff0000 CanceledSearchTextColor=ff0000
ComboBoxArrowColor=toolBarItem ComboBoxArrowColor=toolBarItem
ComboBoxArrowColorDisabled=toolBarItemDisabled ComboBoxArrowColorDisabled=toolBarItemDisabled
ComboBoxTextColor=toolBarItem ComboBoxTextColor=fancyBarsNormalTextColor
DetailsButtonBackgroundColorHover=b4ffffff DetailsButtonBackgroundColorHover=b4ffffff
DetailsWidgetBackgroundColor=28ffffff DetailsWidgetBackgroundColor=28ffffff
DockWidgetResizeHandleColor=splitter DockWidgetResizeHandleColor=splitter
@@ -46,8 +48,8 @@ FancyToolBarSeparatorColor=toolBarItemDisabled
FancyTabBarBackgroundColor=shadowBackground FancyTabBarBackgroundColor=shadowBackground
FancyTabWidgetDisabledSelectedTextColor=toolBarItemDisabled FancyTabWidgetDisabledSelectedTextColor=toolBarItemDisabled
FancyTabWidgetDisabledUnselectedTextColor=toolBarItemDisabled FancyTabWidgetDisabledUnselectedTextColor=toolBarItemDisabled
FancyTabWidgetEnabledSelectedTextColor=toolBarItem FancyTabWidgetEnabledSelectedTextColor=fancyBarsBoldTextColor
FancyTabWidgetEnabledUnselectedTextColor=toolBarItem FancyTabWidgetEnabledUnselectedTextColor=fancyBarsBoldTextColor
FancyToolButtonHoverColor=hoverBackground FancyToolButtonHoverColor=hoverBackground
FancyToolButtonSelectedColor=selectedBackground FancyToolButtonSelectedColor=selectedBackground
FutureProgressBackgroundColor=shadowBackground FutureProgressBackgroundColor=shadowBackground
@@ -60,7 +62,7 @@ IconsWarningToolBarColor=fff2d76e
IconsErrorColor=ffdf4f4f IconsErrorColor=ffdf4f4f
IconsErrorToolBarColor=ffdb6f71 IconsErrorToolBarColor=ffdb6f71
IconsRunColor=dda4d576 IconsRunColor=dda4d576
IconsStopColor=dddb6f71 IconsStopColor=ddff8c8c
IconsDebugColor=toolBarItem IconsDebugColor=toolBarItem
IconsInterruptColor=dd7488db IconsInterruptColor=dd7488db
IconsNavigationArrowsColor=ffebc322 IconsNavigationArrowsColor=ffebc322
@@ -73,6 +75,18 @@ IconsModeDebugActiveColor=ff99aaef
IconsModeProjetcsActiveColor=ff80c342 IconsModeProjetcsActiveColor=ff80c342
IconsModeAnalyzeActiveColor=ff43adee IconsModeAnalyzeActiveColor=ff43adee
IconsModeHelpActiveColor=fff4be04 IconsModeHelpActiveColor=fff4be04
IconsCodeModelKeywordColor=ff777777
IconsCodeModelClassColor=ffc0b550
IconsCodeModelStructColor=ff53b053
IconsCodeModelFunctionColor=ffd34373
IconsCodeModelVariableColor=ff2bbbcc
IconsCodeModelEnumColor=ffc0b550
IconsCodeModelMacroColor=ff476ba0
IconsCodeModelAttributeColor=ff316511
IconsCodeModelUniformColor=ff994899
IconsCodeModelVaryingColor=ffa08833
IconsCodeModelOverlayBackgroundColor=70ffffff
IconsCodeModelOverlayForegroundColor=ff232425
InfoBarBackground=ffffffe1 InfoBarBackground=ffffffe1
InfoBarText=text InfoBarText=text
MenuBarEmptyAreaBackgroundColor=shadowBackground MenuBarEmptyAreaBackgroundColor=shadowBackground
@@ -89,11 +103,11 @@ PanelStatusBarBackgroundColor=shadowBackground
PanelsWidgetSeparatorLineColor=0 PanelsWidgetSeparatorLineColor=0
PanelTextColorDark=text PanelTextColorDark=text
PanelTextColorMid=ff666666 PanelTextColorMid=ff666666
PanelTextColorLight=toolBarItem PanelTextColorLight=fancyBarsNormalTextColor
ProgressBarColorError=ffdb6f71 ProgressBarColorError=ffdb6f71
ProgressBarColorFinished=dda4d576 ProgressBarColorFinished=dda4d576
ProgressBarColorNormal=ff999999 ProgressBarColorNormal=ff999999
ProgressBarTitleColor=toolBarItem ProgressBarTitleColor=fancyBarsBoldTextColor
ProgressBarBackgroundColor=a0606060 ProgressBarBackgroundColor=a0606060
SplitterColor=splitter SplitterColor=splitter
TextColorDisabled=textDisabled TextColorDisabled=textDisabled
@@ -124,8 +138,8 @@ OutputPanes_TestWarnTextColor=ffd0bb00
OutputPanes_TestFatalTextColor=ff640000 OutputPanes_TestFatalTextColor=ff640000
OutputPanes_TestDebugTextColor=ff329696 OutputPanes_TestDebugTextColor=ff329696
OutputPaneButtonFlashColor=ffff0000 OutputPaneButtonFlashColor=ffff0000
OutputPaneToggleButtonTextColorChecked=toolBarItem OutputPaneToggleButtonTextColorChecked=fancyBarsNormalTextColor
OutputPaneToggleButtonTextColorUnchecked=toolBarItem OutputPaneToggleButtonTextColorUnchecked=fancyBarsNormalTextColor
Debugger_LogWindow_LogInput=ff00acac Debugger_LogWindow_LogInput=ff00acac
Debugger_LogWindow_LogStatus=ff00875a Debugger_LogWindow_LogStatus=ff00875a
+2 -22
View File
@@ -1,3 +1,5 @@
TEMPLATE = aux
include(../../../qtcreator.pri) include(../../../qtcreator.pri)
LANGUAGES = cs de fr ja pl ru sl uk zh_CN zh_TW LANGUAGES = cs de fr ja pl ru sl uk zh_CN zh_TW
@@ -113,12 +115,6 @@ ts.commands = \
echo \"rename the file and re-run \'qmake\'.\" echo \"rename the file and re-run \'qmake\'.\"
QMAKE_EXTRA_TARGETS += ts QMAKE_EXTRA_TARGETS += ts
TEMPLATE = app
TARGET = phony_target2
CONFIG -= qt sdk separate_debug_info gdb_dwarf_index
QT =
LIBS =
updateqm.input = TRANSLATIONS updateqm.input = TRANSLATIONS
updateqm.output = $$IDE_DATA_PATH/translations/${QMAKE_FILE_BASE}.qm updateqm.output = $$IDE_DATA_PATH/translations/${QMAKE_FILE_BASE}.qm
isEmpty(vcproj):updateqm.variable_out = PRE_TARGETDEPS isEmpty(vcproj):updateqm.variable_out = PRE_TARGETDEPS
@@ -127,22 +123,6 @@ updateqm.name = LRELEASE ${QMAKE_FILE_IN}
updateqm.CONFIG += no_link updateqm.CONFIG += no_link
QMAKE_EXTRA_COMPILERS += updateqm QMAKE_EXTRA_COMPILERS += updateqm
isEmpty(vcproj) {
QMAKE_LINK = @: IGNORE THIS LINE
OBJECTS_DIR =
win32:CONFIG -= embed_manifest_exe
} else {
CONFIG += console
PHONY_DEPS = .
phony_src.input = PHONY_DEPS
phony_src.output = phony.c
phony_src.variable_out = GENERATED_SOURCES
phony_src.commands = echo int main() { return 0; } > phony.c
phony_src.name = CREATE phony.c
phony_src.CONFIG += combine
QMAKE_EXTRA_COMPILERS += phony_src
}
qmfiles.files = $$prependAll(LANGUAGES, $$OUT_PWD/qtcreator_,.qm) qmfiles.files = $$prependAll(LANGUAGES, $$OUT_PWD/qtcreator_,.qm)
qmfiles.path = $$INSTALL_DATA_PATH/translations qmfiles.path = $$INSTALL_DATA_PATH/translations
qmfiles.CONFIG += no_check_exist qmfiles.CONFIG += no_check_exist
+180 -79
View File
@@ -30,49 +30,24 @@
#include <cplusplus/Symbols.h> #include <cplusplus/Symbols.h>
#include <cplusplus/Type.h> #include <cplusplus/Type.h>
#include <utils/icon.h>
using namespace CPlusPlus; using namespace CPlusPlus;
using CPlusPlus::Icons; using CPlusPlus::Icons;
Icons::Icons() QIcon Icons::iconForSymbol(const Symbol *symbol)
: _classIcon(QLatin1String(":/codemodel/images/class.png")),
_structIcon(QLatin1String(":/codemodel/images/struct.png")),
_enumIcon(QLatin1String(":/codemodel/images/enum.png")),
_enumeratorIcon(QLatin1String(":/codemodel/images/enumerator.png")),
_funcPublicIcon(QLatin1String(":/codemodel/images/func.png")),
_funcProtectedIcon(QLatin1String(":/codemodel/images/func_prot.png")),
_funcPrivateIcon(QLatin1String(":/codemodel/images/func_priv.png")),
_funcPublicStaticIcon(QLatin1String(":/codemodel/images/func_st.png")),
_funcProtectedStaticIcon(QLatin1String(":/codemodel/images/func_prot_st.png")),
_funcPrivateStaticIcon(QLatin1String(":/codemodel/images/func_priv_st.png")),
_namespaceIcon(QLatin1String(":/codemodel/images/namespace.png")),
_varPublicIcon(QLatin1String(":/codemodel/images/var.png")),
_varProtectedIcon(QLatin1String(":/codemodel/images/var_prot.png")),
_varPrivateIcon(QLatin1String(":/codemodel/images/var_priv.png")),
_varPublicStaticIcon(QLatin1String(":/codemodel/images/var_st.png")),
_varProtectedStaticIcon(QLatin1String(":/codemodel/images/var_prot_st.png")),
_varPrivateStaticIcon(QLatin1String(":/codemodel/images/var_priv_st.png")),
_signalIcon(QLatin1String(":/codemodel/images/signal.png")),
_slotPublicIcon(QLatin1String(":/codemodel/images/slot.png")),
_slotProtectedIcon(QLatin1String(":/codemodel/images/slot_prot.png")),
_slotPrivateIcon(QLatin1String(":/codemodel/images/slot_priv.png")),
_keywordIcon(QLatin1String(":/codemodel/images/keyword.png")),
_macroIcon(QLatin1String(":/codemodel/images/macro.png"))
{
}
QIcon Icons::iconForSymbol(const Symbol *symbol) const
{ {
return iconForType(iconTypeForSymbol(symbol)); return iconForType(iconTypeForSymbol(symbol));
} }
QIcon Icons::keywordIcon() const QIcon Icons::keywordIcon()
{ {
return _keywordIcon; return iconForType(KeywordIconType);
} }
QIcon Icons::macroIcon() const QIcon Icons::macroIcon()
{ {
return _macroIcon; return iconForType(MacroIconType);
} }
Icons::IconType Icons::iconTypeForSymbol(const Symbol *symbol) Icons::IconType Icons::iconTypeForSymbol(const Symbol *symbol)
@@ -141,55 +116,181 @@ Icons::IconType Icons::iconTypeForSymbol(const Symbol *symbol)
return UnknownIconType; return UnknownIconType;
} }
QIcon Icons::iconForType(IconType type) const QIcon Icons::iconForType(IconType type)
{ {
using namespace Utils;
static const IconMaskAndColor classRelationIcon {
QLatin1String(":/codemodel/images/classrelation.png"), Theme::IconsCodeModelOverlayForegroundColor};
static const IconMaskAndColor classRelationBackgroundIcon {
QLatin1String(":/codemodel/images/classrelationbackground.png"), Theme::IconsCodeModelOverlayBackgroundColor};
static const IconMaskAndColor classMemberFunctionIcon {
QLatin1String(":/codemodel/images/classmemberfunction.png"), Theme::IconsCodeModelFunctionColor};
static const IconMaskAndColor classMemberVariableIcon {
QLatin1String(":/codemodel/images/classmembervariable.png"), Theme::IconsCodeModelVariableColor};
static const IconMaskAndColor functionIcon {
QLatin1String(":/codemodel/images/member.png"), Theme::IconsCodeModelFunctionColor};
static const IconMaskAndColor variableIcon {
QLatin1String(":/codemodel/images/member.png"), Theme::IconsCodeModelVariableColor};
static const IconMaskAndColor signalIcon {
QLatin1String(":/codemodel/images/signal.png"), Theme::IconsCodeModelFunctionColor};
static const IconMaskAndColor slotIcon {
QLatin1String(":/codemodel/images/slot.png"), Theme::IconsCodeModelFunctionColor};
static const IconMaskAndColor protectedIcon {
QLatin1String(":/codemodel/images/protected.png"), Theme::IconsCodeModelOverlayForegroundColor};
static const IconMaskAndColor protectedBackgroundIcon {
QLatin1String(":/codemodel/images/protectedbackground.png"), Theme::IconsCodeModelOverlayBackgroundColor};
static const IconMaskAndColor privateIcon {
QLatin1String(":/codemodel/images/private.png"), Theme::IconsCodeModelOverlayForegroundColor};
static const IconMaskAndColor privateBackgroundIcon {
QLatin1String(":/codemodel/images/privatebackground.png"), Theme::IconsCodeModelOverlayBackgroundColor};
static const IconMaskAndColor staticIcon {
QLatin1String(":/codemodel/images/static.png"), Theme::IconsCodeModelOverlayForegroundColor};
static const IconMaskAndColor staticBackgroundIcon {
QLatin1String(":/codemodel/images/staticbackground.png"), Theme::IconsCodeModelOverlayBackgroundColor};
switch (type) { switch (type) {
case ClassIconType: case ClassIconType: {
return _classIcon; const static QIcon icon(Icon({
case StructIconType: classRelationBackgroundIcon, classRelationIcon,
return _structIcon; {QLatin1String(":/codemodel/images/classparent.png"), Theme::IconsCodeModelClassColor},
case EnumIconType: classMemberFunctionIcon, classMemberVariableIcon
return _enumIcon; }, Icon::Tint).icon());
case EnumeratorIconType: return icon;
return _enumeratorIcon; }
case FuncPublicIconType: case StructIconType: {
return _funcPublicIcon; const static QIcon icon(Icon({
case FuncProtectedIconType: classRelationBackgroundIcon, classRelationIcon,
return _funcProtectedIcon; {QLatin1String(":/codemodel/images/classparent.png"), Theme::IconsCodeModelStructColor},
case FuncPrivateIconType: classMemberFunctionIcon, classMemberVariableIcon
return _funcPrivateIcon; }, Icon::Tint).icon());
case FuncPublicStaticIconType: return icon;
return _funcPublicStaticIcon; }
case FuncProtectedStaticIconType: case EnumIconType: {
return _funcProtectedStaticIcon; const static QIcon icon(Icon({
case FuncPrivateStaticIconType: {QLatin1String(":/codemodel/images/enum.png"), Theme::IconsCodeModelEnumColor}
return _funcPrivateStaticIcon; }, Icon::Tint).icon());
case NamespaceIconType: return icon;
return _namespaceIcon; }
case VarPublicIconType: case EnumeratorIconType: {
return _varPublicIcon; const static QIcon icon(Icon({
case VarProtectedIconType: {QLatin1String(":/codemodel/images/enumerator.png"), Theme::IconsCodeModelEnumColor}
return _varProtectedIcon; }, Icon::Tint).icon());
case VarPrivateIconType: return icon;
return _varPrivateIcon; }
case VarPublicStaticIconType: case FuncPublicIconType: {
return _varPublicStaticIcon; const static QIcon icon(Icon({
case VarProtectedStaticIconType: functionIcon}, Icon::Tint).icon());
return _varProtectedStaticIcon; return icon;
case VarPrivateStaticIconType: }
return _varPrivateStaticIcon; case FuncProtectedIconType: {
case SignalIconType: const static QIcon icon(Icon({
return _signalIcon; functionIcon, protectedBackgroundIcon, protectedIcon
case SlotPublicIconType: }, Icon::Tint).icon());
return _slotPublicIcon; return icon;
case SlotProtectedIconType: }
return _slotProtectedIcon; case FuncPrivateIconType: {
case SlotPrivateIconType: const static QIcon icon(Icon({
return _slotPrivateIcon; functionIcon, privateBackgroundIcon, privateIcon
case KeywordIconType: }, Icon::Tint).icon());
return _keywordIcon; return icon;
case MacroIconType: }
return _macroIcon; case FuncPublicStaticIconType: {
const static QIcon icon(Icon({
functionIcon, staticBackgroundIcon, staticIcon
}, Icon::Tint).icon());
return icon;
}
case FuncProtectedStaticIconType: {
const static QIcon icon(Icon({
functionIcon, staticBackgroundIcon, staticIcon, protectedBackgroundIcon, protectedIcon
}, Icon::Tint).icon());
return icon;
}
case FuncPrivateStaticIconType: {
const static QIcon icon(Icon({
functionIcon, staticBackgroundIcon, staticIcon, privateBackgroundIcon, privateIcon
}, Icon::Tint).icon());
return icon;
}
case NamespaceIconType: {
const static QIcon icon(Icon({
{QLatin1String(":/codemodel/images/namespace.png"), Theme::IconsCodeModelKeywordColor}
}, Icon::Tint).icon());
return icon;
}
case VarPublicIconType: {
const static QIcon icon(Icon({
variableIcon
}, Icon::Tint).icon());
return icon;
}
case VarProtectedIconType: {
const static QIcon icon(Icon({
variableIcon, protectedBackgroundIcon, protectedIcon
}, Icon::Tint).icon());
return icon;
}
case VarPrivateIconType: {
const static QIcon icon(Icon({
variableIcon, privateBackgroundIcon, privateIcon
}, Icon::Tint).icon());
return icon;
}
case VarPublicStaticIconType: {
const static QIcon icon(Icon({
variableIcon, staticBackgroundIcon, staticIcon
}, Icon::Tint).icon());
return icon;
}
case VarProtectedStaticIconType: {
const static QIcon icon(Icon({
variableIcon, staticBackgroundIcon, staticIcon, protectedBackgroundIcon, protectedIcon
}, Icon::Tint).icon());
return icon;
}
case VarPrivateStaticIconType: {
const static QIcon icon(Icon({
variableIcon, staticBackgroundIcon, staticIcon, privateBackgroundIcon, privateIcon
}, Icon::Tint).icon());
return icon;
}
case SignalIconType: {
const static QIcon icon(Icon({
signalIcon
}, Icon::Tint).icon());
return icon;
}
case SlotPublicIconType: {
const static QIcon icon(Icon({
slotIcon
}, Icon::Tint).icon());
return icon;
}
case SlotProtectedIconType: {
const static QIcon icon(Icon({
slotIcon, protectedBackgroundIcon, protectedIcon
}, Icon::Tint).icon());
return icon;
}
case SlotPrivateIconType: {
const static QIcon icon(Icon({
slotIcon, privateBackgroundIcon, privateIcon
}, Icon::Tint).icon());
return icon;
}
case KeywordIconType: {
const static QIcon icon(Icon({
{QLatin1String(":/codemodel/images/keyword.png"), Theme::IconsCodeModelKeywordColor}
}, Icon::Tint).icon());
return icon;
}
case MacroIconType: {
const static QIcon icon(Icon({
{QLatin1String(":/codemodel/images/macro.png"), Theme::IconsCodeModelMacroColor}
}, Icon::Tint).icon());
return icon;
}
default: default:
break; break;
} }
+5 -29
View File
@@ -36,12 +36,10 @@ class Symbol;
class CPLUSPLUS_EXPORT Icons class CPLUSPLUS_EXPORT Icons
{ {
public: public:
Icons(); static QIcon iconForSymbol(const Symbol *symbol);
QIcon iconForSymbol(const Symbol *symbol) const; static QIcon keywordIcon();
static QIcon macroIcon();
QIcon keywordIcon() const;
QIcon macroIcon() const;
enum IconType { enum IconType {
ClassIconType = 0, ClassIconType = 0,
@@ -71,32 +69,10 @@ public:
}; };
static IconType iconTypeForSymbol(const Symbol *symbol); static IconType iconTypeForSymbol(const Symbol *symbol);
QIcon iconForType(IconType type) const; static QIcon iconForType(IconType type);
private: private:
QIcon _classIcon; Icons() {}
QIcon _structIcon;
QIcon _enumIcon;
QIcon _enumeratorIcon;
QIcon _funcPublicIcon;
QIcon _funcProtectedIcon;
QIcon _funcPrivateIcon;
QIcon _funcPublicStaticIcon;
QIcon _funcProtectedStaticIcon;
QIcon _funcPrivateStaticIcon;
QIcon _namespaceIcon;
QIcon _varPublicIcon;
QIcon _varProtectedIcon;
QIcon _varPrivateIcon;
QIcon _varPublicStaticIcon;
QIcon _varProtectedStaticIcon;
QIcon _varPrivateStaticIcon;
QIcon _signalIcon;
QIcon _slotPublicIcon;
QIcon _slotProtectedIcon;
QIcon _slotPrivateIcon;
QIcon _keywordIcon;
QIcon _macroIcon;
}; };
} // namespace CPlusPlus } // namespace CPlusPlus
+2 -1
View File
@@ -27,6 +27,7 @@
#include "Overview.h" #include "Overview.h"
#include <cplusplus/Icons.h>
#include <cplusplus/Scope.h> #include <cplusplus/Scope.h>
#include <cplusplus/Literals.h> #include <cplusplus/Literals.h>
#include <cplusplus/Symbols.h> #include <cplusplus/Symbols.h>
@@ -210,7 +211,7 @@ QVariant OverviewModel::data(const QModelIndex &index, int role) const
case Qt::DecorationRole: { case Qt::DecorationRole: {
Symbol *symbol = static_cast<Symbol *>(index.internalPointer()); Symbol *symbol = static_cast<Symbol *>(index.internalPointer());
return _icons.iconForSymbol(symbol); return Icons::iconForSymbol(symbol);
} break; } break;
case FileNameRole: { case FileNameRole: {
-2
View File
@@ -27,7 +27,6 @@
#include "CppDocument.h" #include "CppDocument.h"
#include "Overview.h" #include "Overview.h"
#include "Icons.h"
#include <QAbstractItemModel> #include <QAbstractItemModel>
@@ -72,7 +71,6 @@ private:
private: private:
Document::Ptr _cppDocument; Document::Ptr _cppDocument;
Overview _overview; Overview _overview;
Icons _icons;
}; };
} // namespace CPlusPlus } // namespace CPlusPlus
-24
View File
@@ -126,30 +126,6 @@ QtcLibrary {
] ]
} }
Group {
name: "Images"
prefix: "images/"
files: [
"class.png",
"struct.png",
"enum.png",
"enumerator.png",
"func.png",
"func_priv.png",
"func_prot.png",
"keyword.png",
"macro.png",
"namespace.png",
"signal.png",
"slot.png",
"slot_priv.png",
"slot_prot.png",
"var.png",
"var_priv.png",
"var_prot.png",
]
}
Export { Export {
cpp.includePaths: [ cpp.includePaths: [
"../3rdparty" "../3rdparty"
+31 -16
View File
@@ -1,27 +1,42 @@
<RCC> <RCC>
<qresource prefix="/codemodel"> <qresource prefix="/codemodel">
<file>images/class.png</file>
<file>images/struct.png</file>
<file>images/enum.png</file> <file>images/enum.png</file>
<file>images/enum@2x.png</file>
<file>images/enumerator.png</file> <file>images/enumerator.png</file>
<file>images/func.png</file> <file>images/enumerator@2x.png</file>
<file>images/func_priv.png</file>
<file>images/func_prot.png</file>
<file>images/keyword.png</file> <file>images/keyword.png</file>
<file>images/keyword@2x.png</file>
<file>images/macro.png</file> <file>images/macro.png</file>
<file>images/macro@2x.png</file>
<file>images/namespace.png</file> <file>images/namespace.png</file>
<file>images/namespace@2x.png</file>
<file>images/signal.png</file> <file>images/signal.png</file>
<file>images/signal@2x.png</file>
<file>images/slot.png</file> <file>images/slot.png</file>
<file>images/slot_priv.png</file> <file>images/slot@2x.png</file>
<file>images/slot_prot.png</file> <file>images/member.png</file>
<file>images/var.png</file> <file>images/member@2x.png</file>
<file>images/var_priv.png</file> <file>images/private.png</file>
<file>images/var_prot.png</file> <file>images/private@2x.png</file>
<file>images/func_priv_st.png</file> <file>images/privatebackground.png</file>
<file>images/func_prot_st.png</file> <file>images/privatebackground@2x.png</file>
<file>images/func_st.png</file> <file>images/protected.png</file>
<file>images/var_priv_st.png</file> <file>images/protected@2x.png</file>
<file>images/var_prot_st.png</file> <file>images/protectedbackground.png</file>
<file>images/var_st.png</file> <file>images/protectedbackground@2x.png</file>
<file>images/static.png</file>
<file>images/static@2x.png</file>
<file>images/staticbackground.png</file>
<file>images/staticbackground@2x.png</file>
<file>images/classmemberfunction.png</file>
<file>images/classmemberfunction@2x.png</file>
<file>images/classmembervariable.png</file>
<file>images/classmembervariable@2x.png</file>
<file>images/classparent.png</file>
<file>images/classparent@2x.png</file>
<file>images/classrelation.png</file>
<file>images/classrelation@2x.png</file>
<file>images/classrelationbackground.png</file>
<file>images/classrelationbackground@2x.png</file>
</qresource> </qresource>
</RCC> </RCC>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 573 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 359 B

After

Width:  |  Height:  |  Size: 112 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 478 B

After

Width:  |  Height:  |  Size: 124 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 583 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 656 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 685 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 647 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 679 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 651 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 341 B

After

Width:  |  Height:  |  Size: 139 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 405 B

After

Width:  |  Height:  |  Size: 133 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 377 B

After

Width:  |  Height:  |  Size: 130 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 385 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 393 B

After

Width:  |  Height:  |  Size: 199 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 498 B

After

Width:  |  Height:  |  Size: 188 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 468 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 452 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 164 B

After

Width:  |  Height:  |  Size: 120 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 641 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 530 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 632 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 676 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 619 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 658 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 629 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 573 B

Some files were not shown because too many files have changed in this diff Show More