summaryrefslogtreecommitdiff
path: root/library/global.cpp
Unidiff
Diffstat (limited to 'library/global.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--library/global.cpp24
1 files changed, 16 insertions, 8 deletions
diff --git a/library/global.cpp b/library/global.cpp
index ce39751..189b830 100644
--- a/library/global.cpp
+++ b/library/global.cpp
@@ -541,57 +541,62 @@ void Global::terminate( const AppLnk* app )
541 } 541 }
542#endif 542#endif
543} 543}
544 544
545/*! 545/*!
546 Low-level function to run command \a c. 546 Low-level function to run command \a c.
547 547
548 \warning Do not use this function. Use execute instead. 548 \warning Do not use this function. Use execute instead.
549 549
550 \sa execute() 550 \sa execute()
551*/ 551*/
552void Global::invoke(const QString &c) 552void Global::invoke(const QString &c)
553{ 553{
554 // Convert the command line in to a list of arguments 554 // Convert the command line in to a list of arguments
555 QStringList list = QStringList::split(QRegExp(" *"),c); 555 QStringList list = QStringList::split(QRegExp(" *"),c);
556 556
557#if !defined(QT_NO_COP) 557#if !defined(QT_NO_COP)
558 QString ap=list[0]; 558 QString ap=list[0];
559 // see if the application is already running 559 // see if the application is already running
560 // XXX should lock file /tmp/qcop-msg-ap 560 // XXX should lock file /tmp/qcop-msg-ap
561 if ( QCopChannel::isRegistered( ("QPE/Application/" + ap).latin1() ) ) { 561 if ( QCopChannel::isRegistered( ("QPE/Application/" + ap).latin1() ) ) {
562 // If the channel is already register, the app is already running, so show it. 562 // If the channel is already register, the app is already running, so show it.
563 { QCopEnvelope env( ("QPE/Application/" + ap).latin1(), "raise()" ); } 563 { QCopEnvelope env( ("QPE/Application/" + ap).latin1(), "raise()" ); }
564 564
565 QCopEnvelope e("QPE/System", "notBusy(QString)" ); 565 //QCopEnvelope e("QPE/System", "notBusy(QString)" );
566 e << ap; 566 //e << ap;
567 return; 567 return;
568 } 568 }
569 // XXX should unlock file /tmp/qcop-msg-ap 569 // XXX should unlock file /tmp/qcop-msg-ap
570 //see if it is being started 570 //see if it is being started
571 if ( StartingAppList::isStarting( ap ) ) { 571 if ( StartingAppList::isStarting( ap ) ) {
572 QCopEnvelope e("QPE/System", "notBusy(QString)" ); 572 // FIXME take it out for now, since it leads to a much to short showing of wait if
573 e << ap; 573 // some entry is clicked.
574 // Real cause is that ::execute is called twice for document tab. But it would need some larger changes
575 // to fix that, and with future syncs with qtopia 1.6 it will change anyway big time since somebody there
576 // had the idea that an apploader belongs to the launcher ...
577 //QCopEnvelope e("QPE/System", "notBusy(QString)" );
578 //e << ap;
574 return; 579 return;
575 } 580 }
576 581
577#endif 582#endif
578 583
579#ifdef QT_NO_QWS_MULTIPROCESS 584#ifdef QT_NO_QWS_MULTIPROCESS
580 QMessageBox::warning( 0, "Error", "Could not find the application " + c, "Ok", 0, 0, 0, 1 ); 585 QMessageBox::warning( 0, "Error", "Could not find the application " + c, "Ok", 0, 0, 0, 1 );
581#else 586#else
582 587
583 QStrList slist; 588 QStrList slist;
584 unsigned int j; 589 unsigned int j;
585 for ( j = 0; j < list.count(); j++ ) 590 for ( j = 0; j < list.count(); j++ )
586 slist.append( list[j].utf8() ); 591 slist.append( list[j].utf8() );
587 592
588 const char **args = new (const char *)[slist.count() + 1]; 593 const char **args = new (const char *)[slist.count() + 1];
589 for ( j = 0; j < slist.count(); j++ ) 594 for ( j = 0; j < slist.count(); j++ )
590 args[j] = slist.at(j); 595 args[j] = slist.at(j);
591 args[j] = NULL; 596 args[j] = NULL;
592 597
593#if !defined(QT_NO_COP) 598#if !defined(QT_NO_COP)
594 // an attempt to show a wait... 599 // an attempt to show a wait...
595 // more logic should be used, but this will be fine for the moment... 600 // more logic should be used, but this will be fine for the moment...
596 QCopEnvelope ( "QPE/System", "busy()" ); 601 QCopEnvelope ( "QPE/System", "busy()" );
597#endif 602#endif
@@ -809,41 +814,44 @@ void Global::findDocuments(DocLnkSet* folder, const QString &mimefilter)
809 } else if ( (*it)->disk() == "/dev/mtdblock6" || (*it)->disk() == "tmpfs" ) { 814 } else if ( (*it)->disk() == "/dev/mtdblock6" || (*it)->disk() == "tmpfs" ) {
810 QString path = (*it)->path() + "/Documents"; 815 QString path = (*it)->path() + "/Documents";
811 DocLnkSet ide( path, mimefilter ); 816 DocLnkSet ide( path, mimefilter );
812 folder->appendFrom(ide); 817 folder->appendFrom(ide);
813 } 818 }
814 } 819 }
815} 820}
816 821
817QStringList Global::languageList() 822QStringList Global::languageList()
818{ 823{
819 QString lang = getenv("LANG"); 824 QString lang = getenv("LANG");
820 QStringList langs; 825 QStringList langs;
821 langs.append(lang); 826 langs.append(lang);
822 int i = lang.find("."); 827 int i = lang.find(".");
823 if ( i > 0 ) 828 if ( i > 0 )
824 lang = lang.left( i ); 829 lang = lang.left( i );
825 i = lang.find( "_" ); 830 i = lang.find( "_" );
826 if ( i > 0 ) 831 if ( i > 0 )
827 langs.append(lang.left(i)); 832 langs.append(lang.left(i));
828 return langs; 833 return langs;
829} 834}
830 835
831QStringList Global::helpPath() 836QStringList Global::helpPath()
832{ 837{
838 QString qpeDir = QPEApplication::qpeDir();
833 QStringList path; 839 QStringList path;
834 QStringList langs = Global::languageList(); 840 QStringList langs = Global::languageList();
835 for (QStringList::ConstIterator it = langs.fromLast(); it!=langs.end(); --it) { 841 for (QStringList::ConstIterator it = langs.fromLast(); it!=langs.end(); --it) {
836 QString lang = *it; 842 QString lang = *it;
837 if ( !lang.isEmpty() ) 843 if ( !lang.isEmpty() )
838 path += QPEApplication::qpeDir() + "/help/" + lang + "/html"; 844 path += qpeDir + "/help/" + lang + "/html";
839 } 845 }
840 path += QPEApplication::qpeDir() + "/pics"; 846 path += qpeDir + "/pics";
841 path += QPEApplication::qpeDir() + "/help/html"; 847 path += qpeDir + "/help/html";
842 path += QPEApplication::qpeDir() + "/docs"; 848 /* we even put english into the en dir so try it as fallback as well for opie */
849 path += qpeDir + "/help/en/html";
850 path += qpeDir + "/docs";
843 851
844 852
845 return path; 853 return path;
846} 854}
847 855
848 856
849#include "global.moc" 857#include "global.moc"