-rw-r--r-- | korganizer/koagenda.cpp | 23 | ||||
-rw-r--r-- | korganizer/koagendaview.cpp | 15 | ||||
-rw-r--r-- | korganizer/kofilterview.cpp | 23 | ||||
-rw-r--r-- | korganizer/kofilterview.h | 1 | ||||
-rw-r--r-- | korganizer/koprefs.cpp | 6 | ||||
-rw-r--r-- | korganizer/koprefs.h | 4 | ||||
-rw-r--r-- | microkde/kglobalsettings.cpp | 9 | ||||
-rw-r--r-- | microkde/kglobalsettings.h | 1 |
8 files changed, 59 insertions, 23 deletions
diff --git a/korganizer/koagenda.cpp b/korganizer/koagenda.cpp index 662576f..92c1cd6 100644 --- a/korganizer/koagenda.cpp +++ b/korganizer/koagenda.cpp | |||
@@ -82,13 +82,13 @@ MarcusBains::MarcusBains(KOAgenda *_agenda,const char *name) | |||
82 | 82 | ||
83 | oldToday = -1; | 83 | oldToday = -1; |
84 | } | 84 | } |
85 | 85 | ||
86 | MarcusBains::~MarcusBains() | 86 | MarcusBains::~MarcusBains() |
87 | { | 87 | { |
88 | delete minutes; | 88 | //delete minutes; |
89 | } | 89 | } |
90 | 90 | ||
91 | int MarcusBains::todayColumn() | 91 | int MarcusBains::todayColumn() |
92 | { | 92 | { |
93 | QDate currentDate = QDate::currentDate(); | 93 | QDate currentDate = QDate::currentDate(); |
94 | 94 | ||
@@ -148,16 +148,17 @@ void MarcusBains::updateLocation(bool recalculate) | |||
148 | // somewhere, where the last column of this widget is a few pixels | 148 | // somewhere, where the last column of this widget is a few pixels |
149 | // narrower than the other columns. | 149 | // narrower than the other columns. |
150 | int offs = (today==agenda->columns()-1) ? -4 : 0; | 150 | int offs = (today==agenda->columns()-1) ? -4 : 0; |
151 | agenda->moveChild(mTimeBox, | 151 | agenda->moveChild(mTimeBox, |
152 | x+agenda->gridSpacingX()-mTimeBox->width()+offs-1, | 152 | x+agenda->gridSpacingX()-mTimeBox->width()+offs-1, |
153 | y-mTimeBox->height()); | 153 | y-mTimeBox->height()); |
154 | |||
155 | mTimeBox->raise(); | 154 | mTimeBox->raise(); |
156 | //mTimeBox->setAutoMask(true); | 155 | //mTimeBox->setAutoMask(true); |
157 | minutes->start(5000,true); | 156 | int secs = QTime::currentTime().second(); |
157 | qDebug("second %d ", secs ); | ||
158 | minutes->start( (60 - secs +1)*1000 ,true); | ||
158 | } | 159 | } |
159 | 160 | ||
160 | 161 | ||
161 | //////////////////////////////////////////////////////////////////////////// | 162 | //////////////////////////////////////////////////////////////////////////// |
162 | 163 | ||
163 | 164 | ||
@@ -439,13 +440,13 @@ void KOAgenda::categoryChanged(Incidence * inc) | |||
439 | } | 440 | } |
440 | bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me) | 441 | bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me) |
441 | { | 442 | { |
442 | 443 | ||
443 | if ( mInvalidPixmap ) { | 444 | if ( mInvalidPixmap ) { |
444 | mInvalidPixmap = false; | 445 | mInvalidPixmap = false; |
445 | qDebug("InvalidPixmap "); | 446 | qDebug("KO: Upsizing Pixmaps "); |
446 | computeSizes(); | 447 | computeSizes(); |
447 | emit updateViewSignal(); | 448 | emit updateViewSignal(); |
448 | return true; | 449 | return true; |
449 | } | 450 | } |
450 | emit sendPing(); | 451 | emit sendPing(); |
451 | static int startX = 0; | 452 | static int startX = 0; |
@@ -1273,13 +1274,13 @@ void KOAgenda::drawContents(QPainter* p, int cx, int cy, int cw, int ch) | |||
1273 | { | 1274 | { |
1274 | if ( globalFlagBlockAgenda ) | 1275 | if ( globalFlagBlockAgenda ) |
1275 | return; | 1276 | return; |
1276 | 1277 | ||
1277 | if ( mInvalidPixmap ) { | 1278 | if ( mInvalidPixmap ) { |
1278 | mInvalidPixmap = false; | 1279 | mInvalidPixmap = false; |
1279 | qDebug("InvalidPixmap "); | 1280 | qDebug("KO: Upsizing Pixmaps "); |
1280 | computeSizes(); | 1281 | computeSizes(); |
1281 | emit updateViewSignal(); | 1282 | emit updateViewSignal(); |
1282 | return; | 1283 | return; |
1283 | } | 1284 | } |
1284 | if ( ! mAllDayMode ) { | 1285 | if ( ! mAllDayMode ) { |
1285 | // currently not working for | 1286 | // currently not working for |
@@ -1414,13 +1415,13 @@ void KOAgenda::finishUpdate() | |||
1414 | globalFlagBlockAgendaItemUpdate = 1; | 1415 | globalFlagBlockAgendaItemUpdate = 1; |
1415 | qApp->processEvents(); | 1416 | qApp->processEvents(); |
1416 | globalFlagBlockAgendaItemPaint = 0; | 1417 | globalFlagBlockAgendaItemPaint = 0; |
1417 | for ( item=mItems.first(); item != 0; item=mItems.next() ) { | 1418 | for ( item=mItems.first(); item != 0; item=mItems.next() ) { |
1418 | item->repaint( false ); | 1419 | item->repaint( false ); |
1419 | } | 1420 | } |
1420 | 1421 | marcus_bains(); | |
1421 | } | 1422 | } |
1422 | 1423 | ||
1423 | /* | 1424 | /* |
1424 | Draw grid in the background of the agenda. | 1425 | Draw grid in the background of the agenda. |
1425 | */ | 1426 | */ |
1426 | void KOAgenda::drawContentsToPainter( QPainter* paint, bool backgroundOnly )// int cx, int cy, int cw, int ch) | 1427 | void KOAgenda::drawContentsToPainter( QPainter* paint, bool backgroundOnly )// int cx, int cy, int cw, int ch) |
@@ -1797,13 +1798,12 @@ KOAgendaItem *KOAgenda::insertItem (Incidence *event,QDate qd,int X,int YTop,int | |||
1797 | mItems.append(agendaItem); | 1798 | mItems.append(agendaItem); |
1798 | 1799 | ||
1799 | placeSubCells(agendaItem); | 1800 | placeSubCells(agendaItem); |
1800 | 1801 | ||
1801 | //agendaItem->show(); | 1802 | //agendaItem->show(); |
1802 | 1803 | ||
1803 | marcus_bains(); | ||
1804 | 1804 | ||
1805 | return agendaItem; | 1805 | return agendaItem; |
1806 | } | 1806 | } |
1807 | 1807 | ||
1808 | 1808 | ||
1809 | /* | 1809 | /* |
@@ -1870,14 +1870,12 @@ void KOAgenda::insertMultiItem (Event *event,QDate qd,int XBegin,int XEnd, | |||
1870 | if (current == last) setLast = 0; | 1870 | if (current == last) setLast = 0; |
1871 | else setLast = last; | 1871 | else setLast = last; |
1872 | 1872 | ||
1873 | current->setMultiItem(setFirst,next,setLast); | 1873 | current->setMultiItem(setFirst,next,setLast); |
1874 | current = next; | 1874 | current = next; |
1875 | } | 1875 | } |
1876 | |||
1877 | marcus_bains(); | ||
1878 | } | 1876 | } |
1879 | 1877 | ||
1880 | 1878 | ||
1881 | //QSizePolicy KOAgenda::sizePolicy() const | 1879 | //QSizePolicy KOAgenda::sizePolicy() const |
1882 | //{ | 1880 | //{ |
1883 | // Thought this would make the all-day event agenda minimum size and the | 1881 | // Thought this would make the all-day event agenda minimum size and the |
@@ -1956,25 +1954,24 @@ void KOAgenda::computeSizes() | |||
1956 | } | 1954 | } |
1957 | int cw = contentsWidth(); | 1955 | int cw = contentsWidth(); |
1958 | int ch = contentsHeight(); | 1956 | int ch = contentsHeight(); |
1959 | if ( mAllDayMode ) { | 1957 | if ( mAllDayMode ) { |
1960 | QPixmap* paintPixAll = KOAgendaItem::paintPixAllday(); | 1958 | QPixmap* paintPixAll = KOAgendaItem::paintPixAllday(); |
1961 | if ( (paintPixAll->width() < cw || paintPixAll->height() < ch) && cw > 0 && ch > 0 ) { | 1959 | if ( (paintPixAll->width() < cw || paintPixAll->height() < ch) && cw > 0 && ch > 0 ) { |
1962 | qDebug("paintPixAll->resize "); | 1960 | //qDebug("paintPixAll->resize "); |
1963 | paintPixAll->resize( cw, ch ); | 1961 | paintPixAll->resize( cw, ch ); |
1964 | } | 1962 | } |
1965 | } else { | 1963 | } else { |
1966 | QPixmap* paintPix = KOAgendaItem::paintPix(); | 1964 | QPixmap* paintPix = KOAgendaItem::paintPix(); |
1967 | if ( paintPix->width() < cw || paintPix->height() < ch ) { | 1965 | if ( paintPix->width() < cw || paintPix->height() < ch ) { |
1968 | qDebug("paintPix->resize "); | 1966 | //qDebug("paintPix->resize "); |
1969 | paintPix->resize( cw , ch ); | 1967 | paintPix->resize( cw , ch ); |
1970 | } | 1968 | } |
1971 | } | 1969 | } |
1972 | 1970 | ||
1973 | checkScrollBoundaries(); | 1971 | checkScrollBoundaries(); |
1974 | marcus_bains(); | ||
1975 | drawContentsToPainter(); | 1972 | drawContentsToPainter(); |
1976 | viewport()->repaint(false); | 1973 | viewport()->repaint(false); |
1977 | } | 1974 | } |
1978 | 1975 | ||
1979 | void KOAgenda::scrollUp() | 1976 | void KOAgenda::scrollUp() |
1980 | { | 1977 | { |
@@ -2028,13 +2025,12 @@ void KOAgenda::updateConfig() | |||
2028 | //setFixedHeight( mGridSpacingY+1 ); | 2025 | //setFixedHeight( mGridSpacingY+1 ); |
2029 | //qDebug("KOPrefs:aaaaa:instance()->mAllDaySize %d ", KOPrefs::instance()->mAllDaySize); | 2026 | //qDebug("KOPrefs:aaaaa:instance()->mAllDaySize %d ", KOPrefs::instance()->mAllDaySize); |
2030 | } | 2027 | } |
2031 | else { | 2028 | else { |
2032 | mGridSpacingY = KOPrefs::instance()->mHourSize; | 2029 | mGridSpacingY = KOPrefs::instance()->mHourSize; |
2033 | calculateWorkingHours(); | 2030 | calculateWorkingHours(); |
2034 | marcus_bains(); | ||
2035 | } | 2031 | } |
2036 | } | 2032 | } |
2037 | 2033 | ||
2038 | void KOAgenda::checkScrollBoundaries() | 2034 | void KOAgenda::checkScrollBoundaries() |
2039 | { | 2035 | { |
2040 | // Invalidate old values to force update | 2036 | // Invalidate old values to force update |
@@ -2121,13 +2117,12 @@ DateList KOAgenda::dateList() const | |||
2121 | return mSelectedDates; | 2117 | return mSelectedDates; |
2122 | } | 2118 | } |
2123 | 2119 | ||
2124 | void KOAgenda::setDateList(const DateList &selectedDates) | 2120 | void KOAgenda::setDateList(const DateList &selectedDates) |
2125 | { | 2121 | { |
2126 | mSelectedDates = selectedDates; | 2122 | mSelectedDates = selectedDates; |
2127 | marcus_bains(); | ||
2128 | } | 2123 | } |
2129 | 2124 | ||
2130 | void KOAgenda::setHolidayMask(QMemArray<bool> *mask) | 2125 | void KOAgenda::setHolidayMask(QMemArray<bool> *mask) |
2131 | { | 2126 | { |
2132 | mHolidayMask = mask; | 2127 | mHolidayMask = mask; |
2133 | 2128 | ||
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp index 1b21a71..ef5c4dd 100644 --- a/korganizer/koagendaview.cpp +++ b/korganizer/koagendaview.cpp | |||
@@ -73,13 +73,13 @@ extern int globalFlagBlockAgenda; | |||
73 | extern int globalFlagBlockStartup; | 73 | extern int globalFlagBlockStartup; |
74 | extern int globalFlagBlockAgendaItemPaint; | 74 | extern int globalFlagBlockAgendaItemPaint; |
75 | extern int globalFlagBlockAgendaItemUpdate; | 75 | extern int globalFlagBlockAgendaItemUpdate; |
76 | extern int globalFlagBlockLabel; | 76 | extern int globalFlagBlockLabel; |
77 | using namespace KOrg; | 77 | using namespace KOrg; |
78 | 78 | ||
79 | #define IDLETIMEOUT 15 | 79 | #define IDLETIMEOUT 45 |
80 | 80 | ||
81 | TimeLabels::TimeLabels(int rows,QWidget *parent,const char *name,WFlags f) : | 81 | TimeLabels::TimeLabels(int rows,QWidget *parent,const char *name,WFlags f) : |
82 | QScrollView(parent,name,f) | 82 | QScrollView(parent,name,f) |
83 | { | 83 | { |
84 | myPix.resize( 1, 1 ); | 84 | myPix.resize( 1, 1 ); |
85 | mRows = rows; | 85 | mRows = rows; |
@@ -570,45 +570,48 @@ KOAgendaView::KOAgendaView(Calendar *cal,QWidget *parent,const char *name) : | |||
570 | SLOT( addToCalSlot(Incidence * , Incidence *) ) ); | 570 | SLOT( addToCalSlot(Incidence * , Incidence *) ) ); |
571 | // connect( mAgenda, SIGNAL( cloneIncidenceSignal(Incidence *) ), SIGNAL( cloneIncidenceSignal(Incidence *) ) ); | 571 | // connect( mAgenda, SIGNAL( cloneIncidenceSignal(Incidence *) ), SIGNAL( cloneIncidenceSignal(Incidence *) ) ); |
572 | //connect( mAllDayAgenda, SIGNAL( cloneIncidenceSignal(Incidence *) ), SIGNAL( cloneIncidenceSignal(Incidence *) ) ); | 572 | //connect( mAllDayAgenda, SIGNAL( cloneIncidenceSignal(Incidence *) ), SIGNAL( cloneIncidenceSignal(Incidence *) ) ); |
573 | 573 | ||
574 | connect( mAllDayAgenda, SIGNAL( signalClearSelection() ),mAgenda, SLOT( slotClearSelection()) ); | 574 | connect( mAllDayAgenda, SIGNAL( signalClearSelection() ),mAgenda, SLOT( slotClearSelection()) ); |
575 | connect( mAgenda, SIGNAL( signalClearSelection() ),mAllDayAgenda, SLOT( slotClearSelection()) ); | 575 | connect( mAgenda, SIGNAL( signalClearSelection() ),mAllDayAgenda, SLOT( slotClearSelection()) ); |
576 | #ifndef DESKTOP_VERSION | ||
576 | connect( mAllDayAgenda, SIGNAL( updateViewSignal() ),this, SLOT( fillAgenda()) ); | 577 | connect( mAllDayAgenda, SIGNAL( updateViewSignal() ),this, SLOT( fillAgenda()) ); |
577 | connect( mAgenda, SIGNAL( updateViewSignal() ), this, SLOT( fillAgenda()) ); | 578 | connect( mAgenda, SIGNAL( updateViewSignal() ), this, SLOT( fillAgenda()) ); |
578 | |||
579 | connect( mAllDayAgenda, SIGNAL( sendPing() ),this, SLOT( startIdleTimeout()) ); | 579 | connect( mAllDayAgenda, SIGNAL( sendPing() ),this, SLOT( startIdleTimeout()) ); |
580 | connect( mAgenda, SIGNAL( sendPing() ), this, SLOT( startIdleTimeout()) ); | 580 | connect( mAgenda, SIGNAL( sendPing() ), this, SLOT( startIdleTimeout()) ); |
581 | |||
582 | |||
583 | mIdleTimer = new QTimer ( this );; | 581 | mIdleTimer = new QTimer ( this );; |
584 | connect(mIdleTimer,SIGNAL(timeout()),SLOT(slotIdleTimeout())); | 582 | connect(mIdleTimer,SIGNAL(timeout()),SLOT(slotIdleTimeout())); |
583 | #endif | ||
585 | } | 584 | } |
586 | void KOAgendaView::startIdleTimeout() | 585 | void KOAgendaView::startIdleTimeout() |
587 | { | 586 | { |
587 | #ifndef DESKTOP_VERSION | ||
588 | mIdleStart = QDateTime::currentDateTime(); | 588 | mIdleStart = QDateTime::currentDateTime(); |
589 | mIdleTimer->start( IDLETIMEOUT * 1000 ); | 589 | mIdleTimer->start( IDLETIMEOUT * 1000 ); |
590 | #endif | ||
590 | } | 591 | } |
591 | void KOAgendaView::slotIdleTimeout() | 592 | void KOAgendaView::slotIdleTimeout() |
592 | { | 593 | { |
593 | qDebug("SECS TO %d ",mIdleStart.secsTo( QDateTime::currentDateTime() ) ); | 594 | #ifndef DESKTOP_VERSION |
595 | //qDebug("SECS TO %d ",mIdleStart.secsTo( QDateTime::currentDateTime() ) ); | ||
594 | int secsfromstart = mIdleStart.secsTo( QDateTime::currentDateTime() ); | 596 | int secsfromstart = mIdleStart.secsTo( QDateTime::currentDateTime() ); |
595 | mIdleTimer->stop(); | 597 | mIdleTimer->stop(); |
596 | bool isActice = topLevelWidget()->isActiveWindow(); | 598 | bool isActice = topLevelWidget()->isActiveWindow(); |
597 | qDebug("KO: Active Window %d %d", isActice, isVisible()); | 599 | //qDebug("KO: Active Window %d %d", isActice, isVisible()); |
598 | // we do nothing if we wake up from a suspend | 600 | // we do nothing if we wake up from a suspend |
599 | if ( secsfromstart > IDLETIMEOUT + 30 && isActice ) { | 601 | if ( secsfromstart > IDLETIMEOUT + 30 && isActice ) { |
600 | qDebug("KO: Wakeup from suspend "); | 602 | qDebug("KO: Wakeup from suspend "); |
601 | startIdleTimeout(); | 603 | startIdleTimeout(); |
602 | return; | 604 | return; |
603 | } | 605 | } |
604 | qDebug("KO: Downsizing Pixmaps "); | 606 | qDebug("KO: Downsizing Pixmaps "); |
605 | mAgenda->shrinkPixmap(); | 607 | mAgenda->shrinkPixmap(); |
606 | mAllDayAgenda->shrinkPixmap(); | 608 | mAllDayAgenda->shrinkPixmap(); |
607 | KOAgendaItem::paintPix()->resize( 20,20); | 609 | KOAgendaItem::paintPix()->resize( 20,20); |
608 | KOAgendaItem::paintPixAllday()->resize( 20,20); | 610 | KOAgendaItem::paintPixAllday()->resize( 20,20); |
611 | #endif | ||
609 | 612 | ||
610 | } | 613 | } |
611 | void KOAgendaView::toggleAllDay() | 614 | void KOAgendaView::toggleAllDay() |
612 | { | 615 | { |
613 | if ( mSplitterAgenda->firstHandle() ) | 616 | if ( mSplitterAgenda->firstHandle() ) |
614 | mSplitterAgenda->firstHandle()->toggle(); | 617 | mSplitterAgenda->firstHandle()->toggle(); |
diff --git a/korganizer/kofilterview.cpp b/korganizer/kofilterview.cpp index ff80afc..7ce3f1f 100644 --- a/korganizer/kofilterview.cpp +++ b/korganizer/kofilterview.cpp | |||
@@ -34,12 +34,13 @@ | |||
34 | #include <libkcal/calfilter.h> | 34 | #include <libkcal/calfilter.h> |
35 | 35 | ||
36 | #include "kofilterview.h" | 36 | #include "kofilterview.h" |
37 | #include "koprefs.h" | 37 | #include "koprefs.h" |
38 | #include <kiconloader.h> | 38 | #include <kiconloader.h> |
39 | #include <kglobal.h> | 39 | #include <kglobal.h> |
40 | #include <kglobalsettings.h> | ||
40 | #include <kcolorbutton.h> | 41 | #include <kcolorbutton.h> |
41 | #include <kmessagebox.h> | 42 | #include <kmessagebox.h> |
42 | 43 | ||
43 | 44 | ||
44 | 45 | ||
45 | 46 | ||
@@ -395,29 +396,45 @@ void KOCalEditView::addCal() | |||
395 | QTimer::singleShot( 100, this, SIGNAL ( checkCalendar() ) ); | 396 | QTimer::singleShot( 100, this, SIGNAL ( checkCalendar() ) ); |
396 | } | 397 | } |
397 | int KOCalEditView::addCalendar( QString name, QString file, bool ask ) | 398 | int KOCalEditView::addCalendar( QString name, QString file, bool ask ) |
398 | { | 399 | { |
399 | 400 | ||
400 | QFileInfo fi ( file ); | 401 | QFileInfo fi ( file ); |
402 | QString absFile = file; | ||
403 | bool isRelative = false; | ||
404 | if ( fi.isRelative() ) { | ||
405 | isRelative = true; | ||
406 | absFile = KGlobalSettings::calendarDir()+file; | ||
407 | fi.setFile( absFile ); | ||
408 | } else { | ||
409 | QString cd = KGlobalSettings::calendarDir(); | ||
410 | if ( file.left( cd.length() ) == cd ) { | ||
411 | isRelative = true; | ||
412 | file = fi.fileName (); | ||
413 | fi.setFile( absFile ); | ||
414 | } | ||
415 | } | ||
401 | if (!fi.exists() ) { | 416 | if (!fi.exists() ) { |
402 | if ( ask ) | 417 | if ( ask ) |
403 | if ( KMessageBox::questionYesNo(this, i18n("The file\n%1\ndoes not exist!\nShall I create it for you?").arg( file ) )== KMessageBox::No ) | 418 | if ( KMessageBox::questionYesNo(this, i18n("The file\n%1\ndoes not exist!\nShall I create it for you?").arg( KGlobal::formatMessage (absFile,0) ) )== KMessageBox::No ) |
404 | return 0; | 419 | return 0; |
405 | QFile fileIn( file ); | 420 | QFile fileIn( absFile ); |
406 | if (!fileIn.open( IO_WriteOnly ) ) { | 421 | if (!fileIn.open( IO_WriteOnly ) ) { |
407 | KMessageBox::sorry( this, i18n("Sorry, cannot create the file\n%1!\nNo calendar added!").arg( file ) ); | 422 | KMessageBox::sorry( this, i18n("Sorry, cannot create the file\n%1!\nNo calendar added!").arg( file ) ); |
408 | return 0; | 423 | return 0; |
409 | } | 424 | } |
410 | QTextStream tsIn( &fileIn ); | 425 | QTextStream tsIn( &fileIn ); |
411 | tsIn.setCodec( QTextCodec::codecForName("utf8") ); | 426 | tsIn.setCodec( QTextCodec::codecForName("utf8") ); |
412 | tsIn << "BEGIN:VCALENDAR\nPRODID:-//KDE-Pim//Platform-independent 2.1.0\nVERSION:2.0\nEND:VCALENDAR\n"; | 427 | tsIn << "BEGIN:VCALENDAR\nPRODID:-//KDE-Pim//Platform-independent 2.1.0\nVERSION:2.0\nEND:VCALENDAR\n"; |
413 | fileIn.close(); | 428 | fileIn.close(); |
414 | } | 429 | } |
415 | KopiCalendarFile * kkf = KOPrefs::instance()->getNewCalendar(); | 430 | KopiCalendarFile * kkf = KOPrefs::instance()->getNewCalendar(); |
416 | kkf->mName = name; | 431 | kkf->mName = name; |
417 | kkf->mFileName = file; | 432 | kkf->mFileName = absFile; |
433 | kkf->mSavedFileName = file; | ||
434 | kkf->isRelative = isRelative; | ||
418 | emit calendarAdded( kkf->mCalNumber ); | 435 | emit calendarAdded( kkf->mCalNumber ); |
419 | if ( ask ) | 436 | if ( ask ) |
420 | emit needsUpdate(); | 437 | emit needsUpdate(); |
421 | QTimer::singleShot( 0, this, SLOT ( readConfig() ) ); | 438 | QTimer::singleShot( 0, this, SLOT ( readConfig() ) ); |
422 | return kkf->mCalNumber; | 439 | return kkf->mCalNumber; |
423 | } | 440 | } |
diff --git a/korganizer/kofilterview.h b/korganizer/kofilterview.h index 4322299..be7b5b6 100644 --- a/korganizer/kofilterview.h +++ b/korganizer/kofilterview.h | |||
@@ -86,12 +86,13 @@ void checkValid() { | |||
86 | KMessageBox::information( this, i18n("Sorry, the calendar name is empty!") ); | 86 | KMessageBox::information( this, i18n("Sorry, the calendar name is empty!") ); |
87 | nameE->setText( "LPQJ_"+ QString::number( QTime::currentTime().msec () )); | 87 | nameE->setText( "LPQJ_"+ QString::number( QTime::currentTime().msec () )); |
88 | return; | 88 | return; |
89 | } | 89 | } |
90 | if ( url->url().isEmpty() ) { | 90 | if ( url->url().isEmpty() ) { |
91 | KMessageBox::information( this, i18n("Sorry, the file name is empty!") ); | 91 | KMessageBox::information( this, i18n("Sorry, the file name is empty!") ); |
92 | url->setURL( nameE->text() + ".ics" ); | ||
92 | return; | 93 | return; |
93 | } | 94 | } |
94 | accept(); | 95 | accept(); |
95 | } | 96 | } |
96 | 97 | ||
97 | public: | 98 | public: |
diff --git a/korganizer/koprefs.cpp b/korganizer/koprefs.cpp index a886735..f1f1442 100644 --- a/korganizer/koprefs.cpp +++ b/korganizer/koprefs.cpp | |||
@@ -451,24 +451,28 @@ void KOPrefs::usrReadConfig() | |||
451 | while ( mNextAvailableCalendar <= numCals ) { | 451 | while ( mNextAvailableCalendar <= numCals ) { |
452 | //qDebug("Read cal #%d ", mNextAvailableCalendar ); | 452 | //qDebug("Read cal #%d ", mNextAvailableCalendar ); |
453 | QString prefix = "Cal_" +QString::number( mNextAvailableCalendar ); | 453 | QString prefix = "Cal_" +QString::number( mNextAvailableCalendar ); |
454 | KopiCalendarFile *kkf = getNewCalendar(); | 454 | KopiCalendarFile *kkf = getNewCalendar(); |
455 | kkf->isStandard = fc.readBoolEntry( prefix+"_isStandard", false ); | 455 | kkf->isStandard = fc.readBoolEntry( prefix+"_isStandard", false ); |
456 | kkf->isEnabled = fc.readBoolEntry( prefix+"_isEnabled", true); | 456 | kkf->isEnabled = fc.readBoolEntry( prefix+"_isEnabled", true); |
457 | kkf->isRelative = fc.readBoolEntry( prefix+"_isRelative", false ); | ||
457 | kkf->isAlarmEnabled = fc.readBoolEntry( prefix+"_isAlarmEnabled", true); | 458 | kkf->isAlarmEnabled = fc.readBoolEntry( prefix+"_isAlarmEnabled", true); |
458 | kkf->isReadOnly = fc.readBoolEntry( prefix+"_isReadOnly", false); | 459 | kkf->isReadOnly = fc.readBoolEntry( prefix+"_isReadOnly", false); |
459 | kkf->mName = fc.readEntry( prefix+"_Name", "Calendar"); | 460 | kkf->mName = fc.readEntry( prefix+"_Name", "Calendar"); |
460 | kkf->mFileName = fc.readEntry( prefix+"_FileName", kkf->mFileName); | 461 | kkf->mFileName = fc.readEntry( prefix+"_FileName", kkf->mFileName); |
462 | kkf->mSavedFileName = fc.readEntry( prefix+"_SavedFileName", kkf->mFileName); | ||
461 | kkf->mDefaultColor = fc.readColorEntry( prefix+"_Color",&mEventColor); | 463 | kkf->mDefaultColor = fc.readColorEntry( prefix+"_Color",&mEventColor); |
462 | if ( kkf->mCalNumber == 1 ) { | 464 | if ( kkf->mCalNumber == 1 ) { |
463 | kkf->mFileName = locateLocal( "data", "korganizer/mycalendar.ics" ); | 465 | kkf->mFileName = locateLocal( "data", "korganizer/mycalendar.ics" ); |
464 | } | 466 | } |
465 | //qDebug("NAME %s %s", kkf->mName.latin1(), i18n("Birthdays").latin1() ); | 467 | //qDebug("NAME %s %s", kkf->mName.latin1(), i18n("Birthdays").latin1() ); |
466 | if ( kkf->mName == i18n("Birthdays") ) { | 468 | if ( kkf->mName == i18n("Birthdays") ) { |
467 | kkf->mFileName = locateLocal( "data", "korganizer/birthdays.ics" ); | 469 | kkf->mFileName = locateLocal( "data", "korganizer/birthdays.ics" ); |
468 | } | 470 | } |
471 | if ( kkf->isRelative ) | ||
472 | kkf->mFileName = KGlobalSettings::calendarDir() + kkf->mSavedFileName; | ||
469 | } | 473 | } |
470 | 474 | ||
471 | KPimPrefs::usrReadConfig(); | 475 | KPimPrefs::usrReadConfig(); |
472 | } | 476 | } |
473 | 477 | ||
474 | KopiCalendarFile * KOPrefs::getCalendar( int num ) | 478 | KopiCalendarFile * KOPrefs::getCalendar( int num ) |
@@ -549,14 +553,16 @@ void KOPrefs::usrWriteConfig() | |||
549 | //qDebug("Write calendar %d %d ", numCal , writeCal); | 553 | //qDebug("Write calendar %d %d ", numCal , writeCal); |
550 | QString prefix = "Cal_" + QString::number( writeCal ); | 554 | QString prefix = "Cal_" + QString::number( writeCal ); |
551 | fc.writeEntry( prefix+"_isStandard", kkf->isStandard ); | 555 | fc.writeEntry( prefix+"_isStandard", kkf->isStandard ); |
552 | fc.writeEntry( prefix+"_isEnabled", kkf->isEnabled ); | 556 | fc.writeEntry( prefix+"_isEnabled", kkf->isEnabled ); |
553 | fc.writeEntry( prefix+"_isAlarmEnabled", kkf->isAlarmEnabled ); | 557 | fc.writeEntry( prefix+"_isAlarmEnabled", kkf->isAlarmEnabled ); |
554 | fc.writeEntry( prefix+"_isReadOnly", kkf->isReadOnly ); | 558 | fc.writeEntry( prefix+"_isReadOnly", kkf->isReadOnly ); |
559 | fc.writeEntry( prefix+"_isRelative", kkf->isRelative ); | ||
555 | fc.writeEntry( prefix+"_Name", kkf->mName); | 560 | fc.writeEntry( prefix+"_Name", kkf->mName); |
556 | fc.writeEntry( prefix+"_FileName", kkf->mFileName); | 561 | fc.writeEntry( prefix+"_FileName", kkf->mFileName); |
562 | fc.writeEntry( prefix+"_SavedFileName", kkf->mSavedFileName); | ||
557 | fc.writeEntry( prefix+"_Color",kkf->mDefaultColor); | 563 | fc.writeEntry( prefix+"_Color",kkf->mDefaultColor); |
558 | } | 564 | } |
559 | kkf = mCalendars.next(); | 565 | kkf = mCalendars.next(); |
560 | } | 566 | } |
561 | ++numCal; | 567 | ++numCal; |
562 | } | 568 | } |
diff --git a/korganizer/koprefs.h b/korganizer/koprefs.h index 7ec5327..0779e27 100644 --- a/korganizer/koprefs.h +++ b/korganizer/koprefs.h | |||
@@ -51,23 +51,27 @@ class KopiCalendarFile : public QObject | |||
51 | isStandard = false; | 51 | isStandard = false; |
52 | isEnabled = true; | 52 | isEnabled = true; |
53 | isAlarmEnabled = true; | 53 | isAlarmEnabled = true; |
54 | isReadOnly = false; | 54 | isReadOnly = false; |
55 | mName = "Calendar"; | 55 | mName = "Calendar"; |
56 | mFileName = QDir::homeDirPath() + "/icalfile.ics"; | 56 | mFileName = QDir::homeDirPath() + "/icalfile.ics"; |
57 | mSavedFileName = "icalfile.ics"; | ||
57 | mCalNumber = 0; | 58 | mCalNumber = 0; |
58 | mDefaultColor = Qt::red; | 59 | mDefaultColor = Qt::red; |
59 | mErrorOnLoad = false; | 60 | mErrorOnLoad = false; |
61 | isRelative = false; | ||
60 | } | 62 | } |
61 | bool isStandard; | 63 | bool isStandard; |
62 | bool isEnabled; | 64 | bool isEnabled; |
63 | bool isAlarmEnabled; | 65 | bool isAlarmEnabled; |
64 | bool isReadOnly; | 66 | bool isReadOnly; |
65 | bool mErrorOnLoad; | 67 | bool mErrorOnLoad; |
66 | QString mName; | 68 | QString mName; |
67 | QString mFileName; | 69 | QString mFileName; |
70 | QString mSavedFileName; | ||
71 | bool isRelative; | ||
68 | int mCalNumber; | 72 | int mCalNumber; |
69 | QColor mDefaultColor; | 73 | QColor mDefaultColor; |
70 | QDateTime mLoadDt; | 74 | QDateTime mLoadDt; |
71 | }; | 75 | }; |
72 | class KOPrefs : public KPimPrefs | 76 | class KOPrefs : public KPimPrefs |
73 | { | 77 | { |
diff --git a/microkde/kglobalsettings.cpp b/microkde/kglobalsettings.cpp index 3f8a630..2e483e9 100644 --- a/microkde/kglobalsettings.cpp +++ b/microkde/kglobalsettings.cpp | |||
@@ -60,12 +60,21 @@ QString KGlobalSettings::backupDataDir() | |||
60 | if ( dir.isEmpty() ) { | 60 | if ( dir.isEmpty() ) { |
61 | dir = locateLocal( "data", "backupdir/d.ttl" ); | 61 | dir = locateLocal( "data", "backupdir/d.ttl" ); |
62 | dir = dir.left ( dir.length() - 5); | 62 | dir = dir.left ( dir.length() - 5); |
63 | } | 63 | } |
64 | return dir; | 64 | return dir; |
65 | } | 65 | } |
66 | QString KGlobalSettings::calendarDir() | ||
67 | { | ||
68 | static QString dir; | ||
69 | if ( dir.isEmpty() ) { | ||
70 | dir = locateLocal( "data", "korganizer/d.ttl" ); | ||
71 | dir = dir.left ( dir.length() - 5); | ||
72 | } | ||
73 | return dir; | ||
74 | } | ||
66 | 75 | ||
67 | QFont KGlobalSettings::toolBarFont() | 76 | QFont KGlobalSettings::toolBarFont() |
68 | { | 77 | { |
69 | return QApplication::font(); | 78 | return QApplication::font(); |
70 | } | 79 | } |
71 | 80 | ||
diff --git a/microkde/kglobalsettings.h b/microkde/kglobalsettings.h index 4e4d87c..977e5b6 100644 --- a/microkde/kglobalsettings.h +++ b/microkde/kglobalsettings.h | |||
@@ -19,12 +19,13 @@ class KGlobalSettings | |||
19 | static QColor toolBarHighlightColor(); | 19 | static QColor toolBarHighlightColor(); |
20 | static QColor alternateBackgroundColor(); | 20 | static QColor alternateBackgroundColor(); |
21 | static void setAlternateBackgroundColor(QColor); | 21 | static void setAlternateBackgroundColor(QColor); |
22 | static QRect desktopGeometry( QWidget * ); | 22 | static QRect desktopGeometry( QWidget * ); |
23 | static QString timeTrackerDir(); | 23 | static QString timeTrackerDir(); |
24 | static QString backupDataDir(); | 24 | static QString backupDataDir(); |
25 | static QString calendarDir(); | ||
25 | 26 | ||
26 | /** | 27 | /** |
27 | * Returns whether KDE runs in single (default) or double click | 28 | * Returns whether KDE runs in single (default) or double click |
28 | * mode. | 29 | * mode. |
29 | * see http://developer.kde.org/documentation/standards/kde/style/mouse/index.html | 30 | * see http://developer.kde.org/documentation/standards/kde/style/mouse/index.html |
30 | * @return true if single click mode, or false if double click mode. | 31 | * @return true if single click mode, or false if double click mode. |