[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kfm-devel
Subject:    Dolphin url navigator
From:       "Claes at work" <claesatwork () gmail ! com>
Date:       2006-11-14 21:05:16
Message-ID: 495c267b0611141305q3ec5cc6fn1309e35aeb7408dc () mail ! gmail ! com
[Download RAW message or body]

Hello,

I just subscribed after reading the interesting thread regarding the
url navigator /location bar in Dolphin. I downloaded Dolphin and tried
it, it looks promising as a filemanager to me.

Regarding the location bar issue, and how URLs should be presented and
navigation take place: I see value in both approaches. I would not
like only buttons, but they have definite advantages. So I thought -
why not have both, at the same time? One in each state (probably
without toggle button)

For drag and drop the buttons are definitely useful, and with some
kind of drop-down menu presenting subdirectories for each button in
the path, as I think was mentioned, it can be very convenient. On the
other hand, a text field is much better for copy-and-paste and for
keyboard editing

Attached is my first patch ever, after hacking KDE only my second
evening, and I am a C++ novice. It adds an extra URLNavigator, and
connects them so they show the same path.

The patch is just to illustrate the idea. To me it feels really good,
and I already have many ideas how a dual location bar could be used -
I think an always-present dual location bar as an extra panel at the
bottom of my screen could find many uses.

For what it is worth I also found Dolphin well documented and clean,
easier for me than kdelibs  (from what I saw yesterday, which was my
first evening in KDE source-land). And I am surprised I could add
value so easily :-)

Thanks,
Claes



#diff dolphin-0.7.0/src/dolphinview.cpp ../dolphin-0.7.0/src/dolphinview.cpp
77a78,93
>     m_urlNavigator->setURLEditable(false);
>
>     m_urlNavigator2 = new URLNavigator(url, this);
>     connect(m_urlNavigator2, SIGNAL(urlChanged(const KURL&)),
>             this, SLOT(slotURLChanged(const KURL&)));
>     connect(m_urlNavigator2, SIGNAL(urlChanged(const KURL&)),
>             &dolphin, SLOT(slotURLChanged(const KURL&)));
>     connect(m_urlNavigator2, SIGNAL(historyChanged()),
>             &dolphin, SLOT(slotHistoryChanged()));
>     m_urlNavigator2->setURLEditable(true);
>
>     connect(m_urlNavigator, SIGNAL(urlChanged(const KURL&)),
>             m_urlNavigator2, SLOT(slotURLActivated(const KURL&)));
>     connect(m_urlNavigator2, SIGNAL(urlChanged(const KURL&)),
>             m_urlNavigator, SLOT(slotURLActivated(const KURL&)));
>
101a118
>     m_topLayout->addWidget(m_urlNavigator2);
115a133
>     m_urlNavigator2->setURL(url);
442a461
>     m_urlNavigator2->goBack();
447a467
>     m_urlNavigator2->goForward();
452a473
>     m_urlNavigator2->goUp();
457a479
>     m_urlNavigator2->goHome();
462c484
<     m_urlNavigator->setURLEditable(editable);
---
>     //m_urlNavigator->setURLEditable(editable);
467c489,490
<     m_urlNavigator->editURL();
---
>     //m_urlNavigator->editURL();
>     //m_urlNavigator2->editURL();


#diff dolphin-0.7.0/src/dolphinview.h ../dolphin-0.7.0/src/dolphinview.h
384a385
>     URLNavigator* m_urlNavigator2;
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic