┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2009-03-10 19:21:21 +0000
committerPeter Penz <[email protected]>2009-03-10 19:21:21 +0000
commit27a4b768714efb8a2b78f4fcb155e267cc1da05a (patch)
tree0296b1777cbf253908e2b1ee977c4f11bdf9d72a /src
parent7361b724e44421126a74aafed9923b97597abfc1 (diff)
allow to hide the rating, comments and tags of the Information Panel
svn path=/trunk/KDE/kdebase/apps/; revision=937915
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt3
-rw-r--r--src/panels/information/dolphin_informationpanelsettings.kcfg19
-rw-r--r--src/panels/information/dolphin_informationpanelsettings.kcfgc4
-rw-r--r--src/panels/information/informationpanel.cpp40
4 files changed, 56 insertions, 10 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index c1daf5e8b..f2d9032fa 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -135,7 +135,8 @@ set(dolphin_SRCS
)
kde4_add_kcfg_files(dolphin_SRCS
- panels/folders/dolphin_folderspanelsettings.kcfgc)
+ panels/folders/dolphin_folderspanelsettings.kcfgc
+ panels/information/dolphin_informationpanelsettings.kcfgc)
if(Nepomuk_FOUND)
set(dolphin_SRCS
diff --git a/src/panels/information/dolphin_informationpanelsettings.kcfg b/src/panels/information/dolphin_informationpanelsettings.kcfg
new file mode 100644
index 000000000..b4c30b221
--- /dev/null
+++ b/src/panels/information/dolphin_informationpanelsettings.kcfg
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE kcfg SYSTEM "http://www.kde.org/standards/kcfg/1.0/kcfg.dtd">
+<kcfg>
+ <kcfgfile name="dolphinrc"/>
+ <group name="InformationPanel">
+ <entry name="showRating" type="Bool">
+ <label context="@label">Show rating</label>
+ <default>true</default>
+ </entry>
+ <entry name="showComment" type="Bool">
+ <label context="@label">Show comment</label>
+ <default>true</default>
+ </entry>
+ <entry name="showTags" type="Bool">
+ <label context="@label">Show tags</label>
+ <default>true</default>
+ </entry>
+ </group>
+</kcfg>
diff --git a/src/panels/information/dolphin_informationpanelsettings.kcfgc b/src/panels/information/dolphin_informationpanelsettings.kcfgc
new file mode 100644
index 000000000..84a2cff5a
--- /dev/null
+++ b/src/panels/information/dolphin_informationpanelsettings.kcfgc
@@ -0,0 +1,4 @@
+File=dolphin_informationpanelsettings.kcfg
+ClassName=InformationPanelSettings
+Singleton=true
+Mutators=true
diff --git a/src/panels/information/informationpanel.cpp b/src/panels/information/informationpanel.cpp
index a28b37a9e..2b3124b3c 100644
--- a/src/panels/information/informationpanel.cpp
+++ b/src/panels/information/informationpanel.cpp
@@ -57,6 +57,7 @@
#include <QScrollBar>
#include <QVBoxLayout>
+#include "dolphin_informationpanelsettings.h"
#include "settings/dolphinsettings.h"
#include "metadatawidget.h"
#include "metatextlabel.h"
@@ -227,7 +228,18 @@ void InformationPanel::contextMenuEvent(QContextMenuEvent* event)
}
KMenu popup(this);
- popup.addTitle(i18nc("@title:menu", "Shown Information"));
+
+ QAction* ratingAction = popup.addAction(i18nc("@action:inmenu", "Rating"));
+ ratingAction->setCheckable(true);
+ ratingAction->setChecked(InformationPanelSettings::showRating());
+
+ QAction* commentAction = popup.addAction(i18nc("@action:inmenu", "Comment"));
+ commentAction->setCheckable(true);
+ commentAction->setChecked(InformationPanelSettings::showComment());
+
+ QAction* tagsAction = popup.addAction(i18nc("@action:inmenu", "Tags"));
+ tagsAction->setCheckable(true);
+ tagsAction->setChecked(InformationPanelSettings::showTags());
KConfig config("kmetainformationrc", KConfig::NoGlobals);
KConfigGroup settings = config.group("Show");
@@ -275,20 +287,30 @@ void InformationPanel::contextMenuEvent(QContextMenuEvent* event)
++it;
}
- if (actions.count() == 0) {
- return;
- }
+ if (actions.count() > 0) {
+ popup.addSeparator();
- // add all items alphabetically sorted to the popup
- qSort(actions.begin(), actions.end(), lessThan);
- foreach (QAction* action, actions) {
- popup.addAction(action);
+ // add all items alphabetically sorted to the popup
+ qSort(actions.begin(), actions.end(), lessThan);
+ foreach (QAction* action, actions) {
+ popup.addAction(action);
+ }
}
// Open the popup and adjust the settings for the
// selected action.
QAction* action = popup.exec(QCursor::pos());
- if (action != 0) {
+ if (action == 0) {
+ return;
+ }
+
+ if (action == ratingAction) {
+ // TODO
+ } else if (action == commentAction) {
+ // TODO
+ } else if (action == tagsAction) {
+ // TODO
+ } else {
settings.writeEntry(action->data().toString(), action->isChecked());
settings.sync();
showMetaInfo();