X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/cefcbf0ef0e960db68021715d1c600b901be8501..b5cc2a6924cfd8f59611d3cec2edbb00a08b4ff1:/src/infosidebarpage.cpp diff --git a/src/infosidebarpage.cpp b/src/infosidebarpage.cpp index efc85cc71..9c400b198 100644 --- a/src/infosidebarpage.cpp +++ b/src/infosidebarpage.cpp @@ -26,16 +26,11 @@ #include #include -#include #include #include #include -#include -#include -//Added by qt3to4: #include #include -#include #include #include @@ -47,6 +42,7 @@ #include #include #include +#include #include "dolphinmainwindow.h" #include "dolphinapplication.h" @@ -86,15 +82,17 @@ InfoSidebarPage::InfoSidebarPage(DolphinMainWindow* mainWindow, QWidget* parent) m_name->setMinimumHeight(fontMetrics.height() * 3); m_name->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Maximum); - QWidget* sep1 = new Q3HGroupBox(this); // TODO: check whether default widget exist for this? - sep1->setFixedHeight(1); + KSeparator* sep1 = new KSeparator(this); // general information m_infos = new QLabel(this); m_infos->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed); m_infos->setTextFormat(Qt::RichText); + KSeparator* sep2 = new KSeparator(this); + // annotation + KSeparator* sep3 = 0; if (m_metadata->storageUp()) { m_annotationLabel = new QLabel(this); m_annotationLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); @@ -103,14 +101,9 @@ InfoSidebarPage::InfoSidebarPage(DolphinMainWindow* mainWindow, QWidget* parent) m_annotationButton = new QPushButton("", this); m_annotationButton->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); connect(m_annotationButton, SIGNAL(released()), this, SLOT(changeAnnotation())); + sep3 = new KSeparator(this); } - QWidget* sep2 = new Q3HGroupBox(this); // TODO: check whether default widget exist for this? - sep2->setFixedHeight(1); - - QWidget* sep3 = new Q3HGroupBox(this); // TODO: check whether default widget exist for this? - sep3->setFixedHeight(1); - // actions m_actionBox = new KVBox(this); m_actionBox->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); @@ -178,10 +171,14 @@ void InfoSidebarPage::showItemInfo() // show the preview... DolphinView* view = mainWindow()->activeView(); const KFileItemList selectedItems = view->selectedItems(); + KUrl file; if (selectedItems.count() > 1) { m_multipleSelection = true; + } else if(selectedItems.count() == 0) { + file = m_shownUrl; + } else { + file = selectedItems[0]->url(); } - if (m_multipleSelection) { KIconLoader iconLoader; QPixmap icon = iconLoader.loadIcon("exec", @@ -190,10 +187,10 @@ void InfoSidebarPage::showItemInfo() m_preview->setPixmap(icon); m_name->setText(i18n("%1 items selected",selectedItems.count())); } - else if (!applyBookmark()) { + else if (!applyBookmark(file)) { // try to get a preview pixmap from the item... KUrl::List list; - list.append(m_shownUrl); + list.append(file); m_pendingPreview = true; m_preview->setPixmap(QPixmap()); @@ -213,7 +210,7 @@ void InfoSidebarPage::showItemInfo() this, SLOT(slotPreviewFailed(const KFileItem*))); QString text(""); - text.append(m_shownUrl.fileName()); + text.append(file.fileName()); text.append(""); m_name->setText(text); } @@ -231,7 +228,7 @@ void InfoSidebarPage::slotTimeout() void InfoSidebarPage::slotPreviewFailed(const KFileItem* item) { m_pendingPreview = false; - if (!applyBookmark()) { + if (!applyBookmark(item->url())) { m_preview->setPixmap(item->pixmap(K3Icon::SizeEnormous)); } } @@ -271,12 +268,12 @@ void InfoSidebarPage::connectToActiveView() showItemInfo(); } -bool InfoSidebarPage::applyBookmark() +bool InfoSidebarPage::applyBookmark(const KUrl& url) { KBookmarkGroup root = DolphinSettings::instance().bookmarkManager()->root(); KBookmark bookmark = root.first(); while (!bookmark.isNull()) { - if (m_shownUrl.equals(bookmark.url(), KUrl::CompareWithoutTrailingSlash)) { + if (url.equals(bookmark.url(), KUrl::CompareWithoutTrailingSlash)) { QString text(""); text.append(bookmark.text()); text.append(""); @@ -536,18 +533,17 @@ void InfoSidebarPage::showAnnotation(const KUrl& file) void InfoSidebarPage::showAnnotations(const KUrl::List& files) { - static unsigned int maxShownAnnot = 3; + static unsigned int maxShownAnnot = 3; //The maximum number of show annotations when selecting multiple files if (m_metadata->storageUp()) { bool hasAnnotation = false; unsigned int annotateNum = 0; - QString firsts("%1 :
"); - firsts.arg(i18n("Annotations")); + QString firsts = QString("%1 :
").arg(i18n("Annotations")); foreach (KUrl file, files) { QString annotation = m_metadata->getAnnotation(file); if (!annotation.isEmpty()) { hasAnnotation = true; if(annotateNum < maxShownAnnot) { - firsts += m_annotationLabel->fontMetrics().elidedText(QString("%1 : %2
").arg(file.fileName()).arg(annotation), Qt::ElideRight, width()); + firsts += m_annotationLabel->fontMetrics().elidedText(QString("%1 : %2
").arg(file.fileName()).arg(annotation), Qt::ElideRight, width());//FIXME not really the good method, does not handle resizing ... annotateNum++; } } @@ -605,6 +601,7 @@ ServiceButton::~ServiceButton() void ServiceButton::paintEvent(QPaintEvent* event) { + Q_UNUSED(event); QPainter painter(this); const int buttonWidth = width(); const int buttonHeight = height();