author | alwin <alwin> | 2004-11-11 21:10:16 (UTC) |
---|---|---|
committer | alwin <alwin> | 2004-11-11 21:10:16 (UTC) |
commit | d2d25a3c1e60a34436cd93e5214a35b3edd05c6c (patch) (side-by-side diff) | |
tree | 0c1bd62dd09e7a86292399f68c823b7eb6ae031e /core/launcher/launcher.cpp | |
parent | e85cf7184c3444e26c1858d0564fa5d3614dd7b5 (diff) | |
download | opie-d2d25a3c1e60a34436cd93e5214a35b3edd05c6c.zip opie-d2d25a3c1e60a34436cd93e5214a35b3edd05c6c.tar.gz opie-d2d25a3c1e60a34436cd93e5214a35b3edd05c6c.tar.bz2 |
- flush icon cache if reloading all documents
- send QCop message when the doctab is enabled/disabled so the
disabled widget appears or the doc-list will reread
-rw-r--r-- | core/launcher/launcher.cpp | 107 |
1 files changed, 64 insertions, 43 deletions
diff --git a/core/launcher/launcher.cpp b/core/launcher/launcher.cpp index ccc2114..970b8cb 100644 --- a/core/launcher/launcher.cpp +++ b/core/launcher/launcher.cpp @@ -379,83 +379,104 @@ void LauncherTabWidget::setBusyIndicatorType( const QString& str ) { LauncherView *LauncherTabWidget::currentView(void) { return (LauncherView*)stack->visibleWidget(); } void LauncherTabWidget::launcherMessage( const QCString &msg, const QByteArray &data) { QDataStream stream( data, IO_ReadOnly ); if ( msg == "setTabView(QString,int)" ) { - QString id; - stream >> id; - int mode; - stream >> mode; - if ( view(id) ) - view(id)->setViewMode( (LauncherView::ViewMode)mode ); + QString id; + stream >> id; + int mode; + stream >> mode; + if ( view(id) ) + view(id)->setViewMode( (LauncherView::ViewMode)mode ); } else if ( msg == "setTabBackground(QString,int,QString)" ) { - QString id; - stream >> id; - int mode; - stream >> mode; - QString pixmapOrColor; - stream >> pixmapOrColor; - if ( view(id) ) - view(id)->setBackgroundType( (LauncherView::BackgroundType)mode, pixmapOrColor ); - if ( id == "Documents" ) - docLoadingWidget->setBackgroundType( (LauncherView::BackgroundType)mode, pixmapOrColor ); + QString id; + stream >> id; + int mode; + stream >> mode; + QString pixmapOrColor; + stream >> pixmapOrColor; + if ( view(id) ) + view(id)->setBackgroundType( (LauncherView::BackgroundType)mode, pixmapOrColor ); + if ( id == "Documents" ) + docLoadingWidget->setBackgroundType( (LauncherView::BackgroundType)mode, pixmapOrColor ); } else if ( msg == "setTextColor(QString,QString)" ) { - QString id; - stream >> id; - QString color; - stream >> color; - if ( view(id) ) - view(id)->setTextColor( QColor(color) ); - if ( id == "Documents" ) - docLoadingWidget->setTextColor( QColor(color) ); + QString id; + stream >> id; + QString color; + stream >> color; + if ( view(id) ) + view(id)->setTextColor( QColor(color) ); + if ( id == "Documents" ) + docLoadingWidget->setTextColor( QColor(color) ); } else if ( msg == "setFont(QString,QString,int,int,int)" ) { - QString id; - stream >> id; - QString fam; - stream >> fam; - int size; - stream >> size; - int weight; - stream >> weight; - int italic; - stream >> italic; - if ( view(id) ) { - if ( !fam.isEmpty() ) { - view(id)->setViewFont( QFont(fam, size, weight, italic!=0) ); - odebug << "setFont: " << fam << ", " << size << ", " << weight << ", " << italic << "" << oendl; - } else { - view(id)->clearViewFont(); + QString id; + stream >> id; + QString fam; + stream >> fam; + int size; + stream >> size; + int weight; + stream >> weight; + int italic; + stream >> italic; + if ( view(id) ) { + if ( !fam.isEmpty() ) { + view(id)->setViewFont( QFont(fam, size, weight, italic!=0) ); + odebug << "setFont: " << fam << ", " << size << ", " << weight << ", " << italic << "" << oendl; + } else { + view(id)->clearViewFont(); + } } - } }else if ( msg == "setBusyIndicatorType(QString)" ) { QString type; stream >> type; setBusyIndicatorType( type ); }else if ( msg == "home()" ) { if ( isVisibleWindow( static_cast<QWidget*>(parent())->winId() ) ) { if (categoryBar) categoryBar->nextTab(); - }else + }else { static_cast<QWidget*>(parent())->raise(); + } + } else if (msg=="doctabEnabled(int)") { + int id; stream >> id; + odebug << "Doctab enabled " << id << oendl; + reCheckDoctab(id); } } - +void LauncherTabWidget::reCheckDoctab(int how) +{ + if ((bool)how == docTabEnabled) { + /* nothing to do */ + return; + } + if (docLoadingWidget) { + stack->removeWidget(docLoadingWidget); + delete docLoadingWidget; + docLoadingWidget = 0; + } + createDocLoadingWidget(); + { + QCopEnvelope( "QPE/System", "reforceDocuments()" ); + odebug << "Sending doc rescan" << oendl; + } +} //--------------------------------------------------------------------------- Launcher::Launcher() : QMainWindow( 0, "PDA User Interface", QWidget::WStyle_Customize | QWidget::WGroupLeader ) { tabs = 0; tb = 0; Config cfg( "Launcher" ); cfg.setGroup( "DocTab" ); docTabEnabled = cfg.readBoolEntry( "Enable", true ); } |