hello!
since i found some serious and annoying bugs in dolphin (kde3) and nobody seems to work on them i decided to do it myself.
the problem i have right now is that one slot (updateNavigatorURL()) that is connected to a signal (clicked()) won´t be executed, although the connect statement returns true.
in the original code this worked of course, but since i had to change the (quite poor) design i couldn´t work out the problem by comparing the codes (although i tried). well actually i couldn´t even find out what exactly the problem is... 
so hopefully here´s someone who´s able to help me out with this one, since i´m new to qt/kde development.
should not be too hard to find for someone with more experience than me.
great thanks in advance, witti
urlnavigatorbutton.h:
...
class URLNavigatorButton : public URLButton
{
Q_OBJECT
public:
URLNavigatorButton(URLNavigator* parent = 0);
URLNavigatorButton(int index, URLNavigator* parent = 0);
virtual ~URLNavigatorButton();
void setIndex(int index);
int index() const;
bool isLastButton();
protected:
virtual void drawButton
(QPainter* painter
);
virtual void enterEvent
(QEvent* event
);
virtual void leaveEvent
(QEvent* event
);
//drag
//drop
private slots:
void updateNavigatorURL();
void startPopupDelay();
void stopPopupDelay();
void startListJob();
void entriesList(KIO::Job* job, const KIO::UDSEntryList& entries);
void listJobFinished(KIO::Job* job);
...
...
class URLNavigatorButton : public URLButton
{
Q_OBJECT
public:
URLNavigatorButton(URLNavigator* parent = 0);
URLNavigatorButton(int index, URLNavigator* parent = 0);
virtual ~URLNavigatorButton();
void setIndex(int index);
int index() const;
bool isLastButton();
protected:
virtual void drawButton(QPainter* painter);
virtual void enterEvent(QEvent* event);
virtual void leaveEvent(QEvent* event);
//drag
void mousePressEvent( QMouseEvent *event );
void mouseMoveEvent( QMouseEvent *event );
//drop
virtual void dropEvent(QDropEvent* event);
virtual void dragEnterEvent(QDragEnterEvent* event);
virtual void dragLeaveEvent(QDragLeaveEvent* event);
private slots:
void updateNavigatorURL();
void startPopupDelay();
void stopPopupDelay();
void startListJob();
void entriesList(KIO::Job* job, const KIO::UDSEntryList& entries);
void listJobFinished(KIO::Job* job);
...
To copy to clipboard, switch view to plain text mode
urlnavigatorbutton.cpp:
...
URLNavigatorButton::URLNavigatorButton(int index, URLNavigator* parent) :
URLButton(parent),
m_index(-1),
m_listJob(0)
{
setAcceptDrops(true);
setMinimumWidth(arrowWidth());
setIndex(index);
connect(this, SIGNAL(clicked()), this, SLOT(updateNavigatorURL()));
m_popupDelay
= new QTimer(this);
connect(m_popupDelay, SIGNAL(timeout()), this, SLOT(startListJob()));
connect(this, SIGNAL(pressed()), this, SLOT(startPopupDelay()));
}
...
void URLNavigatorButton::updateNavigatorURL()
{
URLNavigator* navigator = urlNavigator();
assert(navigator != 0);
navigator->setURL(navigator->url(m_index));
}
...
URLNavigatorButton::URLNavigatorButton(int index, URLNavigator* parent) :
URLButton(parent),
m_index(-1),
m_listJob(0)
{
setAcceptDrops(true);
setMinimumWidth(arrowWidth());
setIndex(index);
connect(this, SIGNAL(clicked()), this, SLOT(updateNavigatorURL()));
m_popupDelay = new QTimer(this);
connect(m_popupDelay, SIGNAL(timeout()), this, SLOT(startListJob()));
connect(this, SIGNAL(pressed()), this, SLOT(startPopupDelay()));
}
...
void URLNavigatorButton::updateNavigatorURL()
{
URLNavigator* navigator = urlNavigator();
assert(navigator != 0);
navigator->setURL(navigator->url(m_index));
}
To copy to clipboard, switch view to plain text mode
Bookmarks