-void InformationPanelContent::configureSettings(const QList<QAction*>& customContextMenuActions)
-{
- KMenu popup(this);
-
- QAction* previewAction = popup.addAction(i18nc("@action:inmenu", "Preview"));
- previewAction->setIcon(QIcon::fromTheme("view-preview"));
- previewAction->setCheckable(true);
- previewAction->setChecked(InformationPanelSettings::previewsShown());
-
- QAction* configureAction = popup.addAction(i18nc("@action:inmenu", "Configure..."));
- configureAction->setIcon(KIcon("configure"));
-
- popup.addSeparator();
- foreach (QAction* action, customContextMenuActions) {
- popup.addAction(action);
- }
-
- // Open the popup and adjust the settings for the
- // selected action.
- QAction* action = popup.exec(QCursor::pos());
- if (!action) {
- return;
- }
-
- const bool isChecked = action->isChecked();
- if (action == previewAction) {
- m_preview->setVisible(isChecked);
- InformationPanelSettings::setPreviewsShown(isChecked);
- } else if (action == configureAction) {
- FileMetaDataConfigurationDialog* dialog = new FileMetaDataConfigurationDialog();
- dialog->setDescription(i18nc("@label::textbox",
- "Select which data should be shown in the information panel:"));
- dialog->setItems(m_metaDataWidget->items());
- dialog->setAttribute(Qt::WA_DeleteOnClose);
- dialog->show();
- dialog->raise();
- dialog->activateWindow();
- connect(dialog, &FileMetaDataConfigurationDialog::destroyed, this, &InformationPanelContent::refreshMetaData);
- }
-}
-