Commit 7908aff3 authored by Eugene Popov's avatar Eugene Popov 🇺🇦 Committed by Elvis Angelaccio
Browse files

[DetailsView] Improve zooming

Under some conditions, when zooming, only the size of the icon is changed, but not the entire item, which visually doesn't look good. The main idea of this MR is that when scaling the whole element should be resized, not just the icon, so I came up with some zoom levels for the main icon sizes. With this commit, zooming will resize the entire element, even if the resizing of the icon doesn't affect the size of the entire element.
parent deaf5916
Pipeline #70963 passed with stage
in 4 minutes and 31 seconds
......@@ -226,8 +226,22 @@ void KStandardItemListWidgetInformant::calculateCompactLayoutItemSizeHints(QVect
void KStandardItemListWidgetInformant::calculateDetailsLayoutItemSizeHints(QVector<qreal>& logicalHeightHints, qreal& logicalWidthHint, const KItemListView* view) const
{
const KItemListStyleOption& option = view->styleOption();
const qreal height = option.padding * 2 + qMax(option.iconSize, option.fontMetrics.height());
logicalHeightHints.fill(height);
float zoomLevel = 1;
if (option.iconSize >= KIconLoader::SizeEnormous) {
zoomLevel = 2;
} else if (option.iconSize >= KIconLoader::SizeHuge) {
zoomLevel = 1.8;
} else if (option.iconSize >= KIconLoader::SizeLarge) {
zoomLevel = 1.6;
} else if (option.iconSize >= KIconLoader::SizeMedium) {
zoomLevel = 1.4;
} else if (option.iconSize >= KIconLoader::SizeSmallMedium) {
zoomLevel = 1.2;
}
const qreal contentHeight = qMax<qreal>(option.iconSize, zoomLevel * option.fontMetrics.height());
logicalHeightHints.fill(contentHeight + 2 * option.padding);
logicalWidthHint = -1.0;
}
......
  • Dear Eugene, this commit is identified to break the inline renaming of the last file of a folder. Also I noticed that the icon size and the padding of the detail list view is wider since this commit. Is it my setup buggy or is it a desired feature? In my view the size of the icons tree and of the detailed list view should be consistently the same. And possibly the same as the file picker. What do you think? Regards Gianluca

  • Can you point out the bug report (if any) or describe the problem in more detail? This MR shouldn't affect the inline renaming.

    Also I noticed that the icon size and the padding of the detail list view is wider since this commit.

    This was done intentionally. See !234 (merged) for details.

  • The bug report is 447215

  • Yep, indeed. Thanks!

  • And the zooming effect, can you correct so that the size of the icons is the same as the tree view and the file picker? I admit that I have a special setup in a retina display where I increased dpi to 144 and kept zoom of the display at 100% and increased icon sizes all to 32 px. This is forced to ensure I have colored breeze icons everywhere 😄 Which is another thing that I pray to be solved 🙏 Last but not least: as a user I like many others ask you contributors to do things. I realize that it is a gift so... thanks and maybe one day I'll become a contributor as well if I'm able to improve my understanding of the C++ code, QT and KDE platform

  • And the zooming effect, can you correct so that the size of the icons is the same as the tree view and the file picker? I admit that I have a special setup in a retina display where I increased dpi to 144 and kept zoom of the display at 100% and increased icon sizes all to 32 px. This is forced to ensure I have colored breeze icons everywhere

    I don't understand well what you mean. Can you describe in more detail or provide a screenshot? Or better yet, file a bug report.

    Edited by Eugene Popov
  • mentioned in merge request !329 (closed)

    Toggle commit list
  • mentioned in merge request !330 (merged)

    Toggle commit list
  • mentioned in commit 43e91521

    Toggle commit list
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment