-rw-r--r-- | korganizer/calendarview.cpp | 17 | ||||
-rw-r--r-- | korganizer/calendarview.h | 4 | ||||
-rw-r--r-- | korganizer/koagenda.cpp | 66 | ||||
-rw-r--r-- | korganizer/koagenda.h | 6 | ||||
-rw-r--r-- | korganizer/koagendaview.cpp | 19 | ||||
-rw-r--r-- | korganizer/koagendaview.h | 3 | ||||
-rw-r--r-- | korganizer/koeditorgeneraltodo.cpp | 17 | ||||
-rw-r--r-- | korganizer/koviewmanager.cpp | 9 |
8 files changed, 119 insertions, 22 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index 257a4dd..035d630 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp | |||
@@ -2648,3 +2648,6 @@ void CalendarView::newEvent(QDate dt) | |||
2648 | } | 2648 | } |
2649 | 2649 | void CalendarView::newEvent(QDateTime fromHint, QDateTime toHint) | |
2650 | { | ||
2651 | newEvent(fromHint, toHint, false); | ||
2652 | } | ||
2650 | void CalendarView::newEvent(QDateTime fromHint, QDateTime toHint, bool allDay) | 2653 | void CalendarView::newEvent(QDateTime fromHint, QDateTime toHint, bool allDay) |
@@ -2686,8 +2689,7 @@ void CalendarView::todoDeleted() | |||
2686 | 2689 | ||
2687 | 2690 | void CalendarView::newTodoDateTime( QDateTime dt, bool allday ) | |
2688 | void CalendarView::newTodo() | ||
2689 | { | 2691 | { |
2690 | 2692 | qDebug("datetime "); | |
2691 | showTodoEditor(); | 2693 | showTodoEditor(); |
2692 | mTodoEditor->newTodo(QDateTime::currentDateTime().addDays(7),0,true); | 2694 | mTodoEditor->newTodo(dt,0,allday); |
2693 | if ( mFilterView->filtersEnabled() ) { | 2695 | if ( mFilterView->filtersEnabled() ) { |
@@ -2702,2 +2704,7 @@ void CalendarView::newTodo() | |||
2702 | 2704 | ||
2705 | void CalendarView::newTodo() | ||
2706 | { | ||
2707 | newTodoDateTime( QDateTime(),true ); | ||
2708 | } | ||
2709 | |||
2703 | void CalendarView::newSubTodo() | 2710 | void CalendarView::newSubTodo() |
diff --git a/korganizer/calendarview.h b/korganizer/calendarview.h index c8d6bdd..7c59a8d 100644 --- a/korganizer/calendarview.h +++ b/korganizer/calendarview.h | |||
@@ -227,3 +227,4 @@ class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Obser | |||
227 | * make the event take all day. */ | 227 | * make the event take all day. */ |
228 | void newEvent(QDateTime, QDateTime, bool allDay = false); | 228 | void newEvent(QDateTime, QDateTime, bool allDay ); |
229 | void newEvent(QDateTime, QDateTime); | ||
229 | void newEvent(QDateTime fh); | 230 | void newEvent(QDateTime fh); |
@@ -262,2 +263,3 @@ class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Obser | |||
262 | void newTodo(); | 263 | void newTodo(); |
264 | void newTodoDateTime(QDateTime, bool allday); | ||
263 | /** create new todo with a parent todo */ | 265 | /** create new todo with a parent todo */ |
diff --git a/korganizer/koagenda.cpp b/korganizer/koagenda.cpp index 7e0b216..73ee5cb 100644 --- a/korganizer/koagenda.cpp +++ b/korganizer/koagenda.cpp | |||
@@ -170,3 +170,14 @@ KOAgenda::KOAgenda(int columns,int rows,int rowSize,QWidget *parent, | |||
170 | { | 170 | { |
171 | 171 | mNewItemPopup = new QPopupMenu( this ); | |
172 | connect ( mNewItemPopup, SIGNAL (activated ( int ) ), this, SLOT ( newItem(int)) ); | ||
173 | QString pathString = ""; | ||
174 | if ( !KOPrefs::instance()->mToolBarMiniIcons ) { | ||
175 | if ( QApplication::desktop()->width() < 480 ) | ||
176 | pathString += "icons16/"; | ||
177 | } else | ||
178 | pathString += "iconsmini/"; | ||
179 | |||
180 | mNewItemPopup->insertItem ( SmallIcon( pathString +"newevent" ), i18n("New Event..."), 1 ); | ||
181 | mNewItemPopup->insertItem ( SmallIcon( pathString +"newtodo" ), i18n("New Todo..."),2 ); | ||
182 | |||
172 | mColumns = columns; | 183 | mColumns = columns; |
@@ -189,3 +200,12 @@ KOAgenda::KOAgenda(int columns,QWidget *parent,const char *name,WFlags f) : | |||
189 | { | 200 | { |
190 | 201 | mNewItemPopup = new QPopupMenu( this ); | |
202 | connect ( mNewItemPopup, SIGNAL (activated ( int ) ), this, SLOT ( newItem(int)) ); | ||
203 | QString pathString = ""; | ||
204 | if ( !KOPrefs::instance()->mToolBarMiniIcons ) { | ||
205 | if ( QApplication::desktop()->width() < 480 ) | ||
206 | pathString += "icons16/"; | ||
207 | } else | ||
208 | pathString += "iconsmini/"; | ||
209 | mNewItemPopup->insertItem ( SmallIcon( pathString +"newevent" ), i18n("New Event..."),1 ); | ||
210 | mNewItemPopup->insertItem ( SmallIcon( pathString +"newtodo" ), i18n("New Todo..."),2 ); | ||
191 | blockResize = false; | 211 | blockResize = false; |
@@ -420,4 +440,20 @@ bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me) | |||
420 | mActionItem = 0; | 440 | mActionItem = 0; |
421 | setCursor(arrowCursor); | 441 | if (me->button() == RightButton ) { |
422 | startSelectAction(viewportPos); | 442 | blockNewEvent = true; |
443 | qDebug("right "); | ||
444 | int x,y; | ||
445 | viewportToContents(viewportPos.x(),viewportPos.y(),x,y); | ||
446 | int gx,gy; | ||
447 | contentsToGrid(x,y,gx,gy); | ||
448 | mStartCellX = gx; | ||
449 | mStartCellY = gy; | ||
450 | mCurrentCellX = gx; | ||
451 | mCurrentCellY = gy; | ||
452 | mNewItemPopup->popup( viewport()->mapToGlobal( me->pos() ) ); | ||
453 | |||
454 | } else { | ||
455 | blockNewEvent = false; | ||
456 | setCursor(arrowCursor); | ||
457 | startSelectAction(viewportPos); | ||
458 | } | ||
423 | } | 459 | } |
@@ -458,3 +494,7 @@ bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me) | |||
458 | } else if ( mActionType == SELECT ) { | 494 | } else if ( mActionType == SELECT ) { |
459 | endSelectAction(); | 495 | if (me->button() == RightButton ) { |
496 | |||
497 | } else { | ||
498 | endSelectAction( !blockNewEvent ); | ||
499 | } | ||
460 | } | 500 | } |
@@ -522,2 +562,12 @@ bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me) | |||
522 | 562 | ||
563 | void KOAgenda::newItem( int item ) | ||
564 | { | ||
565 | qDebug("new %d ", item); | ||
566 | if ( item == 1 ) { //new event | ||
567 | newEventSignal(mStartCellX ,mStartCellY ); | ||
568 | } | ||
569 | if ( item == 2 ) { //new event | ||
570 | newTodoSignal(mStartCellX ,mStartCellY ); | ||
571 | } | ||
572 | } | ||
523 | void KOAgenda::startSelectAction(QPoint viewportPos) | 573 | void KOAgenda::startSelectAction(QPoint viewportPos) |
@@ -611,3 +661,3 @@ void KOAgenda::performSelectAction(QPoint viewportPos) | |||
611 | 661 | ||
612 | void KOAgenda::endSelectAction() | 662 | void KOAgenda::endSelectAction( bool emitNewEvent ) |
613 | { | 663 | { |
@@ -618,2 +668,4 @@ void KOAgenda::endSelectAction() | |||
618 | emit newTimeSpanSignal(mStartCellX,mStartCellY,mCurrentCellX,mCurrentCellY); | 668 | emit newTimeSpanSignal(mStartCellX,mStartCellY,mCurrentCellX,mCurrentCellY); |
669 | if ( emitNewEvent && mStartCellY < mCurrentCellY ) | ||
670 | emit newEventSignal(mStartCellX,mStartCellY,mCurrentCellX,mCurrentCellY); | ||
619 | } | 671 | } |
@@ -1662,3 +1714,3 @@ void KOAgenda::popupAlarm() | |||
1662 | if (!mClickedItem) { | 1714 | if (!mClickedItem) { |
1663 | kdDebug() << "KOAgenda::popupAlarm() called without having a clicked item" << endl; | 1715 | qDebug("KOAgenda::popupAlarm() called without having a clicked item "); |
1664 | return; | 1716 | return; |
diff --git a/korganizer/koagenda.h b/korganizer/koagenda.h index 111242f..12943d7 100644 --- a/korganizer/koagenda.h +++ b/korganizer/koagenda.h | |||
@@ -128,2 +128,3 @@ class KOAgenda : public QScrollView | |||
128 | public slots: | 128 | public slots: |
129 | void newItem( int ); | ||
129 | void moveChild( QWidget *, int, int ); | 130 | void moveChild( QWidget *, int, int ); |
@@ -147,2 +148,3 @@ class KOAgenda : public QScrollView | |||
147 | void newEventSignal(int gx,int gy); | 148 | void newEventSignal(int gx,int gy); |
149 | void newTodoSignal(int gx,int gy); | ||
148 | void newEventSignal(int gxStart, int gyStart, int gxEnd, int gyEnd); | 150 | void newEventSignal(int gxStart, int gyStart, int gxEnd, int gyEnd); |
@@ -182,3 +184,3 @@ class KOAgenda : public QScrollView | |||
182 | /** Emd selecting time span. */ | 184 | /** Emd selecting time span. */ |
183 | void endSelectAction(); | 185 | void endSelectAction( bool emitNewEvent = false ); |
184 | 186 | ||
@@ -209,2 +211,3 @@ class KOAgenda : public QScrollView | |||
209 | private: | 211 | private: |
212 | bool blockNewEvent; | ||
210 | void init(); | 213 | void init(); |
@@ -276,2 +279,3 @@ class KOAgenda : public QScrollView | |||
276 | QPopupMenu *mItemPopup; // Right mouse button popup menu for KOAgendaItems | 279 | QPopupMenu *mItemPopup; // Right mouse button popup menu for KOAgendaItems |
280 | QPopupMenu *mNewItemPopup; | ||
277 | 281 | ||
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp index f54f7bc..60ae41f 100644 --- a/korganizer/koagendaview.cpp +++ b/korganizer/koagendaview.cpp | |||
@@ -490,2 +490,4 @@ KOAgendaView::KOAgendaView(Calendar *cal,QWidget *parent,const char *name) : | |||
490 | SLOT(newEvent(int,int))); | 490 | SLOT(newEvent(int,int))); |
491 | connect(mAgenda,SIGNAL(newTodoSignal(int,int)), | ||
492 | SLOT(newTodo(int,int))); | ||
491 | connect(mAgenda,SIGNAL(newEventSignal(int,int,int,int)), | 493 | connect(mAgenda,SIGNAL(newEventSignal(int,int,int,int)), |
@@ -494,2 +496,4 @@ KOAgendaView::KOAgendaView(Calendar *cal,QWidget *parent,const char *name) : | |||
494 | SLOT(newEventAllDay(int,int))); | 496 | SLOT(newEventAllDay(int,int))); |
497 | connect(mAllDayAgenda,SIGNAL(newTodoSignal(int,int)), | ||
498 | SLOT(newTodoAllDay(int,int))); | ||
495 | connect(mAllDayAgenda,SIGNAL(newEventSignal(int,int,int,int)), | 499 | connect(mAllDayAgenda,SIGNAL(newEventSignal(int,int,int,int)), |
@@ -1285,2 +1289,17 @@ void KOAgendaView::newEventAllDay(int gx, int ) | |||
1285 | } | 1289 | } |
1290 | void KOAgendaView::newTodoAllDay(int gx, int ) | ||
1291 | { | ||
1292 | if (!mSelectedDates.count()) return; | ||
1293 | |||
1294 | QDateTime day (mSelectedDates[gx] ); | ||
1295 | emit newTodoSignal(day, true); | ||
1296 | } | ||
1297 | void KOAgendaView::newTodo(int gx, int gy ) | ||
1298 | { | ||
1299 | if (!mSelectedDates.count()) return; | ||
1300 | QDate dayStart = mSelectedDates[gx]; | ||
1301 | QTime timeStart = mAgenda->gyToTime(gy); | ||
1302 | QDateTime dt (dayStart,timeStart); | ||
1303 | emit newTodoSignal( dt, false ); | ||
1304 | } | ||
1286 | 1305 | ||
diff --git a/korganizer/koagendaview.h b/korganizer/koagendaview.h index 3cf938f..01d74a1 100644 --- a/korganizer/koagendaview.h +++ b/korganizer/koagendaview.h | |||
@@ -164,2 +164,3 @@ class KOAgendaView : public KOEventView { | |||
164 | 164 | ||
165 | void newTodo(int gx,int gy); | ||
165 | void newEvent(int gx,int gy); | 166 | void newEvent(int gx,int gy); |
@@ -167,2 +168,3 @@ class KOAgendaView : public KOEventView { | |||
167 | void newEventAllDay(int gx, int gy); | 168 | void newEventAllDay(int gx, int gy); |
169 | void newTodoAllDay(int gx, int gy); | ||
168 | 170 | ||
@@ -182,2 +184,3 @@ class KOAgendaView : public KOEventView { | |||
182 | signals: | 184 | signals: |
185 | void newTodoSignal( QDateTime ,bool ); | ||
183 | void toggleExpand(); | 186 | void toggleExpand(); |
diff --git a/korganizer/koeditorgeneraltodo.cpp b/korganizer/koeditorgeneraltodo.cpp index 158a7d3..b9a028b 100644 --- a/korganizer/koeditorgeneraltodo.cpp +++ b/korganizer/koeditorgeneraltodo.cpp | |||
@@ -197,5 +197,10 @@ void KOEditorGeneralTodo::setDefaults(QDateTime due,bool allDay) | |||
197 | enableTimeEdits( !allDay ); | 197 | enableTimeEdits( !allDay ); |
198 | 198 | if ( due.isValid() ) { | |
199 | mDueCheck->setChecked(false); | 199 | mDueCheck->setChecked(true); |
200 | enableDueEdit(false); | 200 | enableDueEdit(true); |
201 | } else { | ||
202 | mDueCheck->setChecked(false); | ||
203 | enableDueEdit(false); | ||
204 | due = QDateTime::currentDateTime().addDays(7); | ||
205 | } | ||
201 | 206 | ||
@@ -208,5 +213,5 @@ void KOEditorGeneralTodo::setDefaults(QDateTime due,bool allDay) | |||
208 | mDueTimeEdit->setTime(due.time()); | 213 | mDueTimeEdit->setTime(due.time()); |
209 | 214 | due = due.addDays(-7); | |
210 | mStartDateEdit->setDate(QDate::currentDate()); | 215 | mStartDateEdit->setDate(due.date()); |
211 | mStartTimeEdit->setTime(QTime::currentTime()); | 216 | mStartTimeEdit->setTime(due.time()); |
212 | 217 | ||
diff --git a/korganizer/koviewmanager.cpp b/korganizer/koviewmanager.cpp index e8d5ab1..a88276e 100644 --- a/korganizer/koviewmanager.cpp +++ b/korganizer/koviewmanager.cpp | |||
@@ -309,6 +309,11 @@ void KOViewManager::showAgendaView( bool fullScreen ) | |||
309 | // SIGNALS/SLOTS FOR DAY/WEEK VIEW | 309 | // SIGNALS/SLOTS FOR DAY/WEEK VIEW |
310 | |||
311 | |||
312 | |||
313 | connect(mAgendaView,SIGNAL(newTodoSignal(QDateTime,bool)), | ||
314 | mMainView, SLOT(newTodoDateTime(QDateTime,bool))); | ||
310 | connect(mAgendaView,SIGNAL(newEventSignal(QDateTime)), | 315 | connect(mAgendaView,SIGNAL(newEventSignal(QDateTime)), |
311 | mMainView, SLOT(newEvent(QDateTime))); | 316 | mMainView, SLOT(newEvent(QDateTime))); |
312 | // connect(mAgendaView,SIGNAL(newEventSignal(QDateTime,QDateTime)), | 317 | connect(mAgendaView,SIGNAL(newEventSignal(QDateTime,QDateTime)), |
313 | // mMainView, SLOT(newEvent(QDateTime,QDateTime))); | 318 | mMainView, SLOT(newEvent(QDateTime,QDateTime))); |
314 | connect(mAgendaView,SIGNAL(newEventSignal(QDate)), | 319 | connect(mAgendaView,SIGNAL(newEventSignal(QDate)), |