const int maxWidth = event->size().width() - KDialog::spacingHint() * 4;
m_nameLabel->setMaximumWidth(maxWidth);
+ // The metadata widget also contains a text widget which may return
+ // a large preferred width.
+ if (m_metaDataWidget != 0) {
+ m_metaDataWidget->setMaximumWidth(maxWidth);
+ }
+
// try to increase the preview as large as possible
m_preview->setSizeHint(QSize(maxWidth, maxWidth));
m_urlCandidate = m_shownUrl; // reset the URL candidate if a resizing is done
showMetaInfo();
}
- const bool visible = m_metaDataWidget->isRatingVisible() ||
- m_metaDataWidget->isCommentVisible() ||
- m_metaDataWidget->areTagsVisible();
- m_metaDataSeparator->setVisible(visible);
+ if (m_metaDataWidget != 0) {
+ const bool visible = m_metaDataWidget->isRatingVisible() ||
+ m_metaDataWidget->isCommentVisible() ||
+ m_metaDataWidget->areTagsVisible();
+ m_metaDataSeparator->setVisible(visible);
+ }
#endif
}
void InformationPanel::slotFileRenamed(const QString& source, const QString& dest)
{
- const KUrl sourceUrl = KUrl(source);
-
- // Verify whether the renamed item is selected. If this is the case, the
- // selection must be updated with the renamed item.
- bool isSelected = false;
- for (int i = m_selection.size() - 1; i >= 0; --i) {
- if (m_selection[i].url() == sourceUrl) {
- m_selection.removeAt(i);
- isSelected = true;
- break;
- }
- }
-
- if ((m_shownUrl == sourceUrl) || isSelected) {
+ if (m_shownUrl == KUrl(source)) {
m_shownUrl = KUrl(dest);
m_fileItem = KFileItem(KFileItem::Unknown, KFileItem::Unknown, m_shownUrl);
- if (isSelected) {
- m_selection.append(m_fileItem);
- }
showItemInfo();
}
}
Nepomuk::Types::Property prop(it.key());
const QString label = prop.label();
if (settings.readEntry(label, true)) {
- // TODO: use Nepomuk::formatValue(res, prop) if available
+ // TODO #1: use Nepomuk::formatValue(res, prop) if available
// instead of it.value().toString()
- m_metaTextLabel->add(label, it.value().toString());
+ // TODO #2: using tunedLabel() is a workaround for KDE 4.3 until
+ // we get translated labels
+ m_metaTextLabel->add(tunedLabel(label), it.value().toString());
}
++it;
}
// thinks it supports PNG images
if (usePhonon) {
m_phononWidget->show();
- PhononWidget::Mode mode = mimeType.startsWith("video")
+ PhononWidget::Mode mode = mimeType.startsWith(QLatin1String("video"))
? PhononWidget::Video
: PhononWidget::Audio;
m_phononWidget->setMode(mode);
}
}
+QString InformationPanel::tunedLabel(const QString& label) const
+{
+ QString tunedLabel;
+ const int labelLength = label.length();
+ if (labelLength > 0) {
+ tunedLabel.reserve(labelLength);
+ tunedLabel = label[0].toUpper();
+ for (int i = 1; i < labelLength; ++i) {
+ if (label[i].isUpper() && !label[i - 1].isSpace() && !label[i - 1].isUpper()) {
+ tunedLabel += ' ';
+ tunedLabel += label[i].toLower();
+ } else {
+ tunedLabel += label[i];
+ }
+ }
+ }
+ return tunedLabel;
+}
+
void InformationPanel::init()
{
m_infoTimer = new QTimer(this);
// rating, comment and tags
m_metaDataWidget = new MetaDataWidget(this);
m_metaDataWidget->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
+ m_metaDataWidget->setMaximumWidth(KIconLoader::SizeEnormous);
const bool showRating = InformationPanelSettings::showRating();
const bool showComment = InformationPanelSettings::showComment();