<br><br><div class="gmail_quote">On Fri, Oct 9, 2009 at 5:08 AM, Cristian Oneţ <span dir="ltr">&lt;<a href="mailto:onet.cristian@gmail.com">onet.cristian@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><div></div><div class="h5">On Fri, Oct 9, 2009 at 8:36 AM, Thomas Baumgart &lt;<a href="mailto:thb@net-bembel.de">thb@net-bembel.de</a>&gt; wrote:<br>
&gt; Hi,<br>
&gt;<br>
&gt; on Thursday 08 October 2009 Cristian Oneţ wrote:<br>
&gt;<br>
&gt;<br>
&gt;&gt; În data de Miercuri 30 Septembrie 2009 06:02:47 Alvaro Soliverez a scris:<br>
&gt;&gt; &gt; Hello all,<br>
&gt;&gt; &gt; just so you know, using a format with .xml extension results in the Save<br>
&gt;&gt; &gt; command not working.<br>
&gt;&gt; &gt; When you hit save, it seems to work, but if you close and reopen the<br>
&gt;&gt; &gt; file, nothing has been done.<br>
&gt;&gt; &gt; I&#39;m not sure I will have time to look at it soon, so if anybody wants to<br>
&gt;&gt; &gt; jump in, you are welcome.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Regards,<br>
&gt;&gt; &gt; Alvaro<br>
&gt;&gt;<br>
&gt;&gt; I found out so far that the problem is that the KSaveFile is not opened<br>
&gt;&gt;  when saving as xml and the file already exists. This causes the save<br>
&gt;&gt;  opration to fail. A good place to open the file would be<br>
&gt;&gt;  KMyMoneyView::saveFile (do it always) but that seems to brake saving as<br>
&gt;&gt;  kmy file. So I&#39;ll have to investigate a bit further but if these<br>
&gt;&gt;  observations give a clue to those of us who know the application better<br>
&gt;&gt;  and they can fix this faster, please do that ;).<br>
&gt;<br>
&gt; take a look at kmymoneyview.cpp lines 1127 .. 1163 and compare them against<br>
&gt; the KDE3 version. You can clearly see, that the file is not opened if it<br>
&gt; exists:<br>
&gt;<br>
&gt;      if(fi.exists()) {<br>
&gt;        fmode |= fi.permission(QFile::ReadGroup) ? 040 : 0;<br>
&gt;        fmode |= fi.permission(QFile::WriteGroup) ? 020 : 0;<br>
&gt;        fmode |= fi.permission(QFile::ReadOther) ? 004 : 0;<br>
&gt;        fmode |= fi.permission(QFile::WriteOther) ? 002 : 0;<br>
&gt;        if(fi.groupId() != static_cast&lt;uint&gt;(-2))<br>
&gt;          gid = fi.groupId();<br>
&gt;      } else {<br>
&gt;        qfile.open();<br>
&gt;      }<br>
&gt;<br>
&gt; This is completely different in the KDE3 version. The trick with the basic<br>
&gt; block and the automatic deletion of the KSaveFile object as done in KDE3 does<br>
&gt; not work here anymore. One might use the KSaveFile::finalize() method to close<br>
&gt; the file to be able to change the owner of it.<br>
&gt;<br>
&gt; If you don&#39;t think you can fix this yourself, please let me know and I&#39;ll take<br>
&gt; a look at it next week. Won&#39;t have time before.<br>
</div></div>Now I get it. So this was messed up during the &#39;make it compile on<br>
KDE4&#39; phase. When encountering such problems I always check the KDE3<br>
version to spot possible problems in the differences. I don&#39;t know how<br>
I missed this difference, thanks for pointing this out this is the<br>
kind of hint I expected to get after my previous mail :).<br>
<br>
</blockquote></div><br>Ok, so there is some karma in this bug, because it was me porting that part of code, and I got bitten by it. :)<br><br>I remember adding the qfile.open() because if the file does not exist, the subsequent calls wouldn&#39;t open automatically like in Qt3. <br>
<br>Why is it that this fails with .xml files, but not with .kmy files?<br><br>Regards,<br>Alvaro<br><br>