summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/global.cpp19
1 files changed, 12 insertions, 7 deletions
diff --git a/library/global.cpp b/library/global.cpp
index 6c0a66a..6182de8 100644
--- a/library/global.cpp
+++ b/library/global.cpp
@@ -680,148 +680,153 @@ void Global::invoke(const QString &c)
680 680
681 Note that a better approach might be to send a QCop message to the 681 Note that a better approach might be to send a QCop message to the
682 application's QPE/Application/\e{appname} channel. 682 application's QPE/Application/\e{appname} channel.
683*/ 683*/
684void Global::execute( const QString &c, const QString& document ) 684void Global::execute( const QString &c, const QString& document )
685{ 685{
686 // ask the server to do the work 686 // ask the server to do the work
687#if !defined(QT_NO_COP) 687#if !defined(QT_NO_COP)
688 if ( document.isNull() ) { 688 if ( document.isNull() ) {
689 QCopEnvelope e( "QPE/System", "execute(QString)" ); 689 QCopEnvelope e( "QPE/System", "execute(QString)" );
690 e << c; 690 e << c;
691 } else { 691 } else {
692 QCopEnvelope e( "QPE/System", "execute(QString,QString)" ); 692 QCopEnvelope e( "QPE/System", "execute(QString,QString)" );
693 e << c << document; 693 e << c << document;
694 } 694 }
695#endif 695#endif
696 return; 696 return;
697} 697}
698 698
699/*! 699/*!
700 Returns the string \a s with the characters '\', '"', and '$' quoted 700 Returns the string \a s with the characters '\', '"', and '$' quoted
701 by a preceeding '\'. 701 by a preceeding '\'.
702 702
703 \sa stringQuote() 703 \sa stringQuote()
704*/ 704*/
705QString Global::shellQuote(const QString& s) 705QString Global::shellQuote(const QString& s)
706{ 706{
707 QString r="\""; 707 QString r="\"";
708 for (int i=0; i<(int)s.length(); i++) { 708 for (int i=0; i<(int)s.length(); i++) {
709 char c = s[i].latin1(); 709 char c = s[i].latin1();
710 switch (c) { 710 switch (c) {
711 case '\\': case '"': case '$': 711 case '\\': case '"': case '$':
712 r+="\\"; 712 r+="\\";
713 } 713 }
714 r += s[i]; 714 r += s[i];
715 } 715 }
716 r += "\""; 716 r += "\"";
717 return r; 717 return r;
718} 718}
719 719
720/*! 720/*!
721 Returns the string \a s with the characters '\' and '"' quoted by a 721 Returns the string \a s with the characters '\' and '"' quoted by a
722 preceeding '\'. 722 preceeding '\'.
723 723
724 \sa shellQuote() 724 \sa shellQuote()
725*/ 725*/
726QString Global::stringQuote(const QString& s) 726QString Global::stringQuote(const QString& s)
727{ 727{
728 QString r="\""; 728 QString r="\"";
729 for (int i=0; i<(int)s.length(); i++) { 729 for (int i=0; i<(int)s.length(); i++) {
730 char c = s[i].latin1(); 730 char c = s[i].latin1();
731 switch (c) { 731 switch (c) {
732 case '\\': case '"': 732 case '\\': case '"':
733 r+="\\"; 733 r+="\\";
734 } 734 }
735 r += s[i]; 735 r += s[i];
736 } 736 }
737 r += "\""; 737 r += "\"";
738 return r; 738 return r;
739} 739}
740 740
741/*! 741/*!
742 Finds all documents on the system's document directories which 742 Finds all documents on the system's document directories which
743 match the filter \a mimefilter, and appends the resulting DocLnk 743 match the filter \a mimefilter, and appends the resulting DocLnk
744 objects to \a folder. 744 objects to \a folder.
745*/ 745*/
746void Global::findDocuments(DocLnkSet* folder, const QString &mimefilter) 746void Global::findDocuments(DocLnkSet* folder, const QString &mimefilter)
747{ 747{
748 QString homedocs = QString(getenv("HOME")) + "/Documents"; 748 QString homedocs = QString(getenv("HOME")) + "/Documents";
749 DocLnkSet d(homedocs,mimefilter); 749 DocLnkSet d(homedocs,mimefilter);
750 folder->appendFrom(d); 750 folder->appendFrom(d);
751 /** let's do intellegint way of searching these files 751 /** let's do intellegint way of searching these files
752 * a) the user don't want to check mediums global 752 * a) the user don't want to check mediums global
753 * b) the user wants to check but use the global options for it 753 * b) the user wants to check but use the global options for it
754 * c) the user wants to check it but not this medium 754 * c) the user wants to check it but not this medium
755 * d) the user wants to check and this medium as well 755 * d) the user wants to check and this medium as well
756 * 756 *
757 * In all cases we need to apply a different mimefilter to 757 * In all cases we need to apply a different mimefilter to
758 * the medium. 758 * the medium.
759 * a) mimefilter.isEmpty() we need to apply the responding filter 759 * a) mimefilter.isEmpty() we need to apply the responding filter
760 * either the global or the one on the medium 760 * either the global or the one on the medium
761 * 761 *
762 * b) mimefilter is set to an application we need to find out if the 762 * b) mimefilter is set to an application we need to find out if the
763 * mimetypes are included in the mime mask of the medium 763 * mimetypes are included in the mime mask of the medium
764 */ 764 */
765 StorageInfo storage; 765 StorageInfo storage;
766 const QList<FileSystem> &fs = storage.fileSystems(); 766 const QList<FileSystem> &fs = storage.fileSystems();
767 QListIterator<FileSystem> it ( fs ); 767 QListIterator<FileSystem> it ( fs );
768 for ( ; it.current(); ++it ) { 768 for ( ; it.current(); ++it ) {
769 if ( (*it)->isRemovable() ) { // let's find out if we should search on it 769 if ( (*it)->isRemovable() ) { // let's find out if we should search on it
770 // this is a candidate look at the cf and see if we should search on it 770 // this is a candidate look at the cf and see if we should search on it
771 QString path = (*it)->path(); 771 QString path = (*it)->path();
772 if( !checkStorage((*it)->path() + "/.opiestorage.cf" ) ) 772 if( !checkStorage((*it)->path() + "/.opiestorage.cf" ) )
773 continue; 773 continue;
774 Config conf((*it)->path() + "/.opiestorage.cf", Config::File ); 774 Config conf((*it)->path() + "/.opiestorage.cf", Config::File );
775 conf.setGroup("subdirs"); 775 conf.setGroup("subdirs");
776 QStringList subDirs = conf.readListEntry("subdirs",':'); 776 if (conf.readBoolEntry("wholemedia",true)) {
777 if (subDirs.isEmpty()) { 777 DocLnkSet ide( path,mimefilter);
778 subDirs.append("Documents"); 778 folder->appendFrom(ide);
779 } 779 } else {
780 for (unsigned c = 0; c < subDirs.count();++c) { 780 QStringList subDirs = conf.readListEntry("subdirs",':');
781 DocLnkSet ide( path+"/"+subDirs[c], mimefilter ); 781 if (subDirs.isEmpty()) {
782 folder->appendFrom(ide); 782 subDirs.append("Documents");
783 }
784 for (unsigned c = 0; c < subDirs.count();++c) {
785 DocLnkSet ide( path+"/"+subDirs[c], mimefilter );
786 folder->appendFrom(ide);
787 }
783 } 788 }
784 } else if ( (*it)->disk() == "/dev/mtdblock6" || (*it)->disk() == "tmpfs" ) { 789 } else if ( (*it)->disk() == "/dev/mtdblock6" || (*it)->disk() == "tmpfs" ) {
785 QString path = (*it)->path() + "/Documents"; 790 QString path = (*it)->path() + "/Documents";
786 DocLnkSet ide( path, mimefilter ); 791 DocLnkSet ide( path, mimefilter );
787 folder->appendFrom(ide); 792 folder->appendFrom(ide);
788 } 793 }
789 } 794 }
790} 795}
791 796
792QStringList Global::languageList() 797QStringList Global::languageList()
793{ 798{
794 QString lang = getenv("LANG"); 799 QString lang = getenv("LANG");
795 QStringList langs; 800 QStringList langs;
796 langs.append(lang); 801 langs.append(lang);
797 int i = lang.find("."); 802 int i = lang.find(".");
798 if ( i > 0 ) 803 if ( i > 0 )
799 lang = lang.left( i ); 804 lang = lang.left( i );
800 i = lang.find( "_" ); 805 i = lang.find( "_" );
801 if ( i > 0 ) 806 if ( i > 0 )
802 langs.append(lang.left(i)); 807 langs.append(lang.left(i));
803 return langs; 808 return langs;
804} 809}
805 810
806QStringList Global::helpPath() 811QStringList Global::helpPath()
807{ 812{
808 QString qpeDir = QPEApplication::qpeDir(); 813 QString qpeDir = QPEApplication::qpeDir();
809 QStringList path; 814 QStringList path;
810 QStringList langs = Global::languageList(); 815 QStringList langs = Global::languageList();
811 for (QStringList::ConstIterator it = langs.fromLast(); it!=langs.end(); --it) { 816 for (QStringList::ConstIterator it = langs.fromLast(); it!=langs.end(); --it) {
812 QString lang = *it; 817 QString lang = *it;
813 if ( !lang.isEmpty() ) 818 if ( !lang.isEmpty() )
814 path += qpeDir + "/help/" + lang + "/html"; 819 path += qpeDir + "/help/" + lang + "/html";
815 } 820 }
816 path += qpeDir + "/pics"; 821 path += qpeDir + "/pics";
817 path += qpeDir + "/help/html"; 822 path += qpeDir + "/help/html";
818 /* we even put english into the en dir so try it as fallback as well for opie */ 823 /* we even put english into the en dir so try it as fallback as well for opie */
819 path += qpeDir + "/help/en/html"; 824 path += qpeDir + "/help/en/html";
820 path += qpeDir + "/docs"; 825 path += qpeDir + "/docs";
821 826
822 827
823 return path; 828 return path;
824} 829}
825 830
826 831
827#include "global.moc" 832#include "global.moc"