Commit 74ae8478 authored by Kai Uwe Broulik's avatar Kai Uwe Broulik 🍇
Browse files

Show "Loading canceled" placeholder when loading was canceled

Rather than "Folder empty", which is misleading as we didn't
actually load anything.
parent 5ebc6b86
Pipeline #200756 passed with stage
in 6 minutes and 56 seconds
......@@ -70,7 +70,6 @@ DolphinView::DolphinView(const QUrl& url, QWidget* parent) :
m_assureVisibleCurrentIndex(false),
m_isFolderWritable(true),
m_dragging(false),
m_loading(false),
m_url(url),
m_viewPropertiesContext(),
m_mode(DolphinView::IconsView),
......@@ -1728,7 +1727,7 @@ void DolphinView::slotRenamingResult(KJob* job)
void DolphinView::slotDirectoryLoadingStarted()
{
m_loading = true;
m_loadingState = LoadingState::Loading;
updatePlaceholderLabel();
// Disable the writestate temporary until it can be determined in a fast way
......@@ -1743,7 +1742,7 @@ void DolphinView::slotDirectoryLoadingStarted()
void DolphinView::slotDirectoryLoadingCompleted()
{
m_loading = false;
m_loadingState = LoadingState::Completed;
// Update the view-state. This has to be done asynchronously
// because the view might not be in its final state yet.
......@@ -1760,7 +1759,7 @@ void DolphinView::slotDirectoryLoadingCompleted()
void DolphinView::slotDirectoryLoadingCanceled()
{
m_loading = false;
m_loadingState = LoadingState::Canceled;
updatePlaceholderLabel();
......@@ -2159,13 +2158,15 @@ void DolphinView::updatePlaceholderLabel()
return;
}
if (m_loading) {
if (m_loadingState == LoadingState::Loading) {
m_placeholderLabel->setVisible(false);
m_showLoadingPlaceholderTimer->start();
return;
}
if (!nameFilter().isEmpty()) {
if (m_loadingState == LoadingState::Canceled) {
m_placeholderLabel->setText(i18n("Loading canceled"));
} else if (!nameFilter().isEmpty()) {
m_placeholderLabel->setText(i18n("No items matching the filter"));
} else if (m_url.scheme() == QLatin1String("baloosearch") || m_url.scheme() == QLatin1String("filenamesearch")) {
m_placeholderLabel->setText(i18n("No items matching the search"));
......
......@@ -875,7 +875,14 @@ private:
bool m_isFolderWritable;
bool m_dragging; // True if a dragging is done. Required to be able to decide whether a
// tooltip may be shown when hovering an item.
bool m_loading;
enum class LoadingState {
Idle,
Loading,
Canceled,
Completed
};
LoadingState m_loadingState = LoadingState::Idle;
QUrl m_url;
QString m_viewPropertiesContext;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment