-rw-r--r-- | library/lnkproperties.cpp | 21 | ||||
-rw-r--r-- | library/lnkproperties.h | 13 | ||||
-rw-r--r-- | library/lnkpropertiesbase_p.ui | 17 |
3 files changed, 51 insertions, 0 deletions
diff --git a/library/lnkproperties.cpp b/library/lnkproperties.cpp index e278cb2..abd430c 100644 --- a/library/lnkproperties.cpp +++ b/library/lnkproperties.cpp @@ -15,12 +15,16 @@ ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ +// WARNING: Do *NOT* define this yourself. The SL5xxx from SHARP does NOT +// have this class. +#define QTOPIA_INTERNAL_FSLP +#include "lnkproperties.h" #include "lnkproperties.h" #include "lnkpropertiesbase_p.h" #include "ir.h" #include <qpe/applnk.h> #include <qpe/global.h> @@ -71,12 +75,13 @@ LnkProperties::LnkProperties( AppLnk* l, QWidget* parent ) } connect(d->beam,SIGNAL(clicked()),this,SLOT(beamLnk())); if ( lnk->type().contains('/') ) { // A document? (#### better predicate needed) connect(d->unlink,SIGNAL(clicked()),this,SLOT(unlinkLnk())); connect(d->duplicate,SIGNAL(clicked()),this,SLOT(duplicateLnk())); + connect(d->delicon,SIGNAL(clicked()),this,SLOT(unlinkIcon())); d->docname->setReadOnly( FALSE ); d->preload->hide(); d->spacer->hide(); // ### THIS MUST GO, FIX WIERD BUG in QLAYOUT @@ -127,12 +132,28 @@ void LnkProperties::unlinkLnk() } else { reject(); } } } + +/* + * remove only the link from documents, not also the file + */ +void LnkProperties::unlinkIcon() +{ + if ( QPEMessageBox::confirmDelete( this, tr("Delete Icon and leave file"), lnk->name() ) ) { + lnk->removeLinkFile(); + if ( QFile::exists(lnk->linkFile()) ) { + QMessageBox::warning( this, tr("Delete"), tr("Icon deletion failed.") ); + } else { + reject(); + } + } +} + void LnkProperties::setupLocations() { QFileInfo fi( lnk->file() ); fileSize = fi.size(); StorageInfo storage; const QList<FileSystem> &fs = storage.fileSystems(); diff --git a/library/lnkproperties.h b/library/lnkproperties.h index 501692e..38da5b2 100644 --- a/library/lnkproperties.h +++ b/library/lnkproperties.h @@ -14,12 +14,20 @@ ** See http://www.trolltech.com/gpl/ for GPL licensing information. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ + + +// +// DO NOT ATTEMPT TO USE THIS CLASS +// + + + #ifndef LNKPROPERTIES_H #define LNKPROPERTIES_H #include <qstringlist.h> #include <qdialog.h> class AppLnk; @@ -30,19 +38,24 @@ class LnkPropertiesBase; class LnkProperties : public QDialog { Q_OBJECT public: +// WARNING: Do *NOT* define this yourself. The SL5xxx from SHARP does NOT +// have this class. +#ifdef QTOPIA_INTERNAL_FSLP LnkProperties( AppLnk* lnk, QWidget* parent = 0 ); ~LnkProperties(); +#endif void done(int); private slots: void beamLnk(); void unlinkLnk(); + void unlinkIcon(); void duplicateLnk(); signals: void select(const AppLnk *); private: diff --git a/library/lnkpropertiesbase_p.ui b/library/lnkpropertiesbase_p.ui index d99b228..3d35bca 100644 --- a/library/lnkpropertiesbase_p.ui +++ b/library/lnkpropertiesbase_p.ui @@ -325,12 +325,29 @@ </property> <property stdset="1"> <name>autoDefault</name> <bool>false</bool> </property> </widget> + + <widget> + <class>QPushButton</class> + <property stdset="1"> + <name>name</name> + <cstring>delicon</cstring> + </property> + <property stdset="1"> + <name>text</name> + <string>Del Icon</string> + </property> + <property stdset="1"> + <name>autoDefault</name> + <bool>false</bool> + </property> + </widget> + <widget> <class>QPushButton</class> <property stdset="1"> <name>name</name> <cstring>duplicate</cstring> </property> |