digiKam
Loading...
Searching...
No Matches
modelcompleter.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 : 2010-06-13
7 * Description : A QCompleter for AbstractAlbumModels
8 *
9 * SPDX-FileCopyrightText: 2007-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 * SPDX-FileCopyrightText: 2009-2010 by Johannes Wienke <languitar at semipol dot de>
11 * SPDX-FileCopyrightText: 2010-2011 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
12 *
13 * SPDX-License-Identifier: GPL-2.0-or-later
14 *
15 * ============================================================ */
16
17#pragma once
18
19// QT includes
20
21#include <QAbstractItemModel>
22#include <QStringList>
23#include <QCompleter>
24
25// Local includes
26
27#include "digikam_export.h"
28
29namespace Digikam
30{
31
32class DIGIKAM_EXPORT ModelCompleter : public QCompleter
33{
34 Q_OBJECT
35
36public:
37
38 explicit ModelCompleter(QObject* const parent = nullptr);
39 ~ModelCompleter() override;
40
49 void setItemModel(QAbstractItemModel* const model, int uniqueIdRole, int displayRole = Qt::DisplayRole);
50 QAbstractItemModel* itemModel() const;
51
52 void addItem(const QString& item);
53 void setList(const QStringList& list);
54 QStringList items() const;
55
56Q_SIGNALS:
57
58 void signalHighlighted(int albumId);
60
61private Q_SLOTS:
62
63 void slotDelayedModelTimer();
64 void slotHighlighted(const QModelIndex& index);
65 void slotRowsInserted(const QModelIndex& parent, int start, int end);
66 void slotRowsAboutToBeRemoved(const QModelIndex& parent, int start, int end);
67 void slotDataChanged(const QModelIndex& topLeft, const QModelIndex& bottomRight);
68 void slotModelReset();
69
70private:
71
72 void sync(QAbstractItemModel* const model);
73 void sync(QAbstractItemModel* const model, const QModelIndex& index);
74
75private:
76
77 class Private;
78 Private* const d = nullptr;
79};
80
81} // namespace Digikam
Definition modelcompleter.h:33
void signalHighlighted(int albumId)
Definition datefolderview.cpp:34