Merge remote-tracking branch 'origin/2.8' into HEAD

Conflicts:
	qbs/pluginspec/pluginspec.qbs

Change-Id: Ic8e992623b9eda8913ee473c779a8df27643ccc9
This commit is contained in:
Eike Ziller
2013-07-08 15:01:17 +02:00
49 changed files with 3663 additions and 1550 deletions

View File

@@ -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)
{

View File

@@ -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)

View File

@@ -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;