mirror of
https://invent.kde.org/system/dolphin
synced 2024-09-12 12:54:29 +00:00
allow to hide the rating, comments and tags of the Information Panel
svn path=/trunk/KDE/kdebase/apps/; revision=937915
This commit is contained in:
parent
7361b724e4
commit
27a4b76871
|
@ -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
|
||||
|
|
19
src/panels/information/dolphin_informationpanelsettings.kcfg
Normal file
19
src/panels/information/dolphin_informationpanelsettings.kcfg
Normal file
|
@ -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>
|
|
@ -0,0 +1,4 @@
|
|||
File=dolphin_informationpanelsettings.kcfg
|
||||
ClassName=InformationPanelSettings
|
||||
Singleton=true
|
||||
Mutators=true
|
|
@ -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();
|
||||
|
|
Loading…
Reference in a new issue