File indexing completed on 2025-11-09 04:03:46
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2018-07-30 0007 * Description : a plugin to adjust items date-time. 0008 * 0009 * SPDX-FileCopyrightText: 2018-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 "timeadjustplugin.h" 0016 0017 // Qt includes 0018 0019 #include <QPointer> 0020 0021 // KDE includes 0022 0023 #include <klocalizedstring.h> 0024 0025 // Local includes 0026 0027 #include "timeadjustdialog.h" 0028 0029 namespace DigikamGenericTimeAdjustPlugin 0030 { 0031 0032 TimeAdjustPlugin::TimeAdjustPlugin(QObject* const parent) 0033 : DPluginGeneric(parent) 0034 { 0035 } 0036 0037 TimeAdjustPlugin::~TimeAdjustPlugin() 0038 { 0039 } 0040 0041 QString TimeAdjustPlugin::name() const 0042 { 0043 return i18nc("@title", "Time Adjust"); 0044 } 0045 0046 QString TimeAdjustPlugin::iid() const 0047 { 0048 return QLatin1String(DPLUGIN_IID); 0049 } 0050 0051 QIcon TimeAdjustPlugin::icon() const 0052 { 0053 return QIcon::fromTheme(QLatin1String("appointment-new")); 0054 } 0055 0056 QString TimeAdjustPlugin::description() const 0057 { 0058 return i18nc("@info", "A tool to adjust items date-time"); 0059 } 0060 0061 QString TimeAdjustPlugin::details() const 0062 { 0063 return i18nc("@info", "This tool allows users to adjust date time-stamp of items in batch.\n\n" 0064 "Many source of original time-stamp can be selected from original items, or a from a common file.\n\n" 0065 "Many metadata time-stamp can be adjusted or left untouched. The adjustment can be an offset of time or a specific date."); 0066 } 0067 0068 QString TimeAdjustPlugin::handbookSection() const 0069 { 0070 return QLatin1String("post_processing"); 0071 } 0072 0073 QString TimeAdjustPlugin::handbookChapter() const 0074 { 0075 return QLatin1String("time_adjust"); 0076 } 0077 0078 QList<DPluginAuthor> TimeAdjustPlugin::authors() const 0079 { 0080 return QList<DPluginAuthor>() 0081 << DPluginAuthor(QString::fromUtf8("Jesper K. Pedersen"), 0082 QString::fromUtf8("blackie at kde dot org"), 0083 QString::fromUtf8("(C) 2003-2005")) 0084 << DPluginAuthor(QString::fromUtf8("Smit Mehta"), 0085 QString::fromUtf8("smit dot meh at gmail dot com"), 0086 QString::fromUtf8("(C) 2012")) 0087 << DPluginAuthor(QString::fromUtf8("Pieter Edelman"), 0088 QString::fromUtf8("p dot edelman at gmx dot net"), 0089 QString::fromUtf8("(C) 2008")) 0090 << DPluginAuthor(QString::fromUtf8("Maik Qualmann"), 0091 QString::fromUtf8("metzpinguin at gmail dot com"), 0092 QString::fromUtf8("(C) 2018-2021")) 0093 << DPluginAuthor(QString::fromUtf8("Gilles Caulier"), 0094 QString::fromUtf8("caulier dot gilles at gmail dot com"), 0095 QString::fromUtf8("(C) 2006-2021")) 0096 ; 0097 } 0098 0099 void TimeAdjustPlugin::setup(QObject* const parent) 0100 { 0101 DPluginAction* const ac = new DPluginAction(parent); 0102 ac->setIcon(icon()); 0103 ac->setText(i18nc("@action", "Adjust Time && Date...")); 0104 ac->setObjectName(QLatin1String("timeadjust_edit")); 0105 ac->setActionCategory(DPluginAction::GenericMetadata); 0106 ac->setShortcut(Qt::CTRL | Qt::SHIFT | Qt::Key_D); 0107 0108 connect(ac, SIGNAL(triggered(bool)), 0109 this, SLOT(slotTimeAdjust())); 0110 0111 addAction(ac); 0112 } 0113 0114 void TimeAdjustPlugin::slotTimeAdjust() 0115 { 0116 QPointer<TimeAdjustDialog> dialog = new TimeAdjustDialog(nullptr, infoIface(sender())); 0117 dialog->setPlugin(this); 0118 dialog->exec(); 0119 delete dialog; 0120 } 0121 0122 } // namespace DigikamGenericTimeAdjustPlugin 0123 0124 #include "moc_timeadjustplugin.cpp"