62 void setForeground(
const QColor& color);
63 void setShadow(
const QColor& color);
64 void setBackground(
const QColor& color);
65 void setDesktopFolder();
66 void setWallpaperFile(
const QString& filename);
67 void setWallpaperMode(WallpaperMode mode = WallpaperStretch);
68 void setLastSlide(
const QString& filename);
69 void setWallpaperDir(
const QString& dirname);
70 void setSlideShowInterval(
int interval);
71 void setWallpaperRandomize(
bool randomize);
74 void updateWallpaper(
bool checkMTime =
false);
77 void updateFromSettings(
Settings& settings,
bool changeSlide =
true);
79 void queueRelayout(
int delay = 0);
81 int screenNum()
const {
85 void setScreenNum(
int num);
87 QScreen* getDesktopScreen()
const;
90 virtual void prepareFolderMenu(Fm::FolderMenu* menu)
override;
91 virtual void prepareFileMenu(Fm::FileMenu* menu)
override;
92 virtual void resizeEvent(QResizeEvent* event)
override;
93 virtual void onFileClicked(
int type,
const std::shared_ptr<const Fm::FileInfo>& fileInfo)
override;
95 void loadItemPositions();
96 void saveItemPositions();
97 void retrieveCustomPos();
98 void storeCustomPos();
100 QImage loadWallpaperFile(QSize requiredSize,
bool checkMTime);
102 virtual bool event(QEvent* event)
override;
103 virtual bool eventFilter(QObject* watched, QEvent* event)
override;
105 virtual void childDragMoveEvent(QDragMoveEvent* e)
override;
106 virtual void childDropEvent(QDropEvent* e)
override;
107 virtual void closeEvent(QCloseEvent* event)
override;
108 virtual void paintEvent(QPaintEvent* event)
override;
111 void onDesktopPreferences();
112 void onCreatingShortcut();
114 void invertSelection();
115 void toggleDesktop();
117 void onRowsAboutToBeRemoved(
const QModelIndex& parent,
int start,
int end);
118 void onRowsInserted(
const QModelIndex& parent,
int start,
int end);
119 void onLayoutChanged();
120 void onModelSortFilterChanged();
121 void onFolderStartLoading();
122 void onFolderFinishLoading();
123 void onFilesAdded(
const Fm::FileInfoList files);
125 void relayoutItems();
126 void onStickToCurrentPos(
bool toggled);
131 void onCutActivated();
132 void onCopyActivated();
133 void onCopyFullPathActivated();
134 void onPasteActivated();
135 void onRenameActivated();
136 void onBulkRenameActivated();
137 void onDeleteActivated();
138 void onFilePropertiesActivated();
140 void updateTrashIcon();
142 void onInlineRenaming(
const QString& oldName,
const QString& newName);
144 void onDecidingDrop(
bool accepted);
147 void removeBottomGap();
148 QRect getWorkArea(QScreen* screen)
const;
149 void addDesktopActions(QMenu* menu);
150 void paintBackground(QPaintEvent* event);
151 void paintDropIndicator();
152 bool stickToPosition(
const std::string& file, QPoint& pos,
153 const QRect& workArea,
const QSize& grid,
154 const std::set<std::string>& droppedFiles,
bool reachedLastCell);
155 static void alignToGrid(QPoint& pos,
const QPoint& topLeft,
const QSize& grid,
const int spacing);
157 void updateShortcutsFromSettings(
Settings& settings);
158 void createTrashShortcut(
int items);
159 void createHomeShortcut();
160 void createComputerShortcut();
161 void createNetworkShortcut();
164 static void onTrashChanged(GFileMonitor* monitor, GFile* gf, GFile* other, GFileMonitorEvent evt,
DesktopWindow* pThis);
165 void trustOurDesktopShortcut(std::shared_ptr<const Fm::FileInfo> file);
166 bool isTrashCan(std::shared_ptr<const Fm::FileInfo> file)
const;
168 QImage getWallpaperImage()
const;
170 QModelIndex navigateWithKey(
int key, Qt::KeyboardModifiers modifiers,
const QModelIndex& start = QModelIndex());
172 QModelIndex indexForPos(
bool* isTrash,
const QPoint& pos,
const QRect& workArea,
const QSize& grid)
const;
175 Fm::ProxyFolderModel* proxyModel_;
176 Fm::FolderModel* model_;
177 std::shared_ptr<Fm::Folder> folder_;
178 Fm::FolderViewListView* listView_;
183 QString wallpaperFile_;
184 WallpaperMode wallpaperMode_;
186 QString wallpaperDir_;
187 int slideShowInterval_;
188 QTimer* wallpaperTimer_;
189 bool wallpaperRandomize_;
190 QPixmap wallpaperPixmap_;
192 bool desktopHideItems_;
195 std::unordered_map<std::string, QPoint> customItemPos_;
196 std::unordered_map<std::string, QPoint> customPosStorage_;
197 QTimer* relayoutTimer_;
198 QTimer* selectionTimer_;
202 QTimer* trashUpdateTimer_;
203 GFileMonitor* trashMonitor_;
205 QStringList filesToTrust_;