File indexing completed on 2025-03-09 03:52:46
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2000-06-08 0007 * Description : Core database <-> thumbnail database interface 0008 * 0009 * SPDX-FileCopyrightText: 2009 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de> 0010 * SPDX-FileCopyrightText: 2009-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0011 * 0012 * SPDX-License-Identifier: GPL-2.0-or-later 0013 * 0014 * ============================================================ */ 0015 0016 #include "coredbthumbinfoprovider.h" 0017 0018 // Qt includes 0019 0020 #include <QUrl> 0021 0022 // Local includes 0023 0024 #include "coredb.h" 0025 #include "collectionmanager.h" 0026 #include "collectionlocation.h" 0027 #include "coredbaccess.h" 0028 #include "iteminfo.h" 0029 #include "thumbnailcreator.h" 0030 0031 namespace Digikam 0032 { 0033 0034 ThumbnailInfo ThumbsDbInfoProvider::thumbnailInfo(const ThumbnailIdentifier& identifier) 0035 { 0036 // If code here proves to be a bottleneck we can add custom queries to albumdb to retrieve info all-in-one 0037 0038 ItemInfo imageinfo; 0039 0040 if (identifier.id) 0041 { 0042 imageinfo = ItemInfo(identifier.id); 0043 } 0044 else 0045 { 0046 imageinfo = ItemInfo::fromLocalFile(identifier.filePath); 0047 } 0048 0049 if (imageinfo.isNull()) 0050 { 0051 return ThumbnailCreator::fileThumbnailInfo(identifier.filePath); 0052 } 0053 0054 return imageinfo.thumbnailInfo(); 0055 } 0056 0057 // --------------------------------------------------------------------------------- 0058 0059 int DatabaseLoadSaveFileInfoProvider::orientationHint(const QString& path) 0060 { 0061 ItemInfo info = ItemInfo::fromLocalFile(path); 0062 0063 return info.orientation(); 0064 } 0065 0066 QSize DatabaseLoadSaveFileInfoProvider::dimensionsHint(const QString& path) 0067 { 0068 ItemInfo info = ItemInfo::fromLocalFile(path); 0069 0070 return info.dimensions(); 0071 } 0072 0073 } // namespace Digikam