From c7b97ac140de31282dba2463a00f434c7a5bba69 Mon Sep 17 00:00:00 2001 From: alwin Date: Tue, 09 Nov 2004 20:19:53 +0000 Subject: - removed code which let qpe crash when generating image icons - when edit properties of an document item it will reread the table of categories --- (limited to 'core/launcher') diff --git a/core/launcher/launcher.cpp b/core/launcher/launcher.cpp index 010a2e9..5ec1cf8 100644 --- a/core/launcher/launcher.cpp +++ b/core/launcher/launcher.cpp @@ -357,12 +357,12 @@ void LauncherTabWidget::setBusy(bool on) currentView()->setBusy(TRUE); else { for ( int i = 0; i < categoryBar->count(); i++ ) { - if (categoryBar->tab(i)) { - LauncherView *view = ((LauncherTab *)categoryBar->tab(i))->view; - view->setBusy( FALSE ); - } else { - odebug << "Averting Disaster with tab " << i << " == NULL! " << oendl; - } + if (categoryBar->tab(i)) { + LauncherView *view = ((LauncherTab *)categoryBar->tab(i))->view; + view->setBusy( FALSE ); + } else { + odebug << "Averting Disaster with tab " << i << " == NULL! " << oendl; + } } } } @@ -601,9 +601,11 @@ void Launcher::properties( AppLnk *appLnk ) // Not supported: flat is simpler for the user } else { /* ### libqtopia FIXME also moving docLnks... */ - LnkProperties prop(appLnk,0 ); + LnkProperties prop(appLnk,0 ); - QPEApplication::execDialog( &prop ); + if (QPEApplication::execDialog( &prop )==QDialog::Accepted && tabs->currentView()==tabs->docView()) { + tabs->docView()->updateTools(); + } } } diff --git a/core/launcher/launcherview.cpp b/core/launcher/launcherview.cpp index 72313e3..ff26133 100644 --- a/core/launcher/launcherview.cpp +++ b/core/launcher/launcherview.cpp @@ -131,7 +131,7 @@ LauncherItem::~LauncherItem() { LauncherIconView* liv = (LauncherIconView*)iconView(); if ( liv->busyItem() == this ) - liv->setBusy(FALSE); + liv->setBusy(FALSE); delete app; } @@ -276,6 +276,7 @@ LauncherIconView::LauncherIconView( QWidget* parent, const char* name ) LauncherIconView::~LauncherIconView() { + odebug << "LauncherIconView::~LauncherIconView()" << oendl; #if 0 // debuggery QListIterator it(hidden); AppLnk* l; @@ -429,14 +430,7 @@ void LauncherIconView::setEyePixmap(const QPixmap&aPixmap,const QString&aFile,in { int s = ( bigIcns ) ? AppLnk::bigIconSize() : AppLnk::smallIconSize(); if (s!=width) return; - LauncherItem*item = 0; - QMap::Iterator it; - if ( ( it = m_itemCache.find(aFile))!=m_itemCache.end()) { - item = it.data(); - m_itemCache.remove(it); - } else { - item = findDocItem(aFile); - } + LauncherItem*item = findDocItem(aFile); if (!item||!item->isEyeImage()) return; item->setEyePixmap(aPixmap); } @@ -465,7 +459,6 @@ void LauncherIconView::requestEyePix(const LauncherItem*item) if (item->isEyeImage()) { checkCallback(); int s = ( bigIcns ) ? AppLnk::bigIconSize() : AppLnk::smallIconSize(); - m_itemCache[item->appLnk()->file()]=(LauncherItem*)item; m_EyeCallBack->requestThumb(item->appLnk()->file(),s,s); } } @@ -476,7 +469,6 @@ void LauncherIconView::stopEyeTimer() delete m_EyeCallBack; m_EyeCallBack=0; } - m_itemCache.clear(); m_eyeTimer.stop(); } @@ -702,23 +694,20 @@ void LauncherView::hideIcons() void LauncherView::setToolsEnabled(bool y) { if ( !y != !tools ) { - if ( y ) { - tools = new QHBox(this); - - // Type filter - typemb = new QComboBox(tools); - QSizePolicy p = typemb->sizePolicy(); - p.setHorData(QSizePolicy::Expanding); - typemb->setSizePolicy(p); - - // Category filter - updateTools(); - tools->show(); - - } else { - delete tools; - tools = 0; - } + if ( y ) { + tools = new QHBox(this); + // Type filter + typemb = new QComboBox(tools); + QSizePolicy p = typemb->sizePolicy(); + p.setHorData(QSizePolicy::Expanding); + typemb->setSizePolicy(p); + // Category filter + updateTools(); + tools->show(); + } else { + delete tools; + tools = 0; + } } } @@ -726,8 +715,9 @@ void LauncherView::updateTools() { disconnect( typemb, SIGNAL(activated(int)), this, SLOT(showType(int)) ); - if ( catmb ) disconnect( catmb, SIGNAL(signalSelected(int)), - this, SLOT(showCategory(int)) ); + if ( catmb ) { + disconnect( catmb, SIGNAL(signalSelected(int)),this,SLOT(showCategory(int))); + } // ### I want to remove this icons->updateCategoriesAndMimeTypes(); @@ -738,47 +728,48 @@ void LauncherView::updateTools() QStringList types; typelist = icons->mimeTypes(); for (QStringList::ConstIterator it = typelist.begin(); it!=typelist.end(); ++it) { - QString t = *it; - if ( t.left(12) == "application/" ) { - MimeType mt(t); - const AppLnk* app = mt.application(); - if ( app ) - t = app->name(); - else - t = t.mid(12); - } else { - t[0] = t[0].upper(); - } - types += t; + QString t = *it; + if ( t.left(12) == "application/" ) { + MimeType mt(t); + const AppLnk* app = mt.application(); + if ( app ) + t = app->name(); + else + t = t.mid(12); + } else { + t[0] = t[0].upper(); + } + types += t; } types << tr("All types"); prev = typemb->currentText(); typemb->clear(); typemb->insertStringList(types); for (int i=0; icount(); i++) { - if ( typemb->text(i) == prev ) { - typemb->setCurrentItem(i); - break; + if ( typemb->text(i) == prev ) { + typemb->setCurrentItem(i); + break; + } } + if ( prev.isNull() ) { + typemb->setCurrentItem(typemb->count()-1); } - if ( prev.isNull() ) - typemb->setCurrentItem(typemb->count()-1); int pcat = catmb ? catmb->currentCategory() : -2; if ( !catmb ) - catmb = new CategorySelect(tools); + catmb = new CategorySelect(tools); Categories cats( 0 ); cats.load( categoryFileName() ); QArray vl( 0 ); catmb->setCategories( vl, "Document View", // No tr - tr("Document View") ); + tr("Document View") ); catmb->setRemoveCategoryEdit( TRUE ); catmb->setAllCategories( TRUE ); catmb->setCurrentCategory(pcat); // if type has changed we need to redisplay if ( typemb->currentText() != prev ) - showType( typemb->currentItem() ); + showType( typemb->currentItem() ); connect(typemb, SIGNAL(activated(int)), this, SLOT(showType(int))); connect(catmb, SIGNAL(signalSelected(int)), this, SLOT(showCategory(int))); @@ -792,12 +783,12 @@ void LauncherView::sortBy(int s) void LauncherView::showType(int t) { if ( t >= (int)typelist.count() ) { - icons->setTypeFilter("",TRUE); + icons->setTypeFilter("",TRUE); } else { - QString ty = typelist[t]; - if ( !ty.contains('/') ) - ty += "/*"; - icons->setTypeFilter(ty,TRUE); + QString ty = typelist[t]; + if ( !ty.contains('/') ) + ty += "/*"; + icons->setTypeFilter(ty,TRUE); } } @@ -808,21 +799,22 @@ void LauncherView::showCategory( int c ) void LauncherView::setViewMode( ViewMode m ) { + odebug << "LauncherView::setViewMode( ViewMode m )" << oendl; if ( vmode != m ) { - bool bigIcons = m == Icon; - icons->viewport()->setUpdatesEnabled( FALSE ); - icons->setBigIcons( bigIcons ); - switch ( m ) { - case List: - icons->setItemTextPos( QIconView::Right ); + bool bigIcons = m == Icon; + icons->viewport()->setUpdatesEnabled( FALSE ); + icons->setBigIcons( bigIcons ); + switch ( m ) { + case List: + icons->setItemTextPos( QIconView::Right ); break; case Icon: - icons->setItemTextPos( QIconView::Bottom ); + icons->setItemTextPos( QIconView::Bottom ); break; - } - icons->hideOrShowItems( FALSE ); - icons->viewport()->setUpdatesEnabled( TRUE ); - vmode = m; + } + icons->hideOrShowItems( FALSE ); + icons->viewport()->setUpdatesEnabled( TRUE ); + vmode = m; } } @@ -1046,6 +1038,7 @@ void LauncherView::itemPressed( int btn, QIconViewItem *item ) void LauncherView::removeAllItems() { + odebug << "LauncherView::removeAllItems()" << oendl; icons->clear(); } @@ -1168,7 +1161,7 @@ void LauncherThumbReceiver::requestThumb(const QString&file,int width,int height rItem.width = width; rItem.height = height; m_inThumbNail.append(rItem); - QTimer::singleShot(0, this, SLOT(sendRequest())); + QTimer::singleShot(2, this, SLOT(sendRequest())); } void LauncherThumbReceiver::sendRequest() diff --git a/core/launcher/launcherview.h b/core/launcher/launcherview.h index 94c367c..6d94539 100644 --- a/core/launcher/launcherview.h +++ b/core/launcher/launcherview.h @@ -240,7 +240,6 @@ private: #endif BusyIndicatorType busyType; QTimer m_eyeTimer; - QMap m_itemCache; }; #endif // LAUNCHERVIEW_H -- cgit v0.9.0.2