...
 
Commits (16)
......@@ -103,7 +103,7 @@
\o \l{Keyboard Shortcuts}
\o \l{Known Issues}
\o \l{Glossary}
\o \l{Acknowledgements}
\o \l{Acknowledgments}
\endlist
*/
......@@ -6379,7 +6379,7 @@
\contentspage index.html
\previouspage creator-known-issues.html
\page creator-glossary.html
\nextpage creator-acknowledgements.html
\nextpage creator-acknowledgments.html
\title Glossary
......@@ -6521,9 +6521,9 @@
/*!
\contentspage index.html
\previouspage creator-glossary.html
\page creator-acknowledgements.html
\page creator-acknowledgments.html
\title Acknowledgements
\title Acknowledgments
\section1 Third-party Components
......
......@@ -911,6 +911,7 @@ class FrameCommand(gdb.Command):
if pos != -1:
type = base64.b16decode(f[0:pos], True)
typeformats[type] = int(f[pos+1:])
typeformats["const " + type] = int(f[pos+1:])
elif arg.startswith("formats:"):
for f in arg[pos:].split(","):
pos = f.find("=")
......@@ -1049,7 +1050,21 @@ class FrameCommand(gdb.Command):
#listOfBreakpoints(d)
#print('data=[' + locals + sep + watchers + '],bkpts=[' + breakpoints + ']\n')
print('data=[' + d.output + ']')
output = 'data=[' + d.output + ']'
try:
print(output)
except:
out = ""
for c in output:
cc = ord(c)
if cc > 127:
out += "\\\\%d" % cc
elif cc < 0:
out += "\\\\%d" % (cc + 256)
else:
out += c
print(out)
def handleWatch(self, d, exp, iname):
......
......@@ -5956,19 +5956,19 @@ on slow machines. In this case, the value should be increased.</source>
</message>
<message>
<source>Undo Unstaged Changes</source>
<translation>Änderungen in &quot;%1&quot; rückgängig machen</translation>
<translation>Nicht bereitgestellte Änderungen rückgängig machen</translation>
</message>
<message>
<source>Undo Unstaged Changes for &quot;%1&quot;</source>
<translation>Änderungen in &quot;%1&quot; rückgängig machen</translation>
<translation>Nicht bereitgestellte Änderungen in &quot;%1&quot; rückgängig machen</translation>
</message>
<message>
<source>Undo Uncommitted Changes</source>
<translation>Änderungen in &quot;%1&quot; rückgängig machen</translation>
<translation>Nicht eingetragene Änderungen rückgängig machen</translation>
</message>
<message>
<source>Undo Uncommitted Changes for &quot;%1&quot;</source>
<translation>Änderungen in &quot;%1&quot; rückgängig machen</translation>
<translation>Nicht eingetragene Änderungen in &quot;%1&quot; rückgängig machen</translation>
</message>
<message>
<source>Clean Project...</source>
......
......@@ -4622,7 +4622,7 @@ Vous pouvez décider entre attendre plus longtemps ou mettre fin au débogage.</
</message>
<message>
<source>Load Symbols for All Modules</source>
<translation>Charger les symboles pour tout les modules</translation>
<translation>Charger les symboles pour tous les modules</translation>
</message>
<message>
<source>Load Symbols for Module</source>
......@@ -4674,7 +4674,7 @@ Vous pouvez décider entre attendre plus longtemps ou mettre fin au débogage.</
</message>
<message>
<source>Load symbols for all modules</source>
<translation type="obsolete">Charger les symboles pour tout les modules</translation>
<translation type="obsolete">Charger les symboles pour tous les modules</translation>
</message>
<message>
<source>Load symbols for module</source>
......@@ -9168,7 +9168,7 @@ francis : voila une nouvelle suggestion :)</translatorcomment>
<message>
<source>All Projects</source>
<translatorcomment>lower &quot;t&quot; at the beginning because this is indented after &quot;Rechercher dans...&quot;</translatorcomment>
<translation>tout les projets</translation>
<translation>tous les projets</translation>
</message>
<message>
<source>File &amp;pattern:</source>
......@@ -9937,7 +9937,7 @@ No project selected</extracomment>
</message>
<message>
<source>Close All Projects</source>
<translation>Fermer tout les projets</translation>
<translation>Fermer tous les projets</translation>
</message>
<message>
<source>Session</source>
......
This diff is collapsed.
include(../../../qtcreator.pri)
LANGUAGES = de ja pl ru zh_CN
LANGUAGES = de ja pl ru uk zh_CN
#LANGUAGES = cs es fr hu it sl
# var, prepend, append
......
......@@ -719,16 +719,20 @@ void HelpPlugin::activateContext()
viewer->stop();
#endif
viewer->setSource(source);
}
viewer->setFocus();
connect(viewer, SIGNAL(loadFinished(bool)), this,
SLOT(highlightSearchTerms()));
connect(viewer, SIGNAL(loadFinished(bool)), this,
SLOT(highlightSearchTerms()));
if (source.toString().remove(source.fragment())
== oldSource.toString().remove(oldSource.fragment())) {
highlightSearchTerms();
if (source.toString().remove(source.fragment())
== oldSource.toString().remove(oldSource.fragment())) {
highlightSearchTerms();
}
} else {
#if !defined(QT_NO_WEBKIT)
viewer->page()->mainFrame()->scrollToAnchor(source.fragment());
#endif
}
}
viewer->setFocus();
}
}
......@@ -866,7 +870,7 @@ void HelpPlugin::highlightSearchTerms()
if (attrValue == name || name.startsWith(attrValue + QLatin1Char('-'))) {
QWebElement parent = element.parent();
m_styleProperty = parent.styleProperty(property,
QWebElement::InlineStyle);
QWebElement::ComputedStyle);
parent.setStyleProperty(property, QLatin1String("yellow"));
}
}
......
......@@ -106,7 +106,7 @@ void CustomDragAndDropIcon::mouseMoveEvent(QMouseEvent *event)
else {
move(-1000, -1000); //if no top level widget is found we are out of the main window
}
QWidget* target = QApplication::widgetAt(globalPos - QPoint(2,2)); //-(2, 2) because:
QWidget* target = QApplication::widgetAt(globalPos - QPoint(3,3)); //-(3, 3) because:
// otherwise we just get this widget
if (target != m_oldTarget) {
if (CustomDragAndDrop::isAccepted())
......
......@@ -157,8 +157,14 @@ void GettingStartedWelcomePageWidget::updateCppExamples(const QString &examplePa
QString fileName = examplePath + relativeProPath;
if (!QFile::exists(fileName))
fileName = sourcePath + QLatin1String("/examples") + relativeProPath;
if (!QFile::exists(fileName)) {
continue; // might be .qmlproject
}
QString dirName1 = dirName;
dirName1.replace(slash, QLatin1Char('-'));
QString helpPath = QLatin1String("qthelp://com.trolltech.qt/qdoc/") +
dirName.replace(slash, QLatin1Char('-')) +
dirName1 +
QLatin1Char('-') + fn + QLatin1String(".html");
QAction *exampleAction = subMenu->addAction(name);
......@@ -176,6 +182,15 @@ void GettingStartedWelcomePageWidget::updateCppExamples(const QString &examplePa
break;
}
}
// Remove empty categories
foreach (QAction *action, menu->actions()) {
if (QMenu *subMenu = action->menu()) {
if (subMenu->isEmpty()) {
menu->removeAction(action);
}
}
}
}
void GettingStartedWelcomePageWidget::updateQmlExamples(const QString &examplePath,
......@@ -406,7 +421,7 @@ QStringList GettingStartedWelcomePageWidget::tipsOfTheDay()
"<ul><li>1 - Build Issues</li><li>2 - Search Results</li><li>3 - Application Output</li>"
"<li>4 - Compile Output</li></ul>").arg(altShortcut));
tips.append(tr("You can quickly search methods, classes, help and more using the "
"<a href=\"qthelp://com.nokia.qtcreator/doc/creator-navigation.html\">Locator bar</a> (<tt>%1+K</tt>).").arg(ctrlShortcut));
"<a href=\"qthelp://com.nokia.qtcreator/doc/creator-editor-locator.html\">Locator bar</a> (<tt>%1+K</tt>).").arg(ctrlShortcut));
tips.append(tr("You can add custom build steps in the "
"<a href=\"qthelp://com.nokia.qtcreator/doc/creator-build-settings.html\">build settings</a>."));
tips.append(tr("Within a session, you can add "
......
......@@ -1451,35 +1451,15 @@ void QtVersion::updateToolChainAndMkspec() const
else if (value == "build_all")
m_defaultConfigIsDebugAndRelease = true;
}
// Is this actually a simulator Qt?
if (configValues.contains(QLatin1String("simulator"))) {
m_targetIds.clear();
m_targetIds.insert(QLatin1String(Constants::QT_SIMULATOR_TARGET_ID));
}
delete reader;
ProFileCacheManager::instance()->decRefCount();
m_toolChainUpToDate = true;
// Check qconfig.h for QT_SIMULATOR define on desktop builds and switch the
// Qt version to Qt simulator target:
if (m_targetIds.contains(Constants::DESKTOP_TARGET_ID)) {
QString path(headerInstallPath());
path.append(QLatin1String("/Qt/qconfig.h"));
QFile qconfig(path);
if (!qconfig.exists())
return;
qconfig.open(QIODevice::ReadOnly);
QTextStream stream(&qconfig);
QString line;
bool isSimulator = false;
while (!(line = stream.readLine()).isNull()) {
if (line.startsWith(QLatin1String("#define QT_SIMULATOR"))) {
isSimulator = true;
break;
}
}
qconfig.close();
if (isSimulator) {
m_targetIds.remove(QLatin1String(Constants::DESKTOP_TARGET_ID));
m_targetIds.insert(QLatin1String(Constants::QT_SIMULATOR_TARGET_ID));
}
}
}
QString QtVersion::mwcDirectory() const
......
......@@ -165,8 +165,8 @@ bool BaseTextDocument::save(const QString &fileName)
// When saving the current editor, make sure to maintain the cursor position for undo
Core::IEditor *currentEditor = Core::EditorManager::instance()->currentEditor();
if (BaseTextEditorEditable *editable = qobject_cast<BaseTextEditorEditable*>(currentEditor)) {
if (editable->file() == this)
cursor = editable->editor()->textCursor();
if (editable->file() == this)
cursor.setPosition(editable->editor()->textCursor().position());
}
cursor.beginEditBlock();
......@@ -373,6 +373,7 @@ void BaseTextDocument::cleanWhitespace(const QTextCursor &cursor)
{
bool hasSelection = cursor.hasSelection();
QTextCursor copyCursor = cursor;
copyCursor.setVisualNavigation(false);
copyCursor.beginEditBlock();
cleanWhitespace(copyCursor, true, true);
if (!hasSelection)
......@@ -383,6 +384,7 @@ void BaseTextDocument::cleanWhitespace(const QTextCursor &cursor)
void BaseTextDocument::cleanWhitespace(QTextCursor &cursor, bool cleanIndentation, bool inEntireDocument)
{
BaseTextDocumentLayout *documentLayout = qobject_cast<BaseTextDocumentLayout*>(m_document->documentLayout());
Q_ASSERT(cursor.visualNavigation() == false);
QTextBlock block = m_document->findBlock(cursor.selectionStart());
QTextBlock end;
......
......@@ -175,6 +175,9 @@ void TextBlockUserData::doCollapse(const QTextBlock& block, bool visible)
return;
}
if (!visible && !cursor.block().next().isValid())
return; // WORKAROUND for a QPlainTextEdit bug, we cannot collapse at the very end, would crash
QTextBlock b = block.next();
while (b < cursor.block()) {
b.setVisible(visible);
......
......@@ -1451,6 +1451,8 @@ void BaseTextEditor::setTextCursor(const QTextCursor &cursor)
QTextCursor c = cursor;
c.setVisualNavigation(true);
QPlainTextEdit::setTextCursor(c);
if (!c.block().isVisible())
expand();
if (selectionChange)
slotSelectionChanged();
}
......@@ -3238,7 +3240,7 @@ void BaseTextEditor::updateCurrentLineHighlight()
if (block.isValid())
d->m_extraArea->update(blockBoundingGeometry(block).translated(offset).toAlignedRect());
block = document()->findBlockByNumber(cursorBlockNumber);
if (block.isValid())
if (block.isValid() && block.isVisible())
d->m_extraArea->update(blockBoundingGeometry(block).translated(offset).toAlignedRect());
d->m_cursorBlockNumber = cursorBlockNumber;
}
......