Merge remote-tracking branch 'origin/2.6'

This commit is contained in:
Eike Ziller
2012-08-20 09:53:10 +02:00
16 changed files with 53 additions and 61 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 470 B

After

Width:  |  Height:  |  Size: 692 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -54,7 +54,7 @@
\o Select \gui {Projects > Code Style Settings}. \o Select \gui {Projects > Code Style Settings}.
\o In the \gui Language field, select \gui C++ or \gui Qt Quick. \o In the \gui Language field, select \gui C++ or \gui {Qt Quick}.
\o In the \gui {Current settings} field, select the settings to modify \o In the \gui {Current settings} field, select the settings to modify
and click \gui Copy. and click \gui Copy.

View File

@@ -42,14 +42,12 @@
\image qtcreator-project-targets.png \image qtcreator-project-targets.png
You can add a target if the development environment for the target platform To add build and run targets for the project, select \gui Add. The list
is installed on the development PC and the target is configured in displays targets that are configured in \gui Tools > \gui Options >
\gui Tools > \gui Options > \gui {Build & Run} > \gui Targets. \gui {Build & Run} > \gui Targets. To add targets to the list, select
\gui Manage.
Click To remove a target, hover the cursor over it (1) and click
\inlineimage qtcreator-qt4-addbutton.png "Add Target button"
and select from a list of available targets. To remove a target, select it
and click
\inlineimage qtcreator-target-remove.png "Remove Target button" \inlineimage qtcreator-target-remove.png "Remove Target button"
. .
@@ -70,10 +68,7 @@
\endlist \endlist
\note If you have installed the development environment for only \note If you have not configured the project for building, the
one target, the \gui Targets tab is replaced by a \gui Build
tab and a \gui Run tab.
If you have not configured the project for building, the
\gui Targets tab is replaced by the \l{Opening Projects} \gui Targets tab is replaced by the \l{Opening Projects}
{Configure Projects} tab. {Configure Projects} tab.

View File

@@ -84,10 +84,6 @@
Even if you use the Qt Quick Components, you can still write cross-platform Even if you use the Qt Quick Components, you can still write cross-platform
applications, by using different sets of QML files for each platform. applications, by using different sets of QML files for each platform.
You can dowload a set of commonly used UI-components for generic use in
Qt Quick projects from \l{https://projects.forum.nokia.com/QMLTemplates}
{QML Templates}. You can open and edit the templates in \QD.
\section1 Creating Components in Qt Quick Designer \section1 Creating Components in Qt Quick Designer
\list 1 \list 1

View File

@@ -3,11 +3,11 @@ TARGET = Botan
PRECOMPILED_HEADER = ../precompiled_headers/botan_pch.h PRECOMPILED_HEADER = ../precompiled_headers/botan_pch.h
include(../../../qtcreatorlibrary.pri)
CONFIG += exceptions CONFIG += exceptions
CONFIG += release CONFIG += release
CONFIG -= debug CONFIG -= debug debug_and_release
include(../../../qtcreatorlibrary.pri)
DEPENDPATH += . DEPENDPATH += .
INCLUDEPATH += . INCLUDEPATH += .

View File

@@ -579,25 +579,19 @@ void Lexer::scan_helper(Token *tok)
} else if (_yychar == '\'') { } else if (_yychar == '\'') {
yyinp(); yyinp();
scanCharLiteral(tok, ch); scanCharLiteral(tok, ch);
} else { } else if (ch == 'u' && _yychar == '8') {
if (_yychar == '8') { yyinp();
unsigned char la = 0; if (_yychar == '"') {
if (_currentChar + 1 != _lastChar) yyinp();
la = *(_currentChar + 1); scanStringLiteral(tok, '8');
if (la == '"') { } else if (_yychar == '\'') {
yyinp(); yyinp();
yyinp(); scanCharLiteral(tok, '8');
scanStringLiteral(tok, '8');
} else if (la == '\'') {
yyinp();
yyinp();
scanCharLiteral(tok, '8');
} else {
scanIdentifier(tok);
}
} else { } else {
scanIdentifier(tok); scanIdentifier(tok, 1);
} }
} else {
scanIdentifier(tok);
} }
} else if (std::isalpha(ch) || ch == '_' || ch == '$') { } else if (std::isalpha(ch) || ch == '_' || ch == '$') {
scanIdentifier(tok); scanIdentifier(tok);
@@ -693,9 +687,9 @@ void Lexer::scanNumericLiteral(Token *tok)
tok->number = control()->numericLiteral(yytext, yylen); tok->number = control()->numericLiteral(yytext, yylen);
} }
void Lexer::scanIdentifier(Token *tok) void Lexer::scanIdentifier(Token *tok, unsigned extraProcessedChars)
{ {
const char *yytext = _currentChar - 1; const char *yytext = _currentChar - 1 - extraProcessedChars;
while (std::isalnum(_yychar) || _yychar == '_' || _yychar == '$') while (std::isalnum(_yychar) || _yychar == '_' || _yychar == '$')
yyinp(); yyinp();
int yylen = _currentChar - yytext; int yylen = _currentChar - yytext;

View File

@@ -94,7 +94,7 @@ private:
void scanCharLiteral(Token *tok, unsigned char hint = 0); void scanCharLiteral(Token *tok, unsigned char hint = 0);
void scanUntilQuote(Token *tok, unsigned char quote); void scanUntilQuote(Token *tok, unsigned char quote);
void scanNumericLiteral(Token *tok); void scanNumericLiteral(Token *tok);
void scanIdentifier(Token *tok); void scanIdentifier(Token *tok, unsigned extraProcessedChars = 0);
inline void yyinp() inline void yyinp()
{ {

View File

@@ -88,7 +88,7 @@ bool SaveFile::commit()
return false; return false;
} }
#ifdef Q_OS_WIN #ifdef Q_OS_WIN
FlushFileBuffers(handle()); FlushFileBuffers(reinterpret_cast<HANDLE>(handle()));
#else #else
fdatasync(handle()); fdatasync(handle());
#endif #endif

View File

@@ -46,7 +46,7 @@
#if defined(Q_OS_WIN) && defined(Q_CC_MINGW) #if defined(Q_OS_WIN) && defined(Q_CC_MINGW)
// Missing declarations for MinGW. This requires MinGW with gcc 4.6. // Missing declarations for MinGW. This requires MinGW with gcc 4.6.
#if __GNUC__ == 4 && __GNUC_MINOR__ < 7 #if __GNUC__ == 4 && __GNUC_MINOR__ < 7 && (!defined(__MINGW64_VERSION_MAJOR) || __MINGW64_VERSION_MAJOR < 2)
typedef enum { } MIB_TCP_STATE; typedef enum { } MIB_TCP_STATE;
#endif #endif

View File

@@ -167,21 +167,36 @@ QVariant DebuggerProfileInformation::defaultValue(Profile *p) const
QList<Task> DebuggerProfileInformation::validate(Profile *p) const QList<Task> DebuggerProfileInformation::validate(Profile *p) const
{ {
const Core::Id id(Constants::TASK_CATEGORY_BUILDSYSTEM);
QList<Task> result; QList<Task> result;
FileName dbg = debuggerCommand(p); FileName dbg = debuggerCommand(p);
if (dbg.isEmpty()) { if (dbg.isEmpty()) {
result << Task(Task::Warning, tr("No debugger set up."), FileName(), -1, result << Task(Task::Warning, tr("No debugger set up."), FileName(), -1, id);
Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM));
return result; return result;
} }
QFileInfo fi = dbg.toFileInfo(); QFileInfo fi = dbg.toFileInfo();
if (!fi.exists() || fi.isDir()) if (!fi.exists() || fi.isDir())
result << Task(Task::Error, tr("Debugger not found."), FileName(), -1, result << Task(Task::Error, tr("Debugger not found."), FileName(), -1, id);
Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM));
else if (!fi.isExecutable()) else if (!fi.isExecutable())
result << Task(Task::Error, tr("Debugger not exectutable."), FileName(), -1, result << Task(Task::Error, tr("Debugger not exectutable."), FileName(), -1, id);
Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM));
if (ToolChain *tc = ToolChainProfileInformation::toolChain(p)) {
// We need an absolute path to be able to locate Python on Windows.
const Abi abi = tc->targetAbi();
if (abi.os() == Abi::WindowsOS && !fi.isAbsolute()) {
result << Task(Task::Error, tr("The debugger location must be given as an "
"absolute path (%1).").arg(dbg.toString()), FileName(), -1, id);
}
// FIXME: Make sure debugger matches toolchain.
// if (isCdb()) {
// if (abi.binaryFormat() != Abi::PEFormat || abi.os() != Abi::WindowsOS) {
// result << Task(Tas->errorDetails.push_back(CdbEngine::tr("The CDB debug engine does not support the %1 ABI.").
// arg(abi.toString()));
// return false;
// }
// }
}
return result; return result;
} }

View File

@@ -49,16 +49,6 @@
#include <QDomDocument> #include <QDomDocument>
/*
TRANSLATOR ResourceEditor::ResourceModel
*/
static QString msgFileNameEmpty()
{
return QCoreApplication::translate("Designer", "The file name is empty.");
}
using namespace ResourceEditor; using namespace ResourceEditor;
using namespace ResourceEditor::Internal; using namespace ResourceEditor::Internal;
@@ -126,7 +116,7 @@ bool ResourceFile::load()
m_error_message.clear(); m_error_message.clear();
if (m_file_name.isEmpty()) { if (m_file_name.isEmpty()) {
m_error_message = msgFileNameEmpty(); m_error_message = tr("The file name is empty.");
return false; return false;
} }
@@ -143,14 +133,14 @@ bool ResourceFile::load()
QString error_msg; QString error_msg;
int error_line, error_col; int error_line, error_col;
if (!doc.setContent(&file, &error_msg, &error_line, &error_col)) { if (!doc.setContent(&file, &error_msg, &error_line, &error_col)) {
m_error_message = QCoreApplication::translate("Designer", "XML error on line %1, col %2: %3") m_error_message = tr("XML error on line %1, col %2: %3")
.arg(error_line).arg(error_col).arg(error_msg); .arg(error_line).arg(error_col).arg(error_msg);
return false; return false;
} }
QDomElement root = doc.firstChildElement(QLatin1String("RCC")); QDomElement root = doc.firstChildElement(QLatin1String("RCC"));
if (root.isNull()) { if (root.isNull()) {
m_error_message = QCoreApplication::translate("Designer", "The <RCC> root element is missing."); m_error_message = tr("The <RCC> root element is missing.");
return false; return false;
} }
@@ -189,7 +179,7 @@ bool ResourceFile::save()
m_error_message.clear(); m_error_message.clear();
if (m_file_name.isEmpty()) { if (m_file_name.isEmpty()) {
m_error_message = msgFileNameEmpty(); m_error_message = tr("The file name is empty.");
return false; return false;
} }
@@ -238,7 +228,7 @@ bool ResourceFile::save()
#if QT_VERSION >= QT_VERSION_CHECK(4, 8, 0) #if QT_VERSION >= QT_VERSION_CHECK(4, 8, 0)
stream.flush(); stream.flush();
if (stream.status() != QTextStream::Ok) { if (stream.status() != QTextStream::Ok) {
m_error_message = QCoreApplication::translate("Designer", "Cannot write file. Disk full?"); m_error_message = tr("Cannot write file. Disk full?");
return false; return false;
} }
#endif #endif

View File

@@ -32,6 +32,7 @@
#define RESOURCEFILE_P_H #define RESOURCEFILE_P_H
#include <QAbstractItemModel> #include <QAbstractItemModel>
#include <QCoreApplication>
#include <QMap> #include <QMap>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
@@ -123,6 +124,7 @@ typedef QList<Prefix *> PrefixList;
*/ */
class ResourceFile class ResourceFile
{ {
Q_DECLARE_TR_FUNCTIONS(ResourceFile)
public: public:
ResourceFile(const QString &file_name = QString()); ResourceFile(const QString &file_name = QString());
~ResourceFile(); ~ResourceFile();