File indexing completed on 2025-03-09 03:57:06
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2009-09-18 0007 * Description : a modifier for displaying only a range of a token result 0008 * 0009 * SPDX-FileCopyrightText: 2009-2012 by Andi Clemens <andi dot clemens at gmail dot com> 0010 * 0011 * SPDX-License-Identifier: GPL-2.0-or-later 0012 * 0013 * ============================================================ */ 0014 0015 #ifndef DIGIKAM_RANGE_MODIFIER_H 0016 #define DIGIKAM_RANGE_MODIFIER_H 0017 0018 // Local includes 0019 0020 #include "modifier.h" 0021 #include "ruledialog.h" 0022 0023 namespace Ui 0024 { 0025 class RangeModifierDialogWidget; 0026 } 0027 0028 namespace Digikam 0029 { 0030 0031 class RangeDialog : public RuleDialog 0032 { 0033 Q_OBJECT 0034 0035 public: 0036 0037 explicit RangeDialog(Rule* const parent); 0038 ~RangeDialog() override; 0039 0040 Ui::RangeModifierDialogWidget* const ui; 0041 0042 private Q_SLOTS: 0043 0044 void slotToTheEndChecked(bool checked); 0045 0046 private: 0047 0048 // Disable 0049 explicit RangeDialog(QWidget*) = delete; 0050 RangeDialog(const RangeDialog&) = delete; 0051 RangeDialog& operator=(const RangeDialog&) = delete; 0052 }; 0053 0054 // -------------------------------------------------------- 0055 0056 class RangeModifier : public Modifier 0057 { 0058 Q_OBJECT 0059 0060 public: 0061 0062 explicit RangeModifier(); 0063 QString parseOperation(ParseSettings& settings, const QRegularExpressionMatch& match) override; 0064 0065 private Q_SLOTS: 0066 0067 void slotTokenTriggered(const QString& token) override; 0068 0069 private: 0070 0071 // Disable 0072 explicit RangeModifier(QObject*) = delete; 0073 RangeModifier(const RangeModifier&) = delete; 0074 RangeModifier& operator=(const RangeModifier&) = delete; 0075 }; 0076 0077 } // namespace Digikam 0078 0079 #endif // DIGIKAM_RANGE_MODIFIER_H