From 96d0c54e2e7939324f9403827f1546259d3d0e24 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sat, 20 Apr 2013 18:45:41 -0500 Subject: Fix desktop refresh destroying media device information and menus This resolves Bug 1450 Fix incorrect media device enable default setting in desktop control module --- kdesktop/kdiconview.cc | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'kdesktop') diff --git a/kdesktop/kdiconview.cc b/kdesktop/kdiconview.cc index cc2f0ba07..f5c38cde1 100644 --- a/kdesktop/kdiconview.cc +++ b/kdesktop/kdiconview.cc @@ -148,6 +148,7 @@ KDIconView::KDIconView( TQWidget *parent, const char* name ) m_eSortCriterion( NameCaseInsensitive ), m_bSortDirectoriesFirst( true ), m_itemsAlwaysFirst(), + m_enableMedia(false), m_gotIconsArea(false), m_needDesktopAlign(true), m_paOutstandingOverlaysTimer( 0L ) @@ -397,7 +398,7 @@ void KDIconView::configureMedia() } } m_mergeDirs.append(KURL("media:/")); - m_dirLister->openURL(KURL("media:/"),true); + m_dirLister->openURL(KURL("media:/"), true); } else { for (KURL::List::Iterator it2=m_mergeDirs.begin();it2!=m_mergeDirs.end();++it2) { @@ -405,8 +406,10 @@ void KDIconView::configureMedia() delete m_dirLister; m_dirLister=0; start(); -// m_mergeDirs.remove(it2); -// m_dirLister->stop("media"); + if (m_mergeDirs.contains(*it2)) { + m_mergeDirs.remove(*it2); + m_dirLister->stop("media"); + } return; } } @@ -1307,10 +1310,15 @@ void KDIconView::refreshIcons() for ( ; it ; it = it->nextItem() ) { KFileIVI * fileIVI = static_cast(it); - fileIVI->item()->refresh(); + if (!(fileIVI->item()->mimetype().startsWith("media/"))) { + fileIVI->item()->refresh(); + } fileIVI->refreshIcon( true ); makeFriendlyText( fileIVI ); } + if (m_enableMedia) { + m_dirLister->updateDirectory(KURL("media:/")); + } } -- cgit v1.2.1