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

0001 /* ============================================================
0002  *
0003  * This file is a part of digiKam project
0004  * https://www.digikam.org
0005  *
0006  * Date        : 2006-01-12
0007  * Description : a widget to display ICC profiles descriptions
0008  *               in file dialog preview.
0009  *
0010  * SPDX-FileCopyrightText: 2006-2007 by Francisco J. Cruz <fj dot cruz at supercable dot es>
0011  * SPDX-FileCopyrightText: 2006-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
0012  *
0013  * SPDX-License-Identifier: GPL-2.0-or-later
0014  *
0015  * ============================================================ */
0016 
0017 #include "iccpreviewwidget.h"
0018 
0019 // Qt includes
0020 
0021 #include <QFileInfo>
0022 #include <QUrl>
0023 
0024 // Local includes
0025 
0026 #include "digikam_debug.h"
0027 #include "iccprofilewidget.h"
0028 
0029 namespace Digikam
0030 {
0031 
0032 ICCPreviewWidget::ICCPreviewWidget(QWidget* const parent)
0033     : QScrollArea(parent)
0034 {
0035     m_iccProfileWidget = new ICCProfileWidget(this);
0036     setWidget(m_iccProfileWidget);
0037     setWidgetResizable(true);
0038 }
0039 
0040 ICCPreviewWidget::~ICCPreviewWidget()
0041 {
0042 }
0043 
0044 void ICCPreviewWidget::slotShowPreview(const QUrl& url)
0045 {
0046     slotClearPreview();
0047     QFileInfo fInfo(url.toLocalFile());
0048 
0049     if (url.isLocalFile() && fInfo.isFile() && fInfo.isReadable())
0050     {
0051         qCDebug(DIGIKAM_WIDGETS_LOG) << url << " is a readable local file";
0052         m_iccProfileWidget->loadFromURL(url);
0053     }
0054     else
0055     {
0056         qCDebug(DIGIKAM_WIDGETS_LOG) << url << " is not a readable local file";
0057     }
0058 }
0059 
0060 void ICCPreviewWidget::slotClearPreview()
0061 {
0062     m_iccProfileWidget->loadFromURL(QUrl());
0063 }
0064 
0065 } // namespace Digikam
0066 
0067 #include "moc_iccpreviewwidget.cpp"