┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2009-05-08 17:08:55 +0000
committerPeter Penz <[email protected]>2009-05-08 17:08:55 +0000
commit7d67adcadf879f7975144f03e909cad2e023933c (patch)
tree70e3829508186824a5d619705aecc7714cefe139 /src
parent5f548d210e735b713d847525cb3e62140f9e6f4d (diff)
If the item height is nearly equal to the toggle height, center the toggle vertically instead of aligning it on the top. This assures a better alignment especially for the details and column view when working with a height of ~20 pixels.
svn path=/trunk/KDE/kdebase/apps/; revision=965352
Diffstat (limited to 'src')
-rw-r--r--src/selectionmanager.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/selectionmanager.cpp b/src/selectionmanager.cpp
index dea4c1449..0d3efae09 100644
--- a/src/selectionmanager.cpp
+++ b/src/selectionmanager.cpp
@@ -79,9 +79,6 @@ void SelectionManager::slotEntered(const QModelIndex& index)
m_connected = true;
}
- const QRect rect = m_view->visualRect(index);
- m_toggle->move(QPoint(rect.left(), rect.top()));
-
// increase the size of the toggle for large items
const int height = m_view->iconSize().height();
if (height >= KIconLoader::SizeEnormous) {
@@ -92,6 +89,18 @@ void SelectionManager::slotEntered(const QModelIndex& index)
m_toggle->resize(KIconLoader::SizeSmall, KIconLoader::SizeSmall);
}
+ const QRect rect = m_view->visualRect(index);
+ int x = rect.left();
+ int y = rect.top();
+ if (height < KIconLoader::SizeSmallMedium) {
+ // The height is nearly equal to the smallest toggle height.
+ // Assure that the toggle is vertically centered instead
+ // of aligned on the top and gets more horizontal gap.
+ x += 2;
+ y += (rect.height() - m_toggle->height()) / 2;
+ }
+ m_toggle->move(QPoint(x, y));
+
QItemSelectionModel* selModel = m_view->selectionModel();
m_toggle->setChecked(selModel->isSelected(index));
m_toggle->show();