<div class="gmail_quote">On Sun, Apr 19, 2009 at 8:27 AM, Andrea Diamantini <span dir="ltr">&lt;<a href="mailto:adjam7@gmail.com">adjam7@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<div class="im">On Saturday 18 April 2009 13:33:49 you wrote:<br>
&gt; &gt; About bookmarks questions, my idea is to refactor rekonq bookmarks system<br>
&gt; &gt; in<br>
&gt; &gt;  this way:<br>
&gt; &gt; - create a separate dir for bookmarks tab (like Arora), not exposing ALL<br>
&gt; &gt; bookmarks.<br>
&gt;<br>
&gt; Sorry but I don&#39;t understand, maybe show us some code proposal, a sort of<br>
&gt; draft implementation or please try to write more about it.<br>
<br>
<br>
</div>You can just take a look at Arora bookmarks menu, with a separate dir<br>
containing all the bookmarks to be stored in the bm tab</blockquote><div><br>OK, I know what you mean. You want bookmarks bar&#39;s bookmarks to be shown in bookmarks menu as a separate folder. Wouldn&#39;t be easier if you just write what you mean?<br>


</div><div> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im"><br>
&gt; &gt; - support KDE bookmarks:/ protocol<br>
&gt; &gt; For me the second should be right alternative to bookmarks sidebar.<br>
&gt;<br>
&gt; this is nontrivial work, it would depend on major refactoring of the tabs<br>
&gt; subsystem (which is planned because mainview is a &quot;maintainability<br>
&gt; nightmare&quot;<br>
<br>
</div>Support for bookmarks:/ protocol (and for all other kioslaves) will come with<br>
next version, porting rekonq to WebkitKDE.</blockquote><div> <br>What porting? And what WebKitKDE? Do you mean webkit KPart? I hope this is nontrivial task and If we want to use KPart we need rewrite lots of code. I was thinking about this, but until I take a look at the code I can&#39;t tell how difficult it would be and in what shape it is (as far as I see in Konqueror it&#39;s in terrible state, but isn&#39;t maybe because of that the KDE 4.2 is compiled against Qt 4.4 AFAIK). Generally I think this is a good idea to give it some thought and it would benefit the community, but as I said, we need to investigate this further and if we want this, we need to start now, there is no sense of doing refactoring and then delete the code and write again. :F<br>

<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
Can you pls write some about this mainview &quot;maintainability nightmare&quot;?</blockquote><div><br>Have you seen the MainView code? Have you seen changes I started to make?  How can I explain to you that the code the class is bloated? Try to make UML diagram of the class hierarchy. <br>

It need to be divided in to classes, refactored to DRY to achive bette encapsulation and maintanability, so it would be easier to test and debug.<br>If you don&#39;t know what I&#39;m talking about than there is now way I could eplain it to you, sorry :(<br>


<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div></div><div class="h5"><br>
&gt; &gt; About download class... I&#39;m going to review again your code ;) Perhaps I<br>
&gt; &gt; pulled some half works, really cannot think some other...<br>
&gt; &gt;<br>
&gt; &gt; rekonq isn&#39;t (and has not) a download manager. It just can (obviously)<br>
&gt; &gt; start<br>
&gt; &gt; file downloading. And creating a new instance of download class is (for<br>
&gt; &gt; me) the<br>
&gt; &gt; right way of doing so.<br>
&gt;<br>
&gt; This is not so simple. You start the download and what?<br>
&gt; When you close the app it still runs in the background (because of<br>
&gt; downloads) and when you start it again it crashes without proper handling<br>
&gt; (which I solved by some nontrivial debugging and global fixes). And above<br>
&gt; the all, modular code is easier to use, maintain, test and debug.<br>
&gt; You can&#39;t just create object and forget about it, this isn&#39;t Java. You have<br>
&gt; to track the ownership of the object and delete all objects that are owned<br>
&gt; by your classes or you&#39;ll introduce another memory leak. And to do this you<br>
&gt; have to track(manage) your download objects and for this you need download<br>
&gt; manager (it&#39;s a container).<br>
&gt; And what if user cancels the download in KDE notification? You still have<br>
&gt; to delete the object.<br>
&gt; And what if there was error during download? etc...<br>
&gt;<br>
&gt; From that KIO::job we can link to (and just do it) to KDE notification<br>
&gt;<br>
&gt; &gt; system,<br>
&gt; &gt; to kget or to every other download manager supporting KDE technologies.<br>
&gt; &gt; It&#39;s fast, simple and safe. So (again), what&#39;s better?<br>
&gt;<br>
&gt; IMHO always the best solution is to follow the convention (&quot;Convention over<br>
&gt; configuration&quot; principle) and established convention is to &quot;handle<br>
&gt; download&quot; (that&#39;s what user cares of - &quot;I want to download it and I don&#39;t<br>
&gt; care how it is implemented&quot;)<br>
&gt; Most browsers ask user what to do with the download (open/save as...), and<br>
&gt; then opens stuff for them (if they wanted).<br>
&gt; And this is great because I can install application (openSUSE 1-click<br>
&gt; feature) just by clicking on the link (this is something that firefox can&#39;t<br>
&gt; do because it doesn&#39;t integrate with the environment) and this is something<br>
&gt; that download manager provides.<br>
<br>
</div></div>This is definitely true, mainline/master download system is bugged, I&#39;m going<br>
to fix it with your suggestions.</blockquote><div> <br><br>Those are not suggestions, but facts, issues that had been alredy adressed by avaddon and me, so no need for fix (other than bugs we missed or introduced by accident)<br>

<br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im"><br>
&gt; So rekonq have to have some sort of downloads manager.<br>
&gt; To stay lightweight we can make simple icon/button in (for e.g lower-right<br>
&gt; corner) witch would appear only when there are downloads (completed or<br>
&gt; active) along with number of downloads (active/completed).<br>
&gt; If clicked it can show thin downloads bar on the bottom (sort of like<br>
&gt; firefox plugin), but I&#39;m not entirely convinced with this idea since we<br>
&gt; want to integrate with KDE notifications system.<br>
&gt; Alternatively we can try to call KDE notification by DBus to show itself.<br>
&gt;<br>
&gt;<br>
&gt; And to add something form myself, we need to write a lots of unit tests, to<br>
&gt; test automatically at least 50% of the code. And to add regression tests<br>
&gt; (especially for issues, to have a rule: &quot;new bug fix committed = new<br>
&gt; regression test committed&quot;, this would be off course ideal situation but if<br>
&gt; we&#39;ll follow this mostly it will make our lives easier). I&#39;ve started to<br>
&gt; add tests for things I work with, but we would benefit from more unit tests<br>
&gt; to have sort of &quot;safety net&quot; while doing changes. It&#39;s part of so called<br>
&gt; &quot;defensive programming&quot;.<br>
&gt;<br>
&gt; Regards<br>
<br>
</div>PS: please, write directly to rekonq ml, no need to write me and then CC<br>
there.</blockquote><div><br>This is default GMail behaviour and usualy I&#39;m to lazy to change it... ;) <br></div></div><br>