#include "metadatawidget.h"
-#include <config-kmetadata.h>
+#include <config-nepomuk.h>
#include <klocale.h>
+#include <QtCore/QEvent>
#include <QtGui/QLabel>
#include <QtGui/QGridLayout>
#include <QtGui/QTextEdit>
-#ifdef HAVE_KMETADATA
-#include <kmetadata/kmetadatatagwidget.h>
-#include <kmetadata/resourcemanager.h>
-#include <kmetadata/resource.h>
-#include <kmetadata/variant.h>
-#include <kmetadata/kratingwidget.h>
+#ifdef HAVE_NEPOMUK
+#include <nepomuk/kmetadatatagwidget.h>
+#include <nepomuk/resourcemanager.h>
+#include <nepomuk/resource.h>
+#include <nepomuk/variant.h>
+#include <nepomuk/kratingwidget.h>
+#include <nepomuk/global.h>
+#include <Soprano/Vocabulary/Xesam>
#endif
-// FIXME: these should be replaced by using KMetaData::File once it is available again
-static const char* s_nfoFile = "http://ont.semanticdesktop.org/2007/03/22/nfo#File";
-static const char* s_nfoFileUrl = "http://ont.semanticdesktop.org/2007/03/22/nfo#fileUrl";
-
bool MetaDataWidget::metaDataAvailable()
{
-#ifdef HAVE_KMETADATA
- return !Nepomuk::KMetaData::ResourceManager::instance()->init();
+#ifdef HAVE_NEPOMUK
+ return !Nepomuk::ResourceManager::instance()->init();
#else
return false;
#endif
class MetaDataWidget::Private
{
public:
-#ifdef HAVE_KMETADATA
+#ifdef HAVE_NEPOMUK
void loadComment(const QString& comment);
- QMap<KUrl, Nepomuk::KMetaData::Resource> files;
+ QMap<KUrl, Nepomuk::Resource> files;
QTextEdit* editComment;
KRatingWidget* ratingWidget;
- Nepomuk::KMetaData::TagWidget* tagWidget;
+ Nepomuk::TagWidget* tagWidget;
#endif
};
-#ifdef HAVE_KMETADATA
+#ifdef HAVE_NEPOMUK
void MetaDataWidget::Private::loadComment(const QString& comment)
{
editComment->blockSignals(true);
if (comment.isEmpty()) {
editComment->setFontItalic(true);
- editComment->setText(i18n("Click to add comment..."));
+ editComment->setText(i18nc("@info:tooltip", "Click to add comment..."));
} else {
editComment->setFontItalic(false);
editComment->setText(comment);
MetaDataWidget::MetaDataWidget(QWidget* parent) :
QWidget(parent)
{
-#ifdef HAVE_KMETADATA
+#ifdef HAVE_NEPOMUK
d = new Private;
d->editComment = new QTextEdit(this);
d->ratingWidget = new KRatingWidget(this);
- d->tagWidget = new Nepomuk::KMetaData::TagWidget(this);
+ d->tagWidget = new Nepomuk::TagWidget(this);
connect(d->ratingWidget, SIGNAL(ratingChanged(unsigned int)), this, SLOT(slotRatingChanged(unsigned int)));
connect(d->editComment, SIGNAL(textChanged()), this, SLOT(slotCommentChanged()));
QVBoxLayout* lay = new QVBoxLayout(this);
lay->setMargin(0);
QHBoxLayout* hbox = new QHBoxLayout;
- hbox->addWidget(new QLabel(i18n("Rating:"), this));
+ hbox->addWidget(new QLabel(i18nc("@label:slider", "Rating:"), this));
hbox->addStretch(1);
hbox->addWidget(d->ratingWidget);
lay->addLayout(hbox);
lay->addWidget(d->editComment);
hbox = new QHBoxLayout;
- hbox->addWidget(new QLabel(i18n("Tags:"), this));
+ hbox->addWidget(new QLabel(i18nc("@label:textbox", "Tags:"), this));
hbox->addWidget(d->tagWidget, 1);
lay->addLayout(hbox);
void MetaDataWidget::setFiles(const KUrl::List& urls)
{
-#ifdef HAVE_KMETADATA
+#ifdef HAVE_NEPOMUK
// FIXME: replace with KMetaData::File once we have it again
d->files.clear();
bool first = true;
- QList<Nepomuk::KMetaData::Resource> fileRes;
+ QList<Nepomuk::Resource> fileRes;
Q_FOREACH( KUrl url, urls ) {
- Nepomuk::KMetaData::Resource file( url.url(), s_nfoFile );
+ Nepomuk::Resource file( url.url(), Soprano::Vocabulary::Xesam::File() );
// file.setLocation(url.url());
d->files.insert( url, file );
fileRes.append( file );
void MetaDataWidget::slotCommentChanged()
{
-#ifdef HAVE_KMETADATA
- for ( QMap<KUrl, Nepomuk::KMetaData::Resource>::iterator it = d->files.begin();
+#ifdef HAVE_NEPOMUK
+ for ( QMap<KUrl, Nepomuk::Resource>::iterator it = d->files.begin();
it != d->files.end(); ++it ) {
it.value().setDescription(d->editComment->toPlainText());
}
void MetaDataWidget::slotRatingChanged(unsigned int rating)
{
-#ifdef HAVE_KMETADATA
- for ( QMap<KUrl, Nepomuk::KMetaData::Resource>::iterator it = d->files.begin();
+#ifdef HAVE_NEPOMUK
+ for ( QMap<KUrl, Nepomuk::Resource>::iterator it = d->files.begin();
it != d->files.end(); ++it ) {
it.value().setRating(rating);
}
bool MetaDataWidget::eventFilter(QObject* obj, QEvent* event)
{
-#ifdef HAVE_KMETADATA
+#ifdef HAVE_NEPOMUK
if (obj == d->editComment->viewport() || obj == d->editComment) {
if (event->type() == QEvent::FocusOut) {
// make sure the info text is displayed again