]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/selectionmanager.cpp
SVN_SILENT made messages (.desktop file)
[dolphin.git] / src / selectionmanager.cpp
index dea4c144998ed21b7b41cbd88ff062cd1ce3d502..0d3efae09b6aaa081d1bfd8f325cd29cb947f29a 100644 (file)
@@ -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();