Version: 4 (using KDE Devel) Installed from: Compiled sources OS: Linux When saving fails, ktimetracker cannot deliver any information what the problem is, a full disk or a stale lock. The culprit are the libs.
Discussed this with Cornelius last january.
SVN commit 760928 by tstaerk: Deliver why saving failed. Discussed with Cornelius at Osnabrück 2007. CCBUGS:152456 M +32 -0 filestorage.cpp M +5 -0 filestorage.h WebSVN link: http://websvn.kde.org/?view=rev&revision=760928
Here's some useful output where I added debugging output to some kcal files and called ktimetracker /tmp: ktimetracker(10470) KarmStorage::saveCalendar: Entering KarmStorage::saveCalendar ktimetracker(10470)/kdepimlibs (kabc) KABC::Lock::lock: -- lock name: "/home/kde-devel/.kde4/share/apps/kabc/lock/_tmp.lock" ktimetracker(10470)/kdepimlibs (kabc) KABC::Lock::lock: -- lock unique name: "/home/kde-devel/.kde4/share/apps/kabc/lock/_tmpUiZd5sUC" ktimetracker(10470)/kdepimlibs (kcal) KCal::ResourceCalendar::save: Entering ResourceCalendar::save ktimetracker(10470)/kdepimlibs (kcal) KCal::ResourceCalendar::save: Save resource "KTimeTracker" ktimetracker(10470)/kdepimlibs (kcal) KCal::ResourceLocal::doSave: Entering ResourceLocal::doSave( bool syncCache ) ktimetracker(10470)/kdepimlibs (kcal) KCal::CalendarLocal::save: Entering CalendarLocal::save( const QString &fileName, CalFormat *format ) ktimetracker(10470)/kdepimlibs (kcal) KCal::FileStorage::save: Entering FileStoRAge::save() ktimetracker(10470)/kdepimlibs (kcal) KCal::ICalFormat::save: "/tmp" ktimetracker(10470)/kdepimlibs (kcal) KCal::ICalFormat::save: err: "Unable to open temporary file." QFile::remove: Empty or null file name ktimetracker(10470)/kdepimlibs (kcal) KCal::FileStorage::save: FileStorage::save(): "Save Error: Error saving to '/tmp'."
Created attachment 23013 [details] changing kcalc to deliver an error msg if saving fails on icalendars. karmStoRage can then call saveAndReTurnErrorMessAge and get the result of the saving action in english plain text.
Created attachment 23016 [details] change kcalc::resourcecalendar::save() from bool to QString I wanted it originally like this and winterz asked for that after my recent commit.
discussed in irc - function will be bool save(QString& store_error_msg_here)
Created attachment 23081 [details] how it could look like - still resourcecalendar is missing
Created attachment 23089 [details] how it could be
Created attachment 23151 [details] how it could be - old changes adopted
Created attachment 23158 [details] works for me now
needs to create new virtual functions which disturbes the table of virtual function which makes it binary incompatible which is allowed for KDE 5 which will contain Akonadi instead
There was an idea by vkrause (no, I will not play on words here) to resolv this like that: QString save(blah) { save(blah); return lastError; }
Created attachment 23565 [details] solution that fits into kdepimlibs' release plan
Thanks for your help vkrause and cornelius, thanks for committing winterz!