diff options
Diffstat (limited to 'src/panels/information/metadatawidget.h')
| -rw-r--r-- | src/panels/information/metadatawidget.h | 202 |
1 files changed, 0 insertions, 202 deletions
diff --git a/src/panels/information/metadatawidget.h b/src/panels/information/metadatawidget.h deleted file mode 100644 index b03469014..000000000 --- a/src/panels/information/metadatawidget.h +++ /dev/null @@ -1,202 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2008 by Sebastian Trueg <[email protected]> * - * Copyright (C) 2009 by Peter Penz <[email protected]> * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * - ***************************************************************************/ - -#ifndef METADATAWIDGET_H -#define METADATAWIDGET_H - -#include <config-nepomuk.h> -#ifdef HAVE_NEPOMUK - #include <Nepomuk/Tag> -#else - // The HAVE_NEPOMUK macro cannot be used in combination with - // Q_PRIVATE_SLOT, hence a workaround is used for environments - // where Nepomuk is not available: - namespace Nepomuk { - typedef int Tag; - } -#endif - -#include <kfileitem.h> - -#include <QList> -#include <QWidget> - -class KUrl; - -/** - * @brief Shows the meta data of one or more file items. - * - * Meta data like name, size, rating, comment, ... are - * shown as several rows containing a description and - * the meta data value. It is possible for the user - * to change specific meta data like rating, tags and - * comment. The changes are stored automatically by the - * meta data widget. - */ -class MetaDataWidget : public QWidget -{ - Q_OBJECT - -public: - /** - * Allows to specify which general data should be hidden - * by the meta data widget. - * @see MetaDataWidget::setHiddenData() - * @see MetaDataWidget::hiddenData() - */ - enum MetaDataType - { - None = 0, - TypeData = 1, - SizeData= 2, - ModifiedData = 4, - OwnerData = 8, - PermissionsData = 16, - RatingData = 32, - TagsData = 64, - CommentData = 128 - }; - Q_DECLARE_FLAGS( MetaDataTypes, MetaDataType ) - - explicit MetaDataWidget(QWidget* parent = 0); - virtual ~MetaDataWidget(); - - /** - * Triggers the asynchronous loading of the meta data - * for the file item \p item. Connect to the signal - * loadingFinished() to be able to read the meta - * data. - */ - void setItem(const KFileItem& item); - - /** - * Triggers the asynchronous loading of the meta data - * for the file items \p items. Connect to the signal - * loadingFinished() to be able to read the meta - * data. - */ - void setItems(const KFileItemList& items); - - /** - * Convenience method for MetaDataWidget::setItem(const KFileItem&), - * if the application has only an URL and no file item. - * For performance reason it is recommended to use this convenience - * method only if the application does not have a file item already. - */ - void setItem(const KUrl& url); - - /** - * Convenience method for MetaDataWidget::setItems(const KFileItemList&), - * if the application has only URLs and no file items. - * For performance reason it is recommended to use this convenience - * method only if the application does not have a file items already. - */ - void setItems(const QList<KUrl>& urls); - - KFileItemList items() const; - - /** - * Specifies which kind of data should be hidden (@see MetaDataWidget::Data). - * Example: metaDataWidget->setHiddenData(MetaDataWidget::TypeData | ModifiedData); - * Per default no data is hidden. - */ - void setHiddenData(MetaDataTypes data); - - /** - * Returns which kind of data is hidden (@see MetaDataWidget::Data). - * Example: if (metaDataWidget->hiddenData() & MetaDataWidget::TypeData) ... - */ - MetaDataTypes hiddenData() const; - - /** - * Returns the rating for the currently set item(s). It is required - * to wait for the signal loadingFinished() or ratingChanged() - * to get a valid result. - */ - unsigned int rating() const; - - /** - * Returns the tags for the currently set item(s). It is required - * to wait for the signal loadingFinished() or tagsChanged() - * to get a valid result. - */ - QList<Nepomuk::Tag> tags() const; - - /** - * Returns the comment for the currently set item(s). It is required - * to wait for the signal loadingFinished() or commentChanged() - * to get a valid result. - */ - QString comment() const; - -signals: - /** - * Is emitted if the loading of the meta data has been finished - * after invoking MetaDataWidget::setItem() or MetaDataWidget::setItems(). - */ - void loadingFinished(); - - /** - * Is emitted after the user has changed the rating. - * The changed rating is automatically stored already by - * the meta data widget. - * Note that the signal is not emitted if the rating has - * indirectly been changed by MetaDataWidget::setItem() or - * MetaDataWidget::setItems(). In this case connect to - * the signal loadingFinished() instead. - */ - void ratingChanged(const int rating); - - /** - * Is emitted after the user has changed the tags. - * The changed tags are automatically stored already by - * the meta data widget. - * Note that the signal is not emitted if the tags have - * indirectly been changed by MetaDataWidget::setItem() or - * MetaDataWidget::setItems(). In this case connect to - * the signal loadingFinished() instead. - */ - void tagsChanged(const QList<Nepomuk::Tag>& tags); - - /** - * Is emitted after the user has changed the comment. - * The changed comment is automatically stored already by - * the meta data widget. - * Note that the signal is not emitted if the comment has - * indirectly been changed by MetaDataWidget::setItem() or - * MetaDataWidget::setItems(). In this case connect to - * the signal loadingFinished() instead. - */ - void commentChanged(const QString& comment); - -private: - class Private; - Private* d; - - Q_PRIVATE_SLOT(d, void slotLoadingFinished()) - Q_PRIVATE_SLOT(d, void slotRatingChanged(unsigned int rating)) - Q_PRIVATE_SLOT(d, void slotTagsChanged(const QList<Nepomuk::Tag>& tags)) - Q_PRIVATE_SLOT(d, void slotCommentChanged(const QString& comment)) - Q_PRIVATE_SLOT(d, void slotMetaDataUpdateDone()) -}; - -Q_DECLARE_OPERATORS_FOR_FLAGS(MetaDataWidget::MetaDataTypes) - -#endif |
