digiKam
showfotofolderviewsidebar.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 : 2021-08-27
7  * Description : Side Bar Widget for the Showfoto folder view.
8  *
9  * Copyright (C) 2021-2022 by Gilles Caulier <caulier dot gilles at gmail dot com>
10  *
11  * This program is free software; you can redistribute it
12  * and/or modify it under the terms of the GNU General
13  * Public License as published by the Free Software Foundation;
14  * either version 2, or (at your option)
15  * any later version.
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  * GNU General Public License for more details.
21  *
22  * ============================================================ */
23 
24 #ifndef SHOWFOTO_FOLDER_VIEW_SIDEBAR_H
25 #define SHOWFOTO_FOLDER_VIEW_SIDEBAR_H
26 
27 // QT includes
28 
29 #include <QListView>
30 #include <QPixmap>
31 #include <QWidget>
32 #include <QEvent>
33 #include <QAction>
34 #include <QStringList>
35 #include <QModelIndex>
36 
37 // Local includes
38 
39 #include "statesavingobject.h"
41 #include "dpluginaction.h"
42 
43 using namespace Digikam;
44 
45 namespace ShowFoto
46 {
47 
48 class Showfoto;
49 
50 class ShowfotoFolderViewSideBar : public QWidget,
51  public StateSavingObject
52 {
53  Q_OBJECT
54 
55 public:
56 
57  explicit ShowfotoFolderViewSideBar(Showfoto* const parent);
58  ~ShowfotoFolderViewSideBar() override;
59 
60  void doLoadState() override;
61  void doSaveState() override;
62  const QIcon getIcon();
63  const QString getCaption();
64 
65  QString currentFolder() const;
66  QString currentPath() const;
67 
68  void setCurrentPath(const QString& newPathNative);
69  void setCurrentPathWithoutUndo(const QString& newPath);
70 
71  void setSortOrder(int order);
72  void setSortRole(int role);
73 
74  void loadContents(const QModelIndex& index, bool append = false);
75 
76  void registerPluginActions(const QList<DPluginAction*>& actions);
77  QList<QAction*> pluginActions() const;
78 
79 public Q_SLOTS:
80 
81  void slotUndo();
82  void slotRedo();
83  void slotGoHome();
84  void slotGoUp();
85  void slotLoadContents();
86  void slotAppendContents();
87 
88 private Q_SLOTS:
89 
90  void slotCustomPathChanged(const QString&);
91  void slotViewModeChanged(int);
92  void slotShowBookmarks(bool);
93  void slotPluginActionTriggered(QAction*);
94  void slotTypeMimesChanged(const QString& patterns);
95 
96 Q_SIGNALS:
97 
99  void signalSetup();
100  void signalLoadContentsFromPath(const QString& path);
101  void signalLoadContentsFromFiles(const QStringList& files, const QString& current);
102  void signalAppendContentsFromFiles(const QStringList& files, const QString& current);
103 
104 private:
105 
106  class Private;
107  Private* const d;
108 };
109 
110 } // namespace ShowFoto
111 
112 #endif // SHOWFOTO_FOLDER_VIEW_SIDEBAR_H
Definition: statesavingobject.h:76
Definition: showfotofolderviewsidebar.h:52
void signalLoadContentsFromPath(const QString &path)
void signalLoadContentsFromFiles(const QStringList &files, const QString &current)
void signalAppendContentsFromFiles(const QStringList &files, const QString &current)
Definition: showfoto.h:44
Definition: datefolderview.cpp:43
Definition: showfotofolderviewbar.cpp:52