summaryrefslogtreecommitdiff
path: root/core/launcher/launcher.cpp
Unidiff
Diffstat (limited to 'core/launcher/launcher.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/launcher.cpp16
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
836void Launcher::select( const AppLnk *appLnk ) 836void 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
853void Launcher::externalSelected(const AppLnk *appLnk) 853void 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
859void Launcher::properties( AppLnk *appLnk ) 859void 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
877void Launcher::updateLink(const QString& link) 877void 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
887void Launcher::systemMessage( const QCString &msg, const QByteArray &data) 897void 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()" ) {