author | sandman <sandman> | 2003-03-21 21:11:15 (UTC) |
---|---|---|
committer | sandman <sandman> | 2003-03-21 21:11:15 (UTC) |
commit | 299ab81f6b0bdc542311b1544fc84e1debd97a1f (patch) (side-by-side diff) | |
tree | 288a85eb4fc70a8297ee0e58a3d49bc70ea83655 /core/launcher/launcher.cpp | |
parent | 2afcd6fa6b581f5ec7b3e65fe312ceadebb37ee7 (diff) | |
download | opie-299ab81f6b0bdc542311b1544fc84e1debd97a1f.zip opie-299ab81f6b0bdc542311b1544fc84e1debd97a1f.tar.gz opie-299ab81f6b0bdc542311b1544fc84e1debd97a1f.tar.bz2 |
fix for bug #599:
O-Menu does not detect newly added programs until Opie restart
-rw-r--r-- | core/launcher/launcher.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/core/launcher/launcher.cpp b/core/launcher/launcher.cpp index 6764338..fc944e1 100644 --- a/core/launcher/launcher.cpp +++ b/core/launcher/launcher.cpp @@ -855,54 +855,64 @@ void Launcher::externalSelected(const AppLnk *appLnk) tabs->setBusy(TRUE); emit executing( appLnk ); } void Launcher::properties( AppLnk *appLnk ) { if ( appLnk->type() == "Folder" ) { // No tr // Not supported: flat is simpler for the user } else { in_lnk_props = TRUE; got_lnk_change = FALSE; LnkProperties prop(appLnk); connect(&prop, SIGNAL(select(const AppLnk *)), this, SLOT(externalSelected(const AppLnk *))); prop.showMaximized(); prop.exec(); in_lnk_props = FALSE; if ( got_lnk_change ) { updateLink(lnk_change); } } } void Launcher::updateLink(const QString& link) { - if (link.isNull()) + bool notify_sm = false; + + if (link.isNull()) { updateTabs(); - else if (link.isEmpty()) + notify_sm = true; + } + else if (link.isEmpty()) { updateDocs(); - else + } + else { tabs->updateLink(link); + notify_sm = true; + } + + if ( notify_sm ) + QCopEnvelope e ( "QPE/TaskBar", "reloadApps()" ); } void Launcher::systemMessage( const QCString &msg, const QByteArray &data) { QDataStream stream( data, IO_ReadOnly ); if ( msg == "linkChanged(QString)" ) { QString link; stream >> link; if ( in_lnk_props ) { got_lnk_change = TRUE; lnk_change = link; } else { updateLink(link); } } else if ( msg == "busy()" ) { emit busy(); } else if ( msg == "notBusy(QString)" ) { QString app; stream >> app; tabs->setBusy(FALSE); emit notBusy(app); } else if ( msg == "mkdir(QString)" ) { QString dir; stream >> dir; |