summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libs/installer/installer.pro2
-rw-r--r--src/libs/installer/lazyplaintextedit.cpp101
-rw-r--r--src/libs/installer/lazyplaintextedit.h56
-rw-r--r--src/libs/installer/packagemanagergui.cpp1
-rw-r--r--src/libs/installer/performinstallationform.cpp11
-rw-r--r--src/libs/installer/performinstallationform.h5
6 files changed, 3 insertions, 173 deletions
diff --git a/src/libs/installer/installer.pro b/src/libs/installer/installer.pro
index 2462dbe63..437ab002f 100644
--- a/src/libs/installer/installer.pro
+++ b/src/libs/installer/installer.pro
@@ -78,7 +78,6 @@ HEADERS += packagemanagercore.h \
adminauthorization.h \
elevatedexecuteoperation.h \
fakestopprocessforupdateoperation.h \
- lazyplaintextedit.h \
progresscoordinator.h \
minimumprogressoperation.h \
performinstallationform.h \
@@ -172,7 +171,6 @@ SOURCES += packagemanagercore.cpp \
init.cpp \
elevatedexecuteoperation.cpp \
fakestopprocessforupdateoperation.cpp \
- lazyplaintextedit.cpp \
progresscoordinator.cpp \
minimumprogressoperation.cpp \
performinstallationform.cpp \
diff --git a/src/libs/installer/lazyplaintextedit.cpp b/src/libs/installer/lazyplaintextedit.cpp
deleted file mode 100644
index a4a699a78..000000000
--- a/src/libs/installer/lazyplaintextedit.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-/**************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Installer Framework.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-**************************************************************************/
-
-#include "lazyplaintextedit.h"
-
-#include <QScrollBar>
-
-const int INTERVAL = 20;
-
-LazyPlainTextEdit::LazyPlainTextEdit(QWidget *parent)
- : QPlainTextEdit(parent)
- , m_timerId(0)
-{
-}
-
-void LazyPlainTextEdit::timerEvent(QTimerEvent *event)
-{
- if (event->timerId() == m_timerId) {
- killTimer(m_timerId);
- m_timerId = 0;
- m_cachedOutput.chop(1); //removes the last \n
- if (!m_cachedOutput.isEmpty()) {
- appendPlainText(m_cachedOutput);
- updateCursor(TextCursorPosition::Keep);
- horizontalScrollBar()->setValue(0);
- m_cachedOutput.clear();
- }
- }
-}
-
-void LazyPlainTextEdit::append(const QString &text)
-{
- m_cachedOutput.append(text + QLatin1String("\n"));
- if (isVisible() && m_timerId == 0)
- m_timerId = startTimer(INTERVAL);
-}
-
-void LazyPlainTextEdit::clear()
-{
- if (m_timerId) {
- killTimer(m_timerId);
- m_timerId = 0;
- m_cachedOutput.clear();
- }
- QPlainTextEdit::clear();
-}
-
-void LazyPlainTextEdit::setVisible(bool visible)
-{
- if (m_timerId) {
- killTimer(m_timerId);
- m_timerId = 0;
- }
-
- if (visible)
- m_timerId = startTimer(INTERVAL);
-
- QPlainTextEdit::setVisible(visible);
- updateCursor(TextCursorPosition::Keep);
-}
-
-void LazyPlainTextEdit::updateCursor(TextCursorPosition position)
-{
- QTextCursor cursor = textCursor();
- if ((position == TextCursorPosition::ForceEnd) || cursor.atEnd()) {
- // Workaround for height calculation issue if scrollbar is set to Qt::ScrollBarAsNeeded.
- Qt::ScrollBarPolicy policy = horizontalScrollBarPolicy();
- setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn); // enforce always on
-
- cursor.movePosition(QTextCursor::End);
- setTextCursor(cursor);
- ensureCursorVisible();
-
- setHorizontalScrollBarPolicy(policy); // but reset once we updated the cursor position
- }
-}
diff --git a/src/libs/installer/lazyplaintextedit.h b/src/libs/installer/lazyplaintextedit.h
deleted file mode 100644
index 445fa752d..000000000
--- a/src/libs/installer/lazyplaintextedit.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/**************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Installer Framework.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-**************************************************************************/
-
-#ifndef LAZYPLAINTEXTEDIT_H
-#define LAZYPLAINTEXTEDIT_H
-
-#include <QPlainTextEdit>
-
-class LazyPlainTextEdit : public QPlainTextEdit
-{
- Q_OBJECT
-public:
- enum struct TextCursorPosition {
- Keep,
- ForceEnd
- };
- explicit LazyPlainTextEdit(QWidget *parent = 0);
- void updateCursor(TextCursorPosition position);
-
-public slots:
- void append(const QString &text);
- virtual void clear();
- virtual void setVisible ( bool visible );
-protected:
- void timerEvent(QTimerEvent *event);
-private:
- int m_timerId;
- QString m_cachedOutput;
-};
-
-#endif // LAZYPLAINTEXTEDIT_H
diff --git a/src/libs/installer/packagemanagergui.cpp b/src/libs/installer/packagemanagergui.cpp
index 13113755e..04f7770e9 100644
--- a/src/libs/installer/packagemanagergui.cpp
+++ b/src/libs/installer/packagemanagergui.cpp
@@ -2797,7 +2797,6 @@ void PerformInstallationPage::installationFinished()
{
m_performInstallationForm->stopUpdateProgress();
if (!isAutoSwitching()) {
- m_performInstallationForm->scrollDetailsToTheEnd();
m_performInstallationForm->setDetailsButtonEnabled(false);
setComplete(true);
diff --git a/src/libs/installer/performinstallationform.cpp b/src/libs/installer/performinstallationform.cpp
index f60ef0ab1..2fb6026cc 100644
--- a/src/libs/installer/performinstallationform.cpp
+++ b/src/libs/installer/performinstallationform.cpp
@@ -28,7 +28,6 @@
#include "performinstallationform.h"
-#include "lazyplaintextedit.h"
#include "progresscoordinator.h"
#include "globals.h"
@@ -147,7 +146,7 @@ void PerformInstallationForm::setupUi(QWidget *widget)
m_productImagesScrollArea->setWidget(m_productImagesLabel);
bottomLayout->addWidget(m_productImagesScrollArea);
- m_detailsBrowser = new LazyPlainTextEdit(widget);
+ m_detailsBrowser = new QTextEdit(widget);
m_detailsBrowser->setReadOnly(true);
m_detailsBrowser->setWordWrapMode(QTextOption::NoWrap);
m_detailsBrowser->setObjectName(QLatin1String("DetailsBrowser"));
@@ -269,14 +268,6 @@ void PerformInstallationForm::setDetailsButtonEnabled(bool enable)
}
/*!
- Scrolls to the bottom of the details browser.
-*/
-void PerformInstallationForm::scrollDetailsToTheEnd()
-{
- m_detailsBrowser->updateCursor(LazyPlainTextEdit::TextCursorPosition::ForceEnd);
-}
-
-/*!
Returns \c true if the details browser is visible.
*/
bool PerformInstallationForm::isShowingDetails() const
diff --git a/src/libs/installer/performinstallationform.h b/src/libs/installer/performinstallationform.h
index 20b193857..d67f6ac4b 100644
--- a/src/libs/installer/performinstallationform.h
+++ b/src/libs/installer/performinstallationform.h
@@ -32,6 +32,7 @@
#include "aspectratiolabel.h"
#include <QObject>
+#include <QTextEdit>
QT_BEGIN_NAMESPACE
class QLabel;
@@ -43,7 +44,6 @@ class QWinTaskbarButton;
class QScrollArea;
QT_END_NAMESPACE
-class LazyPlainTextEdit;
namespace QInstaller {
@@ -60,7 +60,6 @@ public:
void startUpdateProgress();
void stopUpdateProgress();
void setDetailsButtonEnabled(bool enable);
- void scrollDetailsToTheEnd();
bool isShowingDetails() const;
signals:
@@ -81,7 +80,7 @@ private:
QScrollArea *m_productImagesScrollArea;
AspectRatioLabel *m_productImagesLabel;
QPushButton *m_detailsButton;
- LazyPlainTextEdit *m_detailsBrowser;
+ QTextEdit *m_detailsBrowser;
QTimer *m_updateTimer;
#ifdef Q_OS_WIN