From 95617ff971dd95e657cdbc5e633277a52e49fb5a Mon Sep 17 00:00:00 2001 From: Robert Loehning Date: Mon, 24 Jul 2017 14:01:26 +0200 Subject: [PATCH 01/55] Qmake: Remove dead code Change-Id: If28fb24a47a462b5c79ff22ded515d14c010ce72 Reviewed-by: Tobias Hunger --- src/plugins/qmakeprojectmanager/makefileparse.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/plugins/qmakeprojectmanager/makefileparse.cpp b/src/plugins/qmakeprojectmanager/makefileparse.cpp index aea591e5abd..358fb05bc99 100644 --- a/src/plugins/qmakeprojectmanager/makefileparse.cpp +++ b/src/plugins/qmakeprojectmanager/makefileparse.cpp @@ -244,7 +244,6 @@ void MakeFileParse::parseAssignments(QList *assignments) static FileName findQMakeBinaryFromMakefile(const QString &makefile) { - bool debugAdding = false; QFile fi(makefile); if (fi.exists() && fi.open(QFile::ReadOnly)) { QTextStream ts(&fi); @@ -252,8 +251,6 @@ static FileName findQMakeBinaryFromMakefile(const QString &makefile) while (!ts.atEnd()) { QString line = ts.readLine(); if (r1.exactMatch(line)) { - if (debugAdding) - qDebug()<<"#~~ QMAKE is:"< Date: Tue, 25 Jul 2017 12:32:45 +0200 Subject: [PATCH 02/55] TextEditor: Use member initialization in TextEditorFactoryPrivate Change-Id: I97a077a922208545b5a6c7dc07c4de667fa0d833 Reviewed-by: Christian Stenger --- src/plugins/texteditor/texteditor.cpp | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp index 120e43f46ca..bb58b6659c1 100644 --- a/src/plugins/texteditor/texteditor.cpp +++ b/src/plugins/texteditor/texteditor.cpp @@ -8136,13 +8136,7 @@ public: TextEditorFactoryPrivate(TextEditorFactory *parent) : q(parent), m_widgetCreator([]() { return new TextEditorWidget; }), - m_editorCreator([]() { return new BaseTextEditor; }), - m_completionAssistProvider(0), - m_useGenericHighlighter(false), - m_duplicatedSupported(true), - m_codeFoldingSupported(false), - m_paranthesesMatchinEnabled(false), - m_marksVisible(false) + m_editorCreator([]() { return new BaseTextEditor; }) {} BaseTextEditor *duplicateTextEditor(BaseTextEditor *other) @@ -8163,12 +8157,12 @@ public: TextEditorFactory::SyntaxHighLighterCreator m_syntaxHighlighterCreator; CommentDefinition m_commentDefinition; QList m_hoverHandlers; // owned - CompletionAssistProvider * m_completionAssistProvider; // owned - bool m_useGenericHighlighter; - bool m_duplicatedSupported; - bool m_codeFoldingSupported; - bool m_paranthesesMatchinEnabled; - bool m_marksVisible; + CompletionAssistProvider * m_completionAssistProvider = nullptr; // owned + bool m_useGenericHighlighter = false; + bool m_duplicatedSupported = true; + bool m_codeFoldingSupported = false; + bool m_paranthesesMatchinEnabled = false; + bool m_marksVisible = false; }; } /// namespace Internal From 5294c68c98037ece64b13e1b262c30f0ce8fd3e4 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Fri, 21 Jul 2017 14:31:21 +0200 Subject: [PATCH 03/55] TextEditor: Add display settings page link to annotation tool tips Change-Id: I453127693dd1e0b30918333ac6866ac2fca4baa6 Reviewed-by: Christian Stenger --- .../clangeditordocumentprocessor.cpp | 4 ++ src/plugins/texteditor/displaysettings.cpp | 18 +++++++- src/plugins/texteditor/displaysettings.h | 3 ++ src/plugins/texteditor/texteditor.cpp | 45 ++++++++++--------- 4 files changed, 48 insertions(+), 22 deletions(-) diff --git a/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp b/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp index 6b0f995ecea..e29f72ae9ef 100644 --- a/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp +++ b/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp @@ -47,6 +47,7 @@ #include #include +#include #include #include #include @@ -274,6 +275,9 @@ void ClangEditorDocumentProcessor::addDiagnosticToolTipToLayout(uint line, = m_diagnosticManager.diagnosticsAt(line, column); target->addWidget(ClangDiagnosticWidget::create(diagnostics, ClangDiagnosticWidget::ToolTip)); + auto link = TextEditor::DisplaySettings::createAnnotationSettingsLink(); + target->addWidget(link); + target->setAlignment(link, Qt::AlignRight); } void ClangEditorDocumentProcessor::editorDocumentTimerRestarted() diff --git a/src/plugins/texteditor/displaysettings.cpp b/src/plugins/texteditor/displaysettings.cpp index 3d2eb5c084f..410283a7f6e 100644 --- a/src/plugins/texteditor/displaysettings.cpp +++ b/src/plugins/texteditor/displaysettings.cpp @@ -25,6 +25,12 @@ #include "displaysettings.h" +#include "texteditorconstants.h" + +#include +#include + +#include #include #include @@ -131,7 +137,17 @@ bool DisplaySettings::equals(const DisplaySettings &ds) const && m_displayAnnotations == ds.m_displayAnnotations && m_annotationAlignment == ds.m_annotationAlignment && m_minimalAnnotationContent == ds.m_minimalAnnotationContent - ; + ; +} + +QLabel *DisplaySettings::createAnnotationSettingsLink() +{ + auto *label = new QLabel("Annotation Settings", Core::ICore::mainWindow()); + QObject::connect(label, &QLabel::linkActivated, []() { + Utils::ToolTip::hideImmediately(); + Core::ICore::showOptionsDialog(Constants::TEXT_EDITOR_DISPLAY_SETTINGS); + }); + return label; } } // namespace TextEditor diff --git a/src/plugins/texteditor/displaysettings.h b/src/plugins/texteditor/displaysettings.h index 326f9aad069..41cebc0c6a3 100644 --- a/src/plugins/texteditor/displaysettings.h +++ b/src/plugins/texteditor/displaysettings.h @@ -31,6 +31,7 @@ QT_BEGIN_NAMESPACE class QSettings; +class QLabel; QT_END_NAMESPACE namespace TextEditor { @@ -72,6 +73,8 @@ public: int m_minimalAnnotationContent = 15; bool equals(const DisplaySettings &ds) const; + + static QLabel *createAnnotationSettingsLink(); }; inline bool operator==(const DisplaySettings &t1, const DisplaySettings &t2) { return t1.equals(t2); } diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp index bb58b6659c1..d2990d1f2ac 100644 --- a/src/plugins/texteditor/texteditor.cpp +++ b/src/plugins/texteditor/texteditor.cpp @@ -46,6 +46,7 @@ #include "tabsettings.h" #include "textdocument.h" #include "textdocumentlayout.h" +#include "texteditorconstants.h" #include "texteditoroverlay.h" #include "refactoroverlay.h" #include "texteditorsettings.h" @@ -3291,30 +3292,32 @@ bool TextEditorWidgetPrivate::processAnnotaionTooltipRequest(const QTextBlock &b return false; for (const AnnotationRect &annotationRect : m_annotationRects[block.blockNumber()]) { - if (annotationRect.rect.contains(pos)) { - auto layout = new QGridLayout; - layout->setContentsMargins(0, 0, 0, 0); - layout->setSpacing(2); - annotationRect.mark->addToToolTipLayout(layout); - TextMarks marks = blockUserData->marks(); - if (marks.size() > 1) { - QFrame* separator = new QFrame(); - separator->setFrameShape(QFrame::HLine); - layout->addWidget(separator, 2, 0, 1, layout->columnCount()); - layout->addWidget(new QLabel(tr("Other annotations:")), 3, 0, 1, - layout->columnCount()); + if (!annotationRect.rect.contains(pos)) + continue; - Utils::sort(marks, [](const TextMark* mark1, const TextMark* mark2){ - return mark1->priority() > mark2->priority(); - }); - for (const TextMark *mark : Utils::asConst(marks)) { - if (mark != annotationRect.mark) - mark->addToToolTipLayout(layout); - } + auto layout = new QGridLayout; + layout->setContentsMargins(0, 0, 0, 0); + layout->setSpacing(2); + annotationRect.mark->addToToolTipLayout(layout); + TextMarks marks = blockUserData->marks(); + if (marks.size() > 1) { + QFrame* separator = new QFrame(); + separator->setFrameShape(QFrame::HLine); + layout->addWidget(separator, layout->rowCount(), 0, 1, -1); + layout->addWidget(new QLabel(tr("Other annotations:")), layout->rowCount(), 0, 1, -1); + + Utils::sort(marks, [](const TextMark* mark1, const TextMark* mark2){ + return mark1->priority() > mark2->priority(); + }); + for (const TextMark *mark : Utils::asConst(marks)) { + if (mark != annotationRect.mark) + mark->addToToolTipLayout(layout); } - ToolTip::show(q->mapToGlobal(pos), layout, q); - return true; } + layout->addWidget(DisplaySettings::createAnnotationSettingsLink(), + layout->rowCount(), 0, 1, -1, Qt::AlignRight); + ToolTip::show(q->mapToGlobal(pos), layout, q); + return true; } return false; } From 8db91e822b9831e0b08cd8b52e78973af11dbcbf Mon Sep 17 00:00:00 2001 From: Vikas Pachdha Date: Tue, 25 Jul 2017 12:36:18 +0200 Subject: [PATCH 04/55] iOS: Skip simulator rename for empty input Task-number: QTCREATORBUG-18629 Change-Id: I47ebb8b9046dda904e22612818f597e0ec7416db Reviewed-by: Eike Ziller --- src/plugins/ios/iossettingswidget.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/plugins/ios/iossettingswidget.cpp b/src/plugins/ios/iossettingswidget.cpp index 8e3ff464e7b..398b555d5d4 100644 --- a/src/plugins/ios/iossettingswidget.cpp +++ b/src/plugins/ios/iossettingswidget.cpp @@ -218,6 +218,8 @@ void IosSettingsWidget::onRename() const SimulatorInfo &simInfo = simulatorInfoList.at(0); const QString newName = QInputDialog::getText(this, tr("Rename %1").arg(simInfo.name), tr("Enter new name:")); + if (newName.isEmpty()) + return; QPointer statusDialog = new SimulatorOperationDialog(this); statusDialog->setAttribute(Qt::WA_DeleteOnClose); From 0332a8c173c0d4bc7f8a0429772cac9d7ce24076 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Fri, 21 Jul 2017 09:26:50 +0200 Subject: [PATCH 05/55] ProjectExplorer: Simplify TaskMark constructor Change-Id: I8ba0e8451772eff605961e0d9aff15f535c12566 Reviewed-by: Tobias Hunger --- src/plugins/projectexplorer/taskhub.cpp | 31 +++++++++++-------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/src/plugins/projectexplorer/taskhub.cpp b/src/plugins/projectexplorer/taskhub.cpp index 699295af844..fe29a4ca60c 100644 --- a/src/plugins/projectexplorer/taskhub.cpp +++ b/src/plugins/projectexplorer/taskhub.cpp @@ -59,18 +59,19 @@ static Core::Id categoryForType(Task::TaskType type) class TaskMark : public TextEditor::TextMark { public: - TaskMark(unsigned int id, const QString &fileName, int lineNumber, - Task::TaskType type, bool visible) : - TextMark(fileName, lineNumber, categoryForType(type)), - m_id(id) + TaskMark(const Task &task) : + TextMark(task.file.toString(), task.line, categoryForType(task.type)), + m_id(task.taskId) { - setColor(type == Task::Error ? Utils::Theme::ProjectExplorer_TaskError_TextMarkColor - : Utils::Theme::ProjectExplorer_TaskWarn_TextMarkColor); - setDefaultToolTip(type == Task::Error ? QApplication::translate("TaskHub", "Error") - : QApplication::translate("TaskHub", "Warning")); - setPriority(type == Task::Error ? TextEditor::TextMark::NormalPriority - : TextEditor::TextMark::LowPriority); - setVisible(visible); + setColor(task.type == Task::Error ? Utils::Theme::ProjectExplorer_TaskError_TextMarkColor + : Utils::Theme::ProjectExplorer_TaskWarn_TextMarkColor); + setDefaultToolTip(task.type == Task::Error ? QApplication::translate("TaskHub", "Error") + : QApplication::translate("TaskHub", "Warning")); + setPriority(task.type == Task::Error ? TextEditor::TextMark::NormalPriority + : TextEditor::TextMark::LowPriority); + setToolTip(task.description); + setIcon(task.icon); + setVisible(!task.icon.isNull()); } bool isClickable() const; @@ -151,12 +152,8 @@ void TaskHub::addTask(Task task) task.line = -1; task.movedLine = task.line; - if (task.line != -1) { - auto mark = new TaskMark(task.taskId, task.file.toString(), task.line, task.type, !task.icon.isNull()); - mark->setToolTip(task.description); - mark->setIcon(task.icon); - task.setMark(mark); - } + if (task.line != -1) + task.setMark(new TaskMark(task)); emit m_instance->taskAdded(task); } From 574b9913109554e7f581c52e56c4615f57a658b5 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Mon, 16 Jan 2017 14:48:57 +0200 Subject: [PATCH 06/55] GenericHighlighter: Update from KSyntaxHighlighting Mostly whitespace cleanup. Change-Id: Ife5831b23d5ee7406ece839f2c1061c9364ac4ad Reviewed-by: David Schulz --- .../3rdparty/generic-highlighter/alert.xml | 74 +- .../3rdparty/generic-highlighter/bash.xml | 845 +- .../3rdparty/generic-highlighter/cmake.xml | 2026 ++--- .../3rdparty/generic-highlighter/css.xml | 1666 ++-- .../3rdparty/generic-highlighter/doxygen.xml | 363 +- .../3rdparty/generic-highlighter/java.xml | 7480 ++++++++--------- .../3rdparty/generic-highlighter/makefile.xml | 190 +- .../3rdparty/generic-highlighter/perl.xml | 162 +- .../3rdparty/generic-highlighter/ruby.xml | 244 +- .../3rdparty/generic-highlighter/xml.xml | 2 +- 10 files changed, 6499 insertions(+), 6553 deletions(-) diff --git a/src/share/3rdparty/generic-highlighter/alert.xml b/src/share/3rdparty/generic-highlighter/alert.xml index 942983ac371..ec881f15032 100644 --- a/src/share/3rdparty/generic-highlighter/alert.xml +++ b/src/share/3rdparty/generic-highlighter/alert.xml @@ -1,68 +1,38 @@ - -