┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorOscar Blumberg <[email protected]>2007-02-23 02:28:27 +0000
committerOscar Blumberg <[email protected]>2007-02-23 02:28:27 +0000
commit7a34c3321d1d36a9b20fb9116b33b8c8a9181e82 (patch)
tree5f0fe634d1f3f1baf1e7e97204269eeaf1ef0d40 /src
parent9c8e7f4e43d23c6d014ca4ffe2083ad8cc737753 (diff)
Change the behavior of the info sidebar to show the preview of the current selection.
svn path=/trunk/KDE/kdebase/apps/; revision=636423
Diffstat (limited to 'src')
-rw-r--r--src/infosidebarpage.cpp25
-rw-r--r--src/infosidebarpage.h5
2 files changed, 17 insertions, 13 deletions
diff --git a/src/infosidebarpage.cpp b/src/infosidebarpage.cpp
index efc85cc71..8b5aea3ce 100644
--- a/src/infosidebarpage.cpp
+++ b/src/infosidebarpage.cpp
@@ -178,10 +178,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 +194,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 +217,7 @@ void InfoSidebarPage::showItemInfo()
this, SLOT(slotPreviewFailed(const KFileItem*)));
QString text("<b>");
- text.append(m_shownUrl.fileName());
+ text.append(file.fileName());
text.append("</b>");
m_name->setText(text);
}
@@ -231,7 +235,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 +275,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("<b>");
text.append(bookmark.text());
text.append("</b>");
@@ -536,18 +540,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("<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++;
}
}
diff --git a/src/infosidebarpage.h b/src/infosidebarpage.h
index cebb7f4aa..5509ed1f4 100644
--- a/src/infosidebarpage.h
+++ b/src/infosidebarpage.h
@@ -128,11 +128,12 @@ private:
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();