1
0
mirror of https://invent.kde.org/system/dolphin synced 2024-07-04 17:30:55 +00:00

Prevent that the popup of the URL navigator is opened if the button has already been clicked within the 300 ms timeout.

svn path=/trunk/KDE/kdebase/apps/; revision=634549
This commit is contained in:
Peter Penz 2007-02-17 15:13:23 +00:00
parent ace4095c98
commit 00b23eaa52
2 changed files with 6 additions and 5 deletions

View File

@ -272,7 +272,6 @@ void UrlNavigator::setUrl(const KUrl& url)
void UrlNavigator::requestActivation()
{
kDebug() << "--------------------------- request activation" << endl;
setActive(true);
}

View File

@ -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,7 +265,7 @@ void UrlNavigatorButton::stopPopupDelay()
void UrlNavigatorButton::startListJob()
{
if (m_listJob) {
if (m_listJob != 0) {
return;
}