digiKam
Loading...
Searching...
No Matches
advancedrenameinput.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2009-09-03
7 * Description : an input widget for the AdvancedRename utility
8 *
9 * SPDX-FileCopyrightText: 2009-2012 by Andi Clemens <andi dot clemens at gmail dot com>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Qt includes
18
19#include <QPlainTextEdit>
20#include <QWidget>
21#include <QComboBox>
22
23// Local includes
24
25#include "comboboxutilities.h"
26#include "parser.h"
27
28class QFocusEvent;
29class QKeyEvent;
30class QMouseEvent;
31class QEvent;
32
33namespace Digikam
34{
35
36class AdvancedRenameLineEdit : public QPlainTextEdit
37{
38 Q_OBJECT
39
40public:
41
42 explicit AdvancedRenameLineEdit(QWidget* const parent = nullptr);
43 ~AdvancedRenameLineEdit() override;
44
45 void setParser(Parser* parser);
46 Parser* parser() const;
47
48 void setParseTimerDuration(int milliseconds);
49
50public Q_SLOTS:
51
52 void slotSetText(const QString&);
54
55Q_SIGNALS:
56
57 void signalTextChanged(const QString&);
60
61protected:
62
63 void keyPressEvent(QKeyEvent* e) override;
64 void wheelEvent(QWheelEvent* e) override;
65 void scrollContentsBy(int dx, int dy) override;
66
67private Q_SLOTS:
68
69 void slotTextChanged();
70 void slotParseTimer();
71
72private:
73
74 void setupWidgets();
75 void setupConnections();
76
77private:
78
80 AdvancedRenameLineEdit& operator=(const AdvancedRenameLineEdit&) = delete;
81
82private:
83
84 class Private;
85 Private* const d = nullptr;
86};
87
88// --------------------------------------------------------
89
90class AdvancedRenameInput : public QComboBox
91{
92 Q_OBJECT
93
94public:
95
96 explicit AdvancedRenameInput(QWidget* const parent = nullptr);
97 ~AdvancedRenameInput() override;
98
99 void setParser(Parser* parser);
100 void setParseTimerDuration(int milliseconds);
101
102 QString text() const;
103 void setText(const QString& text);
104
105Q_SIGNALS:
106
107 void signalTextChanged(const QString&);
110
111public Q_SLOTS:
112
113 void slotAddToken(const QString&);
114 void slotClearText();
116 void slotSetFocus();
117
119 void slotHighlightLineEdit(const QString& word);
120
121protected:
122
123 void changeEvent(QEvent* e) override;
124
125private Q_SLOTS:
126
127 void slotClearButtonPressed();
128 void slotTextChanged(const QString& text);
129 void slotIndexChanged(int index);
130
131private:
132
133 void readSettings();
134 void writeSettings();
135 void enableHighlighter(bool enable);
136
137 void setupWidgets();
138 void setupConnections();
139
140private:
141
142 // Disable
144 AdvancedRenameInput& operator=(const AdvancedRenameInput&) = delete;
145
146private:
147
148 class Private;
149 Private* const d = nullptr;
150};
151
152} // namespace Digikam
Definition advancedrenameinput.h:91
void slotHighlightLineEdit()
Definition advancedrenameinput.cpp:317
~AdvancedRenameInput() override
Definition advancedrenameinput.cpp:278
void setParseTimerDuration(int milliseconds)
Definition advancedrenameinput.cpp:290
void setParser(Parser *parser)
Definition advancedrenameinput.cpp:284
void signalTextChanged(const QString &)
void slotClearText()
Definition advancedrenameinput.cpp:300
void slotAddToken(const QString &)
Definition advancedrenameinput.cpp:405
QString text() const
Definition advancedrenameinput.cpp:400
void slotSetFocus()
Definition advancedrenameinput.cpp:311
void changeEvent(QEvent *e) override
Definition advancedrenameinput.cpp:377
void slotClearTextAndHistory()
Definition advancedrenameinput.cpp:305
void setText(const QString &text)
Definition advancedrenameinput.cpp:295
Definition advancedrenameinput.h:37
void slotSetText(const QString &)
Definition advancedrenameinput.cpp:233
void keyPressEvent(QKeyEvent *e) override
Definition advancedrenameinput.cpp:135
void slotCursorPositionChanged()
Definition advancedrenameinput.cpp:215
void wheelEvent(QWheelEvent *e) override
Definition advancedrenameinput.cpp:182
void setParser(Parser *parser)
Definition advancedrenameinput.cpp:122
void scrollContentsBy(int dx, int dy) override
Definition advancedrenameinput.cpp:202
void signalTextChanged(const QString &)
void setParseTimerDuration(int milliseconds)
Definition advancedrenameinput.cpp:117
Parser * parser() const
Definition advancedrenameinput.cpp:130
~AdvancedRenameLineEdit() override
Definition advancedrenameinput.cpp:68
Definition parser.h:35
Definition datefolderview.cpp:34