// 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",
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());
this, SLOT(slotPreviewFailed(const KFileItem*)));
QString text("<b>");
- text.append(m_shownUrl.fileName());
+ text.append(file.fileName());
text.append("</b>");
m_name->setText(text);
}
void InfoSidebarPage::slotPreviewFailed(const KFileItem* item)
{
m_pendingPreview = false;
- if (!applyBookmark()) {
+ if (!applyBookmark(item->url())) {
m_preview->setPixmap(item->pixmap(K3Icon::SizeEnormous));
}
}
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("<b>");
text.append(bookmark.text());
text.append("</b>");
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("<b>%1 :</b><br/>");
- firsts.arg(i18n("Annotations"));
+ QString firsts = QString("<b>%1 :</b><br/>").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("<b>%1</b> : %2<br/>").arg(file.fileName()).arg(annotation), Qt::ElideRight, width());
+ firsts += m_annotationLabel->fontMetrics().elidedText(QString("<b>%1</b> : %2<br/>").arg(file.fileName()).arg(annotation), Qt::ElideRight, width());//FIXME not really the good method, does not handle resizing ...
annotateNum++;
}
}
void connectToActiveView();
/**
- * Checks whether the current Url is repesented by a bookmark. If yes,
+ * Checks whether the an Url is repesented by a bookmark. If yes,
* then the bookmark icon and name are shown instead of a preview.
* @return True, if the Url represents exactly a bookmark.
+ * @param url The url to check.
*/
- bool applyBookmark();
+ bool applyBookmark(const KUrl& url);
/** Assures that any pending item information request is cancelled. */
void cancelRequest();