digiKam
Loading...
Searching...
No Matches
searchtextbar.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 : 2007-11-25
7 * Description : a bar used to search a string - version not based on database models
8 *
9 * SPDX-FileCopyrightText: 2007-2024 by Gilles Caulier <caulier dot gilles 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 <QAbstractItemModel>
20#include <QStringList>
21#include <QLineEdit>
22
23// Local includes
24
25#include "digikam_export.h"
26#include "modelcompleter.h"
27#include "statesavingobject.h"
28
29namespace Digikam
30{
31
32class DIGIKAM_EXPORT SearchTextSettings
33{
34
35public:
36
37 SearchTextSettings() = default;
38
39 Qt::CaseSensitivity caseSensitive = Qt::CaseInsensitive;
40
41 QString text;
42};
43
44bool DIGIKAM_EXPORT operator==(const SearchTextSettings& a, const SearchTextSettings& b);
45
50class DIGIKAM_EXPORT SearchTextBar : public QLineEdit,
52{
53 Q_OBJECT
54
55public:
56
61 {
67
73
77 NO_RESULT
78 };
79
80public:
81
82 explicit SearchTextBar(QWidget* const parent,
83 const QString& name,
84 const QString& msg = QString());
85 ~SearchTextBar() override;
86
87 void setTextQueryCompletion(bool b);
88 bool hasTextQueryCompletion() const;
89
100 void setHighlightOnResult(bool highlight);
101
108 HighlightState getCurrentHighlightState() const;
109
119 void setCaseSensitive(bool b);
120 bool hasCaseSensitive() const;
121
122 void setSearchTextSettings(const SearchTextSettings& settings);
123 SearchTextSettings searchTextSettings() const;
124 ModelCompleter* completerModel() const;
125
126Q_SIGNALS:
127
129 void completerHighlighted(int albumId);
131
132public Q_SLOTS:
133
134 void slotSearchResult(bool match);
135
136private Q_SLOTS:
137
138 void slotTextChanged();
139
140protected:
141
142 void doLoadState() override;
143 void doSaveState() override;
144
145private:
146
147 void contextMenuEvent(QContextMenuEvent* e) override;
148
156 void setIgnoreCase(bool ignore);
157
158private:
159
160 class Private;
161 Private* const d = nullptr;
162};
163
164} // namespace Digikam
Definition modelcompleter.h:33
Definition searchtextbar.h:52
HighlightState
Definition searchtextbar.h:61
@ HAS_RESULT
Definition searchtextbar.h:72
@ NEUTRAL
Definition searchtextbar.h:66
void signalSearchTextSettings(const SearchTextSettings &settings)
void completerHighlighted(int albumId)
Definition searchtextbar.h:33
QString text
Definition searchtextbar.h:41
Definition statesavingobject.h:66
Definition datefolderview.cpp:34
bool operator==(const SearchTextSettings &a, const SearchTextSettings &b)
Definition searchtextbar.cpp:40