forked from qt-creator/qt-creator
TaskView: Fix scrolling
Broken by qtbase commit 934f06220391eb0e0ebf66a2eb037f48adb4c43c Change-Id: Iafbeab63cca8b6f328276eaf0a4d27a749b30087 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
@@ -48,6 +48,7 @@
|
|||||||
#include <QStyledItemDelegate>
|
#include <QStyledItemDelegate>
|
||||||
#include <QMenu>
|
#include <QMenu>
|
||||||
#include <QToolButton>
|
#include <QToolButton>
|
||||||
|
#include <QScrollBar>
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
const int ELLIPSIS_GRADIENT_WIDTH = 16;
|
const int ELLIPSIS_GRADIENT_WIDTH = 16;
|
||||||
@@ -74,6 +75,8 @@ class TaskDelegate : public QStyledItemDelegate
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
|
friend class TaskView; // for using Positions::minimumSize()
|
||||||
|
|
||||||
public:
|
public:
|
||||||
TaskDelegate(QObject * parent = 0);
|
TaskDelegate(QObject * parent = 0);
|
||||||
~TaskDelegate();
|
~TaskDelegate();
|
||||||
@@ -126,11 +129,11 @@ private:
|
|||||||
int right() const { return m_totalWidth - ITEM_MARGIN; }
|
int right() const { return m_totalWidth - ITEM_MARGIN; }
|
||||||
int bottom() const { return m_bottom; }
|
int bottom() const { return m_bottom; }
|
||||||
int firstLineHeight() const { return m_fontHeight + 1; }
|
int firstLineHeight() const { return m_fontHeight + 1; }
|
||||||
int minimumHeight() const { return taskIconHeight() + 2 * ITEM_MARGIN; }
|
static int minimumHeight() { return taskIconHeight() + 2 * ITEM_MARGIN; }
|
||||||
|
|
||||||
int taskIconLeft() const { return left(); }
|
int taskIconLeft() const { return left(); }
|
||||||
int taskIconWidth() const { return TASK_ICON_SIZE; }
|
static int taskIconWidth() { return TASK_ICON_SIZE; }
|
||||||
int taskIconHeight() const { return TASK_ICON_SIZE; }
|
static int taskIconHeight() { return TASK_ICON_SIZE; }
|
||||||
int taskIconRight() const { return taskIconLeft() + taskIconWidth(); }
|
int taskIconRight() const { return taskIconLeft() + taskIconWidth(); }
|
||||||
QRect taskIcon() const { return QRect(taskIconLeft(), top(), taskIconWidth(), taskIconHeight()); }
|
QRect taskIcon() const { return QRect(taskIconLeft(), top(), taskIconWidth(), taskIconHeight()); }
|
||||||
|
|
||||||
@@ -169,6 +172,13 @@ TaskView::TaskView(QWidget *parent)
|
|||||||
{
|
{
|
||||||
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||||
setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
|
setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
|
||||||
|
|
||||||
|
QFontMetrics fm(font());
|
||||||
|
int vStepSize = fm.height() + 3;
|
||||||
|
if (vStepSize < TaskDelegate::Positions::minimumHeight())
|
||||||
|
vStepSize = TaskDelegate::Positions::minimumHeight();
|
||||||
|
|
||||||
|
verticalScrollBar()->setSingleStep(vStepSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
TaskView::~TaskView()
|
TaskView::~TaskView()
|
||||||
|
|||||||
Reference in New Issue
Block a user