-void InformationPanelContent::configureSettings(const QList<QAction*>& customContextMenuActions)
-{
- QMenu popup(this);
-
- QAction* previewAction = popup.addAction(i18nc("@action:inmenu", "Preview"));
- previewAction->setIcon(QIcon::fromTheme(QStringLiteral("view-preview")));
- previewAction->setCheckable(true);
- previewAction->setChecked(InformationPanelSettings::previewsShown());
-
- QAction* configureAction = popup.addAction(i18nc("@action:inmenu", "Configure..."));
- configureAction->setIcon(QIcon::fromTheme(QStringLiteral("configure")));
-
-#ifdef HAVE_BALOO
- QAction* dateformatAction = popup.addAction(i18nc("@action:inmenu", "Condensed Date"));
- dateformatAction->setIcon(QIcon::fromTheme(QStringLiteral("change-date-symbolic")));
- dateformatAction->setCheckable(true);
- dateformatAction->setChecked(InformationPanelSettings::dateFormat() == static_cast<int>(Baloo::DateFormats::ShortFormat));
-#endif
- 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(this);
- 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();
- connect(dialog, &FileMetaDataConfigurationDialog::destroyed, this, &InformationPanelContent::refreshMetaData);
- }
-#ifdef HAVE_BALOO
- if (action == dateformatAction) {
- int dateFormat = static_cast<int>(isChecked ? Baloo::DateFormats::ShortFormat : Baloo::DateFormats::LongFormat);
-
- InformationPanelSettings::setDateFormat(dateFormat);
- refreshMetaData();
- }
-#endif
-}
-