[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdebase/kappfinder
From: Waldo Bastian <bastian () kde ! org>
Date: 2004-01-14 18:16:30
Message-ID: 20040114181630.7C6D2907E () office ! kde ! org
[Download RAW message or body]
CVS commit by waba:
Don't show already installed applications. (BR57413)
CCMAIL: 57413-done@bugs.kde.org
M +31 -2 toplevel.cpp 1.17
--- kdebase/kappfinder/toplevel.cpp #1.16:1.17
@@ -30,4 +30,5 @@
#include <kmessagebox.h>
#include <kprogress.h>
+#include <kservice.h>
#include <kservicegroup.h>
#include <kstandarddirs.h>
@@ -64,7 +65,10 @@ TopLevel::TopLevel( const QString &destD
mListView->setMinimumSize( 300, 300 );
mListView->setRootIsDecorated( true );
+ mListView->setAllColumnsShowFocus( true );
+ mListView->setSelectionMode(QListView::NoSelection);
layout->addWidget( mListView );
mProgress = new KProgress( this );
+ mProgress->setPercentageVisible( false );
layout->addWidget( mProgress );
@@ -167,4 +171,5 @@ void TopLevel::slotScan()
mScanButton->setEnabled( false );
+ mProgress->setPercentageVisible( true );
mProgress->setTotalSteps( count );
mProgress->setValue( 0 );
@@ -174,9 +179,29 @@ void TopLevel::slotScan()
QStringList::Iterator it;
for ( it = mTemplates.begin(); it != mTemplates.end(); ++it ) {
- KDesktopFile desktop( *it, true );
-
// eye candy
mProgress->setProgress( mProgress->progress() + 1 );
+ QString desktopName = *it;
+ int i = desktopName.findRev('/');
+ desktopName = desktopName.mid(i+1);
+ i = desktopName.findRev('.');
+ if (i != -1)
+ desktopName = desktopName.left(i);
+
+ bool found;
+ found = KService::serviceByDesktopName(desktopName);
+ if (found)
+ continue;
+
+ found = KService::serviceByMenuId("kde-"+desktopName+".desktop");
+ if (found)
+ continue;
+
+ found = KService::serviceByMenuId("gnome-"+desktopName+".desktop");
+ if (found)
+ continue;
+
+ KDesktopFile desktop( *it, true );
+
// copy over the desktop file, if exists
if ( scanDesktopFile( mAppCache, *it, mDestDir ) ) {
@@ -223,4 +248,6 @@ void TopLevel::slotScan()
// stop scanning
mProgress->setValue( 0 );
+ mProgress->setPercentageVisible( false );
+
mScanButton->setEnabled( true );
@@ -255,4 +282,6 @@ void TopLevel::slotCreate()
decorateDirs( mDestDir );
+ KService::rebuildKSycoca(this);
+
QString message( i18n( "%n application was added to the KDE menu system.",
"%n applications were added to the KDE menu system.", mAdded ) );
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic