]> cloud.milkyroute.net Git - dolphin.git/blob - src/views/zoomlevelinfo.cpp
SVN_SILENT made messages (.desktop file) - always resolve ours
[dolphin.git] / src / views / zoomlevelinfo.cpp
1 /*
2 * SPDX-FileCopyrightText: 2008 Peter Penz <peter.penz19@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7 #include "zoomlevelinfo.h"
8
9 #include <KIconLoader>
10
11 #include <QSize>
12
13 int ZoomLevelInfo::minimumLevel()
14 {
15 return 0;
16 }
17
18 int ZoomLevelInfo::maximumLevel()
19 {
20 return 16;
21 }
22
23 int ZoomLevelInfo::iconSizeForZoomLevel(int level)
24 {
25 int size = KIconLoader::SizeMedium;
26 switch (level) {
27 case 0:
28 size = KIconLoader::SizeSmall;
29 break;
30 case 1:
31 size = KIconLoader::SizeSmallMedium;
32 break;
33 case 2:
34 size = KIconLoader::SizeMedium;
35 break;
36 case 3:
37 size = KIconLoader::SizeLarge;
38 break;
39 case 4:
40 size = KIconLoader::SizeHuge;
41 break;
42 default:
43 size = KIconLoader::SizeHuge + ((level - 4) << 4);
44 }
45 return size;
46 }
47
48 int ZoomLevelInfo::zoomLevelForIconSize(const QSize &size)
49 {
50 int level = 0;
51 switch (size.height()) {
52 case KIconLoader::SizeSmall:
53 level = 0;
54 break;
55 case KIconLoader::SizeSmallMedium:
56 level = 1;
57 break;
58 case KIconLoader::SizeMedium:
59 level = 2;
60 break;
61 case KIconLoader::SizeLarge:
62 level = 3;
63 break;
64 case KIconLoader::SizeHuge:
65 level = 4;
66 break;
67 default:
68 level = 4 + ((size.height() - KIconLoader::SizeHuge) >> 4);
69 }
70 return level;
71 }