]> cloud.milkyroute.net Git - dolphin.git/blob - src/views/dolphinitemlistview.h
Merge branch 'release/20.08'
[dolphin.git] / src / views / dolphinitemlistview.h
1 /*
2 * SPDX-FileCopyrightText: 2011 Peter Penz <peter.penz19@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7 #ifndef DOLPHINITEMLISTVIEW_H
8 #define DOLPHINITEMLISTVIEW_H
9
10 #include "dolphin_export.h"
11 #include "kitemviews/kfileitemlistview.h"
12 #include "settings/viewmodes/viewmodesettings.h"
13
14 class KFileItemListView;
15
16 /**
17 * @brief Dolphin specific view-implementation.
18 *
19 * Offers zoom-level support and takes care for translating
20 * the view-properties into the corresponding KItemListView
21 * properties.
22 */
23 class DOLPHIN_EXPORT DolphinItemListView : public KFileItemListView
24 {
25 Q_OBJECT
26
27 public:
28 explicit DolphinItemListView(QGraphicsWidget* parent = nullptr);
29 ~DolphinItemListView() override;
30
31 void setZoomLevel(int level);
32 int zoomLevel() const;
33
34 void readSettings();
35 void writeSettings();
36
37 protected:
38 KItemListWidgetCreatorBase* defaultWidgetCreator() const override;
39 bool itemLayoutSupportsItemExpanding(ItemLayout layout) const override;
40 void onItemLayoutChanged(ItemLayout current, ItemLayout previous) override;
41 void onPreviewsShownChanged(bool shown) override;
42 void onVisibleRolesChanged(const QList<QByteArray>& current,
43 const QList<QByteArray>& previous) override;
44
45 void updateFont() override;
46
47 private:
48 void updateGridSize();
49
50 ViewModeSettings::ViewMode viewMode() const;
51
52 private:
53 int m_zoomLevel;
54 };
55
56 #endif