From: Peter Penz Date: Tue, 10 Mar 2009 19:21:21 +0000 (+0000) Subject: allow to hide the rating, comments and tags of the Information Panel X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/27a4b768714efb8a2b78f4fcb155e267cc1da05a?ds=sidebyside allow to hide the rating, comments and tags of the Information Panel svn path=/trunk/KDE/kdebase/apps/; revision=937915 --- 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 @@ + + + + + + + + true + + + + true + + + + true + + + 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 #include +#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();