digiKam
Loading...
Searching...
No Matches
albumselectwidget.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-26-02
7 * Description : a widget to select a physical album
8 *
9 * SPDX-FileCopyrightText: 2009-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 *
12 * SPDX-License-Identifier: GPL-2.0-or-later
13 *
14 * ============================================================ */
15
16#pragma once
17
18// Qt includes
19
20#include <QWidget>
21
22// Local includes
23
24#include "albummanager.h"
25#include "albumtreeview.h"
26#include "searchtextbardb.h"
27
28class QTreeWidget;
29
30namespace Digikam
31{
32
33class PAlbum;
34class AlbumModificationHelper;
35
42{
43 Q_OBJECT
44
45public:
46
55 AlbumModificationHelper* const albumModificationHelper,
56 QWidget* const parent = nullptr);
57
61 ~AlbumSelectTreeView() override;
62
63 void addCustomContextMenuActions(ContextMenuHelper& cmh, Album* album) override;
64 void handleCustomContextMenuAction(QAction* action, const AlbumPointer<Album>& album) override;
65
66public Q_SLOTS:
67
72 void slotNewAlbum();
73
74private:
75
76 class Private;
77 Private* const d = nullptr;
78};
79
80// -----------------------------------------------------------------------------------------------
81
82class AlbumSelectWidget : public QWidget
83{
84 Q_OBJECT
85
86public:
87
88 explicit AlbumSelectWidget(QWidget* const parent = nullptr,
89 PAlbum* const albumToSelect = nullptr,
90 bool completerSelect = false);
91 ~AlbumSelectWidget() override;
92
93 void setCurrentAlbumUrl(const QUrl& albumUrl);
94 QUrl currentAlbumUrl() const;
95
96 PAlbum* currentAlbum() const;
97 void setCurrentAlbum(PAlbum* const albumToSelect);
98
99Q_SIGNALS:
100
103
104private Q_SLOTS:
105
106 void slotCompleterTimer();
107 void slotSelectionChanged();
108 void slotAlbumRenamed(Album*);
109 void slotCompleterHighlighted(int albumId);
110
111private:
112
113 class Private;
114 Private* const d = nullptr;
115};
116
117} // namespace Digikam
Definition albummodel.h:30
Definition albummodificationhelper.h:36
Definition albumpointer.h:38
Definition albumselectwidget.h:42
void handleCustomContextMenuAction(QAction *action, const AlbumPointer< Album > &album) override
Definition albumselectwidget.cpp:80
~AlbumSelectTreeView() override
Definition albumselectwidget.cpp:69
void addCustomContextMenuActions(ContextMenuHelper &cmh, Album *album) override
Definition albumselectwidget.cpp:74
void slotNewAlbum()
Definition albumselectwidget.cpp:91
Definition albumselectwidget.h:83
QUrl currentAlbumUrl() const
Definition albumselectwidget.cpp:231
void setCurrentAlbumUrl(const QUrl &albumUrl)
Definition albumselectwidget.cpp:243
void setCurrentAlbum(PAlbum *const albumToSelect)
Definition albumselectwidget.cpp:226
PAlbum * currentAlbum() const
Definition albumselectwidget.cpp:221
~AlbumSelectWidget() override
Definition albumselectwidget.cpp:214
Definition albumtreeview.h:27
Abstract base class for all album types.
Definition album.h:57
A helper class to add actions and special menus to the context menu.
Definition contextmenuhelper.h:70
Definition album.h:357
Definition datefolderview.cpp:34