author | sandman <sandman> | 2003-03-21 21:11:15 (UTC) |
---|---|---|
committer | sandman <sandman> | 2003-03-21 21:11:15 (UTC) |
commit | 299ab81f6b0bdc542311b1544fc84e1debd97a1f (patch) (unidiff) | |
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) | |||
855 | tabs->setBusy(TRUE); | 855 | tabs->setBusy(TRUE); |
856 | emit executing( appLnk ); | 856 | emit executing( appLnk ); |
857 | } | 857 | } |
858 | 858 | ||
859 | void Launcher::properties( AppLnk *appLnk ) | 859 | void Launcher::properties( AppLnk *appLnk ) |
860 | { | 860 | { |
861 | if ( appLnk->type() == "Folder" ) { // No tr | 861 | if ( appLnk->type() == "Folder" ) { // No tr |
862 | // Not supported: flat is simpler for the user | 862 | // Not supported: flat is simpler for the user |
863 | } else { | 863 | } else { |
864 | in_lnk_props = TRUE; | 864 | in_lnk_props = TRUE; |
865 | got_lnk_change = FALSE; | 865 | got_lnk_change = FALSE; |
866 | LnkProperties prop(appLnk); | 866 | LnkProperties prop(appLnk); |
867 | connect(&prop, SIGNAL(select(const AppLnk *)), this, SLOT(externalSelected(const AppLnk *))); | 867 | connect(&prop, SIGNAL(select(const AppLnk *)), this, SLOT(externalSelected(const AppLnk *))); |
868 | prop.showMaximized(); | 868 | prop.showMaximized(); |
869 | prop.exec(); | 869 | prop.exec(); |
870 | in_lnk_props = FALSE; | 870 | in_lnk_props = FALSE; |
871 | if ( got_lnk_change ) { | 871 | if ( got_lnk_change ) { |
872 | updateLink(lnk_change); | 872 | updateLink(lnk_change); |
873 | } | 873 | } |
874 | } | 874 | } |
875 | } | 875 | } |
876 | 876 | ||
877 | void Launcher::updateLink(const QString& link) | 877 | void Launcher::updateLink(const QString& link) |
878 | { | 878 | { |
879 | if (link.isNull()) | 879 | bool notify_sm = false; |
880 | |||
881 | if (link.isNull()) { | ||
880 | updateTabs(); | 882 | updateTabs(); |
881 | else if (link.isEmpty()) | 883 | notify_sm = true; |
884 | } | ||
885 | else if (link.isEmpty()) { | ||
882 | updateDocs(); | 886 | updateDocs(); |
883 | else | 887 | } |
888 | else { | ||
884 | tabs->updateLink(link); | 889 | tabs->updateLink(link); |
890 | notify_sm = true; | ||
891 | } | ||
892 | |||
893 | if ( notify_sm ) | ||
894 | QCopEnvelope e ( "QPE/TaskBar", "reloadApps()" ); | ||
885 | } | 895 | } |
886 | 896 | ||
887 | void Launcher::systemMessage( const QCString &msg, const QByteArray &data) | 897 | void Launcher::systemMessage( const QCString &msg, const QByteArray &data) |
888 | { | 898 | { |
889 | QDataStream stream( data, IO_ReadOnly ); | 899 | QDataStream stream( data, IO_ReadOnly ); |
890 | if ( msg == "linkChanged(QString)" ) { | 900 | if ( msg == "linkChanged(QString)" ) { |
891 | QString link; | 901 | QString link; |
892 | stream >> link; | 902 | stream >> link; |
893 | if ( in_lnk_props ) { | 903 | if ( in_lnk_props ) { |
894 | got_lnk_change = TRUE; | 904 | got_lnk_change = TRUE; |
895 | lnk_change = link; | 905 | lnk_change = link; |
896 | } else { | 906 | } else { |
897 | updateLink(link); | 907 | updateLink(link); |
898 | } | 908 | } |
899 | } else if ( msg == "busy()" ) { | 909 | } else if ( msg == "busy()" ) { |
900 | emit busy(); | 910 | emit busy(); |
901 | } else if ( msg == "notBusy(QString)" ) { | 911 | } else if ( msg == "notBusy(QString)" ) { |
902 | QString app; | 912 | QString app; |
903 | stream >> app; | 913 | stream >> app; |
904 | tabs->setBusy(FALSE); | 914 | tabs->setBusy(FALSE); |
905 | emit notBusy(app); | 915 | emit notBusy(app); |
906 | } else if ( msg == "mkdir(QString)" ) { | 916 | } else if ( msg == "mkdir(QString)" ) { |
907 | QString dir; | 917 | QString dir; |
908 | stream >> dir; | 918 | stream >> dir; |