author | harlekin <harlekin> | 2002-03-07 11:05:40 (UTC) |
---|---|---|
committer | harlekin <harlekin> | 2002-03-07 11:05:40 (UTC) |
commit | a2f42b6df21b2e5d52b49376542d0f4c7443a897 (patch) (unidiff) | |
tree | bfbacf25dd213cdb2b7a86a007e4598a1634bb18 /core/launcher/launcher.cpp | |
parent | 09444065297662fca1396abf8c0c9dd00380699f (diff) | |
download | opie-a2f42b6df21b2e5d52b49376542d0f4c7443a897.zip opie-a2f42b6df21b2e5d52b49376542d0f4c7443a897.tar.gz opie-a2f42b6df21b2e5d52b49376542d0f4c7443a897.tar.bz2 |
beginning support for autostart
-rw-r--r-- | core/launcher/launcher.cpp | 60 |
1 files changed, 48 insertions, 12 deletions
diff --git a/core/launcher/launcher.cpp b/core/launcher/launcher.cpp index 66a2ce5..0573330 100644 --- a/core/launcher/launcher.cpp +++ b/core/launcher/launcher.cpp | |||
@@ -20,2 +20,6 @@ | |||
20 | 20 | ||
21 | // WARNING: Do *NOT* define this yourself. The SL5xxx from SHARP does NOT | ||
22 | // have this class. | ||
23 | #define QTOPIA_INTERNAL_FSLP | ||
24 | |||
21 | #include <qpe/qcopenvelope_qws.h> | 25 | #include <qpe/qcopenvelope_qws.h> |
@@ -633,5 +637,35 @@ void Launcher::systemMessage( const QCString &msg, const QByteArray &data) | |||
633 | e << locked; | 637 | e << locked; |
638 | // register an app for autostart | ||
639 | // if clear is send the list is cleared. | ||
640 | } else if ( msg == "autoStart(QString)" ) { | ||
641 | QString appName; | ||
642 | stream >> appName; | ||
643 | Config cfg( "autostart" ); | ||
644 | cfg.setGroup( "AutoStart" ); | ||
645 | if ( appName.compare("clear") == 0){ | ||
646 | cfg.writeEntry("Apps", ""); | ||
647 | } | ||
648 | } else if ( msg == "autoStart(QString,QString)" ) { | ||
649 | QString modifier, appName; | ||
650 | stream >> modifier >> appName; | ||
651 | Config cfg( "autostart" ); | ||
652 | cfg.setGroup( "AutoStart" ); | ||
653 | if ( modifier.compare("add") == 0 ){ | ||
654 | // only add it appname is entered | ||
655 | if (!appName.isEmpty()) { | ||
656 | cfg.writeEntry("Apps", appName); | ||
657 | } | ||
658 | } else if (modifier.compare("remove") == 0 ) { | ||
659 | // need to change for multiple entries | ||
660 | // actually remove is right now simular to clear, but in future there | ||
661 | // should be multiple apps in autostart possible. | ||
662 | QString checkName; | ||
663 | checkName = cfg.readEntry("Apps", ""); | ||
664 | if (checkName == appName) { | ||
665 | cfg.writeEntry("Apps", ""); | ||
666 | } | ||
667 | } | ||
634 | } else if ( msg == "sendCardInfo()" ) { | 668 | } else if ( msg == "sendCardInfo()" ) { |
635 | QCopEnvelope e( "QPE/Desktop", "cardInfo(QString)" ); | 669 | QCopEnvelope e( "QPE/Desktop", "cardInfo(QString)" ); |
636 | const QList<FileSystem> &fs = storage->fileSystems(); | 670 | const QList<FileSystem> &fs = storage->fileSystems(); |
637 | QListIterator<FileSystem> it ( fs ); | 671 | QListIterator<FileSystem> it ( fs ); |
@@ -699,3 +733,2 @@ void Launcher::systemMessage( const QCString &msg, const QByteArray &data) | |||
699 | DocLnk *doc = it.current(); | 733 | DocLnk *doc = it.current(); |
700 | QString lfn = doc->linkFile(); | ||
701 | QFileInfo fi( doc->file() ); | 734 | QFileInfo fi( doc->file() ); |
@@ -704,11 +737,14 @@ void Launcher::systemMessage( const QCString &msg, const QByteArray &data) | |||
704 | 737 | ||
705 | 738 | bool fake = !doc->linkFileKnown(); | |
706 | 739 | if ( !fake ) { | |
707 | QFile f( lfn ); | 740 | QFile f( doc->linkFile() ); |
708 | if ( f.open( IO_ReadOnly ) ) { | 741 | if ( f.open( IO_ReadOnly ) ) { |
709 | QTextStream ts( &f ); | 742 | QTextStream ts( &f ); |
710 | ts.setEncoding( QTextStream::UnicodeUTF8 ); | 743 | ts.setEncoding( QTextStream::UnicodeUTF8 ); |
711 | contents += ts.read(); | 744 | contents += ts.read(); |
712 | f.close(); | 745 | f.close(); |
713 | } else { | 746 | } else |
747 | fake = TRUE; | ||
748 | } | ||
749 | if (fake) { | ||
714 | contents += "[Desktop Entry]\n"; | 750 | contents += "[Desktop Entry]\n"; |