mirror of
https://invent.kde.org/system/dolphin
synced 2024-07-07 10:51:45 +00:00
[Information Panel] Allows to refresh icon and metadata for urls such as trash:/
Summary: CCBUG: 392882 Test Plan: 1. Create a file 2. Remove it, so that it goes to the trash 3. Open trash 4. Empty trash Before: Information panel icon is still user-trash-full After: Information panel icon is changed to user-trash Reviewers: ngraham, #dolphin, elvisangelaccio Reviewed By: ngraham, #dolphin, elvisangelaccio Subscribers: kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D23668
This commit is contained in:
parent
b9a2df09fc
commit
89a7b316d1
|
@ -8,7 +8,7 @@ set (KDE_APPLICATIONS_VERSION "${KDE_APPLICATIONS_VERSION_MAJOR}.${KDE_APPLICATI
|
|||
project(Dolphin VERSION ${KDE_APPLICATIONS_VERSION})
|
||||
|
||||
set(QT_MIN_VERSION "5.11.0")
|
||||
set(KF5_MIN_VERSION "5.63.0")
|
||||
set(KF5_MIN_VERSION "5.64.0")
|
||||
|
||||
# ECM setup
|
||||
find_package(ECM ${KF5_MIN_VERSION} CONFIG REQUIRED)
|
||||
|
|
|
@ -290,8 +290,8 @@ void InformationPanel::reset()
|
|||
|
||||
void InformationPanel::slotFileRenamed(const QString& source, const QString& dest)
|
||||
{
|
||||
if (m_shownUrl == QUrl::fromLocalFile(source)) {
|
||||
m_shownUrl = QUrl::fromLocalFile(dest);
|
||||
if (m_shownUrl == QUrl::fromUserInput(source)) {
|
||||
m_shownUrl = QUrl::fromUserInput(dest);
|
||||
m_fileItem = KFileItem(m_shownUrl);
|
||||
|
||||
if ((m_selection.count() == 1) && (m_selection[0].url() == QUrl::fromLocalFile(source))) {
|
||||
|
@ -308,10 +308,10 @@ void InformationPanel::slotFileRenamed(const QString& source, const QString& des
|
|||
|
||||
void InformationPanel::slotFilesAdded(const QString& directory)
|
||||
{
|
||||
if (m_shownUrl == QUrl::fromLocalFile(directory)) {
|
||||
if (m_shownUrl == QUrl::fromUserInput(directory)) {
|
||||
// If the 'trash' icon changes because the trash has been emptied or got filled,
|
||||
// the signal filesAdded("trash:/") will be emitted.
|
||||
KFileItem item(QUrl::fromLocalFile(directory));
|
||||
KFileItem item(QUrl::fromUserInput(directory));
|
||||
requestDelayedItemInfo(item);
|
||||
}
|
||||
}
|
||||
|
@ -319,7 +319,7 @@ void InformationPanel::slotFilesAdded(const QString& directory)
|
|||
void InformationPanel::slotFilesChanged(const QStringList& files)
|
||||
{
|
||||
for (const QString& fileName : files) {
|
||||
if (m_shownUrl == QUrl::fromLocalFile(fileName)) {
|
||||
if (m_shownUrl == QUrl::fromUserInput(fileName)) {
|
||||
showItemInfo();
|
||||
break;
|
||||
}
|
||||
|
@ -329,7 +329,7 @@ void InformationPanel::slotFilesChanged(const QStringList& files)
|
|||
void InformationPanel::slotFilesRemoved(const QStringList& files)
|
||||
{
|
||||
for (const QString& fileName : files) {
|
||||
if (m_shownUrl == QUrl::fromLocalFile(fileName)) {
|
||||
if (m_shownUrl == QUrl::fromUserInput(fileName)) {
|
||||
// the currently shown item has been removed, show
|
||||
// the parent directory as fallback
|
||||
markUrlAsInvalid();
|
||||
|
@ -340,15 +340,15 @@ void InformationPanel::slotFilesRemoved(const QStringList& files)
|
|||
|
||||
void InformationPanel::slotEnteredDirectory(const QString& directory)
|
||||
{
|
||||
if (m_shownUrl == QUrl::fromLocalFile(directory)) {
|
||||
KFileItem item(QUrl::fromLocalFile(directory));
|
||||
if (m_shownUrl == QUrl::fromUserInput(directory)) {
|
||||
KFileItem item(QUrl::fromUserInput(directory));
|
||||
requestDelayedItemInfo(item);
|
||||
}
|
||||
}
|
||||
|
||||
void InformationPanel::slotLeftDirectory(const QString& directory)
|
||||
{
|
||||
if (m_shownUrl == QUrl::fromLocalFile(directory)) {
|
||||
if (m_shownUrl == QUrl::fromUserInput(directory)) {
|
||||
// The signal 'leftDirectory' is also emitted when a media
|
||||
// has been unmounted. In this case no directory change will be
|
||||
// done in Dolphin, but the Information Panel must be updated to
|
||||
|
|
|
@ -166,12 +166,13 @@ InformationPanelContent::~InformationPanelContent()
|
|||
|
||||
void InformationPanelContent::showItem(const KFileItem& item)
|
||||
{
|
||||
if (item != m_item) {
|
||||
// compares item entries, comparing items only compares urls
|
||||
if (m_item.entry() != item.entry()) {
|
||||
m_item = item;
|
||||
|
||||
m_preview->stopAnimatedImage();
|
||||
refreshMetaData();
|
||||
}
|
||||
|
||||
refreshPreview();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user