63 void setForeground(
const QColor& color);
64 void setShadow(
const QColor& color);
65 void setBackground(
const QColor& color);
66 void setDesktopFolder();
67 void setWallpaperFile(
const QString& filename);
68 void setWallpaperMode(WallpaperMode mode = WallpaperStretch);
69 void setLastSlide(
const QString& filename);
70 void setWallpaperDir(
const QString& dirname);
71 void setSlideShowInterval(
int interval);
72 void setWallpaperRandomize(
bool randomize);
75 void updateWallpaper(
bool checkMTime =
false);
78 void updateFromSettings(
Settings& settings,
bool changeSlide =
true);
80 void queueRelayout(
int delay = 0);
82 void saveItemPositions();
84 int screenNum()
const {
88 void setScreenNum(
int num);
90 QScreen* getDesktopScreen()
const;
93 virtual void prepareFolderMenu(Fm::FolderMenu* menu)
override;
94 virtual void prepareFileMenu(Fm::FileMenu* menu)
override;
95 virtual void resizeEvent(QResizeEvent* event)
override;
96 virtual void onFileClicked(
int type,
const std::shared_ptr<const Fm::FileInfo>& fileInfo)
override;
98 void loadItemPositions();
99 void retrieveCustomPos();
100 void storeCustomPos();
102 QImage loadWallpaperFile(QSize requiredSize,
bool checkMTime);
104 virtual bool event(QEvent* event)
override;
105 virtual bool eventFilter(QObject* watched, QEvent* event)
override;
107 virtual void childDragMoveEvent(QDragMoveEvent* e)
override;
108 virtual void childDropEvent(QDropEvent* e)
override;
109 virtual void closeEvent(QCloseEvent* event)
override;
110 virtual void paintEvent(QPaintEvent* event)
override;
113 void onDesktopPreferences();
114 void onCreatingShortcut();
116 void toggleDesktop();
118 void onRowsAboutToBeRemoved(
const QModelIndex& parent,
int start,
int end);
119 void onRowsInserted(
const QModelIndex& parent,
int start,
int end);
120 void onLayoutChanged();
121 void onModelSortFilterChanged();
122 void onFolderStartLoading();
123 void onFolderFinishLoading();
124 void onFilesAdded(
const Fm::FileInfoList files);
126 void relayoutItems();
127 void onStickToCurrentPos(
bool toggled);
132 void onCutActivated();
133 void onCopyActivated();
134 void onCopyFullPathActivated();
135 void onPasteActivated();
136 void onRenameActivated();
137 void onBulkRenameActivated();
138 void onDeleteActivated();
139 void onFilePropertiesActivated();
141 void updateTrashIcon();
143 void onInlineRenaming(
const QString& oldName,
const QString& newName);
145 void onDecidingDrop(
bool accepted);
148 void removeBottomGap();
149 QRect getWorkArea(QScreen* screen)
const;
150 void addDesktopActions(QMenu* menu);
151 void paintBackground(QPaintEvent* event);
152 void paintDropIndicator();
153 bool stickToPosition(
const std::string& file, QPoint& pos,
154 const QRect& workArea,
const QSize& grid,
155 const std::set<std::string>& droppedFiles,
bool reachedLastCell);
156 static void alignToGrid(QPoint& pos,
const QPoint& topLeft,
const QSize& grid,
const int spacing);
158 void updateShortcutsFromSettings(
Settings& settings);
159 void createTrashShortcut(
int items);
160 void createHomeShortcut();
161 void createComputerShortcut();
162 void createNetworkShortcut();
165 static void onTrashChanged(GFileMonitor* monitor, GFile* gf, GFile* other, GFileMonitorEvent evt,
DesktopWindow* pThis);
166 void trustOurDesktopShortcut(std::shared_ptr<const Fm::FileInfo> file);
167 bool isTrashCan(std::shared_ptr<const Fm::FileInfo> file)
const;
169 QImage getWallpaperImage()
const;
171 QModelIndex navigateWithKey(
int key, Qt::KeyboardModifiers modifiers,
const QModelIndex& start = QModelIndex());
173 QModelIndex indexForPos(
bool* isTrash,
const QPoint& pos,
const QRect& workArea,
const QSize& grid)
const;
176 Fm::ProxyFolderModel* proxyModel_;
177 Fm::FolderModel* model_;
178 std::shared_ptr<Fm::Folder> folder_;
179 Fm::FolderViewListView* listView_;
184 QString wallpaperFile_;
185 WallpaperMode wallpaperMode_;
187 QString wallpaperDir_;
188 int slideShowInterval_;
189 QTimer* wallpaperTimer_;
190 bool wallpaperRandomize_;
191 QPixmap wallpaperPixmap_;
193 bool desktopHideItems_;
196 std::unordered_map<std::string, QPoint> customItemPos_;
197 std::unordered_map<std::string, QPoint> customPosStorage_;
198 QTimer* relayoutTimer_;
199 QTimer* selectionTimer_;
203 QTimer* trashUpdateTimer_;
204 GFileMonitor* trashMonitor_;
206 QStringList filesToTrust_;