From 1a34bb749d25ebb09794562310a740ccc8d86e41 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Wed, 14 Jul 2010 11:43:28 +0200 Subject: [PATCH 1/8] Doc - Add descriptions for new Maemo packaging options. Reviewed-by: Christian Kandeler --- doc/images/qtcreator-maemo-deb-package.png | Bin 16057 -> 13252 bytes doc/qtcreator.qdoc | 21 +++++++++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/doc/images/qtcreator-maemo-deb-package.png b/doc/images/qtcreator-maemo-deb-package.png index 11beaa83687a7faf5f3e9155ab9ccf1cacd519f9..9003b6b7f700e7e30952e91e9dca96daab9ba881 100644 GIT binary patch literal 13252 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 DtQ$^V literal 16057 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 Y`FVdQ&MBb@08yKf>;M1& diff --git a/doc/qtcreator.qdoc b/doc/qtcreator.qdoc index b97620bff0e..d57a8e68385 100644 --- a/doc/qtcreator.qdoc +++ b/doc/qtcreator.qdoc @@ -2147,7 +2147,8 @@ build the application. Qt Creator generates an installation package, installs in on the device, - and executes it. The application views are displayed on the Nokia N900. + and executes it. You can skip the packaging step to save some time. + The application views are displayed on the Nokia N900. Command-line output is visible in the Qt Creator \gui {Application Output} view. @@ -2156,13 +2157,21 @@ \section2 Creating Installation Packages When you build the application for the \gui{Maemo} target, Qt - Creator automatically generates a debian installation package - in the project folder. You can deliver the installation package to + Creator generates a debian installation package + in the project folder by default. You can deliver the installation package to users for installation on Maemo devices. - You can add other files to the installation package in the - \gui {Create package} step in the build configuration. Add files - to the \gui {Package contents} field. In \gui {Local File Path}, + The name of the installation package is displayed in the \gui {Create Package} + field. You can change the version number in the \gui {Version number} field. + + When you test your application on a device or the Maemo emulator, you can + save some time by installing the built files directly on the connected device + without packaging. Select the \gui {Skip packaging step} check box in the + \gui {Create Package} step in the \gui {Build Settings}. + + You can add other files to the installed files in the + \gui {Create Package} step, the \gui {Package contents} field. In + \gui {Local File Path}, specify the location of the file on the development PC. In \gui {Remote File Path}, specify the folder to install the file on the device. From ec223d687e0a518681c88dd0c300896a9b19b56e Mon Sep 17 00:00:00 2001 From: con Date: Wed, 14 Jul 2010 15:35:41 +0200 Subject: [PATCH 2/8] Update changes file. --- dist/changes-2.1.0 | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/dist/changes-2.1.0 b/dist/changes-2.1.0 index 4f712c24741..3ebced02344 100644 --- a/dist/changes-2.1.0 +++ b/dist/changes-2.1.0 @@ -8,23 +8,27 @@ git clone git://gitorious.org/qt-creator/qt-creator.git git log --cherry-pick --pretty=oneline v2.0.0...v2.1.0 General + * Fix the suggested path in the new dialog in case of sub projects + * Search dialog now opens the completion box for the search term on cursor down Editing - - * FakeVim: Fix issues with non-letter keys on non-US keyboards - * FakeVim: Fix performance of find/replace + * FakeVim: Fix issues with non-letter keys on non-US keyboards + * FakeVim: Fix performance of find/replace + * Fixed disabled "Open with" context menu in project tree. C++ Support Project support + * Fix auto-scrolling in application and compile output Debugging - * Fix display of certain structures within containers * Fix display of typedefs of typedefs of simple types such as qulonglong * Fix behaviour of 'step' and 'next' when a lower frame was selected * Fix std::string display for objects with (the legal) ref count -1 * Improve gdb version string parsing + * Fix that the newest version of compiled debugging helper was not used + if there was an older version still was around in a different search path QML/JS Support * New QmlDesigner @@ -39,6 +43,7 @@ Mac Linux (GNOME and KDE) Windows + * Fixed that some menu items got disabled during keyboard navigation Additional credits go to: From b61c37691497c3fb6c554122475138c302ba44ad Mon Sep 17 00:00:00 2001 From: mae Date: Wed, 14 Jul 2010 18:48:36 +0200 Subject: [PATCH 3/8] Fix findScope performance issue Fixes the performance of large find scope selections. Try Ctrl+A Ctrl+F in a large file and scroll. --- src/plugins/texteditor/texteditoroverlay.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/plugins/texteditor/texteditoroverlay.cpp b/src/plugins/texteditor/texteditoroverlay.cpp index 331e449955e..20d38fae38a 100644 --- a/src/plugins/texteditor/texteditoroverlay.cpp +++ b/src/plugins/texteditor/texteditoroverlay.cpp @@ -138,6 +138,9 @@ QPainterPath TextEditorOverlay::createSelectionPath(const QTextCursor &begin, co QTextBlock block = begin.block(); + if (block.blockNumber() < m_editor->firstVisibleBlock().blockNumber() - 4) + block = m_editor->document()->findBlockByNumber(m_editor->firstVisibleBlock().blockNumber() - 4); + bool inSelection = false; QVector selection; From 6fdfc6596d879a32492e1b05ac86a1be0f2fdca9 Mon Sep 17 00:00:00 2001 From: dt Date: Fri, 2 Jul 2010 14:19:13 +0200 Subject: [PATCH 4/8] Add more signals to BuildManager. Enabling other plugins to know which tasks currently exist. --- src/plugins/projectexplorer/buildmanager.cpp | 4 ++++ src/plugins/projectexplorer/buildmanager.h | 2 ++ src/plugins/projectexplorer/taskwindow.cpp | 1 + src/plugins/projectexplorer/taskwindow.h | 1 + 4 files changed, 8 insertions(+) diff --git a/src/plugins/projectexplorer/buildmanager.cpp b/src/plugins/projectexplorer/buildmanager.cpp index 272e38e0bed..099839052d1 100644 --- a/src/plugins/projectexplorer/buildmanager.cpp +++ b/src/plugins/projectexplorer/buildmanager.cpp @@ -100,6 +100,9 @@ BuildManager::BuildManager(ProjectExplorerPlugin *parent) connect(m_taskWindow, SIGNAL(tasksChanged()), this, SLOT(updateTaskCount())); + connect(m_taskWindow, SIGNAL(tasksCleared()), + this,SIGNAL(tasksCleared())); + connect(&m_progressWatcher, SIGNAL(canceled()), this, SLOT(cancel())); connect(&m_progressWatcher, SIGNAL(finished()), @@ -283,6 +286,7 @@ void BuildManager::showBuildResults() void BuildManager::addToTaskWindow(const ProjectExplorer::Task &task) { m_taskWindow->addTask(task); + emit taskAdded(task); } void BuildManager::addToOutputWindow(const QString &string, const QTextCharFormat &format) diff --git a/src/plugins/projectexplorer/buildmanager.h b/src/plugins/projectexplorer/buildmanager.h index 648790b0f02..9332a58c279 100644 --- a/src/plugins/projectexplorer/buildmanager.h +++ b/src/plugins/projectexplorer/buildmanager.h @@ -92,6 +92,8 @@ signals: void buildStateChanged(ProjectExplorer::Project *pro); void buildQueueFinished(bool success); void tasksChanged(); + void taskAdded(const ProjectExplorer::Task &task); + void tasksCleared(); private slots: void addToTaskWindow(const ProjectExplorer::Task &task); diff --git a/src/plugins/projectexplorer/taskwindow.cpp b/src/plugins/projectexplorer/taskwindow.cpp index d01dd1a87d8..5f5193a05ab 100644 --- a/src/plugins/projectexplorer/taskwindow.cpp +++ b/src/plugins/projectexplorer/taskwindow.cpp @@ -591,6 +591,7 @@ void TaskWindow::clearTasks(const QString &categoryId) updateActions(); emit tasksChanged(); + emit tasksCleared(); navigateStateChanged(); } diff --git a/src/plugins/projectexplorer/taskwindow.h b/src/plugins/projectexplorer/taskwindow.h index 7c8d6101b6b..05dbab15704 100644 --- a/src/plugins/projectexplorer/taskwindow.h +++ b/src/plugins/projectexplorer/taskwindow.h @@ -129,6 +129,7 @@ public: signals: void tasksChanged(); + void tasksCleared(); private slots: void showTaskInFile(const QModelIndex &index); From 8685dff36634cf9001875c112919b0438af9e5b8 Mon Sep 17 00:00:00 2001 From: dt Date: Mon, 12 Jul 2010 14:01:42 +0200 Subject: [PATCH 5/8] Fix scrolling of compile output windwow again This time by porting to the ApplicationOutputwindow cherry-pick of fd01cc976aff8da1efe55bc8ad9eeb05a04f08e1 --- .../projectexplorer/compileoutputwindow.cpp | 40 +++++++++---------- .../projectexplorer/compileoutputwindow.h | 3 +- src/plugins/projectexplorer/outputwindow.cpp | 26 +++++++++++- src/plugins/projectexplorer/outputwindow.h | 8 ++++ 4 files changed, 52 insertions(+), 25 deletions(-) diff --git a/src/plugins/projectexplorer/compileoutputwindow.cpp b/src/plugins/projectexplorer/compileoutputwindow.cpp index a0856c76753..ef689e7dd01 100644 --- a/src/plugins/projectexplorer/compileoutputwindow.cpp +++ b/src/plugins/projectexplorer/compileoutputwindow.cpp @@ -42,23 +42,27 @@ using namespace ProjectExplorer; using namespace ProjectExplorer::Internal; +namespace { +const int MAX_LINECOUNT = 10000; +} + CompileOutputWindow::CompileOutputWindow(BuildManager * /*bm*/) { - m_textEdit = new QPlainTextEdit(); - m_textEdit->setWindowTitle(tr("Compile Output")); - m_textEdit->setWindowIcon(QIcon(":/qt4projectmanager/images/window.png")); - m_textEdit->setReadOnly(true); - m_textEdit->setFrameStyle(QFrame::NoFrame); + m_outputWindow = new OutputWindow(); + m_outputWindow->setWindowTitle(tr("Compile Output")); + m_outputWindow->setWindowIcon(QIcon(":/qt4projectmanager/images/window.png")); + m_outputWindow->setReadOnly(true); + Aggregation::Aggregate *agg = new Aggregation::Aggregate; - agg->add(m_textEdit); - agg->add(new Find::BaseTextFind(m_textEdit)); + agg->add(m_outputWindow); + agg->add(new Find::BaseTextFind(m_outputWindow)); qRegisterMetaType("QTextCharFormat"); } bool CompileOutputWindow::hasFocus() { - return m_textEdit->hasFocus(); + return m_outputWindow->hasFocus(); } bool CompileOutputWindow::canFocus() @@ -68,35 +72,27 @@ bool CompileOutputWindow::canFocus() void CompileOutputWindow::setFocus() { - m_textEdit->setFocus(); + m_outputWindow->setFocus(); } QWidget *CompileOutputWindow::outputWidget(QWidget *) { - return m_textEdit; + return m_outputWindow; } void CompileOutputWindow::appendText(const QString &text, const QTextCharFormat &textCharFormat) { - QString textWithNewline = text; - if (!textWithNewline.endsWith("\n")) - textWithNewline.append("\n"); - QTextCursor cursor = QTextCursor(m_textEdit->document()); - cursor.movePosition(QTextCursor::End); - cursor.beginEditBlock(); - cursor.insertText(textWithNewline, textCharFormat); - cursor.endEditBlock(); + m_outputWindow->appendText(text, textCharFormat, MAX_LINECOUNT); } void CompileOutputWindow::clearContents() { - m_textEdit->clear(); + m_outputWindow->clear(); } -void CompileOutputWindow::visibilityChanged(bool b) +void CompileOutputWindow::visibilityChanged(bool) { - if (b) - m_textEdit->verticalScrollBar()->setValue(m_textEdit->verticalScrollBar()->maximum()); + } int CompileOutputWindow::priorityInStatusBar() const diff --git a/src/plugins/projectexplorer/compileoutputwindow.h b/src/plugins/projectexplorer/compileoutputwindow.h index 1bdd118c504..189f0fa35fc 100644 --- a/src/plugins/projectexplorer/compileoutputwindow.h +++ b/src/plugins/projectexplorer/compileoutputwindow.h @@ -30,6 +30,7 @@ #ifndef COMPILEOUTPUTWINDOW_H #define COMPILEOUTPUTWINDOW_H +#include "outputwindow.h" #include #include #include @@ -68,7 +69,7 @@ public: bool canNavigate(); private: - QPlainTextEdit *m_textEdit; + OutputWindow *m_outputWindow; }; } // namespace Internal diff --git a/src/plugins/projectexplorer/outputwindow.cpp b/src/plugins/projectexplorer/outputwindow.cpp index 8e1a12a5cbe..4b073036656 100644 --- a/src/plugins/projectexplorer/outputwindow.cpp +++ b/src/plugins/projectexplorer/outputwindow.cpp @@ -201,6 +201,8 @@ void OutputPane::createNewOutputWindow(RunControl *rc) } if (!found) { OutputWindow *ow = new OutputWindow(m_tabWidget); + ow->setWindowTitle(tr("Application Output Window")); + ow->setWindowIcon(QIcon(":/qt4projectmanager/images/window.png")); ow->setFormatter(rc->createOutputFormatter(ow)); Aggregation::Aggregate *agg = new Aggregation::Aggregate; agg->add(ow); @@ -356,8 +358,6 @@ OutputWindow::OutputWindow(QWidget *parent) { setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); //setCenterOnScroll(false); - setWindowTitle(tr("Application Output Window")); - setWindowIcon(QIcon(":/qt4projectmanager/images/window.png")); setFrameShape(QFrame::NoFrame); setMouseTracking(true); @@ -494,6 +494,28 @@ void OutputWindow::appendMessage(const QString &out, bool isError) enableUndoRedo(); } +// TODO rename +void OutputWindow::appendText(const QString &text, const QTextCharFormat &format, int maxLineCount) +{ + if (document()->blockCount() > maxLineCount) + return; + const bool atBottom = isScrollbarAtBottom(); + QTextCursor cursor = QTextCursor(document()); + cursor.movePosition(QTextCursor::End); + cursor.beginEditBlock(); + cursor.insertText(doNewlineEnfocement(text), format); + + if (document()->blockCount() > maxLineCount) { + QTextCharFormat tmp; + tmp.setFontWeight(QFont::Bold); + cursor.insertText(tr("Additional output omitted\n"), tmp); + } + + cursor.endEditBlock(); + if (atBottom) + scrollToBottom(); +} + bool OutputWindow::isScrollbarAtBottom() const { return verticalScrollBar()->value() == verticalScrollBar()->maximum(); diff --git a/src/plugins/projectexplorer/outputwindow.h b/src/plugins/projectexplorer/outputwindow.h index cc791a574df..47121445af2 100644 --- a/src/plugins/projectexplorer/outputwindow.h +++ b/src/plugins/projectexplorer/outputwindow.h @@ -132,11 +132,19 @@ public: void appendApplicationOutput(const QString &out, bool onStdErr); void appendApplicationOutputInline(const QString &out, bool onStdErr); void appendMessage(const QString &out, bool isError); + /// appends a \p text using \p format without using formater + void appendText(const QString &text, const QTextCharFormat &format, int maxLineCount); void grayOutOldContent(); void showEvent(QShowEvent *); + void clear() + { + m_enforceNewline = false; + QPlainTextEdit::clear(); + } + protected: void mousePressEvent(QMouseEvent *e); void mouseReleaseEvent(QMouseEvent *e); From 5dd09d004aa8ceb901ca066651869af92f6d1b19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= Date: Thu, 15 Jul 2010 11:42:50 +0200 Subject: [PATCH 6/8] QML snippet: property has a name and a value, not two names --- share/qtcreator/snippets/qml.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/qtcreator/snippets/qml.xml b/share/qtcreator/snippets/qml.xml index 07d4a616bfe..b83bfd6c2aa 100644 --- a/share/qtcreator/snippets/qml.xml +++ b/share/qtcreator/snippets/qml.xml @@ -1,6 +1,6 @@ -property type name: name +property type name: value Item { id: name From 911e268b5aeb6ce22cbe57a624b32e1fc1b21a9d Mon Sep 17 00:00:00 2001 From: Robert Loehning Date: Thu, 15 Jul 2010 14:46:43 +0200 Subject: [PATCH 7/8] Fixed tooltip for build progress. Task-number: QTCREATORBUG-1859 --- src/plugins/projectexplorer/buildmanager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/projectexplorer/buildmanager.cpp b/src/plugins/projectexplorer/buildmanager.cpp index 099839052d1..ab9d3e5fbdc 100644 --- a/src/plugins/projectexplorer/buildmanager.cpp +++ b/src/plugins/projectexplorer/buildmanager.cpp @@ -61,9 +61,9 @@ using namespace ProjectExplorer; using namespace ProjectExplorer::Internal; -static inline QString msgProgress(int n, int total) +static inline QString msgProgress(int progress, int total) { - return BuildManager::tr("Finished %1 of %n build steps", 0, n).arg(total); + return BuildManager::tr("Finished %1 of %n build steps", 0, total).arg(progress); } BuildManager::BuildManager(ProjectExplorerPlugin *parent) From 2b3db20507006b2953c74dde778a3feb25ffb3bf Mon Sep 17 00:00:00 2001 From: dt Date: Thu, 15 Jul 2010 15:54:13 +0200 Subject: [PATCH 8/8] Fix crash on clicking in compile output --- src/plugins/projectexplorer/outputwindow.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/plugins/projectexplorer/outputwindow.cpp b/src/plugins/projectexplorer/outputwindow.cpp index 4b073036656..45e06ca0eaa 100644 --- a/src/plugins/projectexplorer/outputwindow.cpp +++ b/src/plugins/projectexplorer/outputwindow.cpp @@ -355,6 +355,7 @@ OutputWindow::OutputWindow(QWidget *parent) : QPlainTextEdit(parent) , m_enforceNewline(false) , m_scrollToBottom(false) + , m_formatter(0) { setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); //setCenterOnScroll(false); @@ -558,17 +559,20 @@ void OutputWindow::enableUndoRedo() void OutputWindow::mousePressEvent(QMouseEvent *e) { QPlainTextEdit::mousePressEvent(e); - m_formatter->mousePressEvent(e); + if (m_formatter) + m_formatter->mousePressEvent(e); } void OutputWindow::mouseReleaseEvent(QMouseEvent *e) { QPlainTextEdit::mouseReleaseEvent(e); - m_formatter->mouseReleaseEvent(e); + if (m_formatter) + m_formatter->mouseReleaseEvent(e); } void OutputWindow::mouseMoveEvent(QMouseEvent *e) { QPlainTextEdit::mouseMoveEvent(e); - m_formatter->mouseMoveEvent(e); + if (m_formatter) + m_formatter->mouseMoveEvent(e); }