No subject


Fri Apr 17 10:51:14 CEST 2009


> system,
> to kget or to every other download manager supporting KDE technologies.
> It's fast, simple and safe. So (again), what's better?


IMHO always the best solution is to follow the convention ("Convention over
configuration" principle) and established convention is to "handle download"
(that's what user cares of - "I want to download it and I don't care how it
is implemented")
Most browsers ask user what to do with the download (open/save as...), and
then opens stuff for them (if they wanted).
And this is great because I can install application (openSUSE 1-click
feature) just by clicking on the link (this is something that firefox can't
do because it doesn't integrate with the environment) and this is something
that download manager provides.

So rekonq have to have some sort of downloads manager.
To stay lightweight we can make simple icon/button in (for e.g lower-right
corner) witch would appear only when there are downloads (completed or
active) along with number of downloads (active/completed).
If clicked it can show thin downloads bar on the bottom (sort of like
firefox plugin), but I'm not entirely convinced with this idea since we want
to integrate with KDE notifications system.
Alternatively we can try to call KDE notification by DBus to show itself.


And to add something form myself, we need to write a lots of unit tests, to
test automatically at least 50% of the code. And to add regression tests
(especially for issues, to have a rule: "new bug fix committed = new
regression test committed", this would be off course ideal situation but if
we'll follow this mostly it will make our lives easier). I've started to add
tests for things I work with, but we would benefit from more unit tests to
have sort of "safety net" while doing changes. It's part of so called
"defensive programming".

Regards

--00163641771fa41ab20467d2acc6
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div class=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D"margi=
n:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div class=
=3D"h5">About bookmarks questions, my idea is to refactor rekonq bookmarks =
system in</div>

</div>
this way:<br>
- create a separate dir for bookmarks tab (like Arora), not exposing ALL<br=
>
bookmarks.</blockquote><div><br></div><div>Sorry but I don&#39;t understand=
, maybe show us some code proposal, a sort of draft implementation or pleas=
e try to write more about it.</div><div>=C2=A0</div><blockquote class=3D"gm=
ail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-le=
ft:1ex;">


- support KDE bookmarks:/ protocol<br>
For me the second should be right alternative to bookmarks sidebar.</blockq=
uote><div>=C2=A0</div><div>this is nontrivial work, it would depend on majo=
r refactoring of the tabs subsystem (which is planned because mainview is a=
 &quot;maintainability nightmare&quot;</div>

<div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8=
ex;border-left:1px #ccc solid;padding-left:1ex;">
About download class... I&#39;m going to review again your code ;) Perhaps =
I<br>
pulled some half works, really cannot think some other...<br>
<br>
rekonq isn&#39;t (and has not) a download manager. It just can (obviously) =
start<br>
file downloading. And creating a new instance of download class is (for me)=
 the<br>
right way of doing so.</blockquote><div><br></div><div>This is not so simpl=
e. You start the download and what?=C2=A0</div><div>When you close the app =
it still runs in the background (because of downloads) and when you start i=
t again it crashes without proper handling (which I solved by some nontrivi=
al debugging and global fixes). And above the all, modular code is easier t=
o use, maintain, test and debug.</div>

<div>You can&#39;t just create object and forget about it, this isn&#39;t J=
ava. You have to track the ownership of the object and delete all objects t=
hat are owned by your classes or you&#39;ll introduce another memory leak. =
And to do this you have to track(manage) your download objects and for this=
 you need download manager (it&#39;s a container).</div>

<div>And what if user cancels the download in KDE notification? You still h=
ave to delete the object.</div><div>And what if there was error during down=
load? etc...</div><div><br></div><blockquote class=3D"gmail_quote" style=3D=
"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">




More information about the rekonq mailing list