summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-06-15 18:23:08 (UTC)
committer zautrix <zautrix>2005-06-15 18:23:08 (UTC)
commitccfe3f97afd65c75ee6c7c931cb3694919a4e29b (patch) (unidiff)
tree117d3467ef1d9678f31dea1b506390707f88d94a
parentcba0ac17d3d505805be6aa4b4fea6f63473a1e00 (diff)
downloadkdepimpi-ccfe3f97afd65c75ee6c7c931cb3694919a4e29b.zip
kdepimpi-ccfe3f97afd65c75ee6c7c931cb3694919a4e29b.tar.gz
kdepimpi-ccfe3f97afd65c75ee6c7c931cb3694919a4e29b.tar.bz2
fixess
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp9
-rw-r--r--korganizer/koagendaview.cpp2
-rw-r--r--korganizer/kolistview.cpp68
-rw-r--r--korganizer/kolistview.h5
-rw-r--r--korganizer/koprefs.cpp4
-rw-r--r--korganizer/koprefs.h1
-rw-r--r--libkcal/calendar.h1
-rw-r--r--libkcal/calendarlocal.cpp10
-rw-r--r--libkcal/calendarlocal.h1
-rw-r--r--libkcal/incidencebase.cpp2
10 files changed, 87 insertions, 16 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index 377a66f..2012e92 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -1832,16 +1832,9 @@ bool CalendarView::importQtopia( const QString &categories,
1832} 1832}
1833 1833
1834void CalendarView::setSyncEventsReadOnly() 1834void CalendarView::setSyncEventsReadOnly()
1835{ 1835{
1836 Event * ev; 1836 mCalendar->setSyncEventsReadOnly();
1837 QPtrList<Event> eL = mCalendar->rawEvents();
1838 ev = eL.first();
1839 while ( ev ) {
1840 if ( ev->uid().left(15) == QString("last-syncEvent-") )
1841 ev->setReadOnly( true );
1842 ev = eL.next();
1843 }
1844} 1837}
1845 1838
1846bool CalendarView::loadCalendars() 1839bool CalendarView::loadCalendars()
1847{ 1840{
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp
index b2b136a..93ff55e 100644
--- a/korganizer/koagendaview.cpp
+++ b/korganizer/koagendaview.cpp
@@ -661,9 +661,9 @@ void KOAgendaView::createDayLabels()
661 661
662 // ### Before deleting and recreating we could check if mSelectedDates changed... 662 // ### Before deleting and recreating we could check if mSelectedDates changed...
663 // It would remove some flickering and gain speed (since this is called by 663 // It would remove some flickering and gain speed (since this is called by
664 // each updateView() call) 664 // each updateView() call)
665 665
666 int maxWid = mUpcomingWidth - mTimeLabels->width()- mAgenda->verticalScrollBar()->width() - mAgenda->frameWidth()*2; 666 int maxWid = mUpcomingWidth - mTimeLabels->width()- mAgenda->verticalScrollBar()->width() - mAgenda->frameWidth()*2;
667 mDayLabelsFrame->setMaximumWidth( mUpcomingWidth ); 667 mDayLabelsFrame->setMaximumWidth( mUpcomingWidth );
668 if ( maxWid < 20 ) 668 if ( maxWid < 20 )
669 maxWid = 20; 669 maxWid = 20;
diff --git a/korganizer/kolistview.cpp b/korganizer/kolistview.cpp
index 1f3b4c6..c705c73 100644
--- a/korganizer/kolistview.cpp
+++ b/korganizer/kolistview.cpp
@@ -66,11 +66,8 @@
66 66
67#include "kolistview.h" 67#include "kolistview.h"
68#include "koeventviewer.h" 68#include "koeventviewer.h"
69 69
70
71
72
73class KOListViewWhatsThis :public QWhatsThis 70class KOListViewWhatsThis :public QWhatsThis
74{ 71{
75public: 72public:
76 KOListViewWhatsThis( QWidget *wid, KOListView* view ) : QWhatsThis( wid ), _wid(wid),_view (view) { }; 73 KOListViewWhatsThis( QWidget *wid, KOListView* view ) : QWhatsThis( wid ), _wid(wid),_view (view) { };
@@ -139,8 +136,9 @@ bool ListItemVisitor::visit(Event *e)
139 mItem->setText(7,"---"); 136 mItem->setText(7,"---");
140 mItem->setText(8,"---"); 137 mItem->setText(8,"---");
141 mItem->setText(9, e->cancelled() ? i18n("Yes") : i18n("No")); 138 mItem->setText(9, e->cancelled() ? i18n("Yes") : i18n("No"));
142 mItem->setText(10,e->categoriesStr()); 139 mItem->setText(10,e->categoriesStr());
140 mItem->setText(11, KOPrefs::instance()->calName( e->calID() ));
143 141
144 QString key; 142 QString key;
145 QTime t = e->doesFloat() ? QTime(0,0) : e->dtStart().time(); 143 QTime t = e->doesFloat() ? QTime(0,0) : e->dtStart().time();
146 key.sprintf("%04d%02d%02d%02d%02d",ds.year(),ds.month(),ds.day(),t.hour(),t.minute()); 144 key.sprintf("%04d%02d%02d%02d%02d",ds.year(),ds.month(),ds.day(),t.hour(),t.minute());
@@ -188,8 +186,9 @@ bool ListItemVisitor::visit(Todo *t)
188 mItem->setText(8,"---"); 186 mItem->setText(8,"---");
189 } 187 }
190 mItem->setText(9, t->cancelled() ? i18n("Yes") : i18n("No")); 188 mItem->setText(9, t->cancelled() ? i18n("Yes") : i18n("No"));
191 mItem->setText(10,t->categoriesStr()); 189 mItem->setText(10,t->categoriesStr());
190 mItem->setText(11, KOPrefs::instance()->calName( t->calID() ));
192 191
193 QString key; 192 QString key;
194 QDate d; 193 QDate d;
195 if (t->hasDueDate()) { 194 if (t->hasDueDate()) {
@@ -223,8 +222,9 @@ bool ListItemVisitor::visit(Journal * j)
223 mItem->setText(7,j->dtStartDateStr()); 222 mItem->setText(7,j->dtStartDateStr());
224 mItem->setText(8,"---"); 223 mItem->setText(8,"---");
225 mItem->setText(9,"---"); 224 mItem->setText(9,"---");
226 mItem->setText(10,i18n("Last Modified: ")+ KGlobal::locale()->formatDateTime( j->lastModified() , true) ); 225 mItem->setText(10,i18n("Last Modified: ")+ KGlobal::locale()->formatDateTime( j->lastModified() , true) );
226 mItem->setText(11, KOPrefs::instance()->calName( j->calID() ));
227 227
228 QString key; 228 QString key;
229 QDate d = j->dtStart().date(); 229 QDate d = j->dtStart().date();
230 key.sprintf("%04d%02d%02d",d.year(),d.month(),d.day()); 230 key.sprintf("%04d%02d%02d",d.year(),d.month(),d.day());
@@ -250,8 +250,9 @@ KOListView::KOListView(Calendar *calendar, QWidget *parent,
250 mListView->addColumn(i18n("Due Date")); 250 mListView->addColumn(i18n("Due Date"));
251 mListView->addColumn(i18n("Due Time")); 251 mListView->addColumn(i18n("Due Time"));
252 mListView->addColumn(i18n("Cancelled")); 252 mListView->addColumn(i18n("Cancelled"));
253 mListView->addColumn(i18n("Categories")); 253 mListView->addColumn(i18n("Categories"));
254 mListView->addColumn(i18n("Calendar"));
254 255
255 mListView->setColumnAlignment(0,AlignLeft); 256 mListView->setColumnAlignment(0,AlignLeft);
256 mListView->setColumnAlignment(1,AlignLeft); 257 mListView->setColumnAlignment(1,AlignLeft);
257 mListView->setColumnAlignment(2,AlignHCenter); 258 mListView->setColumnAlignment(2,AlignHCenter);
@@ -262,13 +263,13 @@ KOListView::KOListView(Calendar *calendar, QWidget *parent,
262 mListView->setColumnAlignment(7,AlignLeft); 263 mListView->setColumnAlignment(7,AlignLeft);
263 mListView->setColumnAlignment(8,AlignLeft); 264 mListView->setColumnAlignment(8,AlignLeft);
264 mListView->setColumnAlignment(9,AlignLeft); 265 mListView->setColumnAlignment(9,AlignLeft);
265 mListView->setColumnAlignment(10,AlignLeft); 266 mListView->setColumnAlignment(10,AlignLeft);
266 mListView->setColumnWidthMode(10, QListView::Manual); 267 mListView->setColumnAlignment(11,AlignLeft);
267 mKOListViewWhatsThis = new KOListViewWhatsThis(mListView->viewport(),this); 268 mKOListViewWhatsThis = new KOListViewWhatsThis(mListView->viewport(),this);
268 269
269 int iii = 0; 270 int iii = 0;
270 for ( iii = 0; iii< 10 ; ++iii ) 271 for ( iii = 0; iii< 12 ; ++iii )
271 mListView->setColumnWidthMode( iii, QListView::Manual ); 272 mListView->setColumnWidthMode( iii, QListView::Manual );
272 273
273 QBoxLayout *layoutTop = new QVBoxLayout(this); 274 QBoxLayout *layoutTop = new QVBoxLayout(this);
274 layoutTop->addWidget(mListView); 275 layoutTop->addWidget(mListView);
@@ -294,8 +295,15 @@ KOListView::KOListView(Calendar *calendar, QWidget *parent,
294 i18n("Print complete list"),this, 295 i18n("Print complete list"),this,
295 SLOT(printList()),true); 296 SLOT(printList()),true);
296 mPopupMenu->insertSeparator(); 297 mPopupMenu->insertSeparator();
297#endif 298#endif
299 mCalPopup = new QPopupMenu ( this );
300 mPopupMenu->insertItem( i18n("Set Calendar"), mCalPopup );
301
302 QObject::connect(mCalPopup,SIGNAL(aboutToShow()),this,
303 SLOT( populateCalPopup() ));
304 QObject::connect(mCalPopup,SIGNAL(activated( int )),this,
305 SLOT( setCalendar( int ) ));
298 QPopupMenu * exportPO = new QPopupMenu ( this ); 306 QPopupMenu * exportPO = new QPopupMenu ( this );
299 mPopupMenu->insertItem( i18n("Export selected"), exportPO ); 307 mPopupMenu->insertItem( i18n("Export selected"), exportPO );
300 exportPO->insertItem( i18n("As iCal (ics) file..."),this, 308 exportPO->insertItem( i18n("As iCal (ics) file..."),this,
301 SLOT(saveToFile())); 309 SLOT(saveToFile()));
@@ -315,8 +323,9 @@ KOListView::KOListView(Calendar *calendar, QWidget *parent,
315 i18n("Set alarm for selected..."),this, 323 i18n("Set alarm for selected..."),this,
316 SLOT(setAlarm()),true); 324 SLOT(setAlarm()),true);
317 325
318 326
327
319#ifndef DESKTOP_VERSION 328#ifndef DESKTOP_VERSION
320 mPopupMenu->insertSeparator(); 329 mPopupMenu->insertSeparator();
321 mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), 330 mPopupMenu->addAdditionalItem(QIconSet(QPixmap()),
322 i18n("Beam selected via IR"),this, 331 i18n("Beam selected via IR"),this,
@@ -370,8 +379,55 @@ QString KOListView::getWhatsThisText(QPoint p)
370 return i18n("That is the list view" ); 379 return i18n("That is the list view" );
371 380
372} 381}
373 382
383void KOListView::setCalendar( int c )
384{
385 int result = QMessageBox::warning( this, i18n("KO/Pi: Information!"),
386 i18n("This adds the selected\nitems to the calendar\n%1\nand removes them from\ntheir current calendar!").arg( KOPrefs::instance()->calName( c ) ),
387 i18n("Continue"), i18n("Cancel"), 0,
388 0, 1 );
389 if ( result != 0 ) {
390 return;
391 }
392
393 QPtrList<Incidence> delSel = getSelectedIncidences() ;
394 int icount = delSel.count();
395 if ( icount ) {
396 Incidence *incidence = delSel.first();
397 while ( incidence ) {
398 incidence->setCalID( c );
399 KOListViewItem * item = getItemForEvent( incidence );
400 if ( item ) {
401 ListItemVisitor v(item, mStartDate );
402 incidence->accept(v);
403 }
404 incidence = delSel.next();
405 }
406 }
407 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars;
408 KopiCalendarFile * cal = calendars.first();
409 while ( cal ) {
410 mCalendar->setCalendarEnabled( cal->mCalNumber,cal->isEnabled );
411 mCalendar->setAlarmEnabled( cal->mCalNumber, cal->isAlarmEnabled );
412 mCalendar->setReadOnly( cal->mCalNumber, cal->isReadOnly );
413 if ( cal->isStandard )
414 mCalendar->setDefaultCalendar( cal->mCalNumber );
415 cal = calendars.next();
416 }
417 mCalendar->setSyncEventsReadOnly();
418 mCalendar->reInitAlarmSettings();
419
420}
421void KOListView::populateCalPopup()
422{
423 mCalPopup->clear();
424 KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first();
425 while ( kkf ) {
426 mCalPopup->insertItem( kkf->mName, kkf->mCalNumber);
427 kkf = KOPrefs::instance()->mCalendars.next();
428 }
429}
374void KOListView::updateList() 430void KOListView::updateList()
375{ 431{
376 // qDebug(" KOListView::updateList() "); 432 // qDebug(" KOListView::updateList() ");
377 433
@@ -1038,9 +1094,9 @@ void KOListView::changeEventDisplay(Event *event, int action)
1038 ; 1094 ;
1039 } 1095 }
1040} 1096}
1041 1097
1042KOListViewItem *KOListView::getItemForEvent(Event *event) 1098KOListViewItem *KOListView::getItemForEvent(Incidence *event)
1043{ 1099{
1044 KOListViewItem *item = (KOListViewItem *)mListView->firstChild(); 1100 KOListViewItem *item = (KOListViewItem *)mListView->firstChild();
1045 while (item) { 1101 while (item) {
1046 if (item->data() == event) return item; 1102 if (item->data() == event) return item;
diff --git a/korganizer/kolistview.h b/korganizer/kolistview.h
index 9da5497..d384af0 100644
--- a/korganizer/kolistview.h
+++ b/korganizer/kolistview.h
@@ -294,19 +294,22 @@ class KOListView : public KOEventView
294 void changeEventDisplay(Event *, int); 294 void changeEventDisplay(Event *, int);
295 295
296 void defaultItemAction(QListViewItem *item); 296 void defaultItemAction(QListViewItem *item);
297 void popupMenu(QListViewItem *item,const QPoint &,int); 297 void popupMenu(QListViewItem *item,const QPoint &,int);
298 void setCalendar( int c );
299 void populateCalPopup();
298 300
299 protected slots: 301 protected slots:
300 void processSelectionChange(QListViewItem *); 302 void processSelectionChange(QListViewItem *);
301 303
302 protected: 304 protected:
303 void writeToFile( bool iCal ); 305 void writeToFile( bool iCal );
304 void addEvents(QPtrList<Event> eventList); 306 void addEvents(QPtrList<Event> eventList);
305 void addIncidence(Incidence *); 307 void addIncidence(Incidence *);
306 KOListViewItem *getItemForEvent(Event *event); 308 KOListViewItem *getItemForEvent(Incidence *event);
307 309
308 private: 310 private:
311 QPopupMenu* mCalPopup;
309 KOListViewWhatsThis *mKOListViewWhatsThis; 312 KOListViewWhatsThis *mKOListViewWhatsThis;
310 KOListViewListView *mListView; 313 KOListViewListView *mListView;
311 KOEventPopupMenu *mPopupMenu; 314 KOEventPopupMenu *mPopupMenu;
312 KOListViewItem *mActiveItem; 315 KOListViewItem *mActiveItem;
diff --git a/korganizer/koprefs.cpp b/korganizer/koprefs.cpp
index 65f0342..a4ea3d3 100644
--- a/korganizer/koprefs.cpp
+++ b/korganizer/koprefs.cpp
@@ -494,8 +494,12 @@ void KOPrefs::deleteCalendar( int num )
494 } 494 }
495 kkf = mCalendars.next(); 495 kkf = mCalendars.next();
496 } 496 }
497} 497}
498QString KOPrefs::calName( int calNum) const
499{
500 return (mDefCalColors[calNum-1])->mName;
501}
498QColor KOPrefs::defaultColor( int calNum ) const 502QColor KOPrefs::defaultColor( int calNum ) const
499{ 503{
500 if ( calNum == 1 ) return mEventColor; 504 if ( calNum == 1 ) return mEventColor;
501 return (mDefCalColors[calNum-1])->mDefaultColor; 505 return (mDefCalColors[calNum-1])->mDefaultColor;
diff --git a/korganizer/koprefs.h b/korganizer/koprefs.h
index 463fc33..5cc9bfa 100644
--- a/korganizer/koprefs.h
+++ b/korganizer/koprefs.h
@@ -98,8 +98,9 @@ class KOPrefs : public KPimPrefs
98 KopiCalendarFile * getNewCalendar(); 98 KopiCalendarFile * getNewCalendar();
99 KopiCalendarFile * getCalendar( int ); 99 KopiCalendarFile * getCalendar( int );
100 void deleteCalendar( int ); 100 void deleteCalendar( int );
101 QColor defaultColor( int ) const; 101 QColor defaultColor( int ) const;
102 QString calName( int ) const;
102 protected: 103 protected:
103 void setTimeZoneIdDefault(); 104 void setTimeZoneIdDefault();
104 105
105 /** Fill empty mail fields with default values. */ 106 /** Fill empty mail fields with default values. */
diff --git a/libkcal/calendar.h b/libkcal/calendar.h
index 2243e28..3b7b183 100644
--- a/libkcal/calendar.h
+++ b/libkcal/calendar.h
@@ -75,8 +75,9 @@ public:
75 */ 75 */
76 virtual void close() = 0; 76 virtual void close() = 0;
77 virtual void addCalendar( Calendar* ) = 0; 77 virtual void addCalendar( Calendar* ) = 0;
78 virtual bool addCalendarFile( QString name, int id ) = 0; 78 virtual bool addCalendarFile( QString name, int id ) = 0;
79 virtual void setSyncEventsReadOnly() = 0;
79 80
80 /** 81 /**
81 Sync changes in memory to persistant storage. 82 Sync changes in memory to persistant storage.
82 */ 83 */
diff --git a/libkcal/calendarlocal.cpp b/libkcal/calendarlocal.cpp
index 336c3e8..8c4dde1 100644
--- a/libkcal/calendarlocal.cpp
+++ b/libkcal/calendarlocal.cpp
@@ -77,8 +77,18 @@ bool CalendarLocal::addCalendarFile( QString name, int id )
77 return true; 77 return true;
78 } 78 }
79 return false; 79 return false;
80} 80}
81void CalendarLocal::setSyncEventsReadOnly()
82{
83 Event * ev;
84 ev = mEventList.first();
85 while ( ev ) {
86 if ( ev->uid().left(15) == QString("last-syncEvent-") )
87 ev->setReadOnly( true );
88 ev = mEventList.next();
89 }
90}
81void CalendarLocal::addCalendar( Calendar* cal ) 91void CalendarLocal::addCalendar( Calendar* cal )
82{ 92{
83 cal->setDontDeleteIncidencesOnClose(); 93 cal->setDontDeleteIncidencesOnClose();
84 { 94 {
diff --git a/libkcal/calendarlocal.h b/libkcal/calendarlocal.h
index 5bbe55f..0286b48 100644
--- a/libkcal/calendarlocal.h
+++ b/libkcal/calendarlocal.h
@@ -44,8 +44,9 @@ class CalendarLocal : public Calendar
44 CalendarLocal( const QString &timeZoneId ); 44 CalendarLocal( const QString &timeZoneId );
45 ~CalendarLocal(); 45 ~CalendarLocal();
46 void addCalendar( Calendar* ); 46 void addCalendar( Calendar* );
47 bool addCalendarFile( QString name, int id ); 47 bool addCalendarFile( QString name, int id );
48 void setSyncEventsReadOnly();
48 /** 49 /**
49 Loads a calendar on disk in vCalendar or iCalendar format into the current 50 Loads a calendar on disk in vCalendar or iCalendar format into the current
50 calendar. Any information already present is lost. 51 calendar. Any information already present is lost.
51 @return true, if successfull, false on error. 52 @return true, if successfull, false on error.
diff --git a/libkcal/incidencebase.cpp b/libkcal/incidencebase.cpp
index 2ddbb01..96039df 100644
--- a/libkcal/incidencebase.cpp
+++ b/libkcal/incidencebase.cpp
@@ -140,8 +140,10 @@ QDateTime IncidenceBase::getEvenTime( QDateTime dt )
140} 140}
141 141
142void IncidenceBase::setCalID( int id ) 142void IncidenceBase::setCalID( int id )
143{ 143{
144 if ( mCalID > 0 )
145 updated();
144 mCalID = id; 146 mCalID = id;
145} 147}
146int IncidenceBase::calID() const 148int IncidenceBase::calID() const
147{ 149{