X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/7cbd7aafd65b19102d1c81d9ed3955304f272ecd..b5cc2a6924cfd8f59611d3cec2edbb00a08b4ff1:/src/urlnavigatorbutton.cpp diff --git a/src/urlnavigatorbutton.cpp b/src/urlnavigatorbutton.cpp index fd8b7c225..c97a560ba 100644 --- a/src/urlnavigatorbutton.cpp +++ b/src/urlnavigatorbutton.cpp @@ -45,6 +45,7 @@ UrlNavigatorButton::UrlNavigatorButton(int index, UrlNavigator* parent) : connect(this, SIGNAL(clicked()), this, SLOT(updateNavigatorUrl())); m_popupDelay = new QTimer(this); + m_popupDelay->setSingleShot(true); connect(m_popupDelay, SIGNAL(timeout()), this, SLOT(startListJob())); connect(this, SIGNAL(pressed()), this, SLOT(startPopupDelay())); } @@ -235,6 +236,8 @@ void UrlNavigatorButton::dragLeaveEvent(QDragLeaveEvent* event) void UrlNavigatorButton::updateNavigatorUrl() { + stopPopupDelay(); + if (m_index < 0) { return; } @@ -244,18 +247,17 @@ void UrlNavigatorButton::updateNavigatorUrl() void UrlNavigatorButton::startPopupDelay() { - if (m_popupDelay->isActive() || m_listJob || m_index < 0) { + if (m_popupDelay->isActive() || (m_listJob != 0) || (m_index < 0)) { return; } - m_popupDelay->setSingleShot(true); m_popupDelay->start(300); } void UrlNavigatorButton::stopPopupDelay() { m_popupDelay->stop(); - if (m_listJob) { + if (m_listJob != 0) { m_listJob->kill(); m_listJob = 0; } @@ -263,12 +265,12 @@ void UrlNavigatorButton::stopPopupDelay() void UrlNavigatorButton::startListJob() { - if (m_listJob) { + if (m_listJob != 0) { return; } const KUrl& url = urlNavigator()->url(m_index); - m_listJob = KIO::listDir(url, false, false); + m_listJob = KIO::listDir(url, false, urlNavigator()->showHiddenFiles()); m_subdirs.clear(); // just to be ++safe connect(m_listJob, SIGNAL(entries(KIO::Job*, const KIO::UDSEntryList &)), @@ -284,6 +286,8 @@ void UrlNavigatorButton::entriesList(KIO::Job* job, const KIO::UDSEntryList& ent KIO::UDSEntryList::const_iterator it = entries.constBegin(); KIO::UDSEntryList::const_iterator itEnd = entries.constEnd(); + + bool showHidden = urlNavigator()->showHiddenFiles(); while (it != itEnd) { QString name; //bool isDir = false; @@ -312,7 +316,11 @@ void UrlNavigatorButton::entriesList(KIO::Job* job, const KIO::UDSEntryList& ent */ if (entry.isDir()) { - m_subdirs.append(entry.stringValue(KIO::UDS_NAME)); + QString dir = entry.stringValue(KIO::UDS_NAME); + + if (!showHidden || (dir != "." && dir != "..")) { + m_subdirs.append(entry.stringValue(KIO::UDS_NAME)); + } } ++it;