mirror of
https://invent.kde.org/system/dolphin
synced 2024-11-05 18:47:12 +00:00
If KDiskFreeSpace doesn't work for some reason it never emits foundMountPoint, and since Dolphin never checked for done(), it'd sit there waiting on the job.
svn path=/trunk/KDE/kdebase/apps/; revision=790923
This commit is contained in:
parent
e08b8edc22
commit
674fe81e0a
2 changed files with 18 additions and 0 deletions
|
@ -31,6 +31,7 @@
|
||||||
StatusBarSpaceInfo::StatusBarSpaceInfo(QWidget* parent) :
|
StatusBarSpaceInfo::StatusBarSpaceInfo(QWidget* parent) :
|
||||||
QProgressBar(parent),
|
QProgressBar(parent),
|
||||||
m_gettingSize(false),
|
m_gettingSize(false),
|
||||||
|
m_foundMountPoint(false),
|
||||||
m_text()
|
m_text()
|
||||||
{
|
{
|
||||||
setMinimum(0);
|
setMinimum(0);
|
||||||
|
@ -69,6 +70,7 @@ void StatusBarSpaceInfo::slotFoundMountPoint(const QString& mountPoint,
|
||||||
Q_UNUSED(mountPoint);
|
Q_UNUSED(mountPoint);
|
||||||
|
|
||||||
m_gettingSize = false;
|
m_gettingSize = false;
|
||||||
|
m_foundMountPoint = true;
|
||||||
const bool valuesChanged = (kBUsed != static_cast<quint64>(value())) ||
|
const bool valuesChanged = (kBUsed != static_cast<quint64>(value())) ||
|
||||||
(kBAvailable != static_cast<quint64>(maximum()));
|
(kBAvailable != static_cast<quint64>(maximum()));
|
||||||
if (valuesChanged) {
|
if (valuesChanged) {
|
||||||
|
@ -78,6 +80,17 @@ void StatusBarSpaceInfo::slotFoundMountPoint(const QString& mountPoint,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void StatusBarSpaceInfo::slotKDFSDone()
|
||||||
|
{
|
||||||
|
if( m_foundMountPoint )
|
||||||
|
return;
|
||||||
|
m_gettingSize = false;
|
||||||
|
m_text = i18n("Free disk space could not be determined");
|
||||||
|
setMinimum(0);
|
||||||
|
setMaximum(0);
|
||||||
|
setValue(0);
|
||||||
|
}
|
||||||
|
|
||||||
void StatusBarSpaceInfo::refresh()
|
void StatusBarSpaceInfo::refresh()
|
||||||
{
|
{
|
||||||
// KDiskFreeSpace is for local paths only
|
// KDiskFreeSpace is for local paths only
|
||||||
|
@ -93,6 +106,7 @@ void StatusBarSpaceInfo::refresh()
|
||||||
}
|
}
|
||||||
|
|
||||||
m_gettingSize = true;
|
m_gettingSize = true;
|
||||||
|
m_foundMountPoint = false;
|
||||||
KDiskFreeSpace* job = new KDiskFreeSpace(this);
|
KDiskFreeSpace* job = new KDiskFreeSpace(this);
|
||||||
connect(job, SIGNAL(foundMountPoint(const QString&,
|
connect(job, SIGNAL(foundMountPoint(const QString&,
|
||||||
quint64,
|
quint64,
|
||||||
|
@ -102,6 +116,7 @@ void StatusBarSpaceInfo::refresh()
|
||||||
quint64,
|
quint64,
|
||||||
quint64,
|
quint64,
|
||||||
quint64)));
|
quint64)));
|
||||||
|
connect(job, SIGNAL(done()), this, SLOT(slotKDFSDone()));
|
||||||
|
|
||||||
job->readDF(mp->mountPoint());
|
job->readDF(mp->mountPoint());
|
||||||
|
|
||||||
|
|
|
@ -53,6 +53,8 @@ private slots:
|
||||||
quint64 kBUsed,
|
quint64 kBUsed,
|
||||||
quint64 kBAvailable);
|
quint64 kBAvailable);
|
||||||
|
|
||||||
|
void slotKDFSDone();
|
||||||
|
|
||||||
/** Refreshes the space information for the current set URL. */
|
/** Refreshes the space information for the current set URL. */
|
||||||
void refresh();
|
void refresh();
|
||||||
|
|
||||||
|
@ -60,6 +62,7 @@ private slots:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool m_gettingSize;
|
bool m_gettingSize;
|
||||||
|
bool m_foundMountPoint;
|
||||||
KUrl m_url;
|
KUrl m_url;
|
||||||
QString m_text;
|
QString m_text;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue