]> cloud.milkyroute.net Git - dolphin.git/blob - src/views/zoomlevelinfo.cpp
Cleanup config-dolphin.h includes
[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: size = KIconLoader::SizeSmall; break;
28 case 1: size = KIconLoader::SizeSmallMedium; break;
29 case 2: size = KIconLoader::SizeMedium; break;
30 case 3: size = KIconLoader::SizeLarge; break;
31 case 4: size = KIconLoader::SizeHuge; break;
32 default: size = KIconLoader::SizeHuge + ((level - 4) << 4);
33 }
34 return size;
35 }
36
37 int ZoomLevelInfo::zoomLevelForIconSize(const QSize& size)
38 {
39 int level = 0;
40 switch (size.height()) {
41 case KIconLoader::SizeSmall: level = 0; break;
42 case KIconLoader::SizeSmallMedium: level = 1; break;
43 case KIconLoader::SizeMedium: level = 2; break;
44 case KIconLoader::SizeLarge: level = 3; break;
45 case KIconLoader::SizeHuge: level = 4; break;
46 default: level = 4 + ((size.height() - KIconLoader::SizeHuge) >> 4);
47 }
48 return level;
49 }