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