File indexing completed on 2025-04-27 03:58:10

0001 /* ============================================================
0002  *
0003  * This file is a part of digiKam project
0004  * https://www.digikam.org
0005  *
0006  * Date        : 2004-09-07
0007  * Description : thumbnails size interface
0008  *
0009  * SPDX-FileCopyrightText: 2005-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
0010  *
0011  * SPDX-License-Identifier: GPL-2.0-or-later
0012  *
0013  * ============================================================ */
0014 
0015 #include "thumbnailsize.h"
0016 
0017 // KDE includes
0018 
0019 #include <kconfiggroup.h>
0020 
0021 namespace Digikam
0022 {
0023 
0024 static const QString s_configUseLargeThumbsEntry(QLatin1String("Use Large Thumbs"));
0025 static bool          s_useLargeThumbs = false;
0026 
0027 ThumbnailSize::ThumbnailSize()
0028 {
0029     m_Size = Medium;
0030 }
0031 
0032 ThumbnailSize::ThumbnailSize(int size)
0033 {
0034     m_Size = size;
0035 }
0036 
0037 ThumbnailSize::ThumbnailSize(const ThumbnailSize& thumbsize)
0038 {
0039     m_Size = thumbsize.m_Size;
0040 }
0041 
0042 ThumbnailSize::~ThumbnailSize()
0043 {
0044 }
0045 
0046 ThumbnailSize& ThumbnailSize::operator=(const ThumbnailSize& thumbsize)
0047 {
0048     m_Size = thumbsize.m_Size;
0049 
0050     return *this;
0051 }
0052 
0053 bool ThumbnailSize::operator==(const ThumbnailSize& thumbsize) const
0054 {
0055     return (m_Size == thumbsize.m_Size);
0056 }
0057 
0058 bool ThumbnailSize::operator!=(const ThumbnailSize& thumbsize) const
0059 {
0060     return (m_Size != thumbsize.m_Size);
0061 }
0062 
0063 int ThumbnailSize::size() const
0064 {
0065     return m_Size;
0066 }
0067 
0068 // -- Static methods ---------------------------------------------------------
0069 
0070 void ThumbnailSize::setUseLargeThumbs(bool val)
0071 {
0072     s_useLargeThumbs = val;
0073 }
0074 
0075 bool ThumbnailSize::getUseLargeThumbs()
0076 {
0077     return s_useLargeThumbs;
0078 }
0079 
0080 void ThumbnailSize::readSettings(const KConfigGroup& group)
0081 {
0082     setUseLargeThumbs(group.readEntry(s_configUseLargeThumbsEntry, false));
0083 }
0084 
0085 void ThumbnailSize::saveSettings(KConfigGroup& group, bool val)
0086 {
0087     group.writeEntry(s_configUseLargeThumbsEntry, val);
0088 }
0089 
0090 int ThumbnailSize::maxThumbsSize()
0091 {
0092     if (s_useLargeThumbs)
0093     {
0094         return ThumbnailSize::HD;
0095     }
0096 
0097     return ThumbnailSize::Huge;
0098 }
0099 
0100 } // namespace Digikam