-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 @@ -5,32 +5,36 @@ ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** 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. ** **********************************************************************/ +// 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> #include <qlineedit.h> #include <qtoolbutton.h> #include <qpushbutton.h> @@ -61,32 +65,33 @@ LnkProperties::LnkProperties( AppLnk* l, QWidget* parent ) d->typeLabel->hide(); } else { d->type->setText( l->type() ); } 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 { d->unlink->hide(); d->duplicate->hide(); d->beam->hide(); @@ -117,32 +122,48 @@ LnkProperties::LnkProperties( AppLnk* l, QWidget* parent ) 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; currentLocation = -1; for ( ; it.current(); ++it ) { // we add 10k to the file size so we are sure we can also save the desktop file if ( (*it)->availBlocks() * (*it)->blockSize() > fileSize + 10000 ) { diff --git a/library/lnkproperties.h b/library/lnkproperties.h index 501692e..38da5b2 100644 --- a/library/lnkproperties.h +++ b/library/lnkproperties.h @@ -4,55 +4,68 @@ ** This file is part of Qtopia Environment. ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** 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; int currentLocation; QStringList locations; LnkPropertiesBase *d; }; 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 @@ -315,32 +315,49 @@ <name>name</name> <cstring>unlink</cstring> </property> <property stdset="1"> <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> <bool>false</bool> </property> </widget> <widget> |