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 toggleDesktop();
116 void onRowsAboutToBeRemoved(
const QModelIndex& parent,
int start,
int end);
117 void onRowsInserted(
const QModelIndex& parent,
int start,
int end);
118 void onLayoutChanged();
119 void onModelSortFilterChanged();
120 void onFolderStartLoading();
121 void onFolderFinishLoading();
122 void onFilesAdded(
const Fm::FileInfoList files);
124 void relayoutItems();
125 void onStickToCurrentPos(
bool toggled);
130 void onCutActivated();
131 void onCopyActivated();
132 void onCopyFullPathActivated();
133 void onPasteActivated();
134 void onRenameActivated();
135 void onBulkRenameActivated();
136 void onDeleteActivated();
137 void onFilePropertiesActivated();
139 void updateTrashIcon();
141 void onInlineRenaming(
const QString& oldName,
const QString& newName);
143 void onDecidingDrop(
bool accepted);
146 void removeBottomGap();
147 QRect getWorkArea(QScreen* screen)
const;
148 void addDesktopActions(QMenu* menu);
149 void paintBackground(QPaintEvent* event);
150 void paintDropIndicator();
151 bool stickToPosition(
const std::string& file, QPoint& pos,
152 const QRect& workArea,
const QSize& grid,
153 const std::set<std::string>& droppedFiles,
bool reachedLastCell);
154 static void alignToGrid(QPoint& pos,
const QPoint& topLeft,
const QSize& grid,
const int spacing);
156 void updateShortcutsFromSettings(
Settings& settings);
157 void createTrashShortcut(
int items);
158 void createHomeShortcut();
159 void createComputerShortcut();
160 void createNetworkShortcut();
163 static void onTrashChanged(GFileMonitor* monitor, GFile* gf, GFile* other, GFileMonitorEvent evt,
DesktopWindow* pThis);
164 void trustOurDesktopShortcut(std::shared_ptr<const Fm::FileInfo> file);
165 bool isTrashCan(std::shared_ptr<const Fm::FileInfo> file)
const;
167 QImage getWallpaperImage()
const;
169 QModelIndex navigateWithKey(
int key, Qt::KeyboardModifiers modifiers,
const QModelIndex& start = QModelIndex());
171 QModelIndex indexForPos(
bool* isTrash,
const QPoint& pos,
const QRect& workArea,
const QSize& grid)
const;
174 Fm::ProxyFolderModel* proxyModel_;
175 Fm::FolderModel* model_;
176 std::shared_ptr<Fm::Folder> folder_;
177 Fm::FolderViewListView* listView_;
182 QString wallpaperFile_;
183 WallpaperMode wallpaperMode_;
185 QString wallpaperDir_;
186 int slideShowInterval_;
187 QTimer* wallpaperTimer_;
188 bool wallpaperRandomize_;
189 QPixmap wallpaperPixmap_;
191 bool desktopHideItems_;
194 std::unordered_map<std::string, QPoint> customItemPos_;
195 std::unordered_map<std::string, QPoint> customPosStorage_;
196 QTimer* relayoutTimer_;
197 QTimer* selectionTimer_;
201 QTimer* trashUpdateTimer_;
202 GFileMonitor* trashMonitor_;
204 QStringList filesToTrust_;