summaryrefslogtreecommitdiff
path: root/core/launcher/launcherview.cpp
Side-by-side diff
Diffstat (limited to 'core/launcher/launcherview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/launcherview.cpp27
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
@@ -214,6 +214,4 @@ public:
case Date: {
- QFileInfo fa(a->linkFile());
- if ( !fa.exists() ) fa.setFile(a->file());
- QFileInfo fb(b->linkFile());
- if ( !fb.exists() ) fb.setFile(b->file());
+ QFileInfo fa(a->linkFileKnown() ? a->linkFile() : a->file());
+ QFileInfo fb(b->linkFileKnown() ? b->linkFile() : b->file());
return fa.lastModified().secsTo(fb.lastModified());
@@ -364,2 +362,4 @@ void LauncherIconView::hideOrShowItems(bool resort)
}
+ bool oldAutoArrange = autoArrange();
+ setAutoArrange( FALSE );
clear();
@@ -373,2 +373,3 @@ void LauncherIconView::hideOrShowItems(bool resort)
sort();
+ setAutoArrange( oldAutoArrange );
}
@@ -378,6 +379,11 @@ bool LauncherIconView::removeLink(const QString& linkfile)
LauncherItem* item = (LauncherItem*)firstItem();
+ AppLnk* l;
+ bool did = FALSE;
+ DocLnk dl(linkfile);
while (item) {
- if ( item->appLnk()->linkFile() == linkfile ) {
+ l = item->appLnk();
+ if ( l->linkFileKnown() && l->linkFile() == linkfile || l->file() == linkfile
+ || dl.isValid() && dl.file() == l->file() ) {
delete item;
- return TRUE;
+ did = TRUE;
}
@@ -386,11 +392,12 @@ bool LauncherIconView::removeLink(const QString& linkfile)
QListIterator<AppLnk> it(hidden);
- AppLnk* l;
while ((l=it.current())) {
++it;
- if ( l->linkFile() == linkfile ) {
+ if ( l->linkFileKnown() && l->linkFile() == linkfile
+ || l->file() == linkfile
+ || dl.isValid() && dl.file() == l->file() ) {
hidden.removeRef(l);
- return TRUE;
+ did = TRUE;
}
}
- return FALSE;
+ return did;
}