author | harlekin <harlekin> | 2002-02-23 21:35:06 (UTC) |
---|---|---|
committer | harlekin <harlekin> | 2002-02-23 21:35:06 (UTC) |
commit | 9f9006e0257e3d4c5d66331a7d6061c8a5da164b (patch) (side-by-side diff) | |
tree | 7919a33f366cd63b2a1769d42047568d31121a12 /library | |
parent | c200950a2b120b015783f1552fd68c355bcc3185 (diff) | |
download | opie-9f9006e0257e3d4c5d66331a7d6061c8a5da164b.zip opie-9f9006e0257e3d4c5d66331a7d6061c8a5da164b.tar.gz opie-9f9006e0257e3d4c5d66331a7d6061c8a5da164b.tar.bz2 |
changes property dialog in documents; now it is possible to delete only the icon not also the file
-rw-r--r-- | library/lnkproperties.cpp | 23 | ||||
-rw-r--r-- | library/lnkproperties.h | 13 | ||||
-rw-r--r-- | library/lnkpropertiesbase_p.ui | 17 |
3 files changed, 52 insertions, 1 deletions
diff --git a/library/lnkproperties.cpp b/library/lnkproperties.cpp index e278cb2..abd430c 100644 --- a/library/lnkproperties.cpp +++ b/library/lnkproperties.cpp @@ -9,24 +9,28 @@ ** packaging of this file. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ** 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. ** **********************************************************************/ +// 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> #include <qpe/categorywidget.h> #include <qpe/qcopenvelope_qws.h> #include <qpe/filemanager.h> #include <qpe/config.h> #include <qpe/storage.h> #include <qpe/qpemessagebox.h> @@ -65,25 +69,26 @@ LnkProperties::LnkProperties( AppLnk* l, QWidget* parent ) if ( l->comment().isEmpty() ) { d->comment->hide(); d->commentLabel->hide(); } else { d->comment->setText( l->comment() ); } 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 d->categoryEdit->kludge(); d->categoryEdit->setCategories( lnk->categories(), "Document View", tr("Document View") ); setupLocations(); } else { @@ -121,24 +126,40 @@ LnkProperties::~LnkProperties() void LnkProperties::unlinkLnk() { if ( QPEMessageBox::confirmDelete( this, tr("Delete"), lnk->name() ) ) { lnk->removeFiles(); if ( QFile::exists(lnk->file()) ) { QMessageBox::warning( this, tr("Delete"), tr("File deletion failed.") ); } 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(); QListIterator<FileSystem> it ( fs ); QString s; QString homeDir = getenv("HOME"); QString hardDiskHome; QString hardDiskPath; int index = 0; diff --git a/library/lnkproperties.h b/library/lnkproperties.h index 501692e..38da5b2 100644 --- a/library/lnkproperties.h +++ b/library/lnkproperties.h @@ -8,47 +8,60 @@ ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ** 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; class QListViewItem; class DocLnk; 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: void setupLocations(); bool moveLnk(); bool copyFile( DocLnk &newdoc ); AppLnk* lnk; int fileSize; 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 @@ -319,24 +319,41 @@ <name>focusPolicy</name> <enum>TabFocus</enum> </property> <property stdset="1"> <name>text</name> <string>Delete</string> </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> <property stdset="1"> <name>text</name> <string>Copy</string> </property> <property stdset="1"> <name>autoDefault</name> |