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

List:       koffice-devel
Subject:    Re: kspread (Re: Announcement / changelog)
From:       David Faure <faure () kde ! org>
Date:       2005-04-26 10:48:20
Message-ID: 200504261248.20875.faure () kde ! org
[Download RAW message or body]

On Tuesday 26 April 2005 12:20, Tomas Mecir wrote:
> On 4/26/05, David Faure <faure@kde.org> wrote:
> > On Tuesday 26 April 2005 12:06, Tomas Mecir wrote:
> > > So, now, all cells have the generic formatting by default, and the
> > > formatting is decided upon cell's parsed text (as it was the case
> > > previously), BUT the formatting is not altered - kept at Generic.
> > > Also, once you switch formatting to something else, it will stay, no
> > > matter what you put into the cell.
> > 
> > Thanks, I turned that into:
> > * Generic format support (the cell format remains 'generic' until explicitely \
> > set) 
> > Meanwhile I have another question about kspread: my spreadsheet document triggers \
> >                 lots of
> > kspread: Wrong usage of ValueFormatter::createNumberFormat fmt=300
> > kspread: Wrong usage of ValueFormatter::createNumberFormat fmt=300
> > where 300 is Custom_format.
> > 
> > Does ValueFormatter::formatText forget to handle Custom_format?
> 
> Hmm, never seen that problem ... Maybe something wrong with load/save
> ? That part of code is kinda confusing me, so I didn't implement
> load/save of generic formatting, hoping that is will somehow work on
> itself ... It probably doesn't :(

That's from a very old document which has seen all sorts of intermediate kspread \
bugs, it could very well be that it's the XML which now looks strange. I'll look a \
bit more into it.

Another kspread problem: open an existing document, it's immediately marked as \
"modified". The problem is that after loading finishes, setModified(false) is called \
as always, but then some delayed cell-formatting-during-painting happens which marks
the document as modified again:

2: /mnt/devel/kde/kdedir/lib/libkparts.so.2(KParts::ReadWritePart::setModified(bool)+0x126) \
                [0x4023633a]
3: /mnt/devel/kde/kdedir/lib/libkofficecore.so.2(KoDocument::setModified(bool)+0xaf) \
                [0x4007fac7]
4: /mnt/devel/kde/kdedir/lib/libkspreadcommon.so.0(KSpreadSheet::valueChanged(KSpreadCell*)+0x9f) \
                [0x41ebb247]
5: /mnt/devel/kde/kdedir/lib/libkspreadcommon.so.0(KSpreadCell::valueChanged()+0x32) \
                [0x41db1d56]
6: /mnt/devel/kde/kdedir/lib/libkspreadcommon.so.0(KSpreadCell::makeFormula()+0x22d) \
                [0x41db3b99]
7: /mnt/devel/kde/kdedir/lib/libkspreadcommon.so.0(KSpreadCell::calc(bool)+0x72) \
                [0x41db3c82]
8: /mnt/devel/kde/kdedir/lib/libkspreadcommon.so.0(KSpreadCanvas::paintUpdates()+0x380) \
                [0x41d9fc1c]
9: /mnt/devel/kde/kdedir/lib/libkspreadcommon.so.0(KSpreadView::paintUpdates()+0x27) \
                [0x41eb0f1f]
10: /mnt/devel/kde/kdedir/lib/libkspreadcommon.so.0(KSpreadDoc::paintUpdates()+0x6f) \
                [0x41de640d]
11: /mnt/devel/kde/kdedir/lib/libkspreadcommon.so.0(KSpreadDoc::emitEndOperation(QRect \
                const&)+0x122) [0x41dea2c8]
12: /mnt/devel/kde/kdedir/lib/libkspreadcommon.so.0(KSpreadCanvas::slotScrollHorz(int)+0x3b8) \
                [0x41d946bc]
13: /mnt/devel/kde/kdedir/lib/libkspreadcommon.so.0(KSpreadCanvas::qt_invoke(int, \
                QUObject*)+0x9d) [0x41daa8b7]
14: /mnt/devel/kde/kdecvs/qt-copy/lib/libqt-mt.so.3(QObject::activate_signal(QConnectionList*, \
                QUObject*)+0x129) [0x410491c7]
15: /mnt/devel/kde/kdecvs/qt-copy/lib/libqt-mt.so.3(QObject::activate_signal(int, \
                int)+0x1a2) [0x41049520]
16: /mnt/devel/kde/kdecvs/qt-copy/lib/libqt-mt.so.3(QScrollBar::valueChanged(int)+0x39) \
                [0x413c498b]
17: /mnt/devel/kde/kdecvs/qt-copy/lib/libqt-mt.so.3(QScrollBar::valueChange()+0x80) \
                [0x4116bc40]
18: /mnt/devel/kde/kdecvs/qt-copy/lib/libqt-mt.so.3(QRangeControl::setValue(int)+0x44) \
                [0x4116abe4]
19: /mnt/devel/kde/kdecvs/qt-copy/lib/libqt-mt.so.3(QScrollBar::setValue(int)+0x25) \
                [0x4116da59]
20: /mnt/devel/kde/kdedir/lib/libkspreadcommon.so.0(KSpreadCanvas::scrollToCell(QPoint)+0x44a) \
                [0x41d941ee]
21: /mnt/devel/kde/kdedir/lib/libkspreadcommon.so.0(KSpreadCanvas::gotoLocation(QPoint \
                const&, KSpreadSheet*, bool)+0x1fc) [0x41d933ce]
22: /mnt/devel/kde/kdedir/lib/libkspreadcommon.so.0(ViewPrivate::adjustActions(bool)+0x182f) \
                [0x41e9762b]
23: /mnt/devel/kde/kdedir/lib/libkspreadcommon.so.0(KSpreadView::refreshView()+0xa0) \
                [0x41ea81fa]
24: /mnt/devel/kde/kdedir/lib/libkspreadcommon.so.0(KSpreadView::resizeEvent(QResizeEvent*)+0x1e) \
[0x41ea8774]

Not sure how to fix this. There should be a distinction between "valueChanged due to \
user input" and "valueChanged due to delayed formatting during painting, but no real \
change happened", no?

-- 
David Faure, faure@kde.org, sponsored by Trolltech to work on KDE,
Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).
_______________________________________________
koffice-devel mailing list
koffice-devel@kde.org
https://mail.kde.org/mailman/listinfo/koffice-devel


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

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