forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/2.8' into HEAD
Conflicts: qbs/pluginspec/pluginspec.qbs Change-Id: Ic8e992623b9eda8913ee473c779a8df27643ccc9
This commit is contained in:
@@ -44,7 +44,8 @@ using namespace Core::Internal;
|
||||
#define CANCELBUTTON_SIZE 15
|
||||
|
||||
ProgressBar::ProgressBar(QWidget *parent)
|
||||
: QWidget(parent), m_titleVisible(true), m_separatorVisible(true), m_progressHeight(0),
|
||||
: QWidget(parent), m_titleVisible(true), m_separatorVisible(true), m_cancelEnabled(true),
|
||||
m_progressHeight(0),
|
||||
m_minimum(1), m_maximum(100), m_value(1), m_cancelButtonFader(0), m_finished(false),
|
||||
m_error(false)
|
||||
{
|
||||
|
||||
@@ -46,6 +46,7 @@
|
||||
#include <QAction>
|
||||
#include <QEvent>
|
||||
#include <QHBoxLayout>
|
||||
#include <QMouseEvent>
|
||||
#include <QPainter>
|
||||
#include <QPropertyAnimation>
|
||||
#include <QStyle>
|
||||
@@ -379,6 +380,19 @@ bool ProgressManagerPrivate::eventFilter(QObject *obj, QEvent *event)
|
||||
m_hovered = false;
|
||||
// give the progress view the chance to get the mouse enter event
|
||||
updateVisibilityWithDelay();
|
||||
} else if (obj == m_statusBarWidget && event->type() == QEvent::MouseButtonPress
|
||||
&& !m_taskList.isEmpty()) {
|
||||
QMouseEvent *me = static_cast<QMouseEvent *>(event);
|
||||
if (me->button() == Qt::LeftButton && !me->modifiers()) {
|
||||
FutureProgress *progress = m_currentStatusDetailsProgress;
|
||||
if (!progress)
|
||||
progress = m_taskList.last();
|
||||
// don't send signal directly from an event filter, event filters should
|
||||
// do as little a possible
|
||||
QTimer::singleShot(0, progress, SIGNAL(clicked()));
|
||||
event->accept();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -643,8 +657,10 @@ void ProgressManagerPrivate::updateStatusDetailsWidget()
|
||||
while (i != m_taskList.begin()) {
|
||||
--i;
|
||||
candidateWidget = (*i)->statusBarWidget();
|
||||
if (candidateWidget)
|
||||
if (candidateWidget) {
|
||||
m_currentStatusDetailsProgress = *i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (candidateWidget == m_currentStatusDetailsWidget)
|
||||
|
||||
@@ -108,6 +108,7 @@ private:
|
||||
QWidget *m_summaryProgressWidget;
|
||||
QHBoxLayout *m_summaryProgressLayout;
|
||||
QWidget *m_currentStatusDetailsWidget;
|
||||
QPointer<FutureProgress> m_currentStatusDetailsProgress;
|
||||
ProgressBar *m_summaryProgressBar;
|
||||
QGraphicsOpacityEffect *m_opacityEffect;
|
||||
QPointer<QPropertyAnimation> m_opacityAnimation;
|
||||
|
||||
Reference in New Issue
Block a user