digiKam
Loading...
Searching...
No Matches
showfotocategorizedview.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 : 2012-07-13
7 * Description : Qt categorized item view for showfoto items
8 *
9 * SPDX-FileCopyrightText: 2013 by Mohamed_Anwer <m_dot_anwer at gmx dot com>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Local includes
18
19#include "itemviewcategorized.h"
20#include "showfotoitemmodel.h"
21#include "showfotofiltermodel.h"
23#include "showfotoiteminfo.h"
24#include "itemdelegateoverlay.h"
25
26namespace ShowFoto
27{
28
29class ShowfotoDelegate;
30
32{
33public:
34
35 Q_OBJECT
36
37public:
38
39 explicit ShowfotoCategorizedView(QWidget* const parent = nullptr);
40 ~ShowfotoCategorizedView() override;
41
43
46
47 QItemSelectionModel* getSelectionModel() const;
48
53
58
60
62 QUrl currentUrl() const;
63
64 QList<ShowfotoItemInfo> selectedShowfotoItemInfos() const;
65 QList<ShowfotoItemInfo> selectedShowfotoItemInfosCurrentFirst() const;
66 QList<QUrl> selectedUrls() const;
67
68 QList<ShowfotoItemInfo> showfotoItemInfos() const;
69 QList<QUrl> urls() const;
70
74 void toIndex(const QUrl& url);
75
83 ShowfotoItemInfo nextInOrder(const ShowfotoItemInfo& startingPoint, int nth);
84
87
94
95 // TODO: Implement This
96/*
97 void addSelectionOverlay(ShowfotoDelegate* delegate = 0);
98*/
100
101 virtual void setThumbnailSize(const ThumbnailSize& size);
102
103public Q_SLOTS:
104
105 void setThumbnailSize(int size);
106
110 void setCurrentWhenAvailable(qlonglong ShowfotoItemId);
111
115 void setCurrentUrl(const QUrl& url);
116
120 void setCurrentInfo(const ShowfotoItemInfo& info);
121
125 void setSelectedUrls(const QList<QUrl>& urlList);
126
130 void setSelectedShowfotoItemInfos(const QList<ShowfotoItemInfo>& infos);
131
135 void hintAt(const ShowfotoItemInfo& info);
136
137Q_SIGNALS:
138
140
145 void selected(const QList<ShowfotoItemInfo>& newSelectedInfos);
146
151 void deselected(const QList<ShowfotoItemInfo>& nowDeselectedInfos);
152
157
162
163protected:
164
166 QSortFilterProxyModel* filterModel() const override;
168 QModelIndex nextIndexHint(const QModelIndex& indexToAnchor, const QItemSelectionRange& removed) const override;
169
171 void indexActivated(const QModelIndex& index, Qt::KeyboardModifiers modifiers) override;
172 void currentChanged(const QModelIndex& index, const QModelIndex& previous) override;
173 void paintEvent(QPaintEvent* e) override;
174 void selectionChanged(const QItemSelection&, const QItemSelection&) override;
175 void updateGeometries() override;
176
178 virtual void activated(const ShowfotoItemInfo& info, Qt::KeyboardModifiers modifiers);
179 virtual void showContextMenuOnInfo(QContextMenuEvent* event, const ShowfotoItemInfo& info);
180 void showContextMenuOnIndex(QContextMenuEvent* event, const QModelIndex& index) override;
181
182private Q_SLOTS:
183
184 void slotFileChanged(const QString& filePath);
185 void slotDelayedEnter();
186
187private:
188
189 void scrollToStoredItem();
190
191private:
192
193 // Disable
195 ShowfotoCategorizedView& operator=(const ShowfotoCategorizedView&) = delete;
196
197private:
198
199 class Private;
200 Private* const d = nullptr;
201};
202
203} // namespace Showfoto
Definition abstractitemdragdrophandler.h:32
Definition itemdelegateoverlay.h:31
Definition itemviewcategorized.h:34
Definition thumbnailsize.h:32
Definition showfotocategorizedview.h:32
void toIndex(const QUrl &url)
Definition showfotocategorizedview.cpp:277
void currentChanged(const ShowfotoItemInfo &info)
ShowfotoSortFilterModel * showfotoSortFilterModel() const
Definition showfotocategorizedview.cpp:142
ShowfotoItemInfo currentInfo() const
Definition showfotocategorizedview.cpp:208
ShowfotoItemModel * showfotoItemModel() const
Definition showfotocategorizedview.cpp:137
void indexActivated(const QModelIndex &index, Qt::KeyboardModifiers modifiers) override
Definition showfotocategorizedview.cpp:512
AbstractItemDragDropHandler * dragDropHandler() const override
Definition showfotocategorizedview.cpp:572
QList< ShowfotoItemInfo > selectedShowfotoItemInfos() const
Definition showfotocategorizedview.cpp:218
ShowfotoDelegate * delegate() const
Definition showfotocategorizedview.cpp:162
void addOverlay(ItemDelegateOverlay *overlay, ShowfotoDelegate *delegate=nullptr)
Definition showfotocategorizedview.cpp:456
ShowfotoItemInfo nextInfo(const ShowfotoItemInfo &info)
Definition showfotocategorizedview.cpp:582
void hintAt(const ShowfotoItemInfo &info)
Definition showfotocategorizedview.cpp:438
QList< QUrl > urls() const
Definition showfotocategorizedview.cpp:251
QModelIndex nextIndexHint(const QModelIndex &indexToAnchor, const QItemSelectionRange &removed) const override
Definition showfotocategorizedview.cpp:294
virtual void setThumbnailSize(const ThumbnailSize &size)
Definition showfotocategorizedview.cpp:359
ShowfotoItemInfo nextInOrder(const ShowfotoItemInfo &startingPoint, int nth)
Definition showfotocategorizedview.cpp:282
void updateGeometries() override
Definition showfotocategorizedview.cpp:484
QList< ShowfotoItemInfo > showfotoItemInfos() const
Definition showfotocategorizedview.cpp:246
void setSelectedUrls(const QList< QUrl > &urlList)
Definition showfotocategorizedview.cpp:401
void setCurrentWhenAvailable(qlonglong ShowfotoItemId)
Definition showfotocategorizedview.cpp:368
QSortFilterProxyModel * filterModel() const override
reimplemented from parent class
Definition showfotocategorizedview.cpp:157
virtual void showContextMenuOnInfo(QContextMenuEvent *event, const ShowfotoItemInfo &info)
Definition showfotocategorizedview.cpp:557
void setCurrentUrl(const QUrl &url)
Definition showfotocategorizedview.cpp:373
ShowfotoFilterModel * showfotoFilterModel() const
Definition showfotocategorizedview.cpp:147
void paintEvent(QPaintEvent *e) override
Definition showfotocategorizedview.cpp:562
ThumbnailSize thumbnailSize() const
Definition showfotocategorizedview.cpp:336
void showContextMenuOnIndex(QContextMenuEvent *event, const QModelIndex &index) override
Reimplement these in a subclass.
Definition showfotocategorizedview.cpp:551
void setSelectedShowfotoItemInfos(const QList< ShowfotoItemInfo > &infos)
Definition showfotocategorizedview.cpp:425
ShowfotoItemInfo previousInfo(const ShowfotoItemInfo &info)
Definition showfotocategorizedview.cpp:577
void setModels(ShowfotoItemModel *model, ShowfotoSortFilterModel *filterModel)
Definition showfotocategorizedview.cpp:102
QList< QUrl > selectedUrls() const
Definition showfotocategorizedview.cpp:264
void setItemDelegate(ShowfotoDelegate *delegate)
Definition showfotocategorizedview.cpp:167
QItemSelectionModel * getSelectionModel() const
Definition showfotocategorizedview.cpp:567
void showfotoItemInfoActivated(const ShowfotoItemInfo &info)
void setCurrentInfo(const ShowfotoItemInfo &info)
Definition showfotocategorizedview.cpp:394
ShowfotoThumbnailModel * showfotoThumbnailModel() const
Definition showfotocategorizedview.cpp:152
virtual void activated(const ShowfotoItemInfo &info, Qt::KeyboardModifiers modifiers)
Reimplement these in a subclass.
Definition showfotocategorizedview.cpp:546
QUrl currentUrl() const
Definition showfotocategorizedview.cpp:213
void deselected(const QList< ShowfotoItemInfo > &nowDeselectedInfos)
void selected(const QList< ShowfotoItemInfo > &newSelectedInfos)
~ShowfotoCategorizedView() override
Definition showfotocategorizedview.cpp:96
QList< ShowfotoItemInfo > selectedShowfotoItemInfosCurrentFirst() const
Definition showfotocategorizedview.cpp:223
void removeOverlay(ItemDelegateOverlay *overlay)
Definition showfotocategorizedview.cpp:472
Definition showfotodelegate.h:36
Definition showfotofiltermodel.h:92
Definition showfotoiteminfo.h:38
Definition showfotoitemmodel.h:37
Definition showfotofiltermodel.h:34
Definition showfotothumbnailmodel.h:32
Definition showfotofolderviewbar.cpp:43