digiKam
Loading...
Searching...
No Matches
searchfields.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 : 2008-01-20
7 * Description : User interface for searches
8 *
9 * SPDX-FileCopyrightText: 2008-2012 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
10 * SPDX-FileCopyrightText: 2011-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
11 *
12 * SPDX-License-Identifier: GPL-2.0-or-later
13 *
14 * ============================================================ */
15
16#pragma once
17
18// Qt includes
19
20#include <QObject>
21#include <QWidget>
22#include <QMap>
23
24// Local includes
25
26#include "coredbsearchxml.h"
27#include "searchutilities.h"
29
30class QLabel;
31class QCheckBox;
32class QGridLayout;
33class QSpinBox;
34class QDoubleSpinBox;
35class QTimeEdit;
36class QTreeView;
37class QComboBox;
38class QLineEdit;
39
40namespace Digikam
41{
42
43class DAdjustableLabel;
44class AbstractAlbumTreeViewSelectComboBox;
45class SearchFieldGroup;
46class SqueezedComboBox;
47class DDateEdit;
48class ChoiceSearchModel;
49class ChoiceSearchComboBox;
50class RatingComboBox;
51class PickLabelFilter;
52class ColorLabelFilter;
53
54class SearchField : public QObject,
55 public VisibilityObject
56{
57 Q_OBJECT
58
59public:
60
66
67public:
68
69 static SearchField* createField(const QString& fieldName, SearchFieldGroup* const parent);
70
71 explicit SearchField(QObject* const parent);
72
73 void setup(QGridLayout* const layout, int row = -1);
74 void setFieldName(const QString& fieldName);
75 void setCategoryLabelVisible(bool visible);
77
79
80 virtual void setText(const QString& label, const QString& detailLabel);
81
82 virtual bool supportsField(const QString& fieldName);
83 virtual void read(SearchXmlCachingReader& reader) = 0;
84 virtual void write(SearchXmlWriter& writer) = 0;
85 virtual void reset() = 0;
86
87 void setVisible(bool visible) override;
88 bool isVisible() override;
89
90Q_SIGNALS:
91
93
94protected Q_SLOTS:
95
96 void clearButtonClicked();
97
98protected:
99
100 void setValidValueState(bool valueIsValid);
101
102 virtual void setupValueWidgets(QGridLayout* layout, int row, int column) = 0;
103 virtual void setupLabels(QGridLayout* layout, int line);
104
105 virtual void setValueWidgetsVisible(bool visible) = 0;
106 virtual QList<QRect> valueWidgetRects() const = 0;
107
108protected:
109
110 QString m_name;
111
112 QLabel* m_label = nullptr;
113 QLabel* m_detailLabel = nullptr;
114
116
118 bool m_valueIsValid = false;
119
120private:
121
122 // Disable
123 SearchField(const SearchField&) = delete;
124 SearchField& operator=(const SearchField&) = delete;
125};
126
127//-----------------------------------------------------------------------------
128
130{
131 Q_OBJECT
132
133public:
134
135 explicit SearchFieldText(QObject* const parent);
136
137 void setupValueWidgets(QGridLayout* layout, int row, int column) override;
138 void read(SearchXmlCachingReader& reader) override;
139 void write(SearchXmlWriter& writer) override;
140 void setValueWidgetsVisible(bool visible) override;
141 void reset() override;
142 QList<QRect> valueWidgetRects() const override;
143
144protected Q_SLOTS:
145
146 void valueChanged(const QString& text);
147
148protected:
149
150 QLineEdit* m_edit = nullptr;
151};
152
153//-----------------------------------------------------------------------------
154
156{
157 Q_OBJECT
158
159public:
160
161 explicit SearchFieldKeyword(QObject* const parent);
162
163 void read(SearchXmlCachingReader& reader) override;
164 void write(SearchXmlWriter& writer) override;
165};
166
167//-----------------------------------------------------------------------------
168
170{
171 Q_OBJECT
172
173public:
174
175 explicit SearchFieldRangeInt(QObject* const parent);
176
177 void setBetweenText(const QString& text);
178 void setNoValueText(const QString& text);
179 void setNumberPrefixAndSuffix(const QString& prefix, const QString& suffix);
180 void setBoundary(int min, int max, int step = 1);
181 void enableFractionMagic(const QString& prefix);
182
183 void setSuggestedValues(const QList<int>& values);
184 void setSuggestedInitialValue(int initialValue);
185 void setSingleSteps(int smaller, int larger);
186 void setInvertStepping(bool invert);
187
188 void setupValueWidgets(QGridLayout* layout, int row, int column) override;
189 void read(SearchXmlCachingReader& reader) override;
190 void write(SearchXmlWriter& writer) override;
191 void reset() override;
192 void setValueWidgetsVisible(bool visible) override;
193 QList<QRect> valueWidgetRects() const override;
194
195protected Q_SLOTS:
196
197 void valueChanged();
198
199protected:
200
201 int m_min = 0;
202 int m_max = 100;
203 bool m_reciprocal = false;
206 QLabel* m_betweenLabel = nullptr;
207
208private:
209
210 // Disable
212 SearchFieldRangeInt& operator=(const SearchFieldRangeInt&) = delete;
213};
214
215//-----------------------------------------------------------------------------
216
218{
219 Q_OBJECT
220
221public:
222
223 explicit SearchFieldRangeDouble(QObject* const parent);
224
225 void setBetweenText(const QString& text);
226 void setNoValueText(const QString& text);
227 void setNumberPrefixAndSuffix(const QString& prefix, const QString& suffix);
228 void setBoundary(double min, double max, int decimals, double step);
229 void setFactor(double factor);
230
231 void setSuggestedValues(const QList<double>& values);
232 void setSuggestedInitialValue(double initialValue);
233 void setSingleSteps(double smaller, double larger);
234 void setInvertStepping(bool invert);
235
236 void setupValueWidgets(QGridLayout* layout, int row, int column) override;
237 void read(SearchXmlCachingReader& reader) override;
238 void write(SearchXmlWriter& writer) override;
239 void reset() override;
240 void setValueWidgetsVisible(bool visible) override;
241 QList<QRect> valueWidgetRects() const override;
242
243protected Q_SLOTS:
244
245 void valueChanged();
246
247protected:
248
249 double m_min = 0.0;
250 double m_max = 100.0;
251 double m_factor = 1.0;
254 QLabel* m_betweenLabel = nullptr;
255
256private:
257
258 // Disable
260 SearchFieldRangeDouble& operator=(const SearchFieldRangeDouble&) = delete;
261};
262
263//-----------------------------------------------------------------------------
264
266{
267 Q_OBJECT
268
269public:
270
271 enum Type
272 {
275 };
276
277public:
278
279 SearchFieldRangeDate(QObject* const parent, Type type);
280
281 void setBetweenText(const QString& between);
282 void setBoundary(const QDateTime& min, const QDateTime& max);
283
284 void setupValueWidgets(QGridLayout* layout, int row, int column) override;
285 void read(SearchXmlCachingReader& reader) override;
286 void write(SearchXmlWriter& writer) override;
287 void reset() override;
288 void setValueWidgetsVisible(bool visible) override;
289 QList<QRect> valueWidgetRects() const override;
290
291protected Q_SLOTS:
292
293 void valueChanged();
294
295protected:
296
297 QTimeEdit* m_firstTimeEdit = nullptr;
299 QTimeEdit* m_secondTimeEdit = nullptr;
301 QLabel* m_betweenLabel = nullptr;
302
304
305private:
306
307 // Disable
309 SearchFieldRangeDate& operator=(const SearchFieldRangeDate&) = delete;
310};
311
312//-----------------------------------------------------------------------------
313
315{
316 Q_OBJECT
317
318public:
319
320 explicit SearchFieldRangeTime(QObject* const parent);
321
322 void setBetweenText(const QString& between);
323 void setBoundary(const QTime& min, const QTime& max);
324
325 void setupValueWidgets(QGridLayout* layout, int row, int column) override;
326 void read(SearchXmlCachingReader& reader) override;
327 void write(SearchXmlWriter& writer) override;
328 void reset() override;
329 void setValueWidgetsVisible(bool visible) override;
330 QList<QRect> valueWidgetRects() const override;
331
332protected Q_SLOTS:
333
334 void valueChanged();
335
336protected:
337
338 QTimeEdit* m_firstTimeEdit = nullptr;
339 QTimeEdit* m_secondTimeEdit = nullptr;
340 QLabel* m_betweenLabel = nullptr;
341
342private:
343
344 // Disable
346 SearchFieldRangeTime& operator=(const SearchFieldRangeTime&) = delete;
347};
348
349//-----------------------------------------------------------------------------
350
352{
353 Q_OBJECT
354
355public:
356
357 explicit SearchFieldChoice(QObject* const parent);
358
359 void setChoice(const QMap<int, QString>& map);
360 void setChoice(const QStringList& choice);
361 void setAnyText(const QString& anyText);
362
363 void setupValueWidgets(QGridLayout* layout, int row, int column) override;
364 void read(SearchXmlCachingReader& reader) override;
365 void write(SearchXmlWriter& writer) override;
366 void reset() override;
367 void setValueWidgetsVisible(bool visible) override;
368 QList<QRect> valueWidgetRects() const override;
369
370protected Q_SLOTS:
371
372 void checkStateChanged();
373
374protected:
375
376 void updateComboText();
377
378protected:
379
381
382#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
383
384 QMetaType::Type m_type = QMetaType::UnknownType;
385
386#else
387
388 QVariant::Type m_type = QVariant::Invalid;
389
390#endif
391
392 QString m_anyText;
394
395private:
396
397 // Disable
398 SearchFieldChoice(const SearchFieldChoice&) = delete;
399 SearchFieldChoice& operator=(const SearchFieldChoice&) = delete;
400};
401
402//-----------------------------------------------------------------------------
403
404class Album;
409class SqueezedComboBox;
410
412{
413 Q_OBJECT
414
415public:
416
417 enum Type
418 {
420 TypeTag
421 };
422
429
430public:
431
432 SearchFieldAlbum(QObject* const parent, Type type);
433
434 void setupValueWidgets(QGridLayout* layout, int row, int column) override;
435 void read(SearchXmlCachingReader& reader) override;
436 void write(SearchXmlWriter& writer) override;
437 void reset() override;
438 void setValueWidgetsVisible(bool visible) override;
439 QList<QRect> valueWidgetRects() const override;
440
441protected Q_SLOTS:
442
443 void updateState();
444
445protected:
446
447 QWidget* m_wrapperBox = nullptr;
453};
454
455//-----------------------------------------------------------------------------
456
458{
459 Q_OBJECT
460
461public:
462
463 explicit SearchFieldRating(QObject* const parent);
464
465 void setBetweenText(const QString& text);
466
467 void setupValueWidgets(QGridLayout* layout, int row, int column) override;
468 void read(SearchXmlCachingReader& reader) override;
469 void write(SearchXmlWriter& writer) override;
470 void reset() override;
471 void setValueWidgetsVisible(bool visible) override;
472 QList<QRect> valueWidgetRects() const override;
473
474protected Q_SLOTS:
475
476 void firstValueChanged();
477 void secondValueChanged();
478
479protected:
480
483 QLabel* m_betweenLabel = nullptr;
484
485private:
486
487 // Disable
488 SearchFieldRating(const SearchFieldRating&) = delete;
489 SearchFieldRating& operator=(const SearchFieldRating&) = delete;
490};
491
492//-----------------------------------------------------------------------------
493
495{
496 Q_OBJECT
497
498public:
499
500 explicit SearchFieldComboBox(QObject* const parent);
501
502 void setupValueWidgets(QGridLayout* layout, int row, int column) override;
503 void write(SearchXmlWriter& writer) override;
504 void reset() override;
505 void setValueWidgetsVisible(bool visible) override;
506 QList<QRect> valueWidgetRects() const override;
507
508protected Q_SLOTS:
509
510 void indexChanged(int);
511
512protected:
513
514 QComboBox* m_comboBox = nullptr;
515};
516
517//-----------------------------------------------------------------------------
518
520{
521 Q_OBJECT
522
523public:
524
525 explicit SearchFieldCheckBox(QObject* const parent);
526
527 void setLabel(const QString& text);
528
529 void setupValueWidgets(QGridLayout* layout, int row, int column) override;
530 void read(SearchXmlCachingReader& reader) override;
531 void write(SearchXmlWriter& writer) override;
532 void reset() override;
533 void setValueWidgetsVisible(bool visible) override;
534 QList<QRect> valueWidgetRects() const override;
535
536protected Q_SLOTS:
537
538 void slotToggled(bool checked);
539
540protected:
541
542 QCheckBox* m_checkBox = nullptr;
543 QString m_text;
544};
545
546//-----------------------------------------------------------------------------
547
549{
550 Q_OBJECT
551
552public:
553
554 explicit SearchFieldColorDepth(QObject* const parent);
555
556 void setupValueWidgets(QGridLayout* layout, int row, int column) override;
557 void read(SearchXmlCachingReader& reader) override;
558};
559
560//-----------------------------------------------------------------------------
561
563{
564 Q_OBJECT
565
566public:
567
568 explicit SearchFieldPageOrientation(QObject* const parent);
569
570 void setupValueWidgets(QGridLayout* layout, int row, int column) override;
571 void read(SearchXmlCachingReader& reader) override;
572};
573
574//-----------------------------------------------------------------------------
575
577{
578 Q_OBJECT
579
580public:
581
582 explicit SearchFieldLabels(QObject* const parent);
583
584 void setupValueWidgets(QGridLayout* layout, int row, int column) override;
585 void read(SearchXmlCachingReader& reader) override;
586 void write(SearchXmlWriter& writer) override;
587 void reset() override;
588 void setValueWidgetsVisible(bool visible) override;
589 QList<QRect> valueWidgetRects() const override;
590
591protected Q_SLOTS:
592
593 void updateState();
594
595protected:
596
599};
600
601//-----------------------------------------------------------------------------
602
604{
605 Q_OBJECT
606
607public:
608
609 explicit SearchFieldMonthDay(QObject* const parent);
610
611 void setupValueWidgets(QGridLayout* layout, int row, int column) override;
612 void read(SearchXmlCachingReader& reader) override;
613 void write(SearchXmlWriter& writer) override;
614 void reset() override;
615 void setValueWidgetsVisible(bool visible) override;
616 QList<QRect> valueWidgetRects() const override;
617
618protected Q_SLOTS:
619
620 void slotIndexChanged();
621
622protected:
623
624 QLabel* m_dayLabel = nullptr;
625 QComboBox* m_monthBox = nullptr;
626 QComboBox* m_dayBox = nullptr;
627};
628
629} // namespace Digikam
Definition albumselectcombobox.h:127
Definition abstractalbummodel.h:357
Definition albumselectcombobox.h:167
Abstract base class for all album types.
Definition album.h:57
Definition searchutilities.h:39
Definition choicesearchutilities.h:191
Definition choicesearchutilities.h:33
Definition colorlabelfilter.h:32
Definition searchutilities.h:102
Definition searchutilities.h:158
Definition ddateedit.h:42
Definition picklabelfilter.h:32
Definition ratingsearchutilities.h:39
Definition searchfields.h:412
void updateState()
Definition searchfields_album.cpp:67
TagTreeViewSelectComboBox * m_tagComboBox
Definition searchfields.h:449
void read(SearchXmlCachingReader &reader) override
Definition searchfields_album.cpp:72
Type
Definition searchfields.h:418
@ TypeAlbum
Definition searchfields.h:419
@ TypeTag
Definition searchfields.h:420
void reset() override
Definition searchfields_album.cpp:180
SqueezedComboBox * m_operation
Definition searchfields.h:450
AbstractCheckableAlbumModel * m_model
Definition searchfields.h:452
void setValueWidgetsVisible(bool visible) override
Definition searchfields_album.cpp:190
AlbumTreeViewSelectComboBox * m_albumComboBox
Definition searchfields.h:448
Type m_type
Definition searchfields.h:451
void setupValueWidgets(QGridLayout *layout, int row, int column) override
Definition searchfields_album.cpp:27
void write(SearchXmlWriter &writer) override
Definition searchfields_album.cpp:129
Operation
Definition searchfields.h:424
@ All
Definition searchfields.h:425
@ InTree
Definition searchfields.h:427
@ OneOf
Definition searchfields.h:426
QWidget * m_wrapperBox
Definition searchfields.h:447
QList< QRect > valueWidgetRects() const override
Definition searchfields_album.cpp:195
Definition searchfields.h:520
void write(SearchXmlWriter &writer) override
Definition searchfields_checkbox.cpp:45
void setValueWidgetsVisible(bool visible) override
Definition searchfields_checkbox.cpp:65
QList< QRect > valueWidgetRects() const override
Definition searchfields_checkbox.cpp:75
QString m_text
Definition searchfields.h:543
void setupValueWidgets(QGridLayout *layout, int row, int column) override
Definition searchfields_checkbox.cpp:26
void setLabel(const QString &text)
Definition searchfields_checkbox.cpp:35
QCheckBox * m_checkBox
Definition searchfields.h:542
void reset() override
Definition searchfields_checkbox.cpp:70
void read(SearchXmlCachingReader &reader) override
Definition searchfields_checkbox.cpp:54
void slotToggled(bool checked)
Definition searchfields_checkbox.cpp:83
Definition searchfields.h:352
void setupValueWidgets(QGridLayout *layout, int row, int column) override
Definition searchfields_choice.cpp:28
void setValueWidgetsVisible(bool visible) override
Definition searchfields_choice.cpp:271
void updateComboText()
Definition searchfields_choice.cpp:94
QString m_anyText
Definition searchfields.h:392
void write(SearchXmlWriter &writer) override
Definition searchfields_choice.cpp:189
ChoiceSearchModel * m_model
Definition searchfields.h:393
void setAnyText(const QString &anyText)
Definition searchfields_choice.cpp:84
QList< QRect > valueWidgetRects() const override
Definition searchfields_choice.cpp:276
void checkStateChanged()
Definition searchfields_choice.cpp:89
QMetaType::Type m_type
Definition searchfields.h:384
void reset() override
Definition searchfields_choice.cpp:266
ChoiceSearchComboBox * m_comboBox
Definition searchfields.h:380
void setChoice(const QMap< int, QString > &map)
Definition searchfields_choice.cpp:50
void read(SearchXmlCachingReader &reader) override
Definition searchfields_choice.cpp:116
Definition searchfields.h:549
void setupValueWidgets(QGridLayout *layout, int row, int column) override
Definition searchfields_colordepth.cpp:26
void read(SearchXmlCachingReader &reader) override
Definition searchfields_colordepth.cpp:36
Definition searchfields.h:495
QComboBox * m_comboBox
Definition searchfields.h:514
QList< QRect > valueWidgetRects() const override
Definition searchfields_combobox.cpp:63
void indexChanged(int)
Definition searchfields_combobox.cpp:71
void reset() override
Definition searchfields_combobox.cpp:58
void write(SearchXmlWriter &writer) override
Definition searchfields_combobox.cpp:36
void setValueWidgetsVisible(bool visible) override
Definition searchfields_combobox.cpp:53
void setupValueWidgets(QGridLayout *layout, int row, int column) override
Definition searchfields_combobox.cpp:26
Definition searchfieldgroup.h:42
Definition searchfields.h:156
void read(SearchXmlCachingReader &reader) override
Definition searchfields_keyword.cpp:26
void write(SearchXmlWriter &writer) override
Definition searchfields_keyword.cpp:32
Definition searchfields.h:577
void setValueWidgetsVisible(bool visible) override
Definition searchfields_labels.cpp:141
PickLabelFilter * m_pickLabelFilter
Definition searchfields.h:597
QList< QRect > valueWidgetRects() const override
Definition searchfields_labels.cpp:147
void setupValueWidgets(QGridLayout *layout, int row, int column) override
Definition searchfields_labels.cpp:26
void write(SearchXmlWriter &writer) override
Definition searchfields_labels.cpp:90
ColorLabelFilter * m_colorLabelFilter
Definition searchfields.h:598
void read(SearchXmlCachingReader &reader) override
Definition searchfields_labels.cpp:51
void updateState()
Definition searchfields_labels.cpp:46
void reset() override
Definition searchfields_labels.cpp:135
Definition searchfields.h:604
QComboBox * m_dayBox
Definition searchfields.h:626
void setValueWidgetsVisible(bool visible) override
Definition searchfields_monthday.cpp:98
QList< QRect > valueWidgetRects() const override
Definition searchfields_monthday.cpp:105
void setupValueWidgets(QGridLayout *layout, int row, int column) override
Definition searchfields_monthday.cpp:26
QComboBox * m_monthBox
Definition searchfields.h:625
void write(SearchXmlWriter &writer) override
Definition searchfields_monthday.cpp:79
void reset() override
Definition searchfields_monthday.cpp:92
QLabel * m_dayLabel
Definition searchfields.h:624
void slotIndexChanged()
Definition searchfields_monthday.cpp:114
void read(SearchXmlCachingReader &reader) override
Definition searchfields_monthday.cpp:63
Definition searchfields.h:563
void read(SearchXmlCachingReader &reader) override
Definition searchfields_pageorientation.cpp:36
void setupValueWidgets(QGridLayout *layout, int row, int column) override
Definition searchfields_pageorientation.cpp:26
Definition searchfields.h:266
QLabel * m_betweenLabel
Definition searchfields.h:301
Type
Definition searchfields.h:272
@ DateOnly
Definition searchfields.h:273
@ DateTime
Definition searchfields.h:274
void setBetweenText(const QString &between)
Definition searchfields_rangedate.cpp:68
DDateEdit * m_firstDateEdit
Definition searchfields.h:298
DDateEdit * m_secondDateEdit
Definition searchfields.h:300
QTimeEdit * m_secondTimeEdit
Definition searchfields.h:299
void write(SearchXmlWriter &writer) override
Definition searchfields_rangedate.cpp:154
void setupValueWidgets(QGridLayout *layout, int row, int column) override
Definition searchfields_rangedate.cpp:28
void reset() override
Definition searchfields_rangedate.cpp:230
void read(SearchXmlCachingReader &reader) override
Definition searchfields_rangedate.cpp:73
QTimeEdit * m_firstTimeEdit
Definition searchfields.h:297
Type m_type
Definition searchfields.h:303
void setValueWidgetsVisible(bool visible) override
Definition searchfields_rangedate.cpp:257
void valueChanged()
Definition searchfields_rangedate.cpp:296
QList< QRect > valueWidgetRects() const override
Definition searchfields_rangedate.cpp:276
void setBoundary(const QDateTime &min, const QDateTime &max)
Definition searchfields_rangedate.cpp:249
Definition searchfields.h:218
CustomStepsDoubleSpinBox * m_firstBox
Definition searchfields.h:252
void setSuggestedValues(const QList< double > &values)
Definition searchfields_rangedouble.cpp:158
void valueChanged()
Definition searchfields_rangedouble.cpp:182
void setSuggestedInitialValue(double initialValue)
Definition searchfields_rangedouble.cpp:164
void setBoundary(double min, double max, int decimals, double step)
Definition searchfields_rangedouble.cpp:137
void setBetweenText(const QString &text)
Definition searchfields_rangedouble.cpp:118
void setValueWidgetsVisible(bool visible) override
Definition searchfields_rangedouble.cpp:224
void read(SearchXmlCachingReader &reader) override
Definition searchfields_rangedouble.cpp:55
void write(SearchXmlWriter &writer) override
Definition searchfields_rangedouble.cpp:81
void setupValueWidgets(QGridLayout *layout, int row, int column) override
Definition searchfields_rangedouble.cpp:29
QList< QRect > valueWidgetRects() const override
Definition searchfields_rangedouble.cpp:231
void setInvertStepping(bool invert)
Definition searchfields_rangedouble.cpp:176
QLabel * m_betweenLabel
Definition searchfields.h:254
CustomStepsDoubleSpinBox * m_secondBox
Definition searchfields.h:253
void setFactor(double factor)
Definition searchfields_rangedouble.cpp:153
void setNoValueText(const QString &text)
Definition searchfields_rangedouble.cpp:123
void setNumberPrefixAndSuffix(const QString &prefix, const QString &suffix)
Definition searchfields_rangedouble.cpp:129
double m_min
Definition searchfields.h:249
double m_max
Definition searchfields.h:250
void reset() override
Definition searchfields_rangedouble.cpp:216
double m_factor
Definition searchfields.h:251
void setSingleSteps(double smaller, double larger)
Definition searchfields_rangedouble.cpp:170
Definition searchfields.h:170
void enableFractionMagic(const QString &prefix)
Definition searchfields_rangeint.cpp:277
void write(SearchXmlWriter &writer) override
Definition searchfields_rangeint.cpp:162
int m_min
Definition searchfields.h:201
void setSingleSteps(int smaller, int larger)
Definition searchfields_rangeint.cpp:300
void setNoValueText(const QString &text)
int m_max
Definition searchfields.h:202
QLabel * m_betweenLabel
Definition searchfields.h:206
QList< QRect > valueWidgetRects() const override
Definition searchfields_rangeint.cpp:395
void setSuggestedValues(const QList< int > &values)
Definition searchfields_rangeint.cpp:288
bool m_reciprocal
Definition searchfields.h:203
void setValueWidgetsVisible(bool visible) override
Definition searchfields_rangeint.cpp:388
void setupValueWidgets(QGridLayout *layout, int row, int column) override
Definition searchfields_rangeint.cpp:29
void setNumberPrefixAndSuffix(const QString &prefix, const QString &suffix)
Definition searchfields_rangeint.cpp:247
void setBoundary(int min, int max, int step=1)
Definition searchfields_rangeint.cpp:255
CustomStepsIntSpinBox * m_firstBox
Definition searchfields.h:204
void reset() override
Definition searchfields_rangeint.cpp:380
void setBetweenText(const QString &text)
Definition searchfields_rangeint.cpp:242
void valueChanged()
Definition searchfields_rangeint.cpp:312
void setSuggestedInitialValue(int initialValue)
Definition searchfields_rangeint.cpp:294
void setInvertStepping(bool invert)
Definition searchfields_rangeint.cpp:306
CustomStepsIntSpinBox * m_secondBox
Definition searchfields.h:205
void read(SearchXmlCachingReader &reader) override
Definition searchfields_rangeint.cpp:54
Definition searchfields.h:315
void read(SearchXmlCachingReader &reader) override
Definition searchfields_rangedate.cpp:330
void setBetweenText(const QString &between)
Definition searchfields_rangedate.cpp:325
void valueChanged()
Definition searchfields_rangedate.cpp:406
void setBoundary(const QTime &min, const QTime &max)
Definition searchfields_rangedate.cpp:382
QLabel * m_betweenLabel
Definition searchfields.h:340
void write(SearchXmlWriter &writer) override
Definition searchfields_rangedate.cpp:350
void reset() override
Definition searchfields_rangedate.cpp:374
void setupValueWidgets(QGridLayout *layout, int row, int column) override
Definition searchfields_rangedate.cpp:309
QTimeEdit * m_firstTimeEdit
Definition searchfields.h:338
void setValueWidgetsVisible(bool visible) override
Definition searchfields_rangedate.cpp:390
QList< QRect > valueWidgetRects() const override
Definition searchfields_rangedate.cpp:397
QTimeEdit * m_secondTimeEdit
Definition searchfields.h:339
Definition searchfields.h:458
void reset() override
Definition searchfields_rating.cpp:194
void read(SearchXmlCachingReader &reader) override
Definition searchfields_rating.cpp:42
void setBetweenText(const QString &text)
Definition searchfields_rating.cpp:142
QLabel * m_betweenLabel
Definition searchfields.h:483
void setupValueWidgets(QGridLayout *layout, int row, int column) override
Definition searchfields_rating.cpp:29
QList< QRect > valueWidgetRects() const override
Definition searchfields_rating.cpp:207
void setValueWidgetsVisible(bool visible) override
Definition searchfields_rating.cpp:200
void secondValueChanged()
Definition searchfields_rating.cpp:173
RatingComboBox * m_secondBox
Definition searchfields.h:482
void write(SearchXmlWriter &writer) override
Definition searchfields_rating.cpp:101
RatingComboBox * m_firstBox
Definition searchfields.h:481
void firstValueChanged()
Definition searchfields_rating.cpp:147
Definition searchfields.h:130
QLineEdit * m_edit
Definition searchfields.h:150
void reset() override
Definition searchfields_text.cpp:53
void write(SearchXmlWriter &writer) override
Definition searchfields_text.cpp:41
void valueChanged(const QString &text)
Definition searchfields_text.cpp:71
void setValueWidgetsVisible(bool visible) override
Definition searchfields_text.cpp:58
void read(SearchXmlCachingReader &reader) override
Definition searchfields_text.cpp:35
void setupValueWidgets(QGridLayout *layout, int row, int column) override
Definition searchfields_text.cpp:26
QList< QRect > valueWidgetRects() const override
Definition searchfields_text.cpp:63
Definition searchfields.h:56
virtual bool supportsField(const QString &fieldName)
Definition searchfields.cpp:104
QList< QRect > widgetRects(WidgetRectType=ValueWidgetRectsOnly) const
Definition searchfields.cpp:162
void setValidValueState(bool valueIsValid)
Definition searchfields.cpp:182
void setup(QGridLayout *const layout, int row=-1)
Definition searchfields.cpp:29
bool isVisible() override
Definition searchfields.cpp:117
bool m_valueIsValid
Definition searchfields.h:118
QString m_name
Definition searchfields.h:110
virtual QList< QRect > valueWidgetRects() const =0
void setVisible(bool visible) override
Definition searchfields.cpp:109
void clearButtonClicked()
Definition searchfields.cpp:177
virtual void reset()=0
void setCategoryLabelVisibleFromPreviousField(SearchField *const previousField)
Definition searchfields.cpp:138
void setCategoryLabelVisible(bool visible)
Definition searchfields.cpp:124
virtual void setupLabels(QGridLayout *layout, int line)
Definition searchfields.cpp:85
void setFieldName(const QString &fieldName)
Definition searchfields.cpp:93
static SearchField * createField(const QString &fieldName, SearchFieldGroup *const parent)
Definition searchfields_createfield.cpp:21
QLabel * m_label
Definition searchfields.h:112
virtual void read(SearchXmlCachingReader &reader)=0
AnimatedClearButton * m_clearButton
Definition searchfields.h:115
virtual void setText(const QString &label, const QString &detailLabel)
Definition searchfields.cpp:98
WidgetRectType
Definition searchfields.h:62
@ LabelAndValueWidgetRects
Definition searchfields.h:63
@ ValueWidgetRectsOnly
Definition searchfields.h:64
void signalVisibilityChanged()
virtual void write(SearchXmlWriter &writer)=0
virtual void setValueWidgetsVisible(bool visible)=0
QLabel * m_detailLabel
Definition searchfields.h:113
virtual void setupValueWidgets(QGridLayout *layout, int row, int column)=0
bool m_categoryLabelVisible
Definition searchfields.h:117
Definition coredbsearchxml.h:366
Definition coredbsearchxml.h:214
Definition squeezedcombobox.h:41
Definition albumselectcombobox.h:183
Definition visibilitycontroller.h:30
QStringView prefix
Definition itemviewutilities.cpp:586
QStringView suffix
Definition itemviewutilities.cpp:587
Definition datefolderview.cpp:34
Type
Definition gpsitemcontainer.h:36