summaryrefslogtreecommitdiff
authorharlekin <harlekin>2002-09-09 18:14:37 (UTC)
committer harlekin <harlekin>2002-09-09 18:14:37 (UTC)
commit3044db24e632adbcf5dbbf1874944d54cee7c8e3 (patch) (side-by-side diff)
tree9961a3531e7fd16709002f82faa7494dd3dafed3
parent2e56c4b88cfb1ebdbc0d952791af48c870f9f14b (diff)
downloadopie-3044db24e632adbcf5dbbf1874944d54cee7c8e3.zip
opie-3044db24e632adbcf5dbbf1874944d54cee7c8e3.tar.gz
opie-3044db24e632adbcf5dbbf1874944d54cee7c8e3.tar.bz2
add preloaded app control needed to runningappsbar
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/applnk.cpp29
-rw-r--r--library/applnk.h5
2 files changed, 31 insertions, 3 deletions
diff --git a/library/applnk.cpp b/library/applnk.cpp
index 778ccab..9498f84 100644
--- a/library/applnk.cpp
+++ b/library/applnk.cpp
@@ -349,20 +349,20 @@ QString AppLnk::linkFile() const
int n=1;
QString nn;
AppLnk lnk( that->mLinkFile+".desktop" );
if(that->file() != lnk.file() ){
qWarning("AppLnk::linkFile exists %s", that->mLinkFile.latin1() );
while (QFile::exists((nn=that->mLinkFile+"_"+QString::number(n))+".desktop")){
n++;
AppLnk lnk(nn ); // just to be sure
- if(lnk.file() ==that->file() ){
+ if(lnk.file() ==that->file() ){
break;
- }
- }
+ }
+ }
that->mLinkFile = nn;
}
}
that->mLinkFile += ".desktop";
qWarning("AppLnk::linkFile is %s", that->mLinkFile.latin1() );
storeLink();
}
return that->mLinkFile;
@@ -601,16 +601,39 @@ QString AppLnk::property(const QString& key) const
QString lf = linkFile();
if ( !QFile::exists(lf) )
return QString::null;
Config cfg(lf, Config::File);
return cfg.readEntry(key);
}
+bool AppLnk::isPreloaded() const {
+ // Preload information is stored in the Launcher config in v1.5.
+ Config cfg("Launcher");
+ cfg.setGroup("Preload");
+ QStringList apps = cfg.readListEntry("Apps",',');
+ if (apps.contains(exec()))
+ return true;
+ return false;
+}
+
+void AppLnk::setPreloaded(bool yesNo) {
+ // Preload information is stored in the Launcher config in v1.5.
+ Config cfg("Launcher");
+ cfg.setGroup("Preload");
+ QStringList apps = cfg.readListEntry("Apps", ',');
+ if (apps.contains(exec()) && !yesNo)
+ apps.remove(exec());
+ else if (yesNo && !apps.contains(exec()))
+ apps.append(exec());
+ cfg.writeEntry("Apps", apps, ',');
+}
+
+
/*!
Deletes both the linkFile() and file() associated with this AppLnk.
*/
void AppLnk::removeFiles()
{
bool valid = isValid();
if ( !valid || !linkFileKnown() || QFile::remove(linkFile()) ) {
if ( QFile::remove(file()) ) {
diff --git a/library/applnk.h b/library/applnk.h
index 18e20b6..9b5523e 100644
--- a/library/applnk.h
+++ b/library/applnk.h
@@ -73,16 +73,21 @@ public:
void setType( const QString& mimetype );
void setIcon( const QString& iconname );
void setCategories( const QArray<int> &v );
bool writeLink() const;
void setProperty(const QString& key, const QString& value);
QString property(const QString& key) const;
+//#ifdef QTOPIA_INTERNAL_PRELOADACCESS
+ bool isPreloaded() const;
+ void setPreloaded(bool yesNo);
+//#endif
+
protected:
QString mName;
QPixmap mPixmap;
QPixmap mBigPixmap;
QString mExec;
QString mType;
QString mRotation;
QString mComment;