File indexing completed on 2025-04-27 03:57:27
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2003-03-09 0007 * Description : Captions, Tags, and Rating properties editor - Information view. 0008 * 0009 * SPDX-FileCopyrightText: 2003-2005 by Renchi Raju <renchi dot raju at gmail dot com> 0010 * SPDX-FileCopyrightText: 2003-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0011 * SPDX-FileCopyrightText: 2006-2011 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de> 0012 * SPDX-FileCopyrightText: 2009-2011 by Andi Clemens <andi dot clemens at gmail dot com> 0013 * SPDX-FileCopyrightText: 2009-2011 by Johannes Wienke <languitar at semipol dot de> 0014 * SPDX-FileCopyrightText: 2015 by Veaceslav Munteanu <veaceslav dot munteanu90 at gmail dot com> 0015 * 0016 * SPDX-License-Identifier: GPL-2.0-or-later 0017 * 0018 * ============================================================ */ 0019 0020 #include "itemdescedittab_p.h" 0021 0022 namespace Digikam 0023 { 0024 0025 void ItemDescEditTab::initInformationView() 0026 { 0027 QScrollArea* const sv2 = new QScrollArea(d->tabWidget); 0028 sv2->setFrameStyle(QFrame::NoFrame); 0029 sv2->setWidgetResizable(true); 0030 0031 QWidget* const infoArea = new QWidget(sv2->viewport()); 0032 QGridLayout* const grid2 = new QGridLayout(infoArea); 0033 sv2->setWidget(infoArea); 0034 0035 d->templateSelector = new TemplateSelector(infoArea); 0036 d->templateViewer = new TemplateViewer(infoArea); 0037 d->templateViewer->setObjectName(QLatin1String("ItemDescEditTab Expander")); 0038 0039 grid2->addWidget(d->templateSelector, 0, 0, 1, 2); 0040 grid2->addWidget(d->templateViewer, 1, 0, 1, 2); 0041 grid2->setRowStretch(1, 10); 0042 grid2->setContentsMargins(d->spacing, d->spacing, d->spacing, d->spacing); 0043 grid2->setSpacing(d->spacing); 0044 0045 d->tabWidget->insertTab(INFOS, sv2, i18nc("@title", "Information")); 0046 } 0047 0048 void ItemDescEditTab::slotTemplateSelected() 0049 { 0050 Template s = d->templateSelector->getTemplate(); 0051 Template t = d->hub->metadataTemplate(); 0052 0053 if (s.isNull()) 0054 { 0055 return; 0056 } 0057 0058 if (s.templateTitle() == Template::removeTemplateTitle()) 0059 { 0060 t = s; 0061 } 0062 else 0063 { 0064 t.merge(s); 0065 } 0066 0067 d->hub->setMetadataTemplate(t); 0068 d->templateViewer->setTemplate(t); 0069 d->setMetadataWidgetStatus(d->hub->templateStatus(), d->templateSelector); 0070 slotModified(); 0071 } 0072 0073 void ItemDescEditTab::updateTemplate() 0074 { 0075 d->templateSelector->blockSignals(true); 0076 d->templateSelector->setTemplate(d->hub->metadataTemplate()); 0077 d->templateViewer->setTemplate(d->hub->metadataTemplate()); 0078 d->setMetadataWidgetStatus(d->hub->templateStatus(), d->templateSelector); 0079 d->templateSelector->blockSignals(false); 0080 } 0081 0082 } // namespace Digikam