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
project(Dolphin VERSION ${KDE_APPLICATIONS_VERSION})
set(QT_MIN_VERSION "5.11.0")
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)
# ECM setup
find_package(ECM ${KF5_MIN_VERSION} CONFIG REQUIRED)
void InformationPanel::slotFileRenamed(const QString& source, const QString& dest)
{
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))) {
m_fileItem = KFileItem(m_shownUrl);
if ((m_selection.count() == 1) && (m_selection[0].url() == QUrl::fromLocalFile(source))) {
void InformationPanel::slotFilesAdded(const QString& directory)
{
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.
// 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);
}
}
requestDelayedItemInfo(item);
}
}
void InformationPanel::slotFilesChanged(const QStringList& files)
{
for (const QString& fileName : files) {
void InformationPanel::slotFilesChanged(const QStringList& files)
{
for (const QString& fileName : files) {
- if (m_shownUrl == QUrl::fromLocalFile(fileName)) {
+ if (m_shownUrl == QUrl::fromUserInput(fileName)) {
void InformationPanel::slotFilesRemoved(const QStringList& files)
{
for (const QString& fileName : 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();
// the currently shown item has been removed, show
// the parent directory as fallback
markUrlAsInvalid();
void InformationPanel::slotEnteredDirectory(const QString& directory)
{
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)
{
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
// 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
void InformationPanelContent::showItem(const KFileItem& item)
{
void InformationPanelContent::showItem(const KFileItem& item)
{
+ // compares item entries, comparing items only compares urls
+ if (m_item.entry() != item.entry()) {
m_preview->stopAnimatedImage();
refreshMetaData();
}
m_preview->stopAnimatedImage();
refreshMetaData();
}