┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/panels/information/informationpanelcontent.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2009-10-10 14:13:50 +0000
committerPeter Penz <[email protected]>2009-10-10 14:13:50 +0000
commiteaeee9f7d68d120b1982f24e73d8183db3418261 (patch)
treea890f309955e93cd2e44c8f95aa04ce4988939fb /src/panels/information/informationpanelcontent.cpp
parentec6144e5cf91bfe7d0c0343e2f47db85aa1160b0 (diff)
Start of refactoring so that the metadata widget can be moved outside of Dolphin for other applications. The temporary removed code will be integrated again within the next 10 days (-> currently no meta data is shown and cannot be updated).
svn path=/trunk/KDE/kdebase/apps/; revision=1033585
Diffstat (limited to 'src/panels/information/informationpanelcontent.cpp')
-rw-r--r--src/panels/information/informationpanelcontent.cpp132
1 files changed, 37 insertions, 95 deletions
diff --git a/src/panels/information/informationpanelcontent.cpp b/src/panels/information/informationpanelcontent.cpp
index 231fa98da..1d95c0013 100644
--- a/src/panels/information/informationpanelcontent.cpp
+++ b/src/panels/information/informationpanelcontent.cpp
@@ -48,7 +48,6 @@
#include "dolphin_informationpanelsettings.h"
#include "settings/dolphinsettings.h"
#include "metadatawidget.h"
-#include "metatextlabel.h"
#include "phononwidget.h"
#include "pixmapviewer.h"
@@ -79,9 +78,7 @@ InformationPanelContent::InformationPanelContent(QWidget* parent) :
m_previewSeparator(0),
m_phononWidget(0),
m_metaDataWidget(0),
- m_metaDataSeparator(0),
- m_metaTextArea(0),
- m_metaTextLabel(0)
+ m_metaDataArea(0)
{
parent->installEventFilter(this);
@@ -126,34 +123,14 @@ InformationPanelContent::InformationPanelContent(QWidget* parent) :
m_preview->setVisible(showPreview);
m_previewSeparator->setVisible(showPreview);
- if (MetaDataWidget::metaDataAvailable()) {
- // rating, comment and tags
- m_metaDataWidget = new MetaDataWidget(parent);
- m_metaDataWidget->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
- m_metaDataWidget->setMaximumWidth(KIconLoader::SizeEnormous);
+ m_metaDataWidget = new MetaDataWidget(parent);
- const bool showRating = InformationPanelSettings::showRating();
- const bool showComment = InformationPanelSettings::showComment();
- const bool showTags = InformationPanelSettings::showTags();
+ m_metaDataArea = new QScrollArea(parent);
+ //m_metaDataArea->setWidget(m_metaDataArea);
+ m_metaDataArea->setWidgetResizable(true);
+ m_metaDataArea->setFrameShape(QFrame::NoFrame);
- m_metaDataWidget->setRatingVisible(showRating);
- m_metaDataWidget->setCommentVisible(showComment);
- m_metaDataWidget->setTagsVisible(showTags);
-
- m_metaDataSeparator = new KSeparator(this);
- m_metaDataSeparator->setVisible(showRating || showComment || showTags);
- }
-
- // general meta text information
- m_metaTextLabel = new MetaTextLabel(parent);
- m_metaTextLabel->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
-
- m_metaTextArea = new QScrollArea(parent);
- m_metaTextArea->setWidget(m_metaTextLabel);
- m_metaTextArea->setWidgetResizable(true);
- m_metaTextArea->setFrameShape(QFrame::NoFrame);
-
- QWidget* viewport = m_metaTextArea->viewport();
+ QWidget* viewport = m_metaDataArea->viewport();
viewport->installEventFilter(this);
QPalette palette = viewport->palette();
@@ -167,9 +144,8 @@ InformationPanelContent::InformationPanelContent(QWidget* parent) :
layout->addWidget(m_previewSeparator);
if (m_metaDataWidget != 0) {
layout->addWidget(m_metaDataWidget);
- layout->addWidget(m_metaDataSeparator);
}
- layout->addWidget(m_metaTextArea);
+ layout->addWidget(m_metaDataArea);
parent->setLayout(layout);
}
@@ -212,49 +188,32 @@ void InformationPanelContent::showItem(const KFileItem& item)
setNameLabelText(itemUrl.fileName());
}
- m_metaTextLabel->clear();
- if (item.isDir()) {
- m_metaTextLabel->add(i18nc("@label", "Type:"), i18nc("@label", "Folder"));
- m_metaTextLabel->add(i18nc("@label", "Modified:"), item.timeString());
- } else {
- m_metaTextLabel->add(i18nc("@label", "Type:"), item.mimeComment());
-
- m_metaTextLabel->add(i18nc("@label", "Size:"), KIO::convertSize(item.size()));
- m_metaTextLabel->add(i18nc("@label", "Modified:"), item.timeString());
+/* TODO: move to MetaDataWidget
+ if (!item.isDir() && item.nepomukUri().isValid()) {
+ KConfig config("kmetainformationrc", KConfig::NoGlobals);
+ KConfigGroup settings = config.group("Show");
+ initMetaInfoSettings(settings);
-#ifdef HAVE_NEPOMUK
- if ( item.nepomukUri().isValid() ) {
- KConfig config("kmetainformationrc", KConfig::NoGlobals);
- KConfigGroup settings = config.group("Show");
- initMetaInfoSettings(settings);
+ Nepomuk::Resource res(item.url());
- Nepomuk::Resource res(item.url());
-
- QHash<QUrl, Nepomuk::Variant> properties = res.properties();
- QHash<QUrl, Nepomuk::Variant>::const_iterator it = properties.constBegin();
- while (it != properties.constEnd()) {
- Nepomuk::Types::Property prop(it.key());
- if (settings.readEntry(prop.name(), true)) {
- // TODO #1: use Nepomuk::formatValue(res, prop) if available
- // instead of it.value().toString()
- // TODO #2: using tunedLabel() is a workaround for KDE 4.3 until
- // we get translated labels
- m_metaTextLabel->add(tunedLabel(prop.label()) + ':', it.value().toString());
- }
- ++it;
+ QHash<QUrl, Nepomuk::Variant> properties = res.properties();
+ QHash<QUrl, Nepomuk::Variant>::const_iterator it = properties.constBegin();
+ while (it != properties.constEnd()) {
+ Nepomuk::Types::Property prop(it.key());
+ if (settings.readEntry(prop.name(), true)) {
+ // TODO #1: use Nepomuk::formatValue(res, prop) if available
+ // instead of it.value().toString()
+ // TODO #2: using tunedLabel() is a workaround for KDE 4.3 until
+ // we get translated labels
+ m_metaTextLabel->add(tunedLabel(prop.label()) + ':', it.value().toString());
}
+ ++it;
}
-#endif
}
+*/
if (m_metaDataWidget != 0) {
- if ( item.nepomukUri().isValid() ) {
- m_metaDataWidget->setFile(item.nepomukUri());
- m_metaDataWidget->show();
- }
- else {
- m_metaDataWidget->hide();
- }
+ m_metaDataWidget->setItem(item);
}
if (InformationPanelSettings::showPreview()) {
@@ -295,26 +254,9 @@ void InformationPanelContent::showItems(const KFileItemList& items)
setNameLabelText(i18ncp("@info", "%1 item selected", "%1 items selected", items.count()));
if (m_metaDataWidget != 0) {
- KUrl::List urls;
- foreach (const KFileItem& item, items) {
- if ( item.nepomukUri().isValid() )
- urls.append(item.nepomukUri());
- }
- m_metaDataWidget->setFiles(urls);
- m_metaDataWidget->setVisible(!urls.isEmpty());
+ m_metaDataWidget->setItems(items);
}
- quint64 totalSize = 0;
- foreach (const KFileItem& item, items) {
- // Only count the size of files, not dirs to match what
- // DolphinViewContainer::selectionStatusBarText() does.
- if (!item.isDir() && !item.isLink()) {
- totalSize += item.size();
- }
- }
- m_metaTextLabel->clear();
- m_metaTextLabel->add(i18nc("@label", "Total size:"), KIO::convertSize(totalSize));
-
m_phononWidget->hide();
m_item = KFileItem();
@@ -324,10 +266,10 @@ bool InformationPanelContent::eventFilter(QObject* obj, QEvent* event)
{
if (event->type() == QEvent::Resize) {
QResizeEvent* resizeEvent = static_cast<QResizeEvent*>(event);
- if (obj == m_metaTextArea->viewport()) {
+ if (obj == m_metaDataArea->viewport()) {
// The size of the meta text area has changed. Adjust the fixed
// width in a way that no horizontal scrollbar needs to be shown.
- m_metaTextLabel->setFixedWidth(resizeEvent->size().width());
+ //m_metaDataWidget->setFixedWidth(resizeEvent->size().width());
} else if (obj == parent()) {
// If the text inside the name label or the info label cannot
// get wrapped, then the maximum width of the label is increased
@@ -340,7 +282,7 @@ bool InformationPanelContent::eventFilter(QObject* obj, QEvent* event)
// The metadata widget also contains a text widget which may return
// a large preferred width.
if (m_metaDataWidget != 0) {
- m_metaDataWidget->setMaximumWidth(maxWidth);
+ //m_metaDataWidget->setMaximumWidth(maxWidth);
}
// try to increase the preview as large as possible
@@ -370,7 +312,7 @@ void InformationPanelContent::configureSettings()
previewAction->setCheckable(true);
previewAction->setChecked(InformationPanelSettings::showPreview());
- const bool metaDataAvailable = MetaDataWidget::metaDataAvailable();
+ const bool metaDataAvailable = true; // MetaDataWidget::metaDataAvailable(); TODO
QAction* ratingAction = popup.addAction(i18nc("@action:inmenu", "Rating"));
ratingAction->setIcon(KIcon("rating"));
@@ -458,25 +400,25 @@ void InformationPanelContent::configureSettings()
m_previewSeparator->setVisible(isChecked);
InformationPanelSettings::setShowPreview(isChecked);
} else if (action == ratingAction) {
- m_metaDataWidget->setRatingVisible(isChecked);
+ //m_metaDataWidget->setRatingVisible(isChecked);
InformationPanelSettings::setShowRating(isChecked);
} else if (action == commentAction) {
- m_metaDataWidget->setCommentVisible(isChecked);
+ //m_metaDataWidget->setCommentVisible(isChecked);
InformationPanelSettings::setShowComment(isChecked);
} else if (action == tagsAction) {
- m_metaDataWidget->setTagsVisible(isChecked);
+ //m_metaDataWidget->setTagsVisible(isChecked);
InformationPanelSettings::setShowTags(isChecked);
} else {
settings.writeEntry(action->data().toString(), action->isChecked());
settings.sync();
}
- if (m_metaDataWidget != 0) {
+ /*if (m_metaDataWidget != 0) {
const bool visible = m_metaDataWidget->isRatingVisible() ||
m_metaDataWidget->isCommentVisible() ||
m_metaDataWidget->areTagsVisible();
m_metaDataSeparator->setVisible(visible);
- }
+ }*/
showItem(m_item);
#endif