21 #ifndef PCMANFM_DESKTOPWINDOW_H 22 #define PCMANFM_DESKTOPWINDOW_H 26 #include <unordered_map> 33 #include <libfm-qt/core/folder.h> 36 class CachedFolderModel;
37 class ProxyFolderModel;
38 class FolderViewListView;
62 void setForeground(
const QColor& color);
63 void setShadow(
const QColor& color);
64 void setBackground(
const QColor& color);
65 void setDesktopFolder();
66 void setWallpaperFile(QString filename);
67 void setWallpaperMode(WallpaperMode mode = WallpaperStretch);
68 void setLastSlide(QString filename);
69 void setWallpaperDir(QString dirname);
70 void setSlideShowInterval(
int interval);
71 void setWallpaperRandomize(
bool randomize);
74 void updateWallpaper();
77 void updateFromSettings(
Settings& settings,
bool changeSlide =
true);
79 void queueRelayout(
int delay = 0);
81 int screenNum()
const {
85 void setScreenNum(
int num);
88 virtual void prepareFolderMenu(Fm::FolderMenu* menu)
override;
89 virtual void prepareFileMenu(Fm::FileMenu* menu)
override;
90 virtual void resizeEvent(QResizeEvent* event)
override;
91 virtual void onFileClicked(
int type,
const std::shared_ptr<const Fm::FileInfo>& fileInfo)
override;
93 void loadItemPositions();
94 void saveItemPositions();
96 QImage loadWallpaperFile(QSize requiredSize);
98 virtual bool event(QEvent* event)
override;
99 virtual bool eventFilter(QObject* watched, QEvent* event)
override;
101 virtual void childDropEvent(QDropEvent* e)
override;
102 virtual void closeEvent(QCloseEvent* event)
override;
103 virtual void paintEvent(QPaintEvent *event)
override;
106 void onOpenDirRequested(
const Fm::FilePath& path,
int target);
107 void onDesktopPreferences();
109 void toggleDesktop();
111 void onRowsAboutToBeRemoved(
const QModelIndex& parent,
int start,
int end);
112 void onRowsInserted(
const QModelIndex& parent,
int start,
int end);
113 void onLayoutChanged();
114 void onModelSortFilterChanged();
115 void onIndexesMoved(
const QModelIndexList& indexes);
116 void onDataChanged(
const QModelIndex& topLeft,
const QModelIndex& bottomRight);
117 void onFolderStartLoading();
118 void onFolderFinishLoading();
119 void onFilesAdded(
const Fm::FileInfoList files);
121 void relayoutItems();
122 void onStickToCurrentPos(
bool toggled);
127 void onCutActivated();
128 void onCopyActivated();
129 void onPasteActivated();
130 void onRenameActivated();
131 void onBulkRenameActivated();
132 void onDeleteActivated();
133 void onFilePropertiesActivated();
136 void removeBottomGap();
137 void addDesktopActions(QMenu* menu);
138 void paintBackground(QPaintEvent* event);
139 static void alignToGrid(QPoint& pos,
const QPoint& topLeft,
const QSize& grid,
const int spacing);
142 Fm::ProxyFolderModel* proxyModel_;
143 Fm::CachedFolderModel* model_;
144 std::shared_ptr<Fm::Folder> folder_;
145 Fm::FolderViewListView* listView_;
150 QString wallpaperFile_;
151 WallpaperMode wallpaperMode_;
153 QString wallpaperDir_;
154 int slideShowInterval_;
155 QTimer* wallpaperTimer_;
156 bool wallpaperRandomize_;
157 QPixmap wallpaperPixmap_;
160 bool desktopHideItems_;
163 std::unordered_map<std::string, QPoint> customItemPos_;
164 QHash<QModelIndex, QString> displayNames_;
165 QTimer* relayoutTimer_;
166 QTimer* selectionTimer_;
171 #endif // PCMANFM_DESKTOPWINDOW_H Definition: desktopwindow.h:35
Definition: application.h:56
Definition: settings.h:122
Definition: application.cpp:58
Definition: launcher.h:30
Definition: desktopwindow.h:45