Changeset View
Changeset View
Standalone View
Standalone View
krusader/DiskUsage/dulistview.cpp
Show First 20 Lines • Show All 161 Lines • ▼ Show 20 Line(s) | |||||
162 | 162 | | |||
163 | File * DUListView::getCurrentFile() | 163 | File * DUListView::getCurrentFile() | ||
164 | { | 164 | { | ||
165 | QTreeWidgetItem *item = currentItem(); | 165 | QTreeWidgetItem *item = currentItem(); | ||
166 | 166 | | |||
167 | if (item == nullptr || item->text(0) == "..") | 167 | if (item == nullptr || item->text(0) == "..") | ||
168 | return nullptr; | 168 | return nullptr; | ||
169 | 169 | | |||
170 | return ((DUListViewItem *)item)->getFile(); | 170 | return (dynamic_cast<DUListViewItem *>(item))->getFile(); | ||
171 | } | 171 | } | ||
172 | 172 | | |||
173 | void DUListView::slotChanged(File * item) | 173 | void DUListView::slotChanged(File * item) | ||
174 | { | 174 | { | ||
175 | void * itemPtr = diskUsage->getProperty(item, "ListView-Ref"); | 175 | void * itemPtr = diskUsage->getProperty(item, "ListView-Ref"); | ||
176 | if (itemPtr == nullptr) | 176 | if (itemPtr == nullptr) | ||
177 | return; | 177 | return; | ||
178 | 178 | | |||
Show All 14 Lines | 187 | { | |||
193 | delete duItem; | 193 | delete duItem; | ||
194 | } | 194 | } | ||
195 | 195 | | |||
196 | void DUListView::slotRightClicked(QTreeWidgetItem *item, const QPoint & pos) | 196 | void DUListView::slotRightClicked(QTreeWidgetItem *item, const QPoint & pos) | ||
197 | { | 197 | { | ||
198 | File * file = nullptr; | 198 | File * file = nullptr; | ||
199 | 199 | | |||
200 | if (item && item->text(0) != "..") | 200 | if (item && item->text(0) != "..") | ||
201 | file = ((DUListViewItem *)item)->getFile(); | 201 | file = (dynamic_cast<DUListViewItem *>(item))->getFile(); | ||
202 | 202 | | |||
203 | diskUsage->rightClickMenu(pos, file); | 203 | diskUsage->rightClickMenu(pos, file); | ||
204 | } | 204 | } | ||
205 | 205 | | |||
206 | bool DUListView::doubleClicked(QTreeWidgetItem * item) | 206 | bool DUListView::doubleClicked(QTreeWidgetItem * item) | ||
207 | { | 207 | { | ||
208 | if (item) { | 208 | if (item) { | ||
209 | if (item->text(0) != "..") { | 209 | if (item->text(0) != "..") { | ||
210 | File *fileItem = ((DUListViewItem *)item)->getFile(); | 210 | File *fileItem = (dynamic_cast<DUListViewItem *>(item))->getFile(); | ||
211 | if (fileItem->isDir()) | 211 | if (fileItem->isDir()) | ||
212 | diskUsage->changeDirectory(dynamic_cast<Directory *>(fileItem)); | 212 | diskUsage->changeDirectory(dynamic_cast<Directory *>(fileItem)); | ||
213 | return true; | 213 | return true; | ||
214 | } else { | 214 | } else { | ||
215 | auto *upDir = (Directory *)diskUsage->getCurrentDir()->parent(); | 215 | auto *upDir = (Directory *)diskUsage->getCurrentDir()->parent(); | ||
216 | 216 | | |||
217 | if (upDir) | 217 | if (upDir) | ||
218 | diskUsage->changeDirectory(upDir); | 218 | diskUsage->changeDirectory(upDir); | ||
▲ Show 20 Lines • Show All 41 Lines • ▼ Show 20 Line(s) | |||||
260 | } | 260 | } | ||
261 | 261 | | |||
262 | void DUListView::slotExpanded(QTreeWidgetItem * item) | 262 | void DUListView::slotExpanded(QTreeWidgetItem * item) | ||
263 | { | 263 | { | ||
264 | if (item == nullptr || item->text(0) == "..") | 264 | if (item == nullptr || item->text(0) == "..") | ||
265 | return; | 265 | return; | ||
266 | 266 | | |||
267 | if (item->childCount() == 0) { | 267 | if (item->childCount() == 0) { | ||
268 | File *fileItem = ((DUListViewItem *)item)->getFile(); | 268 | File *fileItem = (dynamic_cast<DUListViewItem *>(item))->getFile(); | ||
269 | if (fileItem->isDir()) | 269 | if (fileItem->isDir()) | ||
270 | addDirectory(dynamic_cast<Directory *>(fileItem), item); | 270 | addDirectory(dynamic_cast<Directory *>(fileItem), item); | ||
271 | } | 271 | } | ||
272 | } | 272 | } | ||
273 | 273 | |