forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/3.4'
This commit is contained in:
@@ -43,7 +43,7 @@ versions of Qt and Qt Creator on Windows. Alternatively, to avoid having to
|
||||
compile Qt yourself, you can use one of the versions of Qt shipped with the Qt
|
||||
SDK (release builds of Qt using MinGW and Visual C++ 2010 or later).
|
||||
For detailed information on the supported compilers, see
|
||||
http://qt-project.org/wiki/Building_Qt_5_from_Git .
|
||||
http://wiki.qt.io/Building_Qt_5_from_Git .
|
||||
|
||||
1. Decide which compiler to use: MinGW or Microsoft Visual Studio. If you
|
||||
plan to contribute to Qt Creator, you should compile your changes with
|
||||
@@ -75,7 +75,7 @@ http://qt-project.org/wiki/Building_Qt_5_from_Git .
|
||||
directory.
|
||||
|
||||
7. Install a compiler:
|
||||
- For a MinGW toolchain for Qt, see http://qt-project.org/wiki/MinGW .
|
||||
- For a MinGW toolchain for Qt, see http://wiki.qt.io/MinGW .
|
||||
|
||||
- For Microsoft Visual C++, install the Windows SDK and the "Debugging
|
||||
Tools for Windows" from the SDK image. We strongly recommend using the
|
||||
@@ -122,7 +122,7 @@ http://qt-project.org/wiki/Building_Qt_5_from_Git .
|
||||
You have to remove it from the path.
|
||||
|
||||
10. You are now ready to configure and build Qt and Qt Creator.
|
||||
Please see http://qt-project.org/wiki/Building_Qt_5_from_Git for
|
||||
Please see http://wiki.qt.io/Building_Qt_5_from_Git for
|
||||
recommended configure-options for Qt 5.
|
||||
To use MinGW, open the the shell prompt and enter:
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -23,6 +23,6 @@
|
||||
<screenshots>
|
||||
<screenshot type="default" width="800" height="600">http://qt-project.org/uploads/image_upload/qtcreator-edit-mode.png</screenshot>
|
||||
</screenshots>
|
||||
<url type="homepage">https://qt-project.org/wiki/Category:Tools::QtCreator</url>
|
||||
<url type="homepage">https://wiki.qt.io/Category:Tools::QtCreator</url>
|
||||
<project_group>Qt</project_group>
|
||||
</application>
|
||||
|
||||
Vendored
+15
@@ -0,0 +1,15 @@
|
||||
Qt Creator version 3.3.2 contains bug fixes.
|
||||
|
||||
The most important changes are listed in this document. For a complete
|
||||
list of changes, see the Git log for the Qt Creator sources that
|
||||
you can check out from the public Git repository. For example:
|
||||
|
||||
git clone git://gitorious.org/qt-creator/qt-creator.git
|
||||
git log --cherry-pick --pretty=oneline v3.3.1..v3.3.2
|
||||
|
||||
C++ Support
|
||||
* Fixed deployment of Clang code model plugin (QTCREATORBUG-14038)
|
||||
|
||||
Qt Quick Designer
|
||||
* Fixed crash of Qt Quick emulation layer when using fallback emulation
|
||||
(QTCREATORBUG-14031)
|
||||
Vendored
+165
@@ -0,0 +1,165 @@
|
||||
Qt Creator version 3.4 contains bug fixes and new features.
|
||||
|
||||
The most important changes are listed in this document. For a complete
|
||||
list of changes, see the Git log for the Qt Creator sources that
|
||||
you can check out from the public Git repository. For example:
|
||||
|
||||
git clone git://gitorious.org/qt-creator/qt-creator.git
|
||||
git log --cherry-pick --pretty=oneline origin/3.3..origin/3.4
|
||||
|
||||
General
|
||||
* Added option to change environment for running external tools (QTCREATORBUG-4995)
|
||||
* Improved performance of output panes
|
||||
* Fixed that wizard windows were missing in Window menu (QTCREATORBUG-13766)
|
||||
|
||||
Editing
|
||||
* Switched to a QMimeDatabase based MIME database implementation
|
||||
* Added hint in empty editor area
|
||||
* Added "Copy Path and Line Number" to context menu of document selector
|
||||
* Added parenthesis highlighting to generic highlighter
|
||||
* Fixed that files with same file name but different path were not distinguishable
|
||||
in document selector and open documents pane (QTCREATORBUG-10185)
|
||||
* Fixed that symlinks and their target could be opened at the same time (QTCREATORBUG-5941)
|
||||
* Fixed that wrong highlight definition was downloaded when sorting the list in the settings
|
||||
|
||||
Help
|
||||
* Fixed clean up of automatically registered documentation
|
||||
|
||||
QMake Projects
|
||||
* Added handling of QMAKE_CXXFLAGS_(APP|SHLIB|PLUGIN) variables
|
||||
* Added option to put debug information in separate file (QTCREATORBUG-14009)
|
||||
* Fixed ANSI color support for application output (QTCREATORBUG-13764)
|
||||
* Fixed handling of DEFINES with escaped characters
|
||||
|
||||
CMake Projects
|
||||
* Fixed that static libraries were deployed
|
||||
* Fixed finding source directory for build directory
|
||||
|
||||
Qbs Projects
|
||||
* Added option to show full command lines during build
|
||||
|
||||
QML-Only Projects (.qmlproject)
|
||||
* Disabled plugin by default
|
||||
|
||||
Debugging
|
||||
* LLDB
|
||||
* Fixed debugging of console applications (QTCREATORBUG-13803)
|
||||
|
||||
Analyzer
|
||||
* Added Valgrind Memory Analyzer with GDB
|
||||
|
||||
QML Profiler
|
||||
* Made it possible to search through event notes (QTCREATORBUG-13417)
|
||||
|
||||
C++ Support
|
||||
* Added support for binary literals (n3472)
|
||||
* Added locator filter for all included files (QTCREATORBUG-280)
|
||||
* Added refactoring action that moves all function definitions out of a class declaration
|
||||
* Added support for signal and slot completion in Qt 5 style connects
|
||||
* Improved support for non-Qt projects that use Qt keywords
|
||||
* Made auto-completion delay configurable (QTCREATORBUG-13393)
|
||||
* Fixed auto-indentation for break in switch statement (QTCREATORBUG-13155)
|
||||
* Fixed issues with case-insensitive file systems (QTCREATORBUG-12390)
|
||||
* Fixed completion for enums inside member functions (QTCREATORBUG-13757)
|
||||
* Fixed crash on closing one of multiple outline views (QTCREATORBUG-13614)
|
||||
* Fixed that Move Definition to Class refactoring action was not available when using "override"
|
||||
(QTCREATORBUG-13564)
|
||||
* Fixed that Assign to Local Variable refactoring action was not working with chained
|
||||
function calls (QTCREATORBUG-10355)
|
||||
* Fixed several issues with completion and iterators (QTCREATORBUG-13799)
|
||||
|
||||
QML Support
|
||||
* Fixed crash on closing one of multiple outline views (QTCREATORBUG-13614)
|
||||
|
||||
Version Control Systems
|
||||
* Git
|
||||
* Added support for "git stash --keep-index" (QTCREATORBUG-13587)
|
||||
* Gerrit
|
||||
* Fixed that it was not possible to abort query and fetch (QTCREATORBUG-9743)
|
||||
* Fixed that not all remotes where shown in Push to Gerrit dialog (QTCREATORBUG-13718)
|
||||
* Subversion
|
||||
* Added option to show verbose log
|
||||
* Changed to use the new unified diff viewer
|
||||
* Fixed that committing failed when using non-Latin1 characters in commit message
|
||||
(QTCREATORBUG-13979)
|
||||
* Perforce
|
||||
* Improved repository log (QTCREATORBUG-13526)
|
||||
|
||||
FakeVim
|
||||
* Fixed target column for various commands
|
||||
* Fixed behavior of "D" in visual block mode
|
||||
* Fixed cursor shape after failing search
|
||||
* Fixed issues with pasting in presence of splits (QTCREATORBUG-13481)
|
||||
|
||||
Platform Specific
|
||||
|
||||
Windows
|
||||
|
||||
OS X
|
||||
|
||||
Android
|
||||
* Added support for 64bit tool chains
|
||||
* Fixed that active run configuration setting was ignored for deploying application
|
||||
(QTCREATORBUG-13732)
|
||||
|
||||
Remote Linux
|
||||
* Added optional host key checking (QTCREATORBUG-13339)
|
||||
* Added automatic closing of SSH connections after a period of inactivity
|
||||
* Added support for SHA-256 HMAC for SSH
|
||||
* Fixed that it was not possible to quote run arguments (QTCREATORBUG-14002)
|
||||
|
||||
BareMetal
|
||||
* Added GDB server configuration management (QTCREATORBUG-13686)
|
||||
* Added support for remote channel without port
|
||||
* Added support for generic projects
|
||||
|
||||
Credits for these changes go to:
|
||||
Adam Strzelecki
|
||||
Alessandro Portale
|
||||
André Hartmann
|
||||
André Pönitz
|
||||
BogDan Vatra
|
||||
Christian Kandeler
|
||||
Christian Stenger
|
||||
Cristian Adam
|
||||
Daniel Teske
|
||||
David Schulz
|
||||
Denis Shienkov
|
||||
Eike Ziller
|
||||
Erik Verbruggen
|
||||
Fawzi Mohamed
|
||||
Francois Ferrand
|
||||
Friedemann Kleint
|
||||
Hugues Delorme
|
||||
Jake Petroules
|
||||
Jarek Kobus
|
||||
Jörg Bornemann
|
||||
Kai Köhne
|
||||
Leena Miettinen
|
||||
lemelisk
|
||||
Libor Tomsik
|
||||
Lorenz Haas
|
||||
Lukas Holecek
|
||||
Maksim Klimov
|
||||
Marco Bubke
|
||||
Mitch Curtis
|
||||
Montel Laurent
|
||||
Nikita Baryshnikov
|
||||
Nikolai Kosjar
|
||||
Orgad Shaneh
|
||||
Oswald Buddenhagen
|
||||
Przemyslaw Gorszkowski
|
||||
Robert Löhning
|
||||
Sune Vuorela
|
||||
Takumi Asaki
|
||||
Tasuku Suzuki
|
||||
Thiago Macieira
|
||||
Thomas Hartmann
|
||||
Tim Jenssen
|
||||
Tim Sander
|
||||
Tobias Hunger
|
||||
Tom Deblauwe
|
||||
Toralf Lund
|
||||
Ulf Hermann
|
||||
Volker Vogelhuber
|
||||
Yuchen Deng
|
||||
@@ -59,7 +59,7 @@
|
||||
the philosophy behind Qt development. For more information about how to set up
|
||||
the development environment for working on Qt Creator and how to submit code
|
||||
and documentation for inclusion, see
|
||||
\l{http://wiki.qt-project.org/index.php/Main_Page}{Guidelines for Contributions to the Qt Project}.
|
||||
\l{https://wiki.qt.io/Qt_Contribution_Guidelines}{Qt Contribution Guidelines}.
|
||||
|
||||
\section1 Binary and Source Compatibility
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
\li Do not reimplement functions (not even inlines,
|
||||
nor protected or private functions).
|
||||
\li Check
|
||||
\l {http://wiki.qt-project.org/index.php/Binary_Compatibility_Workarounds}{Binary Compatibility Workarounds}
|
||||
\l {https://wiki.qt.io/Binary_Compatibility_Workarounds}{Binary Compatibility Workarounds}
|
||||
for ways to preserve binary compatibility.
|
||||
\endlist
|
||||
|
||||
@@ -640,7 +640,7 @@
|
||||
\target coding-rules-namespacing
|
||||
\section2 Namespacing
|
||||
|
||||
Read \l {http://wiki.qt-project.org/index.php/Qt_In_Namespace}{Qt In Namespace}
|
||||
Read \l{https://wiki.qt.io/Qt_In_Namespace}{Qt In Namespace}
|
||||
and keep in mind that all of Qt Creator is \e{namespace aware} code.
|
||||
|
||||
The namespacing policy within Qt Creator is as follows:
|
||||
|
||||
@@ -37,8 +37,7 @@
|
||||
(You can find the current version in our source repository here:
|
||||
\l{http://qt.gitorious.org/qt-creator/qt-creator/blobs/master/qtcreator.pro}.)
|
||||
|
||||
You can get prebuilt Qt packages from the
|
||||
\l{https://download.qt-project.org/official_releases/qt/}{Qt Project download page}.
|
||||
You can get prebuilt Qt packages from \l{https://download.qt.io}{Qt Downloads}.
|
||||
If you want to use Qt as provided by your Linux distribution, you need to make sure that all
|
||||
Qt development packages and private header packages are also installed.
|
||||
|
||||
@@ -48,7 +47,7 @@
|
||||
released source bundles, or from the Gitorious repository
|
||||
\l{http://qt.gitorious.org/qt-creator}. If you intend to contribute to \QC
|
||||
itself, you should use the repository from our Gerrit review tool as described
|
||||
in the developer wiki here: \l{http://wiki.qt-project.org/Setting_up_Gerrit}.
|
||||
in: \l{https://wiki.qt.io/Setting_up_Gerrit}{Setting up Gerrit}.
|
||||
|
||||
We strongly encourage you to do out-of-source builds of \QC (also called
|
||||
shadow-builds).
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
\section1 Writing Text
|
||||
|
||||
Follow the guidelines for
|
||||
\l{http://qt-project.org/wiki/Writing_Qt_Documentation}
|
||||
\l{http://wiki.qt.io/Writing_Qt_Documentation}
|
||||
{writing Qt documentation}.
|
||||
|
||||
The documentation must be grammatically correct English and use the standard
|
||||
|
||||
@@ -181,7 +181,7 @@
|
||||
versions of MinGW. On most Linux distributions the GDB
|
||||
builds shipped with the system are sufficient. You can
|
||||
also build your own. Follow the instructions in
|
||||
\l{http://qt-project.org/wiki/QtCreatorBuildGdb}
|
||||
\l{http://wiki.qt.io/QtCreator_Build_Gdb}
|
||||
{Building GDB}.
|
||||
Builds of GDB shipped with Xcode on OS X are no longer
|
||||
supported.
|
||||
|
||||
@@ -273,7 +273,7 @@
|
||||
|
||||
\list 1
|
||||
|
||||
\li Select \uicontrol {Debug > Start Debugging > Attach to Remote
|
||||
\li Select \uicontrol {Debug > Start Debugging > Attach to Running
|
||||
Debug Server}.
|
||||
|
||||
\li In the \uicontrol {Host and port} field, enter the name of the remote
|
||||
|
||||
@@ -191,7 +191,7 @@
|
||||
installed when you install \QC and \QSDK. On OS X, GDB is no longer
|
||||
officially supported. To build your own Python-enabled GDB, follow the
|
||||
instructions in
|
||||
\l{http://qt-project.org/wiki/QtCreatorBuildGdb}{Building GDB}.
|
||||
\l{https://wiki.qt.io/QtCreator_Build_Gdb}{Building GDB}.
|
||||
|
||||
You must use Python version 2.6 or 2.7.
|
||||
|
||||
@@ -220,7 +220,7 @@
|
||||
|
||||
On Windows, nmake does not support the \c{-j} parameter. Instead, we
|
||||
provide a drop-in replacement called jom. You can download a precompiled
|
||||
version of jom from \l{http://releases.qt-project.org/jom/}{Qt Project Release server}.
|
||||
version of jom from \l{https://download.qt.io/official_releases/jom/}{Qt Downloads}.
|
||||
Put jom.exe in a location in the %PATH%. Go to the \uicontrol {Build Settings}
|
||||
and set jom.exe as the make command.
|
||||
|
||||
|
||||
@@ -40,24 +40,28 @@
|
||||
\li Where to Go
|
||||
|
||||
\row
|
||||
\li Learn more about Qt
|
||||
\li \l{http://qt-project.org/wiki/developer-guides}
|
||||
{Qt Developer Guides}
|
||||
\li View examples of what you can do with Qt
|
||||
\li \l{https://doc.qt.io/qt-5/all-examples.html}{List of Qt Examples}
|
||||
|
||||
\l{https://doc.qt.io/qt-5/qtquick-codesamples.html}
|
||||
{List of Qt Quick Examples}
|
||||
|
||||
\row
|
||||
\li Develop Qt applications for desktop and mobile devices
|
||||
\li \l{http://qt-project.org}{Qt Developer Network}
|
||||
\li \l{https://www.qt.io/developers/}{Qt Developers}
|
||||
|
||||
\row
|
||||
\li Participate in Qt development
|
||||
\li \l{http://qt-project.org/contribute}{Contribute to Qt}
|
||||
\li \l{https://wiki.qt.io/Qt_Contribution_Guidelines}
|
||||
{Qt Contribution Guidelines}
|
||||
|
||||
\row
|
||||
\li Find free Qt-based applications
|
||||
\li \l{http://qt-apps.org/}{Qt Apps}
|
||||
|
||||
\row
|
||||
\li Develop with a commercial Qt license and support - Qt by The Qt Company
|
||||
\li Develop with a commercial Qt license and support -
|
||||
Qt by The Qt Company
|
||||
\li \l{http://qt.io/licensing/}{Qt Licensing}
|
||||
\endtable
|
||||
|
||||
|
||||
@@ -58,20 +58,7 @@
|
||||
|
||||
\li For GDB, specify the path to the GDB executable. The
|
||||
executable must be built with Python scripting support
|
||||
enabled. The options you
|
||||
have depend on the development and target platform:
|
||||
|
||||
\list
|
||||
|
||||
\li For debugging on embedded devices using a different ABI,
|
||||
you must provide a special executable.
|
||||
|
||||
\li For debugging on Windows using MinGW, select a Windows
|
||||
executable of GDB with Python scripting enabled. You can
|
||||
download it from
|
||||
\l{http://builds.qt-project.org/job/gdb-windows}.
|
||||
|
||||
\endlist
|
||||
enabled.
|
||||
|
||||
\li For LLDB (experimental), specify the path to the LLDB
|
||||
executable.
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
filter, so you need to set this filter in the top-right corner of the
|
||||
\uicontrol {New} dialog to enable those templates.
|
||||
|
||||
\note Currently, the BlackBerry 10 devices and Simulator have Qt 4.8 libraries preinstalled. To use Qt 5 features, you must compile the Qt libraries for BlackBerry 10 yourself. For more information, see \l {http://qt-project.org/wiki/Building-Qt5-for-Blackberry}{http://qt-p roject.org/wiki/Building-Qt5-for-Blackberry}.
|
||||
\note Currently, the BlackBerry 10 devices and Simulator have Qt 4.8 libraries preinstalled. To use Qt 5 features, you must compile the Qt libraries for BlackBerry 10 yourself. For more information, see \l {http://wiki.qt.io/Building_Qt5_for_Blackberry}{Building Qt5 for BlackBerry}.
|
||||
|
||||
For more details please refer to the Qt-Project wiki page: \l {http://qt-project.org/wiki/BlackBerry} {http://qt-project.org/wiki/BlackBerry}.
|
||||
For more details please refer to the Qt-Project wiki page: \l {http://wiki.qt.io/BlackBerry}{Qt for BlackBerry}.
|
||||
*/
|
||||
|
||||
@@ -120,5 +120,5 @@
|
||||
|
||||
\include qnx/creator-key-management-qnx.qdocinc
|
||||
|
||||
For more details please refer to the Qt-Project wiki page: \l {http://qt-project.org/wiki/BlackBerry} {http://qt-project.org/wiki/BlackBerry}.
|
||||
For more details please refer to the Qt-Project wiki page: \l {http://wiki.qt.io/BlackBerry}{Qt for BlackBerry}.
|
||||
*/
|
||||
|
||||
@@ -31,7 +31,10 @@
|
||||
from dumper import *
|
||||
|
||||
def dumpLiteral(d, value):
|
||||
d.putSimpleCharArray(value["_chars"], value["_size"])
|
||||
if d.isNull(value):
|
||||
d.putValue("<null>")
|
||||
else:
|
||||
d.putSimpleCharArray(value["_chars"], value["_size"])
|
||||
|
||||
def qdump__Core__Id(d, value):
|
||||
try:
|
||||
|
||||
@@ -1713,7 +1713,7 @@ class DumperBase:
|
||||
result += ']'
|
||||
return result
|
||||
|
||||
def reloadDumper(self):
|
||||
def reloadDumper(self, args):
|
||||
for mod in self.dumpermodules:
|
||||
m = sys.modules[mod]
|
||||
if sys.version_info[0] >= 3:
|
||||
@@ -1721,7 +1721,7 @@ class DumperBase:
|
||||
else:
|
||||
reload(m)
|
||||
|
||||
setupDumper()
|
||||
self.setupDumper(args)
|
||||
|
||||
def addDumperModule(self, args):
|
||||
path = args['path']
|
||||
|
||||
@@ -829,6 +829,8 @@ class Dumper(DumperBase):
|
||||
self.report('msg="No thread"')
|
||||
return
|
||||
|
||||
self.reportLocation(thread.GetFrameAtIndex(0)) # FIXME
|
||||
|
||||
isNativeMixed = int(args.get('nativeMixed', 0))
|
||||
|
||||
limit = args.get('stacklimit', -1)
|
||||
@@ -893,20 +895,6 @@ class Dumper(DumperBase):
|
||||
if "continuation" in args:
|
||||
self.report('continuation=\"%s\"' % args["continuation"])
|
||||
|
||||
def reportStackPosition(self):
|
||||
thread = self.currentThread()
|
||||
if not thread:
|
||||
self.report('msg="No thread"')
|
||||
return
|
||||
frame = thread.GetSelectedFrame()
|
||||
if frame:
|
||||
self.report('stack-position={id="%s"}' % frame.GetFrameID())
|
||||
else:
|
||||
self.report('stack-position={id="-1"}')
|
||||
|
||||
def reportStackTop(self):
|
||||
self.report('stack-top={}')
|
||||
|
||||
def extractBlob(self, base, size):
|
||||
if size == 0:
|
||||
return Blob("")
|
||||
@@ -1220,7 +1208,6 @@ class Dumper(DumperBase):
|
||||
else:
|
||||
state = self.process.GetState()
|
||||
if state == lldb.eStateStopped:
|
||||
self.reportStackPosition()
|
||||
self.reportThreads()
|
||||
self.reportVariables()
|
||||
|
||||
@@ -1340,10 +1327,7 @@ class Dumper(DumperBase):
|
||||
stoppedThread = self.firstStoppedThread()
|
||||
if stoppedThread:
|
||||
self.process.SetSelectedThread(stoppedThread)
|
||||
self.reportStackTop()
|
||||
self.reportThreads()
|
||||
if stoppedThread:
|
||||
self.reportLocation(stoppedThread.GetSelectedFrame())
|
||||
elif eventType == lldb.SBProcess.eBroadcastBitInterrupt: # 2
|
||||
pass
|
||||
elif eventType == lldb.SBProcess.eBroadcastBitSTDOUT:
|
||||
@@ -1568,7 +1552,6 @@ class Dumper(DumperBase):
|
||||
self.reportState("running")
|
||||
self.reportState("stopped")
|
||||
self.reportError(error)
|
||||
self.reportLocation(self.currentFrame())
|
||||
else:
|
||||
self.reportData()
|
||||
|
||||
@@ -1605,9 +1588,7 @@ class Dumper(DumperBase):
|
||||
def activateFrame(self, args):
|
||||
thread = args['thread']
|
||||
self.currentThread().SetSelectedFrame(args['index'])
|
||||
state = self.process.GetState()
|
||||
if state == lldb.eStateStopped:
|
||||
self.reportStackPosition()
|
||||
self.reportContinuation(args)
|
||||
|
||||
def selectThread(self, args):
|
||||
self.process.SetSelectedThreadByID(args['id'])
|
||||
|
||||
@@ -1705,11 +1705,14 @@ bool CreateBindings::visit(Declaration *decl)
|
||||
|
||||
bool CreateBindings::visit(Function *function)
|
||||
{
|
||||
ClassOrNamespace *previous = _currentClassOrNamespace;
|
||||
_currentClassOrNamespace = lookupType(function, previous);
|
||||
for (unsigned i = 0, count = function->memberCount(); i < count; ++i) {
|
||||
Symbol *s = function->memberAt(i);
|
||||
if (Block *b = s->asBlock())
|
||||
visit(b);
|
||||
}
|
||||
_currentClassOrNamespace = previous;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
|
||||
namespace QmlJS {
|
||||
|
||||
class DiagnosticMessage;
|
||||
class Document;
|
||||
|
||||
class QMLJS_EXPORT Bind: protected AST::Visitor
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
#include <qmljs/qmljs_global.h>
|
||||
#include <qmljs/persistenttrie.h>
|
||||
#include <qmljs/qmljsdocument.h>
|
||||
#include <qmljs/qmljsdialect.h>
|
||||
|
||||
#include <QString>
|
||||
#include <QHash>
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
|
||||
#include <utils/qtcassert.h>
|
||||
|
||||
#include <QColor>
|
||||
#include <QDir>
|
||||
|
||||
using namespace QmlJS;
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include "qmljscompletioncontextfinder.h"
|
||||
#include "qmljsscanner.h"
|
||||
|
||||
#include <QTextDocument>
|
||||
#include <QStringList>
|
||||
|
||||
@@ -31,6 +31,8 @@
|
||||
#include "qmljscontext.h"
|
||||
|
||||
#include "parser/qmljsast_p.h"
|
||||
#include "parser/qmljsengine_p.h"
|
||||
#include "qmljsvalueowner.h"
|
||||
|
||||
using namespace QmlJS;
|
||||
using namespace QmlJS::AST;
|
||||
|
||||
@@ -32,7 +32,8 @@
|
||||
#define QMLJS_CONTEXT_H
|
||||
|
||||
#include "qmljs_global.h"
|
||||
#include "qmljsvalueowner.h"
|
||||
#include "qmljsdocument.h"
|
||||
#include "qmljsinterpreter.h"
|
||||
#include "qmljsviewercontext.h"
|
||||
|
||||
#include <QSharedPointer>
|
||||
|
||||
@@ -29,6 +29,9 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include "qmljsdialect.h"
|
||||
#include "qmljsconstants.h"
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
namespace QmlJS {
|
||||
|
||||
@@ -300,7 +303,11 @@ bool PathsAndLanguages::maybeInsert(const PathAndLanguage &pathAndLanguage) {
|
||||
return true;
|
||||
}
|
||||
|
||||
void PathsAndLanguages::compact() {
|
||||
void PathsAndLanguages::compact()
|
||||
{
|
||||
if (m_list.isEmpty())
|
||||
return;
|
||||
|
||||
int oldCompactionPlace = 0;
|
||||
Utils::FileName oldPath = m_list.first().path();
|
||||
QList<PathAndLanguage> compactedList;
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
#ifndef QMLJSDIALECT_H
|
||||
#define QMLJSDIALECT_H
|
||||
|
||||
#include "qmljsconstants.h"
|
||||
#include "qmljs_global.h"
|
||||
|
||||
#include <utils/fileutils.h>
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
#include "qmljsdialect.h"
|
||||
#include "parser/qmldirparser_p.h"
|
||||
#include "parser/qmljsengine_p.h"
|
||||
#include "parser/qmljsastfwd_p.h"
|
||||
#include "qmljs_global.h"
|
||||
#include "qmljsconstants.h"
|
||||
#include "qmljsimportdependencies.h"
|
||||
@@ -46,11 +46,14 @@
|
||||
namespace QmlJS {
|
||||
|
||||
class Bind;
|
||||
class DiagnosticMessage;
|
||||
class Engine;
|
||||
class Snapshot;
|
||||
class ImportDependencies;
|
||||
|
||||
class QMLJS_EXPORT Document
|
||||
{
|
||||
Q_DISABLE_COPY(Document)
|
||||
public:
|
||||
typedef QSharedPointer<const Document> Ptr;
|
||||
typedef QSharedPointer<Document> MutablePtr;
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
#include "qmljsevaluate.h"
|
||||
#include "qmljscontext.h"
|
||||
#include "qmljsscopechain.h"
|
||||
#include "qmljsvalueowner.h"
|
||||
#include "parser/qmljsast_p.h"
|
||||
|
||||
using namespace QmlJS;
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
#include "qmljsimportdependencies.h"
|
||||
#include "qmljsinterpreter.h"
|
||||
#include "qmljsqrcparser.h"
|
||||
#include "qmljsviewercontext.h"
|
||||
|
||||
#include <utils/qtcassert.h>
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
#ifndef QMLJSIMPORTCACHE_H
|
||||
#define QMLJSIMPORTCACHE_H
|
||||
|
||||
#include "qmljsviewercontext.h"
|
||||
#include "qmljsconstants.h"
|
||||
#include "qmljsdialect.h"
|
||||
|
||||
#include <languageutils/componentversion.h>
|
||||
@@ -52,6 +52,7 @@ QT_END_NAMESPACE
|
||||
|
||||
namespace QmlJS {
|
||||
class ImportInfo;
|
||||
class ViewerContext;
|
||||
namespace Internal { class ImportDependenciesPrivate; }
|
||||
class ImportDependencies;
|
||||
|
||||
|
||||
@@ -67,6 +67,7 @@
|
||||
*/
|
||||
|
||||
#include <qmljs/qmljsindenter.h>
|
||||
#include <qmljs/qmljsscanner.h>
|
||||
|
||||
#include <QTextBlock>
|
||||
|
||||
|
||||
@@ -33,8 +33,10 @@
|
||||
|
||||
#include <qmljs/qmljs_global.h>
|
||||
#include <qmljs/qmljsconstants.h>
|
||||
#include <qmljs/qmljsdocument.h>
|
||||
#include <qmljs/qmljsimportdependencies.h>
|
||||
#include <qmljs/parser/qmljsastfwd_p.h>
|
||||
|
||||
#include <languageutils/fakemetaobject.h>
|
||||
|
||||
#include <QFileInfoList>
|
||||
#include <QHash>
|
||||
@@ -67,6 +69,7 @@ class JSImportScope;
|
||||
class NameId;
|
||||
class NullValue;
|
||||
class NumberValue;
|
||||
class ModuleApiInfo;
|
||||
class ObjectValue;
|
||||
class QmlEnumValue;
|
||||
class QmlPrototypeReference;
|
||||
|
||||
@@ -67,6 +67,7 @@
|
||||
*/
|
||||
|
||||
#include <qmljs/qmljslineinfo.h>
|
||||
#include <qmljs/qmljsscanner.h>
|
||||
|
||||
using namespace QmlJS;
|
||||
|
||||
|
||||
@@ -32,12 +32,12 @@
|
||||
#define QMLJSLINEINFO_H
|
||||
|
||||
#include <qmljs/qmljs_global.h>
|
||||
#include <qmljs/qmljsscanner.h>
|
||||
|
||||
#include <QRegExp>
|
||||
#include <QTextBlock>
|
||||
|
||||
namespace QmlJS {
|
||||
class Token;
|
||||
|
||||
class QMLJS_EXPORT LineInfo
|
||||
{
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
#include "qmljsplugindumper.h"
|
||||
#include "qmljstypedescriptionreader.h"
|
||||
#include "qmljsdialect.h"
|
||||
#include "qmljsviewercontext.h"
|
||||
|
||||
#include <cplusplus/cppmodelmanagerbase.h>
|
||||
#include <utils/hostosinfo.h>
|
||||
|
||||
@@ -33,25 +33,21 @@
|
||||
|
||||
#include "qmljs_global.h"
|
||||
#include "qmljsbundle.h"
|
||||
#include "qmljsconstants.h"
|
||||
#include "qmljsdocument.h"
|
||||
#include "qmljsqrcparser.h"
|
||||
#include "qmljsviewercontext.h"
|
||||
#include "qmljsdialect.h"
|
||||
|
||||
#include <cplusplus/CppDocument.h>
|
||||
#include <utils/environment.h>
|
||||
#include <utils/fileutils.h>
|
||||
|
||||
#include <QFuture>
|
||||
#include <QFutureSynchronizer>
|
||||
#include <QHash>
|
||||
#include <QMultiHash>
|
||||
#include <QObject>
|
||||
#include <QPointer>
|
||||
#include <QStringList>
|
||||
#include <QStringList>
|
||||
#include <QTimer>
|
||||
|
||||
QT_FORWARD_DECLARE_CLASS(QTimer)
|
||||
|
||||
namespace ProjectExplorer { class Project; }
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
#include "qmljscodeformatter.h"
|
||||
#include "parser/qmljsast_p.h"
|
||||
#include "parser/qmljsastvisitor_p.h"
|
||||
#include "parser/qmljsengine_p.h"
|
||||
|
||||
#include <QString>
|
||||
#include <QTextBlock>
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
#include "qmljsbind.h"
|
||||
#include "qmljsevaluate.h"
|
||||
#include "qmljsmodelmanagerinterface.h"
|
||||
#include "parser/qmljsengine_p.h"
|
||||
|
||||
using namespace QmlJS;
|
||||
|
||||
|
||||
@@ -30,10 +30,12 @@
|
||||
|
||||
#include "qmljsstaticanalysismessage.h"
|
||||
#include "qmljsconstants.h"
|
||||
#include "parser/qmljsengine_p.h"
|
||||
|
||||
#include <utils/qtcassert.h>
|
||||
|
||||
#include <QCoreApplication>
|
||||
#include <QRegExp>
|
||||
|
||||
using namespace QmlJS;
|
||||
using namespace QmlJS::StaticAnalysis;
|
||||
|
||||
@@ -33,13 +33,16 @@
|
||||
|
||||
#include "qmljs_global.h"
|
||||
#include "qmljsconstants.h"
|
||||
#include "parser/qmljsengine_p.h"
|
||||
#include "parser/qmljsastfwd_p.h"
|
||||
|
||||
#include <QRegExp>
|
||||
#include <QString>
|
||||
#include <QList>
|
||||
|
||||
QT_FORWARD_DECLARE_CLASS(QRegExp)
|
||||
|
||||
namespace QmlJS {
|
||||
class DiagnosticMessage;
|
||||
|
||||
namespace StaticAnalysis {
|
||||
|
||||
enum Type
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
|
||||
#include "qmljstypedescriptionreader.h"
|
||||
|
||||
#include "qmljsdocument.h"
|
||||
#include "parser/qmljsparser_p.h"
|
||||
#include "parser/qmljslexer_p.h"
|
||||
#include "parser/qmljsengine_p.h"
|
||||
|
||||
@@ -31,7 +31,10 @@
|
||||
#ifndef QMLJSTYPEDESCRIPTIONREADER_H
|
||||
#define QMLJSTYPEDESCRIPTIONREADER_H
|
||||
|
||||
#include "qmljsdocument.h"
|
||||
#include "qmljs_global.h"
|
||||
#include <qmljs/parser/qmljsastfwd_p.h>
|
||||
|
||||
#include <languageutils/fakemetaobject.h>
|
||||
|
||||
// for Q_DECLARE_TR_FUNCTIONS
|
||||
#include <QCoreApplication>
|
||||
@@ -43,6 +46,7 @@ QT_END_NAMESPACE
|
||||
|
||||
namespace QmlJS {
|
||||
|
||||
class ModuleApiInfo;
|
||||
namespace AST {
|
||||
class UiProgram;
|
||||
class UiObjectDefinition;
|
||||
|
||||
@@ -32,6 +32,8 @@
|
||||
|
||||
#include "parser/qmljsast_p.h"
|
||||
|
||||
#include <QColor>
|
||||
|
||||
using namespace QmlJS;
|
||||
using namespace QmlJS::AST;
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
#include "parser/qmljsastfwd_p.h"
|
||||
#include "parser/qmljsengine_p.h"
|
||||
|
||||
#include <QColor>
|
||||
QT_FORWARD_DECLARE_CLASS(QColor)
|
||||
|
||||
namespace QmlJS {
|
||||
|
||||
|
||||
@@ -32,7 +32,6 @@
|
||||
#define VIEWERCONTEXT_H
|
||||
|
||||
#include "qmljs_global.h"
|
||||
#include "qmljsconstants.h"
|
||||
#include "qmljsdialect.h"
|
||||
|
||||
#include <QStringList>
|
||||
|
||||
@@ -666,11 +666,23 @@ const QtInfo &QtInfo::get(const SymbolGroupValueContext &ctx)
|
||||
modulePattern != total; ++modulePattern) {
|
||||
const std::string pattern = *modulePattern + qstrdupSymbol;
|
||||
const StringList &allMatches = SymbolGroupValue::resolveSymbolName(pattern.c_str(), ctx);
|
||||
const StringListConstIt match = *modulePattern == "*" ? allMatches.begin()
|
||||
const bool wildcardPattern = *modulePattern == "*";
|
||||
const StringListConstIt match = wildcardPattern
|
||||
? std::find_if(allMatches.begin(), allMatches.end(), SubStringPredicate("Core"))
|
||||
: std::find_if(allMatches.begin(), allMatches.end(), SubStringPredicate(modulePattern->c_str()));
|
||||
if (match == allMatches.end())
|
||||
|
||||
if (match != allMatches.end()) {
|
||||
qualifiedSymbol = *match;
|
||||
} else if (wildcardPattern && !allMatches.empty()) {
|
||||
// Use the first qstrdup symbol if there is no Core in all available qstrdup symbols
|
||||
// This is useful when qt is statically linked.
|
||||
qualifiedSymbol = *allMatches.begin();
|
||||
} else {
|
||||
// If we haven't found a match and this isn't the wildcard pattern we continue
|
||||
// we could still find a dynamic qt library with a libinfix
|
||||
continue;
|
||||
qualifiedSymbol = *match;
|
||||
}
|
||||
|
||||
exclPos = qualifiedSymbol.find('!'); // Resolved: 'QtCored4!qstrdup'
|
||||
libPos = qualifiedSymbol.find("Core");
|
||||
if (exclPos != std::string::npos && libPos != std::string::npos)
|
||||
|
||||
@@ -32,10 +32,12 @@ import QtQuick 2.1
|
||||
|
||||
Text {
|
||||
property bool isLabel: false
|
||||
property int labelWidth: 85
|
||||
property int valueWidth: 170
|
||||
font.pixelSize: 12
|
||||
font.bold: isLabel
|
||||
textFormat: Text.PlainText
|
||||
renderType: Text.NativeRendering
|
||||
elide: Text.ElideRight
|
||||
width: text === "" ? 0 : (isLabel ? 85 : 170)
|
||||
width: text === "" ? 0 : (isLabel ? labelWidth : valueWidth)
|
||||
}
|
||||
|
||||
@@ -321,7 +321,7 @@ Rectangle {
|
||||
}
|
||||
|
||||
SelectionRangeDetails {
|
||||
z: 1
|
||||
z: 3
|
||||
x: 200
|
||||
y: 125
|
||||
|
||||
@@ -347,7 +347,7 @@ Rectangle {
|
||||
RangeDetails {
|
||||
id: rangeDetails
|
||||
|
||||
z: 1
|
||||
z: 3
|
||||
visible: false
|
||||
x: 200
|
||||
y: 25
|
||||
|
||||
@@ -54,7 +54,7 @@ Item {
|
||||
signal clearSelection
|
||||
|
||||
width: col.width + 25
|
||||
height: col.height + 30
|
||||
height: contentArea.height + titleBar.height
|
||||
|
||||
function hide() {
|
||||
noteEdit.focus = false;
|
||||
@@ -146,8 +146,8 @@ Item {
|
||||
y: px + 1
|
||||
}
|
||||
|
||||
// title bar
|
||||
Rectangle {
|
||||
id: titleBar
|
||||
width: parent.width
|
||||
height: 20
|
||||
color: "#55a3b8"
|
||||
@@ -186,6 +186,7 @@ Item {
|
||||
|
||||
// Details area
|
||||
Rectangle {
|
||||
id: contentArea
|
||||
color: "white"
|
||||
width: parent.width
|
||||
height: 10 + col.height + (noteEdit.visible ? (noteEdit.height + 5) : 0)
|
||||
@@ -204,6 +205,7 @@ Item {
|
||||
Repeater {
|
||||
model: eventInfo
|
||||
Detail {
|
||||
valueWidth: dragHandle.x - x - 15
|
||||
isLabel: index % 2 === 0
|
||||
text: (content === undefined) ? "" : (isLabel ? (content + ":") : content)
|
||||
}
|
||||
@@ -298,4 +300,26 @@ Item {
|
||||
}
|
||||
}
|
||||
|
||||
Item {
|
||||
id: dragHandle
|
||||
width: 10
|
||||
height: 10
|
||||
x: 300
|
||||
anchors.bottom: parent.bottom
|
||||
clip: true
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
drag.target: parent
|
||||
drag.axis: Drag.XAxis
|
||||
cursorShape: Qt.SizeHorCursor
|
||||
}
|
||||
Rectangle {
|
||||
color: "#55a3b8"
|
||||
rotation: 45
|
||||
width: parent.width * Math.SQRT2
|
||||
height: parent.height * Math.SQRT2
|
||||
x: parent.width - width / 2
|
||||
y: parent.height - height / 2
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -172,12 +172,11 @@ ScrollView {
|
||||
if (modelData.endTime(selectedItem) < zoomer.rangeStart ||
|
||||
modelData.startTime(selectedItem) > zoomer.rangeEnd) {
|
||||
|
||||
var newStart = (modelData.startTime(selectedItem) +
|
||||
modelData.endTime(selectedItem) -
|
||||
zoomer.rangeDuration) / 2;
|
||||
zoomer.setRange(Math.max(newStart, zoomer.traceStart),
|
||||
Math.min(newStart + zoomer.rangeDuration,
|
||||
zoomer.traceEnd));
|
||||
var newStart = Math.max((modelData.startTime(selectedItem) +
|
||||
modelData.endTime(selectedItem) -
|
||||
zoomer.rangeDuration) / 2, zoomer.traceStart);
|
||||
zoomer.setRange(newStart,
|
||||
Math.min(newStart + zoomer.rangeDuration, zoomer.traceEnd));
|
||||
}
|
||||
|
||||
var row = modelData.row(selectedItem);
|
||||
|
||||
@@ -172,6 +172,13 @@ FancyLineEdit::FancyLineEdit(QWidget *parent) :
|
||||
|
||||
FancyLineEdit::~FancyLineEdit()
|
||||
{
|
||||
if (d->m_historyCompleter) {
|
||||
// When dialog with FancyLineEdit widget closed by <Escape>
|
||||
// the QueuedConnection don't have enough time to call slot callback
|
||||
// because edit widget and all of its connections are destroyed before
|
||||
// QCoreApplicationPrivate::sendPostedEvents dispatch our queued signal.
|
||||
d->m_historyCompleter->addEntry(text());
|
||||
}
|
||||
}
|
||||
|
||||
void FancyLineEdit::setButtonVisible(Side side, bool visible)
|
||||
@@ -297,10 +304,12 @@ bool FancyLineEdit::hasAutoHideButton(Side side) const
|
||||
return d->m_iconbutton[side]->hasAutoHide();
|
||||
}
|
||||
|
||||
void FancyLineEdit::setHistoryCompleter(const QString &historyKey)
|
||||
void FancyLineEdit::setHistoryCompleter(const QString &historyKey, bool restoreLastItemFromHistory)
|
||||
{
|
||||
QTC_ASSERT(!d->m_historyCompleter, return);
|
||||
d->m_historyCompleter = new HistoryCompleter(historyKey, this);
|
||||
if (restoreLastItemFromHistory)
|
||||
setText(d->m_historyCompleter->historyItem());
|
||||
QLineEdit::setCompleter(d->m_historyCompleter);
|
||||
|
||||
// Hitting <Return> in the popup first causes editingFinished()
|
||||
|
||||
@@ -114,7 +114,7 @@ public:
|
||||
// Completion
|
||||
|
||||
// Enable a history completer with a history of entries.
|
||||
void setHistoryCompleter(const QString &historyKey);
|
||||
void setHistoryCompleter(const QString &historyKey, bool restoreLastItemFromHistory = false);
|
||||
// Sets a completer that is not a history completer.
|
||||
void setSpecialCompleter(QCompleter *completer);
|
||||
|
||||
|
||||
@@ -59,6 +59,8 @@ public:
|
||||
|
||||
QStringList list;
|
||||
QString historyKey;
|
||||
bool isLastItemEmpty;
|
||||
QString historyKeyIsLastItemEmpty;
|
||||
int maxLines;
|
||||
};
|
||||
|
||||
@@ -149,8 +151,11 @@ void HistoryCompleterPrivate::clearHistory()
|
||||
void HistoryCompleterPrivate::addEntry(const QString &str)
|
||||
{
|
||||
const QString entry = str.trimmed();
|
||||
if (entry.isEmpty())
|
||||
if (entry.isEmpty()) {
|
||||
isLastItemEmpty = true;
|
||||
theSettings->setValue(historyKeyIsLastItemEmpty, isLastItemEmpty);
|
||||
return;
|
||||
}
|
||||
int removeIndex = list.indexOf(entry);
|
||||
beginResetModel();
|
||||
if (removeIndex != -1)
|
||||
@@ -159,6 +164,8 @@ void HistoryCompleterPrivate::addEntry(const QString &str)
|
||||
list = list.mid(0, maxLines - 1);
|
||||
endResetModel();
|
||||
theSettings->setValue(historyKey, list);
|
||||
isLastItemEmpty = false;
|
||||
theSettings->setValue(historyKeyIsLastItemEmpty, isLastItemEmpty);
|
||||
}
|
||||
|
||||
HistoryCompleter::HistoryCompleter(const QString &historyKey, QObject *parent)
|
||||
@@ -170,6 +177,9 @@ HistoryCompleter::HistoryCompleter(const QString &historyKey, QObject *parent)
|
||||
|
||||
d->historyKey = QLatin1String("CompleterHistory/") + historyKey;
|
||||
d->list = theSettings->value(d->historyKey).toStringList();
|
||||
d->historyKeyIsLastItemEmpty = QLatin1String("CompleterHistory/")
|
||||
+ historyKey + QLatin1String(".IsLastItemEmpty");
|
||||
d->isLastItemEmpty = theSettings->value(d->historyKeyIsLastItemEmpty, false).toBool();
|
||||
|
||||
setModel(d);
|
||||
setPopup(new HistoryLineView(d));
|
||||
@@ -180,6 +190,13 @@ bool HistoryCompleter::removeHistoryItem(int index)
|
||||
return d->removeRow(index);
|
||||
}
|
||||
|
||||
QString HistoryCompleter::historyItem() const
|
||||
{
|
||||
if (historySize() == 0 || d->isLastItemEmpty)
|
||||
return QString();
|
||||
return d->list.at(0);
|
||||
}
|
||||
|
||||
HistoryCompleter::~HistoryCompleter()
|
||||
{
|
||||
delete d;
|
||||
|
||||
@@ -51,6 +51,7 @@ public:
|
||||
static void setSettings(QSettings *settings);
|
||||
HistoryCompleter(const QString &historyKey, QObject *parent = 0);
|
||||
bool removeHistoryItem(int index);
|
||||
QString historyItem() const;
|
||||
|
||||
private:
|
||||
~HistoryCompleter();
|
||||
|
||||
@@ -233,14 +233,13 @@ QByteArray MimeMagicRule::makePattern(const QByteArray &value)
|
||||
}
|
||||
|
||||
MimeMagicRule::MimeMagicRule(MimeMagicRule::Type theType,
|
||||
const QByteArray &theValue,
|
||||
int theStartPos,
|
||||
int theEndPos,
|
||||
const QByteArray &theMask) :
|
||||
const QByteArray &theValue,
|
||||
int theStartPos,
|
||||
int theEndPos,
|
||||
const QByteArray &theMask,
|
||||
QString *errorString) :
|
||||
d(new MimeMagicRulePrivate)
|
||||
{
|
||||
Q_ASSERT(!theValue.isEmpty());
|
||||
|
||||
d->type = theType;
|
||||
d->value = theValue;
|
||||
d->startPos = theStartPos;
|
||||
@@ -248,10 +247,23 @@ MimeMagicRule::MimeMagicRule(MimeMagicRule::Type theType,
|
||||
d->mask = theMask;
|
||||
d->matchFunction = 0;
|
||||
|
||||
if (d->value.isEmpty()) {
|
||||
d->type = Invalid;
|
||||
if (errorString)
|
||||
*errorString = QLatin1String("Invalid empty magic rule value");
|
||||
return;
|
||||
}
|
||||
|
||||
if (d->type >= Host16 && d->type <= Byte) {
|
||||
bool ok;
|
||||
d->number = d->value.toUInt(&ok, 0); // autodetect
|
||||
Q_ASSERT(ok);
|
||||
if (!ok) {
|
||||
d->type = Invalid;
|
||||
if (errorString)
|
||||
*errorString = QString::fromLatin1("Invalid magic rule value \"%1\"").arg(
|
||||
QString::fromLatin1(d->value));
|
||||
return;
|
||||
}
|
||||
d->numberMask = !d->mask.isEmpty() ? d->mask.toUInt(&ok, 0) : 0; // autodetect
|
||||
}
|
||||
|
||||
@@ -260,9 +272,23 @@ MimeMagicRule::MimeMagicRule(MimeMagicRule::Type theType,
|
||||
d->pattern = makePattern(d->value);
|
||||
d->pattern.squeeze();
|
||||
if (!d->mask.isEmpty()) {
|
||||
Q_ASSERT(d->mask.size() >= 4 && d->mask.startsWith("0x"));
|
||||
d->mask = QByteArray::fromHex(QByteArray::fromRawData(d->mask.constData() + 2, d->mask.size() - 2));
|
||||
Q_ASSERT(d->mask.size() == d->pattern.size());
|
||||
if (d->mask.size() < 4 || !d->mask.startsWith("0x")) {
|
||||
d->type = Invalid;
|
||||
if (errorString)
|
||||
*errorString = QString::fromLatin1("Invalid magic rule mask \"%1\"").arg(
|
||||
QString::fromLatin1(d->mask));
|
||||
return;
|
||||
}
|
||||
const QByteArray &tempMask = QByteArray::fromHex(QByteArray::fromRawData(
|
||||
d->mask.constData() + 2, d->mask.size() - 2));
|
||||
if (tempMask.size() != d->pattern.size()) {
|
||||
d->type = Invalid;
|
||||
if (errorString)
|
||||
*errorString = QString::fromLatin1("Invalid magic rule mask size \"%1\"").arg(
|
||||
QString::fromLatin1(d->mask));
|
||||
return;
|
||||
}
|
||||
d->mask = tempMask;
|
||||
} else {
|
||||
d->mask.fill(char(-1), d->pattern.size());
|
||||
}
|
||||
|
||||
@@ -65,7 +65,8 @@ class QTCREATOR_UTILS_EXPORT MimeMagicRule
|
||||
public:
|
||||
enum Type { Invalid = 0, String, Host16, Host32, Big16, Big32, Little16, Little32, Byte };
|
||||
|
||||
MimeMagicRule(Type type, const QByteArray &value, int startPos, int endPos, const QByteArray &mask = QByteArray());
|
||||
MimeMagicRule(Type type, const QByteArray &value, int startPos, int endPos,
|
||||
const QByteArray &mask = QByteArray(), QString *errorString = 0);
|
||||
MimeMagicRule(const MimeMagicRule &other);
|
||||
~MimeMagicRule();
|
||||
|
||||
|
||||
@@ -176,10 +176,6 @@ static bool createMagicMatchRule(const QXmlStreamAttributes &atts,
|
||||
return true;
|
||||
}
|
||||
const QString value = atts.value(QLatin1String(matchValueAttributeC)).toString();
|
||||
if (value.isEmpty()) {
|
||||
*errorMessage = QString::fromLatin1("Empty match value detected.");
|
||||
return false;
|
||||
}
|
||||
// Parse for offset as "1" or "1:10"
|
||||
int startPos, endPos;
|
||||
const QString offsetS = atts.value(QLatin1String(matchOffsetAttributeC)).toString();
|
||||
@@ -190,8 +186,12 @@ static bool createMagicMatchRule(const QXmlStreamAttributes &atts,
|
||||
return false;
|
||||
const QString mask = atts.value(QLatin1String(matchMaskAttributeC)).toString();
|
||||
|
||||
rule = new MimeMagicRule(magicType, value.toUtf8(), startPos, endPos, mask.toLatin1());
|
||||
MimeMagicRule *tempRule = new MimeMagicRule(magicType, value.toUtf8(), startPos, endPos,
|
||||
mask.toLatin1(), errorMessage);
|
||||
if (!tempRule->isValid())
|
||||
return false;
|
||||
|
||||
rule = tempRule;
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
#include <coreplugin/rightpane.h>
|
||||
#include <coreplugin/actionmanager/actioncontainer.h>
|
||||
#include <coreplugin/actionmanager/actionmanager.h>
|
||||
#include <coreplugin/actionmanager/command.h>
|
||||
#include <coreplugin/editormanager/editormanager.h>
|
||||
|
||||
#include <projectexplorer/projectexplorer.h>
|
||||
@@ -65,6 +66,7 @@
|
||||
#include <QVBoxLayout>
|
||||
#include <QDockWidget>
|
||||
#include <QAction>
|
||||
#include <QMenu>
|
||||
#include <QToolButton>
|
||||
#include <QComboBox>
|
||||
#include <QStackedWidget>
|
||||
|
||||
@@ -33,10 +33,8 @@
|
||||
#define ANALYZERMANAGER_H
|
||||
|
||||
#include "analyzerbase_global.h"
|
||||
#include "analyzerconstants.h"
|
||||
|
||||
#include <coreplugin/id.h>
|
||||
#include <projectexplorer/projectexplorerconstants.h>
|
||||
|
||||
#include <QObject>
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include "analyzerplugin.h"
|
||||
#include "analyzerconstants.h"
|
||||
#include "analyzermanager.h"
|
||||
|
||||
#include <projectexplorer/projectexplorer.h>
|
||||
|
||||
@@ -35,20 +35,14 @@
|
||||
#include "analyzerbase_global.h"
|
||||
|
||||
#include <projectexplorer/runconfiguration.h>
|
||||
#include <projectexplorer/task.h>
|
||||
|
||||
#include "analyzerbase_global.h"
|
||||
#include "analyzerstartparameters.h"
|
||||
|
||||
#include <projectexplorer/task.h>
|
||||
#include <projectexplorer/runconfiguration.h>
|
||||
#include <utils/outputformat.h>
|
||||
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
|
||||
namespace ProjectExplorer { class RunConfiguration; }
|
||||
|
||||
namespace Analyzer {
|
||||
|
||||
/**
|
||||
@@ -105,6 +99,8 @@ signals:
|
||||
void starting(const Analyzer::AnalyzerRunControl *);
|
||||
|
||||
private:
|
||||
bool supportsReRunning() const { return false; }
|
||||
|
||||
ProjectExplorer::RunConfiguration *m_runConfig;
|
||||
AnalyzerStartParameters m_sp;
|
||||
};
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
#include "analyzerconstants.h"
|
||||
|
||||
#include <cpptools/cppmodelmanager.h>
|
||||
#include <projectexplorer/taskhub.h>
|
||||
#include <texteditor/texteditor.h>
|
||||
#include <texteditor/textdocument.h>
|
||||
|
||||
@@ -46,6 +47,7 @@
|
||||
|
||||
using namespace Analyzer;
|
||||
using namespace Core;
|
||||
using namespace ProjectExplorer;
|
||||
|
||||
static void moveCursorToEndOfName(QTextCursor *tc)
|
||||
{
|
||||
@@ -93,3 +95,10 @@ CPlusPlus::Symbol *AnalyzerUtils::findSymbolUnderCursor()
|
||||
const CPlusPlus::LookupItem &lookupItem = lookupItems.first(); // ### TODO: select best candidate.
|
||||
return lookupItem.declaration();
|
||||
}
|
||||
|
||||
void AnalyzerUtils::logToIssuesPane(Task::TaskType type, const QString &message)
|
||||
{
|
||||
TaskHub::addTask(type, message, Analyzer::Constants::ANALYZERTASK_ID);
|
||||
if (type == Task::Error)
|
||||
TaskHub::requestPopup();
|
||||
}
|
||||
|
||||
@@ -33,15 +33,15 @@
|
||||
|
||||
#include "analyzerbase_global.h"
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QWidget;
|
||||
QT_END_NAMESPACE
|
||||
#include <projectexplorer/task.h>
|
||||
|
||||
namespace CPlusPlus { class Symbol; }
|
||||
|
||||
namespace AnalyzerUtils
|
||||
{
|
||||
ANALYZER_EXPORT CPlusPlus::Symbol *findSymbolUnderCursor();
|
||||
ANALYZER_EXPORT void logToIssuesPane(ProjectExplorer::Task::TaskType type,
|
||||
const QString &message);
|
||||
}
|
||||
|
||||
#endif // ANALYZERUTILS_H
|
||||
|
||||
@@ -35,10 +35,12 @@
|
||||
|
||||
#include <utils/qtcassert.h>
|
||||
|
||||
#include <QAction>
|
||||
#include <QApplication>
|
||||
#include <QClipboard>
|
||||
#include <QContextMenuEvent>
|
||||
#include <QFontMetrics>
|
||||
#include <QMenu>
|
||||
#include <QPainter>
|
||||
#include <QScrollBar>
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
#define IANALYZERTOOL_H
|
||||
|
||||
#include "analyzerbase_global.h"
|
||||
#include "analyzerstartparameters.h"
|
||||
#include "analyzerconstants.h"
|
||||
|
||||
#include <coreplugin/id.h>
|
||||
#include <projectexplorer/projectexplorerconstants.h>
|
||||
@@ -47,6 +47,7 @@ namespace ProjectExplorer { class RunConfiguration; }
|
||||
|
||||
namespace Analyzer {
|
||||
|
||||
class AnalyzerStartParameters;
|
||||
class AnalyzerRunControl;
|
||||
|
||||
/**
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
|
||||
#include "android_global.h"
|
||||
#include <projectexplorer/abstractprocessstep.h>
|
||||
#include <qtsupport/baseqtversion.h>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QAbstractItemModel;
|
||||
|
||||
@@ -1183,7 +1183,7 @@ void AndroidConfigurations::updateAutomaticKitList()
|
||||
Debugger::DebuggerItem debugger;
|
||||
debugger.setCommand(tc->suggestedDebugger());
|
||||
debugger.setEngineType(Debugger::GdbEngineType);
|
||||
debugger.setDisplayName(tr("Android Debugger for %1").arg(tc->displayName()));
|
||||
debugger.setUnexpandedDisplayName(tr("Android Debugger for %1").arg(tc->displayName()));
|
||||
debugger.setAutoDetected(true);
|
||||
debugger.setAbi(tc->targetAbi());
|
||||
QVariant id = Debugger::DebuggerItemManager::registerDebugger(debugger);
|
||||
@@ -1229,7 +1229,7 @@ void AndroidConfigurations::updateAutomaticKitList()
|
||||
Debugger::DebuggerItem debugger;
|
||||
debugger.setCommand(tc->suggestedDebugger());
|
||||
debugger.setEngineType(Debugger::GdbEngineType);
|
||||
debugger.setDisplayName(tr("Android Debugger for %1").arg(tc->displayName()));
|
||||
debugger.setUnexpandedDisplayName(tr("Android Debugger for %1").arg(tc->displayName()));
|
||||
debugger.setAutoDetected(true);
|
||||
debugger.setAbi(tc->targetAbi());
|
||||
QVariant id = Debugger::DebuggerItemManager::registerDebugger(debugger);
|
||||
|
||||
@@ -41,16 +41,18 @@
|
||||
#include <QMap>
|
||||
#include <QFutureInterface>
|
||||
|
||||
#include <projectexplorer/abi.h>
|
||||
|
||||
#include <utils/fileutils.h>
|
||||
#include <utils/environment.h>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QSettings;
|
||||
QT_END_NAMESPACE
|
||||
|
||||
namespace ProjectExplorer { class Project; }
|
||||
namespace ProjectExplorer {
|
||||
class Abi;
|
||||
class Project;
|
||||
}
|
||||
|
||||
namespace Utils { class Environment; }
|
||||
|
||||
namespace Android {
|
||||
class AndroidPlugin;
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include "androidmanager.h"
|
||||
#include "androidconstants.h"
|
||||
#include "androiddeployconfiguration.h"
|
||||
#include "androidconfigurations.h"
|
||||
#include "androidrunconfiguration.h"
|
||||
|
||||
@@ -32,7 +32,6 @@
|
||||
#define ANDROIDMANAGER_H
|
||||
|
||||
#include "android_global.h"
|
||||
#include <utils/fileutils.h>
|
||||
|
||||
#include <QPair>
|
||||
#include <QObject>
|
||||
@@ -43,6 +42,8 @@ class Kit;
|
||||
class Target;
|
||||
}
|
||||
|
||||
namespace Utils { class FileName; }
|
||||
|
||||
namespace Android {
|
||||
|
||||
class AndroidQtSupport;
|
||||
|
||||
@@ -33,6 +33,9 @@
|
||||
#include "androidconstants.h"
|
||||
|
||||
#include <coreplugin/editormanager/ieditor.h>
|
||||
#include <coreplugin/idocument.h>
|
||||
|
||||
#include <utils/fileutils.h>
|
||||
|
||||
#include <QFileInfo>
|
||||
|
||||
|
||||
@@ -37,6 +37,8 @@
|
||||
#include <coreplugin/editormanager/ieditor.h>
|
||||
#include <texteditor/texteditor.h>
|
||||
|
||||
#include <QActionGroup>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QToolBar;
|
||||
class QActionGroup;
|
||||
|
||||
@@ -31,21 +31,20 @@
|
||||
#ifndef ANDROIDSUPPORT_H
|
||||
#define ANDROIDSUPPORT_H
|
||||
|
||||
#include "android_global.h"
|
||||
|
||||
#include <QObject>
|
||||
#include <QList>
|
||||
|
||||
#include <projectexplorer/project.h>
|
||||
|
||||
#include <utils/fileutils.h>
|
||||
|
||||
#include "android_global.h"
|
||||
|
||||
namespace ProjectExplorer {
|
||||
class Target;
|
||||
class DeployConfiguration;
|
||||
class ProcessParameters;
|
||||
class Project;
|
||||
class Target;
|
||||
}
|
||||
|
||||
namespace Utils { class FileName; }
|
||||
|
||||
namespace Android {
|
||||
|
||||
class ANDROID_EXPORT AndroidQtSupport : public QObject
|
||||
|
||||
@@ -32,8 +32,6 @@
|
||||
#define ANDROIDRUNCONFIGURATION_H
|
||||
|
||||
#include "android_global.h"
|
||||
#include "androidconstants.h"
|
||||
#include "androidconfigurations.h"
|
||||
|
||||
#include <projectexplorer/runconfiguration.h>
|
||||
|
||||
|
||||
@@ -34,15 +34,16 @@
|
||||
#include "androidconstants.h"
|
||||
#include "javacompletionassistprovider.h"
|
||||
|
||||
#include <texteditor/textdocument.h>
|
||||
#include <texteditor/texteditor.h>
|
||||
#include <utils/uncommentselection.h>
|
||||
#include <coreplugin/editormanager/ieditorfactory.h>
|
||||
|
||||
#include <texteditor/normalindenter.h>
|
||||
#include <texteditor/textdocument.h>
|
||||
#include <texteditor/texteditoractionhandler.h>
|
||||
#include <texteditor/texteditorconstants.h>
|
||||
#include <texteditor/normalindenter.h>
|
||||
#include <texteditor/texteditor.h>
|
||||
|
||||
#include <extensionsystem/pluginmanager.h>
|
||||
#include <utils/fileutils.h>
|
||||
#include <utils/uncommentselection.h>
|
||||
|
||||
#include <QFileInfo>
|
||||
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
#include <coreplugin/id.h>
|
||||
#include <coreplugin/coreconstants.h>
|
||||
#include <coreplugin/icore.h>
|
||||
#include <coreplugin/idocument.h>
|
||||
#include <coreplugin/documentmanager.h>
|
||||
#include <coreplugin/editormanager/editormanager.h>
|
||||
#include <coreplugin/locator/commandlocator.h>
|
||||
|
||||
@@ -57,6 +57,7 @@
|
||||
#include <QDir>
|
||||
#include <QFileInfo>
|
||||
#include <QFutureWatcher>
|
||||
#include <QMenu>
|
||||
#include <QPlainTextEdit>
|
||||
#include <QProcess>
|
||||
#include <QScrollBar>
|
||||
|
||||
@@ -267,19 +267,19 @@ public:
|
||||
|
||||
bool open(QString *errorString, const QString &fileName, quint64 offset = 0) {
|
||||
QFile file(fileName);
|
||||
quint64 size = static_cast<quint64>(file.size());
|
||||
if (size == 0 && !fileName.isEmpty()) {
|
||||
QString msg = tr("The Binary Editor cannot open empty files.");
|
||||
if (errorString)
|
||||
*errorString = msg;
|
||||
else
|
||||
QMessageBox::critical(ICore::mainWindow(), tr("File Error"), msg);
|
||||
return false;
|
||||
}
|
||||
if (offset >= size)
|
||||
return false;
|
||||
if (file.open(QIODevice::ReadOnly)) {
|
||||
file.close();
|
||||
quint64 size = static_cast<quint64>(file.size());
|
||||
if (size == 0) {
|
||||
QString msg = tr("The Binary Editor cannot open empty files.");
|
||||
if (errorString)
|
||||
*errorString = msg;
|
||||
else
|
||||
QMessageBox::critical(ICore::mainWindow(), tr("File Error"), msg);
|
||||
return false;
|
||||
}
|
||||
if (offset >= size)
|
||||
return false;
|
||||
setFilePath(FileName::fromString(fileName));
|
||||
m_widget->setSizes(offset, file.size());
|
||||
return true;
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
|
||||
#include <coreplugin/editormanager/editormanager.h>
|
||||
#include <coreplugin/icore.h>
|
||||
#include <coreplugin/idocument.h>
|
||||
#include <coreplugin/actionmanager/actionmanager.h>
|
||||
#include <coreplugin/actionmanager/command.h>
|
||||
#include <projectexplorer/projectexplorer.h>
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
#include <coreplugin/progressmanager/progressmanager.h>
|
||||
#include <coreplugin/editormanager/editormanager.h>
|
||||
#include <coreplugin/editormanager/ieditor.h>
|
||||
#include <coreplugin/idocument.h>
|
||||
#include <texteditor/texteditor.h>
|
||||
|
||||
#include <QThread>
|
||||
|
||||
@@ -35,15 +35,17 @@
|
||||
#include "cmakesettingspage.h"
|
||||
#include "cmaketoolmanager.h"
|
||||
|
||||
#include <utils/synchronousprocess.h>
|
||||
|
||||
#include <coreplugin/icore.h>
|
||||
#include <coreplugin/actionmanager/actionmanager.h>
|
||||
#include <coreplugin/actionmanager/command.h>
|
||||
#include <coreplugin/actionmanager/actioncontainer.h>
|
||||
#include <projectexplorer/projecttree.h>
|
||||
#include <projectexplorer/projectexplorer.h>
|
||||
#include <projectexplorer/projectexplorerconstants.h>
|
||||
#include <projectexplorer/projecttree.h>
|
||||
|
||||
#include <utils/synchronousprocess.h>
|
||||
|
||||
#include <QAction>
|
||||
#include <QDateTime>
|
||||
|
||||
using namespace CMakeProjectManager::Internal;
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
#include "actionmanager.h"
|
||||
|
||||
#include <coreplugin/coreconstants.h>
|
||||
#include <coreplugin/icontext.h>
|
||||
#include <coreplugin/id.h>
|
||||
|
||||
#include <utils/hostosinfo.h>
|
||||
|
||||
@@ -48,6 +48,8 @@ QT_END_NAMESPACE
|
||||
namespace Core {
|
||||
|
||||
class ActionContainer;
|
||||
class Command;
|
||||
class Context;
|
||||
|
||||
namespace Internal {
|
||||
class CorePlugin;
|
||||
|
||||
@@ -29,8 +29,10 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include "commandbutton.h"
|
||||
#include "actionmanager.h"
|
||||
#include "command.h"
|
||||
#include "../id.h"
|
||||
|
||||
#include <coreplugin/actionmanager/actionmanager.h>
|
||||
#include <utils/proxyaction.h>
|
||||
|
||||
using namespace Core;
|
||||
|
||||
@@ -33,8 +33,6 @@
|
||||
|
||||
#include <coreplugin/dialogs/ioptionspage.h>
|
||||
|
||||
#include <QObject>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QLineEdit;
|
||||
class QTreeWidget;
|
||||
|
||||
@@ -33,14 +33,11 @@
|
||||
|
||||
#include "core_global.h"
|
||||
#include "generatedfile.h"
|
||||
#include "featureprovider.h"
|
||||
|
||||
#include <coreplugin/iwizardfactory.h>
|
||||
|
||||
#include <extensionsystem/iplugin.h>
|
||||
|
||||
#include <QSharedDataPointer>
|
||||
#include <QList>
|
||||
#include <QVariantMap>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QIcon;
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
#include "coreplugin.h"
|
||||
#include "designmode.h"
|
||||
#include "editmode.h"
|
||||
#include "idocument.h"
|
||||
#include "helpmanager.h"
|
||||
#include "mainwindow.h"
|
||||
#include "modemanager.h"
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
#include "designmode.h"
|
||||
|
||||
#include <coreplugin/icore.h>
|
||||
#include <coreplugin/idocument.h>
|
||||
#include <coreplugin/modemanager.h>
|
||||
#include <coreplugin/editormanager/editormanager.h>
|
||||
#include <coreplugin/coreconstants.h>
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
|
||||
#include <QCheckBox>
|
||||
#include <QGroupBox>
|
||||
#include <QIcon>
|
||||
#include <QLabel>
|
||||
#include <QPushButton>
|
||||
|
||||
@@ -80,6 +81,11 @@
|
||||
side of the \gui Options dialog.
|
||||
*/
|
||||
|
||||
QIcon Core::IOptionsPage::categoryIcon() const
|
||||
{
|
||||
return QIcon(m_categoryIcon);
|
||||
}
|
||||
|
||||
/*!
|
||||
\fn QWidget *IOptionsPage::widget()
|
||||
|
||||
@@ -183,3 +189,8 @@ bool Core::IOptionsPage::matches(const QString &searchKeyWord) const
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
QIcon Core::IOptionsPageProvider::categoryIcon() const
|
||||
{
|
||||
return QIcon(m_categoryIcon);
|
||||
}
|
||||
|
||||
@@ -33,10 +33,14 @@
|
||||
|
||||
#include <coreplugin/id.h>
|
||||
|
||||
#include <QIcon>
|
||||
#include <QObject>
|
||||
#include <QStringList>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QIcon;
|
||||
class QWidget;
|
||||
QT_END_NAMESPACE
|
||||
|
||||
namespace Core {
|
||||
|
||||
class CORE_EXPORT IOptionsPage : public QObject
|
||||
@@ -51,7 +55,7 @@ public:
|
||||
QString displayName() const { return m_displayName; }
|
||||
Id category() const { return m_category; }
|
||||
QString displayCategory() const { return m_displayCategory; }
|
||||
QIcon categoryIcon() const { return QIcon(m_categoryIcon); }
|
||||
QIcon categoryIcon() const;
|
||||
|
||||
virtual bool matches(const QString &searchKeyWord) const;
|
||||
virtual QWidget *widget() = 0;
|
||||
@@ -92,7 +96,7 @@ public:
|
||||
|
||||
Id category() const { return m_category; }
|
||||
QString displayCategory() const { return m_displayCategory; }
|
||||
QIcon categoryIcon() const { return QIcon(m_categoryIcon); }
|
||||
QIcon categoryIcon() const;
|
||||
|
||||
virtual QList<IOptionsPage *> pages() const = 0;
|
||||
virtual bool matches(const QString & /* searchKeyWord*/) const = 0;
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
#include <QDialog>
|
||||
#include <QIcon>
|
||||
#include <QList>
|
||||
#include <QVariantMap>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QAbstractProxyModel;
|
||||
|
||||
@@ -460,7 +460,7 @@ void ReadOnlyFilesDialogPrivate::initDialog(const QStringList &fileNames)
|
||||
ui.treeWidget->setAlternatingRowColors(true);
|
||||
|
||||
// Do not show any options to the user if he has no choice.
|
||||
if (!useSaveAs && (useVCS || !useMakeWritable)) {
|
||||
if (!useSaveAs && (!useVCS || !useMakeWritable)) {
|
||||
ui.treeWidget->setColumnHidden(MakeWritable, true);
|
||||
ui.treeWidget->setColumnHidden(OpenWithVCS, true);
|
||||
ui.treeWidget->setColumnHidden(SaveAs, true);
|
||||
|
||||
@@ -32,6 +32,8 @@
|
||||
|
||||
#include <coreplugin/fileiconprovider.h>
|
||||
#include <coreplugin/idocument.h>
|
||||
|
||||
#include <utils/fileutils.h>
|
||||
#include <utils/hostosinfo.h>
|
||||
|
||||
#include <QDir>
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
#include <utils/fileutils.h>
|
||||
#include <utils/qtcassert.h>
|
||||
|
||||
#include <QAbstractItemModel>
|
||||
#include <QDir>
|
||||
#include <QIcon>
|
||||
#include <QMimeData>
|
||||
|
||||
@@ -36,9 +36,10 @@
|
||||
|
||||
#include <utils/fileutils.h>
|
||||
|
||||
#include <QAbstractItemModel>
|
||||
|
||||
QT_FORWARD_DECLARE_CLASS(QIcon)
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QAbstractItemModel;
|
||||
class QIcon;
|
||||
QT_END_NAMESPACE
|
||||
|
||||
namespace Core {
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
|
||||
#include <coreplugin/coreconstants.h>
|
||||
#include <coreplugin/icontext.h>
|
||||
#include <coreplugin/idocument.h>
|
||||
#include <coreplugin/icore.h>
|
||||
#include <utils/qtcassert.h>
|
||||
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
|
||||
#include <coreplugin/actionmanager/actioncontainer.h>
|
||||
#include <coreplugin/actionmanager/actionmanager.h>
|
||||
#include <coreplugin/actionmanager/command.h>
|
||||
#include <coreplugin/coreconstants.h>
|
||||
#include <coreplugin/dialogs/openwithdialog.h>
|
||||
#include <coreplugin/dialogs/readonlyfilesdialog.h>
|
||||
@@ -68,6 +69,7 @@
|
||||
#include <utils/hostosinfo.h>
|
||||
#include <utils/macroexpander.h>
|
||||
#include <utils/mimetypes/mimedatabase.h>
|
||||
#include <utils/mimetypes/mimetype.h>
|
||||
#include <utils/qtcassert.h>
|
||||
|
||||
#include <QClipboard>
|
||||
|
||||
@@ -35,18 +35,14 @@
|
||||
|
||||
#include "documentmodel.h"
|
||||
|
||||
#include <coreplugin/id.h>
|
||||
#include <coreplugin/idocument.h> // enumerations
|
||||
#include <utils/mimetypes/mimetype.h>
|
||||
|
||||
#include <QList>
|
||||
#include <QWidget>
|
||||
#include <QMenu>
|
||||
|
||||
#include <functional>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
QT_END_NAMESPACE
|
||||
QT_FORWARD_DECLARE_CLASS(QMenu)
|
||||
|
||||
namespace Utils { class MimeType; }
|
||||
|
||||
namespace Core {
|
||||
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
|
||||
#include <QHBoxLayout>
|
||||
#include <QLabel>
|
||||
#include <QMenu>
|
||||
#include <QMouseEvent>
|
||||
#include <QPainter>
|
||||
#include <QStackedWidget>
|
||||
|
||||
@@ -31,7 +31,11 @@
|
||||
#ifndef IEDITORFACTORY_H
|
||||
#define IEDITORFACTORY_H
|
||||
|
||||
#include <coreplugin/idocumentfactory.h>
|
||||
#include <coreplugin/core_global.h>
|
||||
#include <coreplugin/id.h>
|
||||
|
||||
#include <QObject>
|
||||
#include <QStringList>
|
||||
|
||||
namespace Core {
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user