Diffstat (limited to 'core/launcher/launcherview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/launcher/launcherview.cpp | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/core/launcher/launcherview.cpp b/core/launcher/launcherview.cpp index ed39720..e8741a2 100644 --- a/core/launcher/launcherview.cpp +++ b/core/launcher/launcherview.cpp | |||
@@ -212,10 +212,8 @@ public: | |||
212 | case Name: | 212 | case Name: |
213 | return a->name().compare(b->name()); | 213 | return a->name().compare(b->name()); |
214 | case Date: { | 214 | case Date: { |
215 | QFileInfo fa(a->linkFile()); | 215 | QFileInfo fa(a->linkFileKnown() ? a->linkFile() : a->file()); |
216 | if ( !fa.exists() ) fa.setFile(a->file()); | 216 | QFileInfo fb(b->linkFileKnown() ? b->linkFile() : b->file()); |
217 | QFileInfo fb(b->linkFile()); | ||
218 | if ( !fb.exists() ) fb.setFile(b->file()); | ||
219 | return fa.lastModified().secsTo(fb.lastModified()); | 217 | return fa.lastModified().secsTo(fb.lastModified()); |
220 | } | 218 | } |
221 | case Type: | 219 | case Type: |
@@ -362,6 +360,8 @@ void LauncherIconView::hideOrShowItems(bool resort) | |||
362 | links.append(item->takeAppLnk()); | 360 | links.append(item->takeAppLnk()); |
363 | item = (LauncherItem*)item->nextItem(); | 361 | item = (LauncherItem*)item->nextItem(); |
364 | } | 362 | } |
363 | bool oldAutoArrange = autoArrange(); | ||
364 | setAutoArrange( FALSE ); | ||
365 | clear(); | 365 | clear(); |
366 | QListIterator<AppLnk> it(links); | 366 | QListIterator<AppLnk> it(links); |
367 | AppLnk* l; | 367 | AppLnk* l; |
@@ -371,28 +371,35 @@ void LauncherIconView::hideOrShowItems(bool resort) | |||
371 | } | 371 | } |
372 | if ( resort ) | 372 | if ( resort ) |
373 | sort(); | 373 | sort(); |
374 | setAutoArrange( oldAutoArrange ); | ||
374 | } | 375 | } |
375 | 376 | ||
376 | bool LauncherIconView::removeLink(const QString& linkfile) | 377 | bool LauncherIconView::removeLink(const QString& linkfile) |
377 | { | 378 | { |
378 | LauncherItem* item = (LauncherItem*)firstItem(); | 379 | LauncherItem* item = (LauncherItem*)firstItem(); |
380 | AppLnk* l; | ||
381 | bool did = FALSE; | ||
382 | DocLnk dl(linkfile); | ||
379 | while (item) { | 383 | while (item) { |
380 | if ( item->appLnk()->linkFile() == linkfile ) { | 384 | l = item->appLnk(); |
385 | if ( l->linkFileKnown() && l->linkFile() == linkfile || l->file() == linkfile | ||
386 | || dl.isValid() && dl.file() == l->file() ) { | ||
381 | delete item; | 387 | delete item; |
382 | return TRUE; | 388 | did = TRUE; |
383 | } | 389 | } |
384 | item = (LauncherItem*)item->nextItem(); | 390 | item = (LauncherItem*)item->nextItem(); |
385 | } | 391 | } |
386 | QListIterator<AppLnk> it(hidden); | 392 | QListIterator<AppLnk> it(hidden); |
387 | AppLnk* l; | ||
388 | while ((l=it.current())) { | 393 | while ((l=it.current())) { |
389 | ++it; | 394 | ++it; |
390 | if ( l->linkFile() == linkfile ) { | 395 | if ( l->linkFileKnown() && l->linkFile() == linkfile |
396 | || l->file() == linkfile | ||
397 | || dl.isValid() && dl.file() == l->file() ) { | ||
391 | hidden.removeRef(l); | 398 | hidden.removeRef(l); |
392 | return TRUE; | 399 | did = TRUE; |
393 | } | 400 | } |
394 | } | 401 | } |
395 | return FALSE; | 402 | return did; |
396 | } | 403 | } |
397 | 404 | ||
398 | LauncherView::LauncherView( QWidget* parent, const char* name, WFlags fl ) | 405 | LauncherView::LauncherView( QWidget* parent, const char* name, WFlags fl ) |