-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 | |||
@@ -831,102 +831,112 @@ void Launcher::nextView() | |||
831 | { | 831 | { |
832 | tabs->nextTab(); | 832 | tabs->nextTab(); |
833 | } | 833 | } |
834 | 834 | ||
835 | 835 | ||
836 | void Launcher::select( const AppLnk *appLnk ) | 836 | void Launcher::select( const AppLnk *appLnk ) |
837 | { | 837 | { |
838 | if ( appLnk->type() == "Folder" ) { // No tr | 838 | if ( appLnk->type() == "Folder" ) { // No tr |
839 | // Not supported: flat is simpler for the user | 839 | // Not supported: flat is simpler for the user |
840 | } else { | 840 | } else { |
841 | if ( appLnk->exec().isNull() ) { | 841 | if ( appLnk->exec().isNull() ) { |
842 | QMessageBox::information(this,tr("No application"), | 842 | QMessageBox::information(this,tr("No application"), |
843 | tr("<p>No application is defined for this document." | 843 | tr("<p>No application is defined for this document." |
844 | "<p>Type is %1.").arg(appLnk->type())); | 844 | "<p>Type is %1.").arg(appLnk->type())); |
845 | return; | 845 | return; |
846 | } | 846 | } |
847 | tabs->setBusy(TRUE); | 847 | tabs->setBusy(TRUE); |
848 | emit executing( appLnk ); | 848 | emit executing( appLnk ); |
849 | appLnk->execute(); | 849 | appLnk->execute(); |
850 | } | 850 | } |
851 | } | 851 | } |
852 | 852 | ||
853 | void Launcher::externalSelected(const AppLnk *appLnk) | 853 | void Launcher::externalSelected(const AppLnk *appLnk) |
854 | { | 854 | { |
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; |
909 | if ( !dir.isEmpty() ) | 919 | if ( !dir.isEmpty() ) |
910 | mkdir( dir ); | 920 | mkdir( dir ); |
911 | } else if ( msg == "rdiffGenSig(QString,QString)" ) { | 921 | } else if ( msg == "rdiffGenSig(QString,QString)" ) { |
912 | QString baseFile, sigFile; | 922 | QString baseFile, sigFile; |
913 | stream >> baseFile >> sigFile; | 923 | stream >> baseFile >> sigFile; |
914 | QRsync::generateSignature( baseFile, sigFile ); | 924 | QRsync::generateSignature( baseFile, sigFile ); |
915 | } else if ( msg == "rdiffGenDiff(QString,QString,QString)" ) { | 925 | } else if ( msg == "rdiffGenDiff(QString,QString,QString)" ) { |
916 | QString baseFile, sigFile, deltaFile; | 926 | QString baseFile, sigFile, deltaFile; |
917 | stream >> baseFile >> sigFile >> deltaFile; | 927 | stream >> baseFile >> sigFile >> deltaFile; |
918 | QRsync::generateDiff( baseFile, sigFile, deltaFile ); | 928 | QRsync::generateDiff( baseFile, sigFile, deltaFile ); |
919 | } else if ( msg == "rdiffApplyPatch(QString,QString)" ) { | 929 | } else if ( msg == "rdiffApplyPatch(QString,QString)" ) { |
920 | QString baseFile, deltaFile; | 930 | QString baseFile, deltaFile; |
921 | stream >> baseFile >> deltaFile; | 931 | stream >> baseFile >> deltaFile; |
922 | if ( !QFile::exists( baseFile ) ) { | 932 | if ( !QFile::exists( baseFile ) ) { |
923 | QFile f( baseFile ); | 933 | QFile f( baseFile ); |
924 | f.open( IO_WriteOnly ); | 934 | f.open( IO_WriteOnly ); |
925 | f.close(); | 935 | f.close(); |
926 | } | 936 | } |
927 | QRsync::applyDiff( baseFile, deltaFile ); | 937 | QRsync::applyDiff( baseFile, deltaFile ); |
928 | #ifndef QT_NO_COP | 938 | #ifndef QT_NO_COP |
929 | QCopEnvelope e( "QPE/Desktop", "patchApplied(QString)" ); | 939 | QCopEnvelope e( "QPE/Desktop", "patchApplied(QString)" ); |
930 | e << baseFile; | 940 | e << baseFile; |
931 | #endif | 941 | #endif |
932 | } else if ( msg == "rdiffCleanup()" ) { | 942 | } else if ( msg == "rdiffCleanup()" ) { |