mirror of
https://invent.kde.org/system/dolphin
synced 2024-09-12 12:54:29 +00:00
panels/information: Add option to not show information for hovered item
BUG: 364956 BUG: 453211
This commit is contained in:
parent
c87f4ce5b3
commit
278380bf17
|
@ -14,6 +14,10 @@
|
|||
<label>Auto-Play media files</label>
|
||||
<default>false</default>
|
||||
</entry>
|
||||
<entry name="showHovered" type="Bool">
|
||||
<label>Show item on hover</label>
|
||||
<default>true</default>
|
||||
</entry>
|
||||
<entry name="dateFormat" type="Enum">
|
||||
<label>Date display format</label>
|
||||
<choices>
|
||||
|
|
|
@ -62,13 +62,13 @@ void InformationPanel::setSelection(const KFileItemList &selection)
|
|||
if ((count == 1) && !selection.first().url().isEmpty()) {
|
||||
m_urlCandidate = selection.first().url();
|
||||
}
|
||||
m_infoTimer->start();
|
||||
showItemInfo();
|
||||
}
|
||||
}
|
||||
|
||||
void InformationPanel::requestDelayedItemInfo(const KFileItem &item)
|
||||
{
|
||||
if (!isVisible()) {
|
||||
if (!isVisible() || !InformationPanelSettings::showHovered()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -160,6 +160,11 @@ void InformationPanel::showContextMenu(const QPoint &pos)
|
|||
previewAutoPlayAction->setCheckable(true);
|
||||
previewAutoPlayAction->setChecked(InformationPanelSettings::previewsAutoPlay());
|
||||
|
||||
QAction *showHoveredAction = popup.addAction(i18nc("@action:inmenu", "Show item on hover"));
|
||||
showHoveredAction->setIcon(QIcon::fromTheme(QStringLiteral("followmouse")));
|
||||
showHoveredAction->setCheckable(true);
|
||||
showHoveredAction->setChecked(InformationPanelSettings::showHovered());
|
||||
|
||||
QAction *configureAction = popup.addAction(i18nc("@action:inmenu", "Configure..."));
|
||||
configureAction->setIcon(QIcon::fromTheme(QStringLiteral("configure")));
|
||||
if (m_inConfigurationMode) {
|
||||
|
@ -188,18 +193,23 @@ void InformationPanel::showContextMenu(const QPoint &pos)
|
|||
if (action == previewAction) {
|
||||
InformationPanelSettings::setPreviewsShown(isChecked);
|
||||
m_content->refreshPreview();
|
||||
} else if (action == previewAutoPlayAction) {
|
||||
InformationPanelSettings::setPreviewsAutoPlay(isChecked);
|
||||
m_content->setPreviewAutoPlay(isChecked);
|
||||
} else if (action == showHoveredAction) {
|
||||
InformationPanelSettings::setShowHovered(isChecked);
|
||||
if (!isChecked) {
|
||||
m_hoveredItem = KFileItem();
|
||||
showItemInfo();
|
||||
}
|
||||
} else if (action == configureAction) {
|
||||
m_inConfigurationMode = true;
|
||||
m_content->configureShownProperties();
|
||||
}
|
||||
if (action == dateformatAction) {
|
||||
} else if (action == dateformatAction) {
|
||||
int dateFormat = static_cast<int>(isChecked ? Baloo::DateFormats::ShortFormat : Baloo::DateFormats::LongFormat);
|
||||
|
||||
InformationPanelSettings::setDateFormat(dateFormat);
|
||||
m_content->refreshMetaData();
|
||||
} else if (action == previewAutoPlayAction) {
|
||||
InformationPanelSettings::setPreviewsAutoPlay(isChecked);
|
||||
m_content->setPreviewAutoPlay(isChecked);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -218,7 +228,7 @@ void InformationPanel::showItemInfo()
|
|||
} else {
|
||||
// The information for exactly one item should be shown
|
||||
KFileItem item;
|
||||
if (!m_hoveredItem.isNull()) {
|
||||
if (!m_hoveredItem.isNull() && InformationPanelSettings::showHovered()) {
|
||||
item = m_hoveredItem;
|
||||
} else if (!m_selection.isEmpty()) {
|
||||
Q_ASSERT(m_selection.count() == 1);
|
||||
|
@ -281,8 +291,6 @@ void InformationPanel::slotFileRenamed(const QString &source, const QString &des
|
|||
// item is selected, as the name of the item is shown. If this should change
|
||||
// in future: Before parsing the whole selection take care to test possible
|
||||
// performance bottlenecks when renaming several hundreds of files.
|
||||
} else {
|
||||
m_hoveredItem = KFileItem(destUrl);
|
||||
}
|
||||
|
||||
showItemInfo();
|
||||
|
|
Loading…
Reference in a new issue