summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index b0be340..dd4ea41 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -1605,716 +1605,719 @@ bool CalendarView::importBday()
1605{ 1605{
1606#ifndef KORG_NOKABC 1606#ifndef KORG_NOKABC
1607 1607
1608#ifdef DESKTOP_VERSION 1608#ifdef DESKTOP_VERSION
1609 KABC::StdAddressBook* AddressBook = KABC::StdAddressBook::self( true ); 1609 KABC::StdAddressBook* AddressBook = KABC::StdAddressBook::self( true );
1610 KABC::AddressBook::Iterator it; 1610 KABC::AddressBook::Iterator it;
1611 int count = 0; 1611 int count = 0;
1612 for( it = AddressBook->begin(); it != AddressBook->end(); ++it ) { 1612 for( it = AddressBook->begin(); it != AddressBook->end(); ++it ) {
1613 ++count; 1613 ++count;
1614 } 1614 }
1615 QProgressBar bar(count,0 ); 1615 QProgressBar bar(count,0 );
1616 int w = 300; 1616 int w = 300;
1617 if ( QApplication::desktop()->width() < 320 ) 1617 if ( QApplication::desktop()->width() < 320 )
1618 w = 220; 1618 w = 220;
1619 int h = bar.sizeHint().height() ; 1619 int h = bar.sizeHint().height() ;
1620 int dw = QApplication::desktop()->width(); 1620 int dw = QApplication::desktop()->width();
1621 int dh = QApplication::desktop()->height(); 1621 int dh = QApplication::desktop()->height();
1622 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 1622 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
1623 bar.show(); 1623 bar.show();
1624 bar.setCaption (i18n("Reading addressbook - close to abort!") ); 1624 bar.setCaption (i18n("Reading addressbook - close to abort!") );
1625 qApp->processEvents(); 1625 qApp->processEvents();
1626 count = 0; 1626 count = 0;
1627 int addCount = 0; 1627 int addCount = 0;
1628 KCal::Attendee* a = 0; 1628 KCal::Attendee* a = 0;
1629 for( it = AddressBook->begin(); it != AddressBook->end(); ++it ) { 1629 for( it = AddressBook->begin(); it != AddressBook->end(); ++it ) {
1630 if ( ! bar.isVisible() ) 1630 if ( ! bar.isVisible() )
1631 return false; 1631 return false;
1632 bar.setProgress( count++ ); 1632 bar.setProgress( count++ );
1633 qApp->processEvents(); 1633 qApp->processEvents();
1634 //qDebug("add BDay %s %s", (*it).realName().latin1(),(*it).birthday().date().toString().latin1() ); 1634 //qDebug("add BDay %s %s", (*it).realName().latin1(),(*it).birthday().date().toString().latin1() );
1635 if ( (*it).birthday().date().isValid() ){ 1635 if ( (*it).birthday().date().isValid() ){
1636 a = new KCal::Attendee( (*it).realName(), (*it).preferredEmail(),false,KCal::Attendee::NeedsAction,KCal::Attendee::ReqParticipant,(*it).uid()) ; 1636 a = new KCal::Attendee( (*it).realName(), (*it).preferredEmail(),false,KCal::Attendee::NeedsAction,KCal::Attendee::ReqParticipant,(*it).uid()) ;
1637 if ( addAnniversary( (*it).birthday().date(), (*it).assembledName(), a, true ) ) 1637 if ( addAnniversary( (*it).birthday().date(), (*it).assembledName(), a, true ) )
1638 ++addCount; 1638 ++addCount;
1639 } 1639 }
1640 QDate anni = KGlobal::locale()->readDate( (*it).custom("KADDRESSBOOK", "X-Anniversary" ), "%Y-%m-%d"); 1640 QDate anni = KGlobal::locale()->readDate( (*it).custom("KADDRESSBOOK", "X-Anniversary" ), "%Y-%m-%d");
1641 if ( anni.isValid() ){ 1641 if ( anni.isValid() ){
1642 a = new KCal::Attendee( (*it).realName(), (*it).preferredEmail(),false,KCal::Attendee::NeedsAction,KCal::Attendee::ReqParticipant,(*it).uid()) ; 1642 a = new KCal::Attendee( (*it).realName(), (*it).preferredEmail(),false,KCal::Attendee::NeedsAction,KCal::Attendee::ReqParticipant,(*it).uid()) ;
1643 if ( addAnniversary( anni, (*it).assembledName(), a, false ) ) 1643 if ( addAnniversary( anni, (*it).assembledName(), a, false ) )
1644 ++addCount; 1644 ++addCount;
1645 } 1645 }
1646 } 1646 }
1647 updateView(); 1647 updateView();
1648 topLevelWidget()->setCaption(QString::number( addCount )+ i18n(" birthdays/anniversaries added!")); 1648 topLevelWidget()->setCaption(QString::number( addCount )+ i18n(" birthdays/anniversaries added!"));
1649#else //DESKTOP_VERSION 1649#else //DESKTOP_VERSION
1650 1650
1651 ExternalAppHandler::instance()->requestBirthdayListFromKAPI("QPE/Application/kopi", this->name() /* name is here the unique uid*/); 1651 ExternalAppHandler::instance()->requestBirthdayListFromKAPI("QPE/Application/kopi", this->name() /* name is here the unique uid*/);
1652 // the result should now arrive through method insertBirthdays 1652 // the result should now arrive through method insertBirthdays
1653 1653
1654#endif //DESKTOP_VERSION 1654#endif //DESKTOP_VERSION
1655 1655
1656#endif //KORG_NOKABC 1656#endif //KORG_NOKABC
1657 1657
1658 1658
1659 return true; 1659 return true;
1660} 1660}
1661 1661
1662// This method will be called from Ka/Pi as a response to requestBirthdayListFromKAPI 1662// This method will be called from Ka/Pi as a response to requestBirthdayListFromKAPI
1663void CalendarView::insertBirthdays(const QString& uid, const QStringList& birthdayList, 1663void CalendarView::insertBirthdays(const QString& uid, const QStringList& birthdayList,
1664 const QStringList& anniversaryList, const QStringList& realNameList, 1664 const QStringList& anniversaryList, const QStringList& realNameList,
1665 const QStringList& emailList, const QStringList& assembledNameList, 1665 const QStringList& emailList, const QStringList& assembledNameList,
1666 const QStringList& uidList) 1666 const QStringList& uidList)
1667{ 1667{
1668 //qDebug("KO::CalendarView::insertBirthdays"); 1668 //qDebug("KO::CalendarView::insertBirthdays");
1669 if (uid == this->name()) 1669 if (uid == this->name())
1670 { 1670 {
1671 int count = birthdayList.count(); 1671 int count = birthdayList.count();
1672 int addCount = 0; 1672 int addCount = 0;
1673 KCal::Attendee* a = 0; 1673 KCal::Attendee* a = 0;
1674 1674
1675 //qDebug("CalView 1 %i", count); 1675 //qDebug("CalView 1 %i", count);
1676 1676
1677 QProgressBar bar(count,0 ); 1677 QProgressBar bar(count,0 );
1678 int w = 300; 1678 int w = 300;
1679 if ( QApplication::desktop()->width() < 320 ) 1679 if ( QApplication::desktop()->width() < 320 )
1680 w = 220; 1680 w = 220;
1681 int h = bar.sizeHint().height() ; 1681 int h = bar.sizeHint().height() ;
1682 int dw = QApplication::desktop()->width(); 1682 int dw = QApplication::desktop()->width();
1683 int dh = QApplication::desktop()->height(); 1683 int dh = QApplication::desktop()->height();
1684 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 1684 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
1685 bar.show(); 1685 bar.show();
1686 bar.setCaption (i18n("inserting birthdays - close to abort!") ); 1686 bar.setCaption (i18n("inserting birthdays - close to abort!") );
1687 qApp->processEvents(); 1687 qApp->processEvents();
1688 1688
1689 QDate birthday; 1689 QDate birthday;
1690 QDate anniversary; 1690 QDate anniversary;
1691 QString realName; 1691 QString realName;
1692 QString email; 1692 QString email;
1693 QString assembledName; 1693 QString assembledName;
1694 QString uid; 1694 QString uid;
1695 bool ok = true; 1695 bool ok = true;
1696 for ( int i = 0; i < count; i++) 1696 for ( int i = 0; i < count; i++)
1697 { 1697 {
1698 if ( ! bar.isVisible() ) 1698 if ( ! bar.isVisible() )
1699 return; 1699 return;
1700 bar.setProgress( i ); 1700 bar.setProgress( i );
1701 qApp->processEvents(); 1701 qApp->processEvents();
1702 1702
1703 birthday = KGlobal::locale()->readDate(birthdayList[i], KLocale::ISODate, &ok); 1703 birthday = KGlobal::locale()->readDate(birthdayList[i], KLocale::ISODate, &ok);
1704 if (!ok) { 1704 if (!ok) {
1705 ;//qDebug("CalendarView::insertBirthdays found invalid birthday: %s",birthdayList[i].latin1()); 1705 ;//qDebug("CalendarView::insertBirthdays found invalid birthday: %s",birthdayList[i].latin1());
1706 } 1706 }
1707 1707
1708 anniversary = KGlobal::locale()->readDate(anniversaryList[i], KLocale::ISODate, &ok); 1708 anniversary = KGlobal::locale()->readDate(anniversaryList[i], KLocale::ISODate, &ok);
1709 if (!ok) { 1709 if (!ok) {
1710 ;//qDebug("CalendarView::insertBirthdays found invalid anniversary: %s",anniversaryList[i].latin1()); 1710 ;//qDebug("CalendarView::insertBirthdays found invalid anniversary: %s",anniversaryList[i].latin1());
1711 } 1711 }
1712 realName = realNameList[i]; 1712 realName = realNameList[i];
1713 email = emailList[i]; 1713 email = emailList[i];
1714 assembledName = assembledNameList[i]; 1714 assembledName = assembledNameList[i];
1715 uid = uidList[i]; 1715 uid = uidList[i];
1716 //qDebug("insert birthday in KO/Pi: %s,%s,%s,%s: %s, %s", realName.latin1(), email.latin1(), assembledName.latin1(), uid.latin1(), birthdayList[i].latin1(), anniversaryList[i].latin1() ); 1716 //qDebug("insert birthday in KO/Pi: %s,%s,%s,%s: %s, %s", realName.latin1(), email.latin1(), assembledName.latin1(), uid.latin1(), birthdayList[i].latin1(), anniversaryList[i].latin1() );
1717 1717
1718 if ( birthday.isValid() ){ 1718 if ( birthday.isValid() ){
1719 a = new KCal::Attendee( realName, email,false,KCal::Attendee::NeedsAction, 1719 a = new KCal::Attendee( realName, email,false,KCal::Attendee::NeedsAction,
1720 KCal::Attendee::ReqParticipant,uid) ; 1720 KCal::Attendee::ReqParticipant,uid) ;
1721 if ( addAnniversary( birthday, assembledName, a, true ) ) 1721 if ( addAnniversary( birthday, assembledName, a, true ) )
1722 ++addCount; 1722 ++addCount;
1723 } 1723 }
1724 1724
1725 if ( anniversary.isValid() ){ 1725 if ( anniversary.isValid() ){
1726 a = new KCal::Attendee( realName, email,false,KCal::Attendee::NeedsAction, 1726 a = new KCal::Attendee( realName, email,false,KCal::Attendee::NeedsAction,
1727 KCal::Attendee::ReqParticipant,uid) ; 1727 KCal::Attendee::ReqParticipant,uid) ;
1728 if ( addAnniversary( anniversary, assembledName, a, false ) ) 1728 if ( addAnniversary( anniversary, assembledName, a, false ) )
1729 ++addCount; 1729 ++addCount;
1730 } 1730 }
1731 } 1731 }
1732 1732
1733 updateView(); 1733 updateView();
1734 topLevelWidget()->setCaption(QString::number( addCount )+ i18n(" birthdays/anniversaries added!")); 1734 topLevelWidget()->setCaption(QString::number( addCount )+ i18n(" birthdays/anniversaries added!"));
1735 1735
1736 } 1736 }
1737 1737
1738} 1738}
1739 1739
1740 1740
1741 1741
1742bool CalendarView::addAnniversary( QDate date, QString name, KCal::Attendee* a, bool birthday) 1742bool CalendarView::addAnniversary( QDate date, QString name, KCal::Attendee* a, bool birthday)
1743{ 1743{
1744 //qDebug("addAnni "); 1744 //qDebug("addAnni ");
1745 Event * ev = new Event(); 1745 Event * ev = new Event();
1746 ev->setOrganizer(KOPrefs::instance()->email()); 1746 ev->setOrganizer(KOPrefs::instance()->email());
1747 if ( a ) { 1747 if ( a ) {
1748 ev->addAttendee( a ); 1748 ev->addAttendee( a );
1749 } 1749 }
1750 QString kind; 1750 QString kind;
1751 if ( birthday ) { 1751 if ( birthday ) {
1752 kind = i18n( "Birthday" ); 1752 kind = i18n( "Birthday" );
1753 ev->setSummary( name + " (" + QString::number(date.year()) +")"); 1753 ev->setSummary( name + " (" + QString::number(date.year()) +")");
1754 } 1754 }
1755 else { 1755 else {
1756 kind = i18n( "Anniversary" ); 1756 kind = i18n( "Anniversary" );
1757 ev->setSummary( name + " (" + QString::number(date.year()) +") " + kind ); 1757 ev->setSummary( name + " (" + QString::number(date.year()) +") " + kind );
1758 } 1758 }
1759 ev->setCategories( kind ); 1759 ev->setCategories( kind );
1760 ev->setDtStart( QDateTime(date) ); 1760 ev->setDtStart( QDateTime(date) );
1761 ev->setDtEnd( QDateTime(date) ); 1761 ev->setDtEnd( QDateTime(date) );
1762 ev->setFloats( true ); 1762 ev->setFloats( true );
1763 Recurrence * rec = ev->recurrence(); 1763 Recurrence * rec = ev->recurrence();
1764 rec->setYearly(Recurrence::rYearlyMonth,1,-1); 1764 rec->setYearly(Recurrence::rYearlyMonth,1,-1);
1765 rec->addYearlyNum( date.month() ); 1765 rec->addYearlyNum( date.month() );
1766 if ( !mCalendar->addAnniversaryNoDup( ev ) ) { 1766 if ( !mCalendar->addAnniversaryNoDup( ev ) ) {
1767 delete ev; 1767 delete ev;
1768 return false; 1768 return false;
1769 } 1769 }
1770 return true; 1770 return true;
1771 1771
1772} 1772}
1773bool CalendarView::importQtopia( const QString &categories, 1773bool CalendarView::importQtopia( const QString &categories,
1774 const QString &datebook, 1774 const QString &datebook,
1775 const QString &todolist ) 1775 const QString &todolist )
1776{ 1776{
1777 1777
1778 QtopiaFormat qtopiaFormat; 1778 QtopiaFormat qtopiaFormat;
1779 qtopiaFormat.setCategoriesList ( &(KOPrefs::instance()->mCustomCategories)); 1779 qtopiaFormat.setCategoriesList ( &(KOPrefs::instance()->mCustomCategories));
1780 if ( !categories.isEmpty() ) qtopiaFormat.load( mCalendar, categories ); 1780 if ( !categories.isEmpty() ) qtopiaFormat.load( mCalendar, categories );
1781 if ( !datebook.isEmpty() ) qtopiaFormat.load( mCalendar, datebook ); 1781 if ( !datebook.isEmpty() ) qtopiaFormat.load( mCalendar, datebook );
1782 if ( !todolist.isEmpty() ) qtopiaFormat.load( mCalendar, todolist ); 1782 if ( !todolist.isEmpty() ) qtopiaFormat.load( mCalendar, todolist );
1783 1783
1784 updateView(); 1784 updateView();
1785 return true; 1785 return true;
1786 1786
1787#if 0 1787#if 0
1788 mGlobalSyncMode = SYNC_MODE_QTOPIA; 1788 mGlobalSyncMode = SYNC_MODE_QTOPIA;
1789 mCurrentSyncDevice = "qtopia-XML"; 1789 mCurrentSyncDevice = "qtopia-XML";
1790 if ( mSyncManager->mAskForPreferences ) 1790 if ( mSyncManager->mAskForPreferences )
1791 edit_sync_options(); 1791 edit_sync_options();
1792 qApp->processEvents(); 1792 qApp->processEvents();
1793 CalendarLocal* calendar = new CalendarLocal(); 1793 CalendarLocal* calendar = new CalendarLocal();
1794 calendar->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); 1794 calendar->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId);
1795 bool syncOK = false; 1795 bool syncOK = false;
1796 QtopiaFormat qtopiaFormat; 1796 QtopiaFormat qtopiaFormat;
1797 qtopiaFormat.setCategoriesList ( &(KOPrefs::instance()->mCustomCategories)); 1797 qtopiaFormat.setCategoriesList ( &(KOPrefs::instance()->mCustomCategories));
1798 bool loadOk = true; 1798 bool loadOk = true;
1799 if ( !categories.isEmpty() ) 1799 if ( !categories.isEmpty() )
1800 loadOk = qtopiaFormat.load( calendar, categories ); 1800 loadOk = qtopiaFormat.load( calendar, categories );
1801 if ( loadOk && !datebook.isEmpty() ) 1801 if ( loadOk && !datebook.isEmpty() )
1802 loadOk = qtopiaFormat.load( calendar, datebook ); 1802 loadOk = qtopiaFormat.load( calendar, datebook );
1803 if ( loadOk && !todolist.isEmpty() ) 1803 if ( loadOk && !todolist.isEmpty() )
1804 loadOk = qtopiaFormat.load( calendar, todolist ); 1804 loadOk = qtopiaFormat.load( calendar, todolist );
1805 1805
1806 if ( loadOk ) { 1806 if ( loadOk ) {
1807 getEventViewerDialog()->setSyncMode( true ); 1807 getEventViewerDialog()->setSyncMode( true );
1808 syncOK = synchronizeCalendar( mCalendar, calendar, mSyncManager->mSyncAlgoPrefs ); 1808 syncOK = synchronizeCalendar( mCalendar, calendar, mSyncManager->mSyncAlgoPrefs );
1809 getEventViewerDialog()->setSyncMode( false ); 1809 getEventViewerDialog()->setSyncMode( false );
1810 qApp->processEvents(); 1810 qApp->processEvents();
1811 if ( syncOK ) { 1811 if ( syncOK ) {
1812 if ( mSyncManager->mWriteBackFile ) 1812 if ( mSyncManager->mWriteBackFile )
1813 { 1813 {
1814 // write back XML file 1814 // write back XML file
1815 1815
1816 } 1816 }
1817 setModified( true ); 1817 setModified( true );
1818 } 1818 }
1819 } else { 1819 } else {
1820 QString question = i18n("Sorry, the file loading\ncommand failed!\n\nNothing synced!\n") ; 1820 QString question = i18n("Sorry, the file loading\ncommand failed!\n\nNothing synced!\n") ;
1821 QMessageBox::information( 0, i18n("KO/Pi Sync - ERROR"), 1821 QMessageBox::information( 0, i18n("KO/Pi Sync - ERROR"),
1822 question, i18n("Ok")) ; 1822 question, i18n("Ok")) ;
1823 } 1823 }
1824 delete calendar; 1824 delete calendar;
1825 updateView(); 1825 updateView();
1826 return syncOK; 1826 return syncOK;
1827 1827
1828 1828
1829#endif 1829#endif
1830 1830
1831} 1831}
1832 1832
1833void CalendarView::setSyncEventsReadOnly() 1833void CalendarView::setSyncEventsReadOnly()
1834{ 1834{
1835 Event * ev; 1835 Event * ev;
1836 QPtrList<Event> eL = mCalendar->rawEvents(); 1836 QPtrList<Event> eL = mCalendar->rawEvents();
1837 ev = eL.first(); 1837 ev = eL.first();
1838 while ( ev ) { 1838 while ( ev ) {
1839 if ( ev->uid().left(15) == QString("last-syncEvent-") ) 1839 if ( ev->uid().left(15) == QString("last-syncEvent-") )
1840 ev->setReadOnly( true ); 1840 ev->setReadOnly( true );
1841 ev = eL.next(); 1841 ev = eL.next();
1842 } 1842 }
1843} 1843}
1844 1844
1845bool CalendarView::loadCalendars() 1845bool CalendarView::loadCalendars()
1846{ 1846{
1847 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; 1847 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars;
1848 KopiCalendarFile * cal = calendars.first(); 1848 KopiCalendarFile * cal = calendars.first();
1849 mCalendar->setDefaultCalendar( 1 ); 1849 mCalendar->setDefaultCalendar( 1 );
1850 openCalendar( MainWindow::defaultFileName(), false ); 1850 openCalendar( MainWindow::defaultFileName(), false );
1851 cal = calendars.next(); 1851 cal = calendars.next();
1852 while ( cal ) { 1852 while ( cal ) {
1853 addCalendar( cal ); 1853 addCalendar( cal );
1854 cal = calendars.next(); 1854 cal = calendars.next();
1855 } 1855 }
1856 restoreCalendarSettings(); 1856 restoreCalendarSettings();
1857 mCalendar->reInitAlarmSettings(); 1857 mCalendar->reInitAlarmSettings();
1858 setSyncEventsReadOnly(); 1858 setSyncEventsReadOnly();
1859 updateUnmanagedViews(); 1859 updateUnmanagedViews();
1860 updateView(); 1860 updateView();
1861 return true;
1861} 1862}
1862bool CalendarView::restoreCalendarSettings() 1863bool CalendarView::restoreCalendarSettings()
1863{ 1864{
1864 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; 1865 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars;
1865 KopiCalendarFile * cal = calendars.first(); 1866 KopiCalendarFile * cal = calendars.first();
1866 while ( cal ) { 1867 while ( cal ) {
1867 mCalendar->setCalendarEnabled( cal->mCalNumber,cal->isEnabled ); 1868 mCalendar->setCalendarEnabled( cal->mCalNumber,cal->isEnabled );
1868 mCalendar->setAlarmEnabled( cal->mCalNumber, cal->isAlarmEnabled ); 1869 mCalendar->setAlarmEnabled( cal->mCalNumber, cal->isAlarmEnabled );
1869 mCalendar->setReadOnly( cal->mCalNumber, cal->isReadOnly ); 1870 mCalendar->setReadOnly( cal->mCalNumber, cal->isReadOnly );
1870 if ( cal->isStandard ) 1871 if ( cal->isStandard )
1871 mCalendar->setDefaultCalendar( cal->mCalNumber ); 1872 mCalendar->setDefaultCalendar( cal->mCalNumber );
1872 cal = calendars.next(); 1873 cal = calendars.next();
1873 } 1874 }
1875 return true;
1874} 1876}
1875void CalendarView::addCalendarId( int id ) 1877void CalendarView::addCalendarId( int id )
1876{ 1878{
1877 KopiCalendarFile * cal = KOPrefs::instance()->getCalendar( id ); 1879 KopiCalendarFile * cal = KOPrefs::instance()->getCalendar( id );
1878 addCalendar( cal ); 1880 addCalendar( cal );
1879} 1881}
1880bool CalendarView::addCalendar( KopiCalendarFile * cal ) 1882bool CalendarView::addCalendar( KopiCalendarFile * cal )
1881{ 1883{
1882 cal->mErrorOnLoad = false; 1884 cal->mErrorOnLoad = false;
1883 if ( mCalendar->addCalendarFile( cal->mFileName, cal->mCalNumber )) { 1885 if ( mCalendar->addCalendarFile( cal->mFileName, cal->mCalNumber )) {
1884 cal->mLoadDt = QDateTime::currentDateTime(); 1886 cal->mLoadDt = QDateTime::currentDateTime();
1885 return true; 1887 return true;
1886 } 1888 }
1887 qDebug("KO: Error adding calendar file %1 ",cal->mFileName.latin1() ); 1889 qDebug("KO: Error adding calendar file %1 ",cal->mFileName.latin1() );
1888 KMessageBox::error(this,i18n("Error loading calendar file\n%1.").arg(cal->mFileName)); 1890 KMessageBox::error(this,i18n("Error loading calendar file\n%1.").arg(cal->mFileName));
1889 cal->mErrorOnLoad = true; 1891 cal->mErrorOnLoad = true;
1890 return false; 1892 return false;
1891} 1893}
1892bool CalendarView::openCalendar(QString filename, bool merge) 1894bool CalendarView::openCalendar(QString filename, bool merge)
1893{ 1895{
1894 1896
1895 if (filename.isEmpty()) { 1897 if (filename.isEmpty()) {
1896 return false; 1898 return false;
1897 } 1899 }
1898 1900
1899 if (!QFile::exists(filename)) { 1901 if (!QFile::exists(filename)) {
1900 KMessageBox::error(this,i18n("File does not exist:\n '%1'.").arg(filename)); 1902 KMessageBox::error(this,i18n("File does not exist:\n '%1'.").arg(filename));
1901 return false; 1903 return false;
1902 } 1904 }
1903 1905
1904 globalFlagBlockAgenda = 1; 1906 globalFlagBlockAgenda = 1;
1905 clearAllViews(); 1907 clearAllViews();
1906 if (!merge) { 1908 if (!merge) {
1907 mViewManager->setDocumentId( filename ); 1909 mViewManager->setDocumentId( filename );
1908 mCalendar->close(); 1910 mCalendar->close();
1909 } 1911 }
1910 mStorage->setFileName( filename ); 1912 mStorage->setFileName( filename );
1911 1913
1912 if ( mStorage->load() ) { 1914 if ( mStorage->load() ) {
1913 if ( merge ) ;//setModified( true ); 1915 if ( merge ) ;//setModified( true );
1914 else { 1916 else {
1915 //setModified( true ); 1917 //setModified( true );
1916 mViewManager->setDocumentId( filename ); 1918 mViewManager->setDocumentId( filename );
1917 mDialogManager->setDocumentId( filename ); 1919 mDialogManager->setDocumentId( filename );
1918 mTodoList->setDocumentId( filename ); 1920 mTodoList->setDocumentId( filename );
1919 } 1921 }
1920 globalFlagBlockAgenda = 2; 1922 globalFlagBlockAgenda = 2;
1921 // if ( getLastSyncEvent() ) 1923 // if ( getLastSyncEvent() )
1922 // getLastSyncEvent()->setReadOnly( true ); 1924 // getLastSyncEvent()->setReadOnly( true );
1923 mCalendar->reInitAlarmSettings(); 1925 mCalendar->reInitAlarmSettings();
1924 setSyncEventsReadOnly(); 1926 setSyncEventsReadOnly();
1925 updateUnmanagedViews(); 1927 updateUnmanagedViews();
1926 updateView(); 1928 updateView();
1927 if ( filename != MainWindow::defaultFileName() ) { 1929 if ( filename != MainWindow::defaultFileName() ) {
1928 saveCalendar( MainWindow::defaultFileName() ); 1930 saveCalendar( MainWindow::defaultFileName() );
1929 } else { 1931 } else {
1930 QFileInfo finf ( MainWindow::defaultFileName()); 1932 QFileInfo finf ( MainWindow::defaultFileName());
1931 if ( finf.exists() ) { 1933 if ( finf.exists() ) {
1932 setLoadedFileVersion( finf.lastModified () ); 1934 setLoadedFileVersion( finf.lastModified () );
1933 } 1935 }
1934 } 1936 }
1935 return true; 1937 return true;
1936 } else { 1938 } else {
1937 // while failing to load, the calendar object could 1939 // while failing to load, the calendar object could
1938 // have become partially populated. Clear it out. 1940 // have become partially populated. Clear it out.
1939 if ( !merge ) { 1941 if ( !merge ) {
1940 mCalendar->close(); 1942 mCalendar->close();
1941 mViewManager->setDocumentId( filename ); 1943 mViewManager->setDocumentId( filename );
1942 mDialogManager->setDocumentId( filename ); 1944 mDialogManager->setDocumentId( filename );
1943 mTodoList->setDocumentId( filename ); 1945 mTodoList->setDocumentId( filename );
1944 } 1946 }
1945 1947
1946 //KMessageBox::error(this,i18n("Couldn't load calendar\n '%1'.").arg(filename)); 1948 //KMessageBox::error(this,i18n("Couldn't load calendar\n '%1'.").arg(filename));
1947 1949
1948 QTimer::singleShot ( 1, this, SLOT ( showOpenError() ) ); 1950 QTimer::singleShot ( 1, this, SLOT ( showOpenError() ) );
1949 globalFlagBlockAgenda = 2; 1951 globalFlagBlockAgenda = 2;
1950 mCalendar->reInitAlarmSettings(); 1952 mCalendar->reInitAlarmSettings();
1951 setSyncEventsReadOnly(); 1953 setSyncEventsReadOnly();
1952 updateUnmanagedViews(); 1954 updateUnmanagedViews();
1953 updateView(); 1955 updateView();
1954 } 1956 }
1955 return false; 1957 return false;
1956} 1958}
1957void CalendarView::showOpenError() 1959void CalendarView::showOpenError()
1958{ 1960{
1959 KMessageBox::error(this,i18n("Couldn't load calendar\n.")); 1961 KMessageBox::error(this,i18n("Couldn't load calendar\n."));
1960} 1962}
1961void CalendarView::setLoadedFileVersion(QDateTime dt) 1963void CalendarView::setLoadedFileVersion(QDateTime dt)
1962{ 1964{
1963 loadedFileVersion = dt; 1965 loadedFileVersion = dt;
1964} 1966}
1965bool CalendarView::checkFileChanged(QString fn) 1967bool CalendarView::checkFileChanged(QString fn)
1966{ 1968{
1967 QFileInfo finf ( fn ); 1969 QFileInfo finf ( fn );
1968 if ( !finf.exists() ) 1970 if ( !finf.exists() )
1969 return true; 1971 return true;
1970 QDateTime dt = finf.lastModified (); 1972 QDateTime dt = finf.lastModified ();
1971 if ( dt <= loadedFileVersion ) 1973 if ( dt <= loadedFileVersion )
1972 return false; 1974 return false;
1973 return true; 1975 return true;
1974 1976
1975} 1977}
1976void CalendarView::watchSavedFile() 1978void CalendarView::watchSavedFile()
1977{ 1979{
1978 QFileInfo finf ( MainWindow::defaultFileName()); 1980 QFileInfo finf ( MainWindow::defaultFileName());
1979 if ( !finf.exists() ) 1981 if ( !finf.exists() )
1980 return; 1982 return;
1981 QDateTime dt = finf.lastModified (); 1983 QDateTime dt = finf.lastModified ();
1982 if ( dt < loadedFileVersion ) { 1984 if ( dt < loadedFileVersion ) {
1983 //qDebug("watch %s %s ", dt.toString().latin1(), loadedFileVersion.toString().latin1()); 1985 //qDebug("watch %s %s ", dt.toString().latin1(), loadedFileVersion.toString().latin1());
1984 QTimer::singleShot( 1000 , this, SLOT ( watchSavedFile() ) ); 1986 QTimer::singleShot( 1000 , this, SLOT ( watchSavedFile() ) );
1985 return; 1987 return;
1986 } 1988 }
1987 loadedFileVersion = dt; 1989 loadedFileVersion = dt;
1988} 1990}
1989bool CalendarView::checkAllFileVersions() 1991bool CalendarView::checkAllFileVersions()
1990{ 1992{
1991 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; 1993 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars;
1992 KopiCalendarFile * cal = calendars.first(); 1994 KopiCalendarFile * cal = calendars.first();
1993 mCalendar->setDefaultCalendar( 1 ); 1995 mCalendar->setDefaultCalendar( 1 );
1994 mCalendar->setDefaultCalendarEnabledOnly(); 1996 mCalendar->setDefaultCalendarEnabledOnly();
1995 if ( !checkFileVersion(MainWindow::defaultFileName())) 1997 if ( !checkFileVersion(MainWindow::defaultFileName()))
1996 return false; 1998 return false;
1997 cal = calendars.next(); 1999 cal = calendars.next();
1998 QDateTime storeTemp = loadedFileVersion; 2000 QDateTime storeTemp = loadedFileVersion;
1999 while ( cal ) { 2001 while ( cal ) {
2000 if ( !cal->mErrorOnLoad ) { 2002 if ( !cal->mErrorOnLoad ) {
2001 mCalendar->setDefaultCalendar( cal->mCalNumber ); 2003 mCalendar->setDefaultCalendar( cal->mCalNumber );
2002 mCalendar->setDefaultCalendarEnabledOnly(); 2004 mCalendar->setDefaultCalendarEnabledOnly();
2003 loadedFileVersion = cal->mLoadDt.addSecs( 15 ); 2005 loadedFileVersion = cal->mLoadDt.addSecs( 15 );
2004 if ( !checkFileVersion(cal->mFileName )) { 2006 if ( !checkFileVersion(cal->mFileName )) {
2005 loadedFileVersion = storeTemp; 2007 loadedFileVersion = storeTemp;
2006 updateView(); 2008 updateView();
2007 return false; 2009 return false;
2008 } 2010 }
2009 } 2011 }
2010 cal = calendars.next(); 2012 cal = calendars.next();
2011 } 2013 }
2012 loadedFileVersion = storeTemp; 2014 loadedFileVersion = storeTemp;
2013 updateView(); 2015 updateView();
2014 return true; 2016 return true;
2015} 2017}
2016bool CalendarView::checkFileVersion(QString fn) 2018bool CalendarView::checkFileVersion(QString fn)
2017{ 2019{
2018 QFileInfo finf ( fn ); 2020 QFileInfo finf ( fn );
2019 if ( !finf.exists() ) 2021 if ( !finf.exists() )
2020 return true; 2022 return true;
2021 QDateTime dt = finf.lastModified (); 2023 QDateTime dt = finf.lastModified ();
2022 //qDebug("loaded file version %s",loadedFileVersion.toString().latin1()); 2024 //qDebug("loaded file version %s",loadedFileVersion.toString().latin1());
2023 //qDebug("file on disk version %s",dt.toString().latin1()); 2025 //qDebug("file on disk version %s",dt.toString().latin1());
2024 if ( dt <= loadedFileVersion ) 2026 if ( dt <= loadedFileVersion )
2025 return true; 2027 return true;
2026 int km = KMessageBox::warningYesNoCancel(this, i18n("\nThe file\n%1\n on disk has changed!\nFile size: %2 bytes.\nLast modified: %3\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n").arg(fn).arg( QString::number( finf.size())).arg( KGlobal::locale()->formatDateTime(finf.lastModified (), true, true)) , 2028 int km = KMessageBox::warningYesNoCancel(this, i18n("\nThe file\n%1\n on disk has changed!\nFile size: %2 bytes.\nLast modified: %3\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n").arg(fn).arg( QString::number( finf.size())).arg( KGlobal::locale()->formatDateTime(finf.lastModified (), true, true)) ,
2027 i18n("KO/Pi Warning"),i18n("Overwrite"), 2029 i18n("KO/Pi Warning"),i18n("Overwrite"),
2028 i18n("Sync+save")); 2030 i18n("Sync+save"));
2029 2031
2030 if ( km == KMessageBox::Cancel ) 2032 if ( km == KMessageBox::Cancel )
2031 return false; 2033 return false;
2032 if ( km == KMessageBox::Yes ) 2034 if ( km == KMessageBox::Yes )
2033 return true; 2035 return true;
2034 2036
2035 setSyncDevice("deleteaftersync" ); 2037 setSyncDevice("deleteaftersync" );
2036 mSyncManager->mAskForPreferences = true; 2038 mSyncManager->mAskForPreferences = true;
2037 mSyncManager->mSyncAlgoPrefs = 3; 2039 mSyncManager->mSyncAlgoPrefs = 3;
2038 mSyncManager->mWriteBackFile = false; 2040 mSyncManager->mWriteBackFile = false;
2039 mSyncManager->mWriteBackExistingOnly = false; 2041 mSyncManager->mWriteBackExistingOnly = false;
2040 mSyncManager->mShowSyncSummary = false; 2042 mSyncManager->mShowSyncSummary = false;
2041 syncCalendar( fn, 3 ); 2043 syncCalendar( fn, 3 );
2042 Event * e = getLastSyncEvent(); 2044 Event * e = getLastSyncEvent();
2043 if ( e ) 2045 if ( e )
2044 mCalendar->deleteEvent( e ); 2046 mCalendar->deleteEvent( e );
2045 return true; 2047 return true;
2046} 2048}
2047bool CalendarView::saveCalendars() 2049bool CalendarView::saveCalendars()
2048{ 2050{
2049 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; 2051 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars;
2050 KopiCalendarFile * cal = calendars.first(); 2052 KopiCalendarFile * cal = calendars.first();
2051 mCalendar->setDefaultCalendar( 1 ); 2053 mCalendar->setDefaultCalendar( 1 );
2052 mCalendar->setDefaultCalendarEnabledOnly(); 2054 mCalendar->setDefaultCalendarEnabledOnly();
2053 saveCalendar( MainWindow::defaultFileName() ); 2055 saveCalendar( MainWindow::defaultFileName() );
2054 cal = calendars.next(); 2056 cal = calendars.next();
2055 while ( cal ) { 2057 while ( cal ) {
2056 if ( !cal->isReadOnly && !cal->mErrorOnLoad ) { 2058 if ( !cal->isReadOnly && !cal->mErrorOnLoad ) {
2057 mCalendar->setDefaultCalendar( cal->mCalNumber ); 2059 mCalendar->setDefaultCalendar( cal->mCalNumber );
2058 mCalendar->setDefaultCalendarEnabledOnly(); 2060 mCalendar->setDefaultCalendarEnabledOnly();
2059 if ( saveCalendar( cal->mFileName ) ) 2061 if ( saveCalendar( cal->mFileName ) )
2060 cal->mLoadDt = QDateTime::currentDateTime(); 2062 cal->mLoadDt = QDateTime::currentDateTime();
2061 } 2063 }
2062 cal = calendars.next(); 2064 cal = calendars.next();
2063 } 2065 }
2064 restoreCalendarSettings(); 2066 restoreCalendarSettings();
2067 return true;
2065} 2068}
2066bool CalendarView::saveCalendar( QString filename ) 2069bool CalendarView::saveCalendar( QString filename )
2067{ 2070{
2068 2071
2069 // Store back all unsaved data into calendar object 2072 // Store back all unsaved data into calendar object
2070 // qDebug("file %s %d ", filename.latin1() , mViewManager->currentView() ); 2073 // qDebug("file %s %d ", filename.latin1() , mViewManager->currentView() );
2071 if ( mViewManager->currentView() ) 2074 if ( mViewManager->currentView() )
2072 mViewManager->currentView()->flushView(); 2075 mViewManager->currentView()->flushView();
2073 2076
2074 2077
2075 QDateTime lfv = QDateTime::currentDateTime().addSecs( -2); 2078 QDateTime lfv = QDateTime::currentDateTime().addSecs( -2);
2076 mStorage->setSaveFormat( new ICalFormat() ); 2079 mStorage->setSaveFormat( new ICalFormat() );
2077 mStorage->setFileName( filename ); 2080 mStorage->setFileName( filename );
2078 bool success; 2081 bool success;
2079 success = mStorage->save(); 2082 success = mStorage->save();
2080 if ( !success ) { 2083 if ( !success ) {
2081 return false; 2084 return false;
2082 } 2085 }
2083 if ( filename == MainWindow::defaultFileName() ) { 2086 if ( filename == MainWindow::defaultFileName() ) {
2084 setLoadedFileVersion( lfv ); 2087 setLoadedFileVersion( lfv );
2085 watchSavedFile(); 2088 watchSavedFile();
2086 } 2089 }
2087 return true; 2090 return true;
2088} 2091}
2089 2092
2090void CalendarView::closeCalendar() 2093void CalendarView::closeCalendar()
2091{ 2094{
2092 2095
2093 // child windows no longer valid 2096 // child windows no longer valid
2094 clearAllViews(); 2097 clearAllViews();
2095 emit closingDown(); 2098 emit closingDown();
2096 2099
2097 mCalendar->close(); 2100 mCalendar->close();
2098 setModified(false); 2101 setModified(false);
2099 updateView(); 2102 updateView();
2100} 2103}
2101 2104
2102void CalendarView::archiveCalendar() 2105void CalendarView::archiveCalendar()
2103{ 2106{
2104 mDialogManager->showArchiveDialog(); 2107 mDialogManager->showArchiveDialog();
2105} 2108}
2106 2109
2107 2110
2108void CalendarView::readSettings() 2111void CalendarView::readSettings()
2109{ 2112{
2110 2113
2111 2114
2112 // mViewManager->showAgendaView(); 2115 // mViewManager->showAgendaView();
2113 QString str; 2116 QString str;
2114 //qDebug("CalendarView::readSettings() "); 2117 //qDebug("CalendarView::readSettings() ");
2115 // read settings from the KConfig, supplying reasonable 2118 // read settings from the KConfig, supplying reasonable
2116 // defaults where none are to be found 2119 // defaults where none are to be found
2117 KConfig *config = KOGlobals::config(); 2120 KConfig *config = KOGlobals::config();
2118#ifndef KORG_NOSPLITTER 2121#ifndef KORG_NOSPLITTER
2119 config->setGroup("KOrganizer Geometry"); 2122 config->setGroup("KOrganizer Geometry");
2120 2123
2121 QValueList<int> sizes = config->readIntListEntry("Separator1"); 2124 QValueList<int> sizes = config->readIntListEntry("Separator1");
2122 if (sizes.count() != 2) { 2125 if (sizes.count() != 2) {
2123 sizes << mDateNavigator->minimumSizeHint().width(); 2126 sizes << mDateNavigator->minimumSizeHint().width();
2124 sizes << 300; 2127 sizes << 300;
2125 } 2128 }
2126 mPanner->setSizes(sizes); 2129 mPanner->setSizes(sizes);
2127 2130
2128 sizes = config->readIntListEntry("Separator2"); 2131 sizes = config->readIntListEntry("Separator2");
2129 if ( ( mResourceView && sizes.count() == 4 ) || 2132 if ( ( mResourceView && sizes.count() == 4 ) ||
2130 ( !mResourceView && sizes.count() == 3 ) ) { 2133 ( !mResourceView && sizes.count() == 3 ) ) {
2131 mLeftSplitter->setSizes(sizes); 2134 mLeftSplitter->setSizes(sizes);
2132 } 2135 }
2133#endif 2136#endif
2134 globalFlagBlockAgenda = 1; 2137 globalFlagBlockAgenda = 1;
2135 mViewManager->showAgendaView(); 2138 mViewManager->showAgendaView();
2136 //mViewManager->readSettings( config ); 2139 //mViewManager->readSettings( config );
2137 mTodoList->restoreLayout(config,QString("Todo Layout")); 2140 mTodoList->restoreLayout(config,QString("Todo Layout"));
2138 readFilterSettings(config); 2141 readFilterSettings(config);
2139 2142
2140#ifdef DESKTOP_VERSION 2143#ifdef DESKTOP_VERSION
2141 config->setGroup("WidgetLayout"); 2144 config->setGroup("WidgetLayout");
2142 QStringList list; 2145 QStringList list;
2143 list = config->readListEntry("MainLayout"); 2146 list = config->readListEntry("MainLayout");
2144 int x,y,w,h; 2147 int x,y,w,h;
2145 if ( ! list.isEmpty() ) { 2148 if ( ! list.isEmpty() ) {
2146 x = list[0].toInt(); 2149 x = list[0].toInt();
2147 y = list[1].toInt(); 2150 y = list[1].toInt();
2148 w = list[2].toInt(); 2151 w = list[2].toInt();
2149 h = list[3].toInt(); 2152 h = list[3].toInt();
2150 KApplication::testCoords( &x,&y,&w,&h ); 2153 KApplication::testCoords( &x,&y,&w,&h );
2151 topLevelWidget()->setGeometry(x,y,w,h); 2154 topLevelWidget()->setGeometry(x,y,w,h);
2152 2155
2153 } else { 2156 } else {
2154 topLevelWidget()->setGeometry( 40 ,40 , 640, 440); 2157 topLevelWidget()->setGeometry( 40 ,40 , 640, 440);
2155 } 2158 }
2156 list = config->readListEntry("EditEventLayout"); 2159 list = config->readListEntry("EditEventLayout");
2157 if ( ! list.isEmpty() ) { 2160 if ( ! list.isEmpty() ) {
2158 x = list[0].toInt(); 2161 x = list[0].toInt();
2159 y = list[1].toInt(); 2162 y = list[1].toInt();
2160 w = list[2].toInt(); 2163 w = list[2].toInt();
2161 h = list[3].toInt(); 2164 h = list[3].toInt();
2162 KApplication::testCoords( &x,&y,&w,&h ); 2165 KApplication::testCoords( &x,&y,&w,&h );
2163 mEventEditor->setGeometry(x,y,w,h); 2166 mEventEditor->setGeometry(x,y,w,h);
2164 2167
2165 } 2168 }
2166 list = config->readListEntry("EditTodoLayout"); 2169 list = config->readListEntry("EditTodoLayout");
2167 if ( ! list.isEmpty() ) { 2170 if ( ! list.isEmpty() ) {
2168 x = list[0].toInt(); 2171 x = list[0].toInt();
2169 y = list[1].toInt(); 2172 y = list[1].toInt();
2170 w = list[2].toInt(); 2173 w = list[2].toInt();
2171 h = list[3].toInt(); 2174 h = list[3].toInt();
2172 KApplication::testCoords( &x,&y,&w,&h ); 2175 KApplication::testCoords( &x,&y,&w,&h );
2173 mTodoEditor->setGeometry(x,y,w,h); 2176 mTodoEditor->setGeometry(x,y,w,h);
2174 2177
2175 } 2178 }
2176 list = config->readListEntry("ViewerLayout"); 2179 list = config->readListEntry("ViewerLayout");
2177 if ( ! list.isEmpty() ) { 2180 if ( ! list.isEmpty() ) {
2178 x = list[0].toInt(); 2181 x = list[0].toInt();
2179 y = list[1].toInt(); 2182 y = list[1].toInt();
2180 w = list[2].toInt(); 2183 w = list[2].toInt();
2181 h = list[3].toInt(); 2184 h = list[3].toInt();
2182 KApplication::testCoords( &x,&y,&w,&h ); 2185 KApplication::testCoords( &x,&y,&w,&h );
2183 getEventViewerDialog()->setGeometry(x,y,w,h); 2186 getEventViewerDialog()->setGeometry(x,y,w,h);
2184 } 2187 }
2185#endif 2188#endif
2186 config->setGroup( "Views" ); 2189 config->setGroup( "Views" );
2187 int dateCount = config->readNumEntry( "ShownDatesCount", 7 ); 2190 int dateCount = config->readNumEntry( "ShownDatesCount", 7 );
2188 2191
2189 QValueList<int> sizes = config->readIntListEntry("Left Splitter Frame"); 2192 QValueList<int> sizes = config->readIntListEntry("Left Splitter Frame");
2190 2193
2191 int resetval = 0; 2194 int resetval = 0;
2192 int maxVal = 0; 2195 int maxVal = 0;
2193 if (sizes.count() != 3) { 2196 if (sizes.count() != 3) {
2194 if ( KOPrefs::instance()->mVerticalScreen ) { 2197 if ( KOPrefs::instance()->mVerticalScreen ) {
2195 resetval = mDateNavigator->sizeHint().width()+2; 2198 resetval = mDateNavigator->sizeHint().width()+2;
2196 } else { 2199 } else {
2197 resetval = mDateNavigator->sizeHint().height()+2; 2200 resetval = mDateNavigator->sizeHint().height()+2;
2198 } 2201 }
2199 } 2202 }
2200 if ( resetval ) { 2203 if ( resetval ) {
2201 sizes.clear(); 2204 sizes.clear();
2202 if ( KOPrefs::instance()->mVerticalScreen ) { 2205 if ( KOPrefs::instance()->mVerticalScreen ) {
2203 maxVal = QApplication::desktop()->width() -10; 2206 maxVal = QApplication::desktop()->width() -10;
2204 } else { 2207 } else {
2205 maxVal = QApplication::desktop()->height()-10; 2208 maxVal = QApplication::desktop()->height()-10;
2206 } 2209 }
2207 sizes << resetval; 2210 sizes << resetval;
2208 if ( maxVal < resetval + resetval) 2211 if ( maxVal < resetval + resetval)
2209 resetval = maxVal - resetval; 2212 resetval = maxVal - resetval;
2210 sizes << resetval; 2213 sizes << resetval;
2211 sizes << 100; 2214 sizes << 100;
2212 } 2215 }
2213 mLeftFrame->setSizes(sizes); 2216 mLeftFrame->setSizes(sizes);
2214 sizes = config->readIntListEntry("Main Splitter Frame"); 2217 sizes = config->readIntListEntry("Main Splitter Frame");
2215 resetval = 0; 2218 resetval = 0;
2216 maxVal = 0; 2219 maxVal = 0;
2217 if (sizes.count() != 2) { 2220 if (sizes.count() != 2) {
2218 if ( !KOPrefs::instance()->mVerticalScreen ) { 2221 if ( !KOPrefs::instance()->mVerticalScreen ) {
2219 resetval = mDateNavigator->sizeHint().width()+2; 2222 resetval = mDateNavigator->sizeHint().width()+2;
2220 } else { 2223 } else {
2221 resetval = mDateNavigator->sizeHint().height()+2; 2224 resetval = mDateNavigator->sizeHint().height()+2;
2222 } 2225 }
2223 } 2226 }
2224 if ( resetval ) { 2227 if ( resetval ) {
2225 sizes.clear(); 2228 sizes.clear();
2226 if ( !KOPrefs::instance()->mVerticalScreen ) { 2229 if ( !KOPrefs::instance()->mVerticalScreen ) {
2227 maxVal = QApplication::desktop()->width() -10; 2230 maxVal = QApplication::desktop()->width() -10;
2228 } else { 2231 } else {
2229 maxVal = QApplication::desktop()->height()-10; 2232 maxVal = QApplication::desktop()->height()-10;
2230 } 2233 }
2231 sizes << resetval; 2234 sizes << resetval;
2232 if ( maxVal < resetval + resetval) 2235 if ( maxVal < resetval + resetval)
2233 resetval = maxVal - resetval; 2236 resetval = maxVal - resetval;
2234 sizes << resetval; 2237 sizes << resetval;
2235 } 2238 }
2236 mMainFrame->setSizes(sizes); 2239 mMainFrame->setSizes(sizes);
2237 if ( dateCount == 5 ) mNavigator->selectWorkWeek(); 2240 if ( dateCount == 5 ) mNavigator->selectWorkWeek();
2238 else if ( dateCount == 7 ) mNavigator->selectWeek(); 2241 else if ( dateCount == 7 ) mNavigator->selectWeek();
2239 else mNavigator->selectDates( dateCount ); 2242 else mNavigator->selectDates( dateCount );
2240 // mViewManager->readSettings( config ); 2243 // mViewManager->readSettings( config );
2241 updateConfig(); 2244 updateConfig();
2242 globalFlagBlockAgenda = 2; 2245 globalFlagBlockAgenda = 2;
2243 mViewManager->readSettings( config ); 2246 mViewManager->readSettings( config );
2244 QTimer::singleShot( 1, mDateNavigator, SLOT ( setResizeEnabled() ) ); 2247 QTimer::singleShot( 1, mDateNavigator, SLOT ( setResizeEnabled() ) );
2245} 2248}
2246 2249
2247 2250
2248void CalendarView::writeSettings() 2251void CalendarView::writeSettings()
2249{ 2252{
2250 // kdDebug() << "CalendarView::writeSettings" << endl; 2253 // kdDebug() << "CalendarView::writeSettings" << endl;
2251 2254
2252 KConfig *config = KOGlobals::config(); 2255 KConfig *config = KOGlobals::config();
2253 2256
2254 mViewManager->writeSettings( config ); 2257 mViewManager->writeSettings( config );
2255 mTodoList->saveLayout(config,QString("Todo Layout")); 2258 mTodoList->saveLayout(config,QString("Todo Layout"));
2256 mDialogManager->writeSettings( config ); 2259 mDialogManager->writeSettings( config );
2257 //KOPrefs::instance()->usrWriteConfig(); 2260 //KOPrefs::instance()->usrWriteConfig();
2258 KOPrefs::instance()->writeConfig(); 2261 KOPrefs::instance()->writeConfig();
2259 2262
2260 writeFilterSettings(config); 2263 writeFilterSettings(config);
2261 config->setGroup( "AppRun" ); 2264 config->setGroup( "AppRun" );
2262 QDateTime dt ( QDate (2005,1,1), QTime( 0,0,0 ) ); 2265 QDateTime dt ( QDate (2005,1,1), QTime( 0,0,0 ) );
2263 int days = dt.daysTo( QDate::currentDate() ); 2266 int days = dt.daysTo( QDate::currentDate() );
2264 dt = dt.addDays( days ); 2267 dt = dt.addDays( days );
2265 int secs = dt.secsTo( QDateTime::currentDateTime() ); 2268 int secs = dt.secsTo( QDateTime::currentDateTime() );
2266 config->writeEntry( "LatestProgramStopDays", days ); 2269 config->writeEntry( "LatestProgramStopDays", days );
2267 config->writeEntry( "LatestProgramStopSecs", secs ); 2270 config->writeEntry( "LatestProgramStopSecs", secs );
2268 //qDebug("KO: Writing stop time: %d ", secs); 2271 //qDebug("KO: Writing stop time: %d ", secs);
2269 //qDebug("KO: Current Time %s ",QDateTime::currentDateTime().toString().latin1() ); 2272 //qDebug("KO: Current Time %s ",QDateTime::currentDateTime().toString().latin1() );
2270 //QDateTime latest = dt.addSecs ( secs ); 2273 //QDateTime latest = dt.addSecs ( secs );
2271 //qDebug("KO: Termination on %s ", latest.toString().latin1()); 2274 //qDebug("KO: Termination on %s ", latest.toString().latin1());
2272 config->setGroup( "Views" ); 2275 config->setGroup( "Views" );
2273 config->writeEntry( "ShownDatesCount", mNavigator->selectedDates().count() ); 2276 config->writeEntry( "ShownDatesCount", mNavigator->selectedDates().count() );
2274 2277
2275#if 0 2278#if 0
2276 qDebug("********************* "); 2279 qDebug("********************* ");
2277 qDebug("Testcode secsto "); 2280 qDebug("Testcode secsto ");
2278 QDateTime dt_nodaylight ( QDate (2005,3,26), QTime( 0,0,0 ) ); 2281 QDateTime dt_nodaylight ( QDate (2005,3,26), QTime( 0,0,0 ) );
2279 QDateTime dt_daylight ( QDate (2005,3,29), QTime( 0,0,0 ) ); 2282 QDateTime dt_daylight ( QDate (2005,3,29), QTime( 0,0,0 ) );
2280 int secsto = dt_nodaylight.secsTo( dt_daylight ); 2283 int secsto = dt_nodaylight.secsTo( dt_daylight );
2281 QDateTime dt_daylight_wrong = dt_nodaylight.addSecs( secsto ); 2284 QDateTime dt_daylight_wrong = dt_nodaylight.addSecs( secsto );
2282 qDebug("dt nodaylight %s ",dt_nodaylight.toString().latin1() ); 2285 qDebug("dt nodaylight %s ",dt_nodaylight.toString().latin1() );
2283 qDebug("dt daylight %s ",dt_daylight.toString().latin1() ); 2286 qDebug("dt daylight %s ",dt_daylight.toString().latin1() );
2284 qDebug("dt daylight_wrong %s ",dt_daylight_wrong.toString().latin1() ); 2287 qDebug("dt daylight_wrong %s ",dt_daylight_wrong.toString().latin1() );
2285 qDebug("Computed secsTo %d . in minutes: %d . in hours: %d ", secsto, secsto/60, secsto/3600); 2288 qDebug("Computed secsTo %d . in minutes: %d . in hours: %d ", secsto, secsto/60, secsto/3600);
2286 qDebug("********************* testcode end"); 2289 qDebug("********************* testcode end");
2287 2290
2288#endif 2291#endif
2289 2292
2290 QValueList<int> listINT = mLeftFrame->sizes(); 2293 QValueList<int> listINT = mLeftFrame->sizes();
2291 config->writeEntry("Left Splitter Frame",listINT); 2294 config->writeEntry("Left Splitter Frame",listINT);
2292 QValueList<int> listINT2 = mMainFrame->sizes(); 2295 QValueList<int> listINT2 = mMainFrame->sizes();
2293 config->writeEntry("Main Splitter Frame",listINT2); 2296 config->writeEntry("Main Splitter Frame",listINT2);
2294#ifdef DESKTOP_VERSION 2297#ifdef DESKTOP_VERSION
2295 config->setGroup("WidgetLayout"); 2298 config->setGroup("WidgetLayout");
2296 QStringList list ;//= config->readListEntry("MainLayout"); 2299 QStringList list ;//= config->readListEntry("MainLayout");
2297 int x,y,w,h; 2300 int x,y,w,h;
2298 QWidget* wid; 2301 QWidget* wid;
2299 wid = topLevelWidget(); 2302 wid = topLevelWidget();
2300 x = wid->geometry().x(); 2303 x = wid->geometry().x();
2301 y = wid->geometry().y(); 2304 y = wid->geometry().y();
2302 w = wid->width(); 2305 w = wid->width();
2303 h = wid->height(); 2306 h = wid->height();
2304 list.clear(); 2307 list.clear();
2305 list << QString::number( x ); 2308 list << QString::number( x );
2306 list << QString::number( y ); 2309 list << QString::number( y );
2307 list << QString::number( w ); 2310 list << QString::number( w );
2308 list << QString::number( h ); 2311 list << QString::number( h );
2309 config->writeEntry("MainLayout",list ); 2312 config->writeEntry("MainLayout",list );
2310 2313
2311 wid = mEventEditor; 2314 wid = mEventEditor;
2312 x = wid->geometry().x(); 2315 x = wid->geometry().x();
2313 y = wid->geometry().y(); 2316 y = wid->geometry().y();
2314 w = wid->width(); 2317 w = wid->width();
2315 h = wid->height(); 2318 h = wid->height();
2316 list.clear(); 2319 list.clear();
2317 list << QString::number( x ); 2320 list << QString::number( x );
2318 list << QString::number( y ); 2321 list << QString::number( y );
2319 list << QString::number( w ); 2322 list << QString::number( w );
2320 list << QString::number( h ); 2323 list << QString::number( h );