1 /* ============================================================
2  *
3  * This file is a part of digiKam project
4  * https://www.digikam.org
5  *
6  * Date        : 2004-09-07
7  * Description : thumbnails size interface
8  *
9  * Copyright (C) 2005-2021 by Gilles Caulier <caulier dot gilles at gmail dot com>
10  *
11  * This program is free software; you can redistribute it
12  * and/or modify it under the terms of the GNU General
13  * Public License as published by the Free Software Foundation;
14  * either version 2, or (at your option)
15  * any later version.
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20  * GNU General Public License for more details.
21  *
22  * ============================================================ */
23 
24 #include "thumbnailsize.h"
25 
26 // KDE includes
27 
28 #include <kconfiggroup.h>
29 
30 namespace Digikam
31 {
32 
33 static const QString s_configUseLargeThumbsEntry(QLatin1String("Use Large Thumbs"));
34 static bool          s_useLargeThumbs = false;
35 
ThumbnailSize()36 ThumbnailSize::ThumbnailSize()
37 {
38     m_Size = Medium;
39 }
40 
ThumbnailSize(int size)41 ThumbnailSize::ThumbnailSize(int size)
42 {
43     m_Size = size;
44 }
45 
ThumbnailSize(const ThumbnailSize & thumbsize)46 ThumbnailSize::ThumbnailSize(const ThumbnailSize& thumbsize)
47 {
48     m_Size = thumbsize.m_Size;
49 }
50 
~ThumbnailSize()51 ThumbnailSize::~ThumbnailSize()
52 {
53 }
54 
operator =(const ThumbnailSize & thumbsize)55 ThumbnailSize& ThumbnailSize::operator=(const ThumbnailSize& thumbsize)
56 {
57     m_Size = thumbsize.m_Size;
58 
59     return *this;
60 }
61 
operator ==(const ThumbnailSize & thumbsize) const62 bool ThumbnailSize::operator==(const ThumbnailSize& thumbsize) const
63 {
64     return (m_Size == thumbsize.m_Size);
65 }
66 
operator !=(const ThumbnailSize & thumbsize) const67 bool ThumbnailSize::operator!=(const ThumbnailSize& thumbsize) const
68 {
69     return (m_Size != thumbsize.m_Size);
70 }
71 
size() const72 int ThumbnailSize::size() const
73 {
74     return m_Size;
75 }
76 
77 // -- Static methods ---------------------------------------------------------
78 
setUseLargeThumbs(bool val)79 void ThumbnailSize::setUseLargeThumbs(bool val)
80 {
81     s_useLargeThumbs = val;
82 }
83 
getUseLargeThumbs()84 bool ThumbnailSize::getUseLargeThumbs()
85 {
86     return s_useLargeThumbs;
87 }
88 
readSettings(const KConfigGroup & group)89 void ThumbnailSize::readSettings(const KConfigGroup& group)
90 {
91     setUseLargeThumbs(group.readEntry(s_configUseLargeThumbsEntry, false));
92 }
93 
saveSettings(KConfigGroup & group,bool val)94 void ThumbnailSize::saveSettings(KConfigGroup& group, bool val)
95 {
96     group.writeEntry(s_configUseLargeThumbsEntry, val);
97 }
98 
maxThumbsSize()99 int ThumbnailSize::maxThumbsSize()
100 {
101     if (s_useLargeThumbs)
102     {
103         return ThumbnailSize::HD;
104     }
105 
106     return ThumbnailSize::Huge;
107 }
108 
109 } // namespace Digikam
110