BUG: 191629
svn path=/trunk/KDE/kdebase/apps/; revision=964924
const QRect rect = m_view->visualRect(index);
const QRect rect = m_view->visualRect(index);
+ // align the toggle on the bottom left of the item
const int gap = 2;
const int x = rect.left() + gap;
const int y = rect.top() + gap;
m_toggle->move(QPoint(x, y));
const int gap = 2;
const int x = rect.left() + gap;
const int y = rect.top() + gap;
m_toggle->move(QPoint(x, y));
+ // increase the size of the toggle for large items
+ if (rect.height() >= KIconLoader::SizeEnormous) {
+ m_toggle->resize(KIconLoader::SizeMedium, KIconLoader::SizeMedium);
+ } else if (rect.height() >= KIconLoader::SizeHuge) {
+ m_toggle->resize(KIconLoader::SizeSmallMedium, KIconLoader::SizeSmallMedium);
+ } else {
+ m_toggle->resize(KIconLoader::SizeSmall, KIconLoader::SizeSmall);
+ }
+
QItemSelectionModel* selModel = m_view->selectionModel();
m_toggle->setChecked(selModel->isSelected(index));
m_toggle->show();
QItemSelectionModel* selModel = m_view->selectionModel();
m_toggle->setChecked(selModel->isSelected(index));
m_toggle->show();
m_leftMouseButtonPressed = (event->buttons() & Qt::LeftButton);
}
m_leftMouseButtonPressed = (event->buttons() & Qt::LeftButton);
}
+void SelectionToggle::resizeEvent(QResizeEvent* event)
+{
+ QAbstractButton::resizeEvent(event);
+ setIconOverlay(isChecked());
+}
+
void SelectionToggle::paintEvent(QPaintEvent* event)
{
QPainter painter(this);
void SelectionToggle::paintEvent(QPaintEvent* event)
{
QPainter painter(this);
const char* icon = checked ? "list-remove" : "list-add";
m_icon = KIconLoader::global()->loadIcon(icon,
KIconLoader::NoGroup,
const char* icon = checked ? "list-remove" : "list-add";
m_icon = KIconLoader::global()->loadIcon(icon,
KIconLoader::NoGroup,
- KIconLoader::SizeSmall);
+ qMin(width(), height()));
virtual void leaveEvent(QEvent* event);
virtual void mousePressEvent(QMouseEvent* event);
virtual void mouseReleaseEvent(QMouseEvent* event);
virtual void leaveEvent(QEvent* event);
virtual void mousePressEvent(QMouseEvent* event);
virtual void mouseReleaseEvent(QMouseEvent* event);
+ virtual void resizeEvent(QResizeEvent* event);
virtual void paintEvent(QPaintEvent* event);
private slots:
virtual void paintEvent(QPaintEvent* event);
private slots: