Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Marco Bubke
flatpak-qt-creator
Commits
46535482
Commit
46535482
authored
Dec 11, 2008
by
mae
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '0.9.1-beta' of git@scm.dev.nokia.troll.no:creator/mainline into 0.9.1-beta
parents
98907052
65d48ce4
Changes
26
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
529 additions
and
199 deletions
+529
-199
doc/coding-style.qdoc
doc/coding-style.qdoc
+246
-0
doc/qtcreator.qdoc
doc/qtcreator.qdoc
+39
-38
src/app/main.cpp
src/app/main.cpp
+1
-1
src/libs/cplusplus/TypeOfExpression.cpp
src/libs/cplusplus/TypeOfExpression.cpp
+38
-2
src/libs/cplusplus/TypeOfExpression.h
src/libs/cplusplus/TypeOfExpression.h
+18
-1
src/libs/extensionsystem/optionsparser.cpp
src/libs/extensionsystem/optionsparser.cpp
+1
-1
src/libs/extensionsystem/pluginmanager.cpp
src/libs/extensionsystem/pluginmanager.cpp
+11
-4
src/libs/extensionsystem/pluginmanager.h
src/libs/extensionsystem/pluginmanager.h
+1
-1
src/libs/extensionsystem/pluginmanager_p.h
src/libs/extensionsystem/pluginmanager_p.h
+1
-1
src/libs/extensionsystem/pluginspec.cpp
src/libs/extensionsystem/pluginspec.cpp
+2
-2
src/libs/extensionsystem/pluginspec_p.h
src/libs/extensionsystem/pluginspec_p.h
+1
-1
src/plugins/cppeditor/cppeditor.cpp
src/plugins/cppeditor/cppeditor.cpp
+11
-4
src/plugins/cppeditor/cppeditor.h
src/plugins/cppeditor/cppeditor.h
+3
-0
src/plugins/cpptools/cppcodecompletion.cpp
src/plugins/cpptools/cppcodecompletion.cpp
+2
-1
src/plugins/debugger/debugger.pro
src/plugins/debugger/debugger.pro
+0
-2
src/plugins/debugger/debuggerplugin.cpp
src/plugins/debugger/debuggerplugin.cpp
+0
-8
src/plugins/debugger/debuggerplugin.h
src/plugins/debugger/debuggerplugin.h
+0
-2
src/plugins/debugger/gdbengine.h
src/plugins/debugger/gdbengine.h
+1
-1
src/plugins/debugger/gdboptionpage.cpp
src/plugins/debugger/gdboptionpage.cpp
+36
-11
src/plugins/debugger/gdboptionpage.h
src/plugins/debugger/gdboptionpage.h
+4
-3
src/plugins/debugger/gdboptionpage.ui
src/plugins/debugger/gdboptionpage.ui
+42
-9
src/plugins/debugger/gdbtypemacros.cpp
src/plugins/debugger/gdbtypemacros.cpp
+6
-11
src/plugins/debugger/gdbtypemacros.ui
src/plugins/debugger/gdbtypemacros.ui
+56
-88
src/plugins/git/settingspage.cpp
src/plugins/git/settingspage.cpp
+1
-1
src/plugins/texteditor/basetexteditor.cpp
src/plugins/texteditor/basetexteditor.cpp
+6
-5
src/plugins/texteditor/basetexteditor.h
src/plugins/texteditor/basetexteditor.h
+2
-1
No files found.
doc/coding-style.qdoc
0 → 100644
View file @
46535482
/*!
\contentpage{index.html}{Qt Creator}
\page coding-style.html
\title Qt Creator Coding Rules
THIS IS PRELIMINARY.
\section1 Introduction
The aim of this section is to serve as a guide for the developers, to aid us
to build understandable and maintainable code, to create less confusion and
surprises when working on Qt Creator.
As usual: Rules are not set in stone. If there's a good reason to break one,
do it, preferably after making sure that there are others agreeing.
This document is incomplete.
In general, if you want to contribute to the main source, we expect at least
that you:
\list 1
\o The most important rule first: KISS (keep it simple ...): always
use a simple implementation in favor of a more complicated one.
This eases maintenance a lot.
\o Write good C++ code: Readable, well commented when necessary,
and taking advantage of the OO model. Follow the \l{Formatting} guidelines.
There are also certain \l{Code Constructs} that we try to follow.
\o Adapt the code to the structures already existing in Qt Creator, or in
the case that you have better ideas, discuss them with other developers
before writing the code.
\o Take advantage of Qt. Don't re-invent the wheel. Think about what parts
of your code are generic enough that they might be incorporated into
Qt proper.
\o Document interfaces. Right now we use qdoc, but changing to doxygen
is being considered.
\endlist
\section1 Submitting Code
It is implicitly understood that all patches contributed to The Qt Creator
Project are made under under the Gnu General Public License, version 2 or later
and
If you have a problem with that, don't contribute code.
Also please don't just pop up out of the blue with a huge patch (or
small) that changes something substantial in Qt Creator. Always discuss your
ideas with the other developers on mailing list first.
When you create the patch, please use git or use "diff -up" since we find
that a lot easier to read than the other diff formats. Also please do not
send patches that implements or fixes several different things; several
patches is a much better option.
We also require you to provide a commit message entry with every patch,
this describes in detail what the patch is doing.
\section1 Code Constructs
We have several guidelines on code constructs, some of these exist to
make the code faster, others to make the code clearer. Yet others
exist to allow us to take advantage of the strong type checking
in C++.
\list 1
\o Declaration of variables should wait as long as possible. The rule
is: "Don't declare it until you need it." In C++ there are a lot of
user defined types, and these can very often be expensive to
initialize. This rule connects to the next rule too.
\o Make the scope of a variable as small as possible.
\o Prefer preincrement to postincrement whenever possible.
Preincrement has potential of being faster than postincrement. Just
think about the obvious implementations of pre/post-increment. This
rule applies to decrement too.
\code
++T;
--U;
-NOT-
T++; // not used in Qt Creator
U--; // not used in Qt Creator
\endcode
\o Try to minimize evaluation of the same code over and over. This is
aimed especially at loops.
\code
Container::iterator end = large.end();
for (Container::iterator it = large.begin(); it != end; ++it) {
...;
}
-NOT-
for (Container::iterator it = large.begin();
it != large.end(); ++it) {
...;
}
\endcode
\section1 Formatting
\section2 Declarations
Only one declaration on each line.
\code
int a;
int b;
-NOT-
int a, b; // not used in Qt Creator
\endcode
This is especially important when initialization is done at the same
time.
\code
QString a = "Joe";
QString b = "Foo";
-NOT-
QString a = "Joe", b = "Foo"; // not used in Qt Creator
\endcode
[Note that 'QString a = "Joe"' is formally calling a copy constructor
on a temporary constructed from a string literal and therefore has the
potential of being more expensive then direct construction by
'QString a("joe")'. However the compiler is allowed to elide the copy
(even if it had side effects), and modern compilers typically do so.
Given these equal costs, Qt Creator code favours the '=' idiom as it is in
line with the traditional C-style initialization, _and_ cannot be
mistaken as function declaration, _and_ reduces the level of nested
parantheses in more initializations.]
\section2 Pointers and references
\code
char *p = "flop";
char &c = *p;
-NOT-
char* p = "flop"; // not used in Qt Creator
char & c = *p; // not used in Qt Creator
\endcode
This is simply in line with the official Qt guide lines.
Also note that we will have:
\code
const char *p;
-NOT-
char const * p; // not used in Qt Creator
\endcode
Using a plain 0 for Null pointer constants is always correct and least effort
to type. So:
\code
void *p = 0;
-NOT-
void *p = NULL; // not used in Qt Creator
-NOT-
void *p = '\0'; // not used in Qt Creator
-NOT-
void *p = 42 - 7 * 6; // also not used in Qt Creator
\endcode
Note: As an exception, imported third party code as well as code
interfacing the "native" APIs (src/support/os_*) can use NULL.
\section2 Operator names and parentheses
\code
operator==(type)
-NOT-
operator == (type) // not used in Qt Creator
\endcode
The == is part of the function name, separating it makes the
declaration look like an expression.
\section2 Function names and parentheses
\code
void mangle()
-NOT-
void mangle () // not used in Qt Creator
\endcode
\section2 Naming rules
Simply follow the style of Qt proper. As examples:
\list
\o Use descriptive but simple and short names. Do not abbreviate.
\o Class names are capitalized, and function names lowercased.
Enums are named like Classes, values are in lower-case.
\endlist
\section2 Formatting
Adapt the formatting of your code to the one used in the
other parts of Qt Creator. In case there is different formatting for
the same construct, use the one used more often.
\section2 Declarations
- Use this order for the access sections of your class: public,
protected, private. The public section is interesting for every
user of the class. The private section is only of interest for the
implementors of the class (you). [Obviously not true since this is
for developers, and we do not want one developer only to be able to
read and understand the implementation of class internals. Lgb]
- Avoid declaring global objects in the declaration file of the class.
If the same variable is used for all objects, use a static member.
- Avoid global or static variables.
\section2 File headers
If you create a new file, the top of the file should include a
header comment equal to the one found in other source files of Qt Creator.
\section2 Documentation
The documentation is generated from source and header files.
You document for the other developers, not for yourself.
In the header you should document interfaces, i.e. what the function does,
not the implementation.
In the .cpp files you document the implementation if the implementation
in non-obvious.
*/
doc/qtcreator.qdoc
View file @
46535482
...
...
@@ -23,6 +23,8 @@
\o \inlineimage qtcreator.png
\o Qt Creator includes a wide range of useful features. Among them are:
\list 1
\o \bold{Smart Code Editor}: The code editor provides syntax
highlighting as well as code completion.
\o \bold{Qt4 Project Generating Wizard}: This wizard allows the user
to generate a project for a console application, a GUI application,
or a C++ library.
...
...
@@ -48,7 +50,7 @@
\o \l{Creating a Project in Qt Creator}
\o \l{Build Settings}
\o \l{Writing a Simple Program with Qt Creator}
\o \l{
Quick
Navigati
o
n}
\o \l{Navigatin
g Quickly Around Your Code
}
\o \l{Debugging with Qt Creator}
\o \l{Tips and Tricks}
\o \l{Glossary}
...
...
@@ -64,86 +66,85 @@
\title A Quick Tour Around Qt Creator
The labeled screenshot below shows some of the components of Qt Creator,
in
\gui Edit mode.
The labeled screenshot below shows some of the components of Qt Creator,
in
\gui Edit mode.
\image qtcreator-breakdown.png
\section1 The Mode Selectors
When working in Qt Creator, you can be in one of
five
modes: \bold
Project
,
\bold Edit, \bold Debug, \bold Help, and \bold Output.
When working in Qt Creator, you can be in one of
six
modes: \bold
Welcome
,
\bold Edit, \bold Debug, \bold
Projects, \bold
Help, and \bold Output.
Mode selectors allow you to quickly switch between tasks: Editing,
browsing the Qt
manual, setting up the build environment, etc. You can
Mode selectors allow you to quickly switch between tasks: Editing,
browsing
the Qt Creator
manual, setting up the build environment, etc. You can
activate a mode by either clicking on its mode selector, or using the
\l{keyboard-shortcuts}{corresponding shortcut}. Certain actions also
trigger a mode change, e.g., \gui{Debug}/\gui{Start Debugging} will switch
to the \gui Debug mode.
\list
\o \gui{Welcome Mode} - Displays a welcome screen allowing you to quickly
load recent sessions or individual projects. This is the
first mod
e
displayed
if Qt Creator is run without command line switches.
load recent sessions or individual projects. This is the
mode you will se
e
if Qt Creator is run without command line switches.
\o \gui{Edit Mode} - You can edit both project and source files here. An
optional sidebar on the left provides different views to navigate between
files.
\o \gui{Edit Mode} - Lets you edit both project and source files. A sidebar
on the left provides different views to navigate between files.
\o \gui{Debug Mode} - Provides various ways to inspect the state of the
program while debugging. See \l{qtcreator-debugging}{Debugging With Qt
Creator} for a hands-on description of
the
mode.
Creator} for a hands-on description of
how to use this
mode.
\o \gui{
Build & Run
Mode} - Lets you configure how projects can be built
and
executed. Under the list of projects, there are tabs to configure the
build
and run
settings.
\o \gui{
Projects
Mode} - Lets you configure how projects can be built
and
executed. Under the list of projects, there are tabs to configure the
build
, run, and editor
settings.
\o \gui{Help Mode} - Shows any documentation registered by Qt Assistant,
such as the Qt library and Qt Creator documentation.
\o \gui{Output Mode} - Lets you examine various
logs
in detail, for example
the task list, the
compile
r
and application output.
Some of these logs ca
n
also
be viewed
in the output panes.
\o \gui{Output Mode} - Lets you examine various
data
in detail, for example
build issues as well as
compile and application output.
This informatio
n
is
also
available
in the output panes.
\endlist
\section1 The Output Panes
The task pane in Qt Creator can display one
out
of four different panes:
Task List,
Search Results, Application Output, and
Compile Output. These
panes are available in all modes.
The task pane in Qt Creator can display one of four different panes:
\gui{Build Issues}, \gui{
Search Results
}
,
\gui{
Application Output
}
, and
\gui{Compile}. These
panes are available in all modes.
\section2
Task List
\section2
Build Issues
The
Task List
provides a list of i
mportant tasks such as
error messages
that need to be fixed. It filters out irrelevant output from the
compiler
and collects them in
the form of tasks
.
The
{Build Issues} pane
provides a list of i
ssues, e.g.,
error messages
or
warnings
that need to be fixed. It filters out irrelevant output from the
compiler
and collects them in
an organized way
.
\image qtcreator-
task-list
.png
\image qtcreator-
build-issues
.png
\section2 Search Results
The Search Results pane displays the results for global searches such
as
searching within a current document, files on disk, or all projects.
In
the screenshot below, we searched for all occurrences of \c{textfinder}
within the "/TextFinder" folder.
The
\gui{
Search Results
}
pane displays the results for global searches such
as
searching within a current document, files on disk, or all projects.
In
the screenshot below, we searched for all occurrences of \c{textfinder}
within the
\c{
"/TextFinder"
}
folder.
\image qtcreator-search-pane.png
\section2 Application Output
Th
is
pane displays the status of the program when
it is executed, as
well as
debug output,
for example
, output from qDebug().
Th
e \gui{Application Output}
pane displays the status of the program when
it is executed and
debug output,
e.g.
, output from qDebug().
\image qtcreator-application-output.png
\section2 Compile
Output
\section2 Compile
The Compile Output provides all the output from the compiler. In other
words, it is a more verbose version of the Task List.
The \gui{Compile} pane provides all the output from the compiler. In other
words, it is a more verbose version of information displayed in the
\gui{Build Issues}
\image qtcreator-compile-pane.png
...
...
@@ -521,7 +522,7 @@
\page creator-navigation.html
\nextpage creator-debugging.html
\title
Quick
Navigati
o
n
\title Navigatin
g Quickly Around Your Code
With Qt Creator, navigating to different locations in your project or on
your disk, such as files, classes and methods, is trivial using the input
...
...
src/app/main.cpp
View file @
46535482
...
...
@@ -69,7 +69,7 @@ static const char *HELP_OPTION4 = "--help";
static
const
char
*
VERSION_OPTION
=
"-version"
;
static
const
char
*
CLIENT_OPTION
=
"-client"
;
typedef
Q
Se
t
<
ExtensionSystem
::
PluginSpec
*>
PluginSpecSet
;
typedef
Q
Lis
t
<
ExtensionSystem
::
PluginSpec
*>
PluginSpecSet
;
// Helpers for displaying messages. Note that there is no console on Windows.
#ifdef Q_WS_WIN
...
...
src/libs/cplusplus/TypeOfExpression.cpp
View file @
46535482
...
...
@@ -37,6 +37,7 @@
#include <TranslationUnit.h>
#include <cplusplus/LookupContext.h>
#include <cplusplus/ResolveExpression.h>
#include <cplusplus/pp.h>
using
namespace
CPlusPlus
;
...
...
@@ -53,9 +54,13 @@ void TypeOfExpression::setDocuments(const QMap<QString, Document::Ptr> &document
QList
<
TypeOfExpression
::
Result
>
TypeOfExpression
::
operator
()(
const
QString
&
expression
,
Document
::
Ptr
document
,
Symbol
*
lastVisibleSymbol
)
Symbol
*
lastVisibleSymbol
,
PreprocessMode
mode
)
{
Document
::
Ptr
expressionDoc
=
documentForExpression
(
expression
);
QString
code
=
expression
;
if
(
mode
==
Preprocess
)
code
=
preprocessedExpression
(
expression
,
m_documents
,
document
);
Document
::
Ptr
expressionDoc
=
documentForExpression
(
code
);
m_ast
=
extractExpressionAST
(
expressionDoc
);
m_lookupContext
=
LookupContext
(
lastVisibleSymbol
,
expressionDoc
,
...
...
@@ -97,3 +102,34 @@ Document::Ptr TypeOfExpression::documentForExpression(const QString &expression)
doc
->
parse
(
Document
::
ParseExpression
);
return
doc
;
}
void
TypeOfExpression
::
processEnvironment
(
QMap
<
QString
,
Document
::
Ptr
>
documents
,
Document
::
Ptr
doc
,
Environment
*
env
,
QSet
<
QString
>
*
processed
)
const
{
if
(
processed
->
contains
(
doc
->
fileName
()))
return
;
processed
->
insert
(
doc
->
fileName
());
foreach
(
const
Document
::
Include
&
incl
,
doc
->
includes
())
{
processEnvironment
(
documents
,
documents
.
value
(
incl
.
fileName
()),
env
,
processed
);
}
foreach
(
const
Macro
&
macro
,
doc
->
definedMacros
())
env
->
bind
(
macro
);
}
QString
TypeOfExpression
::
preprocessedExpression
(
const
QString
&
expression
,
QMap
<
QString
,
Document
::
Ptr
>
documents
,
Document
::
Ptr
thisDocument
)
const
{
Environment
env
;
QSet
<
QString
>
processed
;
processEnvironment
(
documents
,
thisDocument
,
&
env
,
&
processed
);
const
QByteArray
code
=
expression
.
toUtf8
();
pp
preproc
(
0
,
env
);
QByteArray
preprocessedCode
;
preproc
(
"<expression>"
,
code
,
&
preprocessedCode
);
return
QString
::
fromUtf8
(
preprocessedCode
);
}
src/libs/cplusplus/TypeOfExpression.h
View file @
46535482
...
...
@@ -43,6 +43,9 @@
namespace
CPlusPlus
{
class
Environment
;
class
Macro
;
class
CPLUSPLUS_EXPORT
TypeOfExpression
{
public:
...
...
@@ -60,6 +63,11 @@ public:
*/
void
setDocuments
(
const
QMap
<
QString
,
Document
::
Ptr
>
&
documents
);
enum
PreprocessMode
{
NoPreprocess
,
Preprocess
};
/**
* Returns a list of possible fully specified types associated with the
* given expression.
...
...
@@ -73,7 +81,8 @@ public:
* @param lastVisibleSymbol The last visible symbol in the document.
*/
QList
<
Result
>
operator
()(
const
QString
&
expression
,
Document
::
Ptr
document
,
Symbol
*
lastVisibleSymbol
);
Symbol
*
lastVisibleSymbol
,
PreprocessMode
mode
=
NoPreprocess
);
/**
* Returns the AST of the last evaluated expression.
...
...
@@ -91,6 +100,14 @@ private:
ExpressionAST
*
extractExpressionAST
(
Document
::
Ptr
doc
)
const
;
Document
::
Ptr
documentForExpression
(
const
QString
&
expression
)
const
;
void
processEnvironment
(
QMap
<
QString
,
CPlusPlus
::
Document
::
Ptr
>
documents
,
CPlusPlus
::
Document
::
Ptr
doc
,
CPlusPlus
::
Environment
*
env
,
QSet
<
QString
>
*
processed
)
const
;
QString
preprocessedExpression
(
const
QString
&
expression
,
QMap
<
QString
,
CPlusPlus
::
Document
::
Ptr
>
documents
,
CPlusPlus
::
Document
::
Ptr
thisDocument
)
const
;
QMap
<
QString
,
Document
::
Ptr
>
m_documents
;
ExpressionAST
*
m_ast
;
LookupContext
m_lookupContext
;
...
...
src/libs/extensionsystem/optionsparser.cpp
View file @
46535482
...
...
@@ -129,7 +129,7 @@ bool OptionsParser::checkForNoLoadOption()
"The plugin '%1' does not exist."
).
arg
(
m_currentArg
);
m_hasError
=
true
;
}
else
{
m_pmPrivate
->
pluginSpecs
.
remove
(
spec
);
m_pmPrivate
->
pluginSpecs
.
remove
All
(
spec
);
delete
spec
;
m_isDependencyRefreshNeeded
=
true
;
}
...
...
src/libs/extensionsystem/pluginmanager.cpp
View file @
46535482
...
...
@@ -48,7 +48,7 @@
#include <QTest>
#endif
typedef
Q
Se
t
<
ExtensionSystem
::
PluginSpec
*>
PluginSpecSet
;
typedef
Q
Lis
t
<
ExtensionSystem
::
PluginSpec
*>
PluginSpecSet
;
enum
{
debugLeaks
=
0
};
...
...
@@ -162,6 +162,11 @@ enum { debugLeaks = 0 };
using
namespace
ExtensionSystem
;
using
namespace
ExtensionSystem
::
Internal
;
static
bool
lessThanByPluginName
(
const
PluginSpec
*
one
,
const
PluginSpec
*
two
)
{
return
one
->
name
()
<
two
->
name
();
}
PluginManager
*
PluginManager
::
m_instance
=
0
;
/*!
...
...
@@ -306,7 +311,7 @@ QStringList PluginManager::arguments() const
}
/*!
\fn Q
Se
t<PluginSpec *> PluginManager::plugins() const
\fn Q
Lis
t<PluginSpec *> PluginManager::plugins() const
List of all plugin specifications that have been found in the plugin search paths.
This list is valid directly after the setPluginPaths() call.
The plugin specifications contain the information from the plugins' xml description files
...
...
@@ -315,7 +320,7 @@ QStringList PluginManager::arguments() const
\sa setPluginPaths()
*/
Q
Se
t
<
PluginSpec
*>
PluginManager
::
plugins
()
const
Q
Lis
t
<
PluginSpec
*>
PluginManager
::
plugins
()
const
{
return
d
->
pluginSpecs
;
}
...
...
@@ -703,9 +708,11 @@ void PluginManagerPrivate::readPluginPaths()
foreach
(
const
QString
&
specFile
,
specFiles
)
{
PluginSpec
*
spec
=
new
PluginSpec
;
spec
->
d
->
read
(
specFile
);
pluginSpecs
.
insert
(
spec
);
pluginSpecs
.
append
(
spec
);
}
resolveDependencies
();
// ensure deterministic plugin load order by sorting
qSort
(
pluginSpecs
.
begin
(),
pluginSpecs
.
end
(),
lessThanByPluginName
);
emit
q
->
pluginsChanged
();
}
...
...
src/libs/extensionsystem/pluginmanager.h
View file @
46535482
...
...
@@ -101,7 +101,7 @@ public:
void
loadPlugins
();
QStringList
pluginPaths
()
const
;
void
setPluginPaths
(
const
QStringList
&
paths
);
Q
Se
t
<
PluginSpec
*>
plugins
()
const
;
Q
Lis
t
<
PluginSpec
*>
plugins
()
const
;
void
setFileExtension
(
const
QString
&
extension
);
QString
fileExtension
()
const
;
...
...
src/libs/extensionsystem/pluginmanager_p.h
View file @
46535482
...
...
@@ -66,7 +66,7 @@ public:
void
loadPlugin
(
PluginSpec
*
spec
,
PluginSpec
::
State
destState
);
void
resolveDependencies
();
Q
Se
t
<
PluginSpec
*>
pluginSpecs
;
Q
Lis
t
<
PluginSpec
*>
pluginSpecs
;
QList
<
PluginSpec
*>
testSpecs
;
QStringList
pluginPaths
;
QString
extension
;
...
...
src/libs/extensionsystem/pluginspec.cpp
View file @
46535482
...
...
@@ -693,10 +693,10 @@ int PluginSpecPrivate::versionCompare(const QString &version1, const QString &ve
}
/*!
\fn bool PluginSpecPrivate::resolveDependencies(const Q
Se
t<PluginSpec *> &specs)
\fn bool PluginSpecPrivate::resolveDependencies(const Q
Lis
t<PluginSpec *> &specs)
\internal
*/
bool
PluginSpecPrivate
::
resolveDependencies
(
const
Q
Se
t
<
PluginSpec
*>
&
specs
)
bool
PluginSpecPrivate
::
resolveDependencies
(
const
Q
Lis
t
<
PluginSpec
*>
&
specs
)
{
if
(
hasError
)
return
false
;
...
...
src/libs/extensionsystem/pluginspec_p.h
View file @
46535482
...
...
@@ -56,7 +56,7 @@ public:
bool
read
(
const
QString
&
fileName
);
bool
provides
(
const
QString
&
pluginName
,
const
QString
&
version
)
const
;
bool
resolveDependencies
(
const
Q
Se
t
<
PluginSpec
*>
&
specs
);
bool
resolveDependencies
(
const
Q
Lis
t
<
PluginSpec
*>
&
specs
);
bool
loadLibrary
();
bool
initializePlugin
();
bool
initializeExtensions
();
...
...
src/plugins/cppeditor/cppeditor.cpp
View file @
46535482
...
...
@@ -485,7 +485,7 @@ void CPPEditor::jumpToDefinition()
unsigned
lineno
=
tc
.
blockNumber
()
+
1
;
foreach
(
const
Document
::
Include
&
incl
,
doc
->
includes
())
{
if
(
incl
.
line
()
==
lineno
)
{
if
(
TextEditor
::
BaseTextEditor
::
openEditorAt
(
incl
.
fileName
(),
0
,
0
))
if
(
open
Cpp
EditorAt
(
incl
.
fileName
(),
0
,
0
))
return
;
// done
break
;
}
...
...
@@ -525,7 +525,7 @@ void CPPEditor::jumpToDefinition()
QList<Symbol *> candidates = context.resolve(namedType->name());
if (!candidates.isEmpty()) {
Symbol *s = candidates.takeFirst();
openEditorAt(s->fileName(), s->line(), s->column());
open
Cpp
EditorAt(s->fileName(), s->line(), s->column());
}
#endif