-rw-r--r-- | korganizer/komonthview.cpp | 95 | ||||
-rw-r--r-- | korganizer/komonthview.h | 8 | ||||
-rw-r--r-- | korganizer/koprefs.cpp | 1 | ||||
-rw-r--r-- | korganizer/koprefs.h | 1 | ||||
-rw-r--r-- | korganizer/koprefsdialog.cpp | 4 | ||||
-rw-r--r-- | korganizer/koviewmanager.cpp | 7 |
6 files changed, 105 insertions, 11 deletions
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp index b175f9a..2b7e41f 100644 --- a/korganizer/komonthview.cpp +++ b/korganizer/komonthview.cpp | |||
@@ -405,14 +405,24 @@ void MonthViewItem::paint(QPainter *p) | |||
405 | else | 405 | else |
406 | yPos = pmheight/2 - fm.height()/2 + fm.ascent(); | 406 | yPos = pmheight/2 - fm.height()/2 + fm.ascent(); |
407 | p->setPen( palette().color( QPalette::Normal, sel ? \ | 407 | p->setPen( palette().color( QPalette::Normal, sel ? \ |
408 | QColorGroup::HighlightedText : QColorGroup::Foreground ) ); | 408 | QColorGroup::HighlightedText : QColorGroup::Foreground ) ); |
409 | p->drawText( x, yPos, text() ); | 409 | if ( KOPrefs::instance()->mMonthShowTimes || isWeekItem) { |
410 | if ( mIncidence->cancelled() ) { | 410 | p->drawText( x, yPos, text() ); |
411 | int wid = fm.width( text() ); | 411 | if ( mIncidence->cancelled() ) { |
412 | p->drawLine( x, heihei/2 ,x+wid, heihei/2 ); | 412 | int wid = fm.width( text() ); |
413 | } | 413 | p->drawLine( x, heihei/2 ,x+wid, heihei/2 ); |
414 | 414 | } | |
415 | } else { | ||
416 | QString pText = text(); | ||
417 | if( pText.mid(2,1) == ":" ) | ||
418 | pText = pText.mid( 6 ); | ||
419 | p->drawText( x, yPos, pText ); | ||
420 | if ( mIncidence->cancelled() ) { | ||
421 | int wid = fm.width( pText ); | ||
422 | p->drawLine( x, heihei/2 ,x+wid, heihei/2 ); | ||
423 | } | ||
424 | } | ||
415 | } | 425 | } |
416 | 426 | ||
417 | int MonthViewItem::height(const QListBox *lb) const | 427 | int MonthViewItem::height(const QListBox *lb) const |
418 | { | 428 | { |
@@ -1041,8 +1051,9 @@ void MonthViewCell::newEvent() | |||
1041 | emit newEventSignal( dt ); | 1051 | emit newEventSignal( dt ); |
1042 | } | 1052 | } |
1043 | void MonthViewCell::cellClicked( QListBoxItem *item ) | 1053 | void MonthViewCell::cellClicked( QListBoxItem *item ) |
1044 | { | 1054 | { |
1055 | mMonthView->setSelectedCell( this ); | ||
1045 | qDebug("CELL "); | 1056 | qDebug("CELL "); |
1046 | if ( item == 0 ) { | 1057 | if ( item == 0 ) { |
1047 | QDateTime dt( date(), QTime( KOPrefs::instance()->mStartTime, 0 ) ); | 1058 | QDateTime dt( date(), QTime( KOPrefs::instance()->mStartTime, 0 ) ); |
1048 | emit newEventSignal( dt ); | 1059 | emit newEventSignal( dt ); |
@@ -1052,10 +1063,13 @@ void MonthViewCell::cellClicked( QListBoxItem *item ) | |||
1052 | } | 1063 | } |
1053 | 1064 | ||
1054 | void MonthViewCell::contextMenu( QListBoxItem *item ) | 1065 | void MonthViewCell::contextMenu( QListBoxItem *item ) |
1055 | { | 1066 | { |
1056 | if ( !item ) return; | 1067 | mMonthView->setPopupCell( this ); |
1057 | 1068 | if ( !item ) { | |
1069 | mMonthView->showContextMenu( 0 ); | ||
1070 | return; | ||
1071 | } | ||
1058 | MonthViewItem *eventItem = static_cast<MonthViewItem *>( item ); | 1072 | MonthViewItem *eventItem = static_cast<MonthViewItem *>( item ); |
1059 | Incidence *incidence = eventItem->incidence(); | 1073 | Incidence *incidence = eventItem->incidence(); |
1060 | if ( incidence ) mMonthView->showContextMenu( incidence ); | 1074 | if ( incidence ) mMonthView->showContextMenu( incidence ); |
1061 | } | 1075 | } |
@@ -1082,8 +1096,9 @@ KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name) | |||
1082 | mShortDayLabelsM = false; | 1096 | mShortDayLabelsM = false; |
1083 | mShortDayLabelsW = false; | 1097 | mShortDayLabelsW = false; |
1084 | skipResize = false; | 1098 | skipResize = false; |
1085 | clPending = true; | 1099 | clPending = true; |
1100 | mPopupCell = 0; | ||
1086 | mNavigatorBar = new NavigatorBar( QDate::currentDate(), this, "useBigPixmaps" ); | 1101 | mNavigatorBar = new NavigatorBar( QDate::currentDate(), this, "useBigPixmaps" ); |
1087 | mWidStack = new QWidgetStack( this ); | 1102 | mWidStack = new QWidgetStack( this ); |
1088 | QVBoxLayout* hb = new QVBoxLayout( this ); | 1103 | QVBoxLayout* hb = new QVBoxLayout( this ); |
1089 | mMonthView = new QWidget( mWidStack ); | 1104 | mMonthView = new QWidget( mWidStack ); |
@@ -1199,8 +1214,31 @@ KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name) | |||
1199 | } | 1214 | } |
1200 | 1215 | ||
1201 | //connect( mWeekLabels[mNumWeeks], SIGNAL( clicked() ), SLOT( switchView() ) ); | 1216 | //connect( mWeekLabels[mNumWeeks], SIGNAL( clicked() ), SLOT( switchView() ) ); |
1202 | mContextMenu = eventPopup(); | 1217 | mContextMenu = eventPopup(); |
1218 | mContextMenu->addAdditionalItem(QIconSet(QPixmap()), | ||
1219 | i18n("New Event..."),this, | ||
1220 | SLOT(slotNewEvent()),false); | ||
1221 | mContextMenu->addAdditionalItem(QIconSet(QPixmap()), | ||
1222 | i18n("New Todo..."),this, | ||
1223 | SLOT(slotNewTodo()),false); | ||
1224 | mContextMenu->addAdditionalItem(QIconSet(QPixmap()), | ||
1225 | i18n("Journal"),this, | ||
1226 | SLOT(slotEditJournal()),false); | ||
1227 | |||
1228 | |||
1229 | |||
1230 | QString pathString = ""; | ||
1231 | if ( !KOPrefs::instance()->mToolBarMiniIcons ) { | ||
1232 | if ( QApplication::desktop()->width() < 480 ) | ||
1233 | pathString += "icons16/"; | ||
1234 | } else | ||
1235 | pathString += "iconsmini/"; | ||
1236 | mNewItemMenu = new QPopupMenu( this ); | ||
1237 | mNewItemMenu->insertItem( SmallIcon( pathString +"newevent" ), i18n("New Event..."),this, SLOT(slotNewEvent())); | ||
1238 | mNewItemMenu->insertItem( SmallIcon( pathString +"newtodo" ),i18n("New Todo..."),this,SLOT(slotNewTodo()),false); | ||
1239 | mNewItemMenu->insertItem( SmallIcon( pathString +"journal" ),i18n("Journal"),this,SLOT(slotEditJournal()),false); | ||
1240 | |||
1203 | // updateConfig(); //useless here... | 1241 | // updateConfig(); //useless here... |
1204 | // ... but we need mWidthLongDayLabel computed | 1242 | // ... but we need mWidthLongDayLabel computed |
1205 | QFontMetrics fontmetric(mDayLabels[0]->font()); | 1243 | QFontMetrics fontmetric(mDayLabels[0]->font()); |
1206 | mWidthLongDayLabel = 0; | 1244 | mWidthLongDayLabel = 0; |
@@ -1892,9 +1930,14 @@ void KOMonthView::computeLayout() | |||
1892 | } | 1930 | } |
1893 | 1931 | ||
1894 | void KOMonthView::showContextMenu( Incidence *incidence ) | 1932 | void KOMonthView::showContextMenu( Incidence *incidence ) |
1895 | { | 1933 | { |
1896 | mContextMenu->showIncidencePopup(incidence); | 1934 | if( incidence ) |
1935 | mContextMenu->showIncidencePopup(incidence); | ||
1936 | else { | ||
1937 | //qDebug("KOMonthView::showContextMenu "); | ||
1938 | mNewItemMenu->popup(QCursor::pos()); | ||
1939 | } | ||
1897 | /* | 1940 | /* |
1898 | if( incidence && incidence->type() == "Event" ) { | 1941 | if( incidence && incidence->type() == "Event" ) { |
1899 | Event *event = static_cast<Event *>(incidence); | 1942 | Event *event = static_cast<Event *>(incidence); |
1900 | mContextMenu->showEventPopup(event); | 1943 | mContextMenu->showEventPopup(event); |
@@ -1908,9 +1951,9 @@ MonthViewCell * KOMonthView::selectedCell( ) | |||
1908 | return mSelectedCell; | 1951 | return mSelectedCell; |
1909 | } | 1952 | } |
1910 | void KOMonthView::setSelectedCell( MonthViewCell *cell ) | 1953 | void KOMonthView::setSelectedCell( MonthViewCell *cell ) |
1911 | { | 1954 | { |
1912 | //qDebug("KOMonthView::setSelectedCell "); | 1955 | //qDebug("KOMonthView::setSelectedCell %d", cell); |
1913 | if ( mSelectedCell && mSelectedCell != cell ) { | 1956 | if ( mSelectedCell && mSelectedCell != cell ) { |
1914 | MonthViewCell * mvc = mSelectedCell; | 1957 | MonthViewCell * mvc = mSelectedCell; |
1915 | mSelectedCell = cell; | 1958 | mSelectedCell = cell; |
1916 | mvc->deselect(); | 1959 | mvc->deselect(); |
@@ -2013,4 +2056,36 @@ void KOMonthView::nextCell() | |||
2013 | void KOMonthView::prevCell() | 2056 | void KOMonthView::prevCell() |
2014 | { | 2057 | { |
2015 | focusNextPrevChild ( false ); | 2058 | focusNextPrevChild ( false ); |
2016 | } | 2059 | } |
2060 | |||
2061 | void KOMonthView::slotNewTodo() | ||
2062 | { | ||
2063 | //qDebug("KOMonthView::slotNewTodo() "); | ||
2064 | if ( mPopupCell ){ | ||
2065 | QDateTime dt( mPopupCell->date(), QTime( KOPrefs::instance()->mStartTime, 0 ) ); | ||
2066 | emit newTodoSignal(dt,true); | ||
2067 | } | ||
2068 | mPopupCell = 0; | ||
2069 | } | ||
2070 | void KOMonthView::slotNewEvent() | ||
2071 | { | ||
2072 | if ( mPopupCell ) { | ||
2073 | QDateTime dt( mPopupCell->date(), QTime( KOPrefs::instance()->mStartTime, 0 ) ); | ||
2074 | emit newEventSignal( dt ); | ||
2075 | } | ||
2076 | //qDebug("KOMonthView::slotNewEvent() "); | ||
2077 | mPopupCell = 0; | ||
2078 | } | ||
2079 | |||
2080 | void KOMonthView::slotEditJournal() | ||
2081 | { | ||
2082 | if ( mPopupCell ) | ||
2083 | emit showJournalSignal( 7, mPopupCell->date() ); | ||
2084 | //qDebug("KOMonthView::slotEditJournal() "); | ||
2085 | mPopupCell = 0; | ||
2086 | } | ||
2087 | |||
2088 | void KOMonthView::setPopupCell( MonthViewCell * c) | ||
2089 | { | ||
2090 | mPopupCell = c; | ||
2091 | } | ||
diff --git a/korganizer/komonthview.h b/korganizer/komonthview.h index c6b6b5e..de5c014 100644 --- a/korganizer/komonthview.h +++ b/korganizer/komonthview.h | |||
@@ -270,13 +270,17 @@ class KOMonthView: public KOEventView | |||
270 | 270 | ||
271 | void showContextMenu( Incidence * ); | 271 | void showContextMenu( Incidence * ); |
272 | 272 | ||
273 | void setSelectedCell( MonthViewCell * ); | 273 | void setSelectedCell( MonthViewCell * ); |
274 | void setPopupCell( MonthViewCell * ); | ||
274 | void switchView(); | 275 | void switchView(); |
275 | void setKeyBoardFocus(); | 276 | void setKeyBoardFocus(); |
276 | void setKeyBFocus(); | 277 | void setKeyBFocus(); |
277 | 278 | ||
278 | protected slots: | 279 | protected slots: |
280 | void slotNewTodo(); | ||
281 | void slotNewEvent(); | ||
282 | void slotEditJournal(); | ||
279 | void slotComputeLayout(); | 283 | void slotComputeLayout(); |
280 | void selectInternalWeekNum ( int ); | 284 | void selectInternalWeekNum ( int ); |
281 | void processSelectionChange(); | 285 | void processSelectionChange(); |
282 | signals: | 286 | signals: |
@@ -284,8 +288,10 @@ class KOMonthView: public KOEventView | |||
284 | void prevMonth(); | 288 | void prevMonth(); |
285 | void selectWeekNum ( int ); | 289 | void selectWeekNum ( int ); |
286 | void selectMonth (); | 290 | void selectMonth (); |
287 | void showDaySignal( QDate ); | 291 | void showDaySignal( QDate ); |
292 | void newTodoSignal( QDateTime, bool ); | ||
293 | void showJournalSignal( int,QDate ); | ||
288 | protected: | 294 | protected: |
289 | void resizeEvent(QResizeEvent *); | 295 | void resizeEvent(QResizeEvent *); |
290 | void viewChanged(); | 296 | void viewChanged(); |
291 | void updateDayLabels(); | 297 | void updateDayLabels(); |
@@ -321,10 +327,12 @@ class KOMonthView: public KOEventView | |||
321 | 327 | ||
322 | QDate mStartDate; | 328 | QDate mStartDate; |
323 | 329 | ||
324 | MonthViewCell *mSelectedCell; | 330 | MonthViewCell *mSelectedCell; |
331 | MonthViewCell *mPopupCell; | ||
325 | bool mFlagKeyPressed; | 332 | bool mFlagKeyPressed; |
326 | KOEventPopupMenu *mContextMenu; | 333 | KOEventPopupMenu *mContextMenu; |
334 | QPopupMenu *mNewItemMenu; | ||
327 | void keyPressEvent ( QKeyEvent * ) ; | 335 | void keyPressEvent ( QKeyEvent * ) ; |
328 | void keyReleaseEvent ( QKeyEvent * ) ; | 336 | void keyReleaseEvent ( QKeyEvent * ) ; |
329 | 337 | ||
330 | }; | 338 | }; |
diff --git a/korganizer/koprefs.cpp b/korganizer/koprefs.cpp index a571ed4..34044ab 100644 --- a/korganizer/koprefs.cpp +++ b/korganizer/koprefs.cpp | |||
@@ -236,8 +236,9 @@ KOPrefs::KOPrefs() : | |||
236 | addItemBool("Show Month Daily Recurrences",&mMonthDailyRecur,true); | 236 | addItemBool("Show Month Daily Recurrences",&mMonthDailyRecur,true); |
237 | addItemBool("Show Month Weekly Recurrences",&mMonthWeeklyRecur,true); | 237 | addItemBool("Show Month Weekly Recurrences",&mMonthWeeklyRecur,true); |
238 | addItemBool("ShowShortMonthName",&mMonthShowShort,false); | 238 | addItemBool("ShowShortMonthName",&mMonthShowShort,false); |
239 | addItemBool("ShowIconsInMonthCell",&mMonthShowIcons,true); | 239 | addItemBool("ShowIconsInMonthCell",&mMonthShowIcons,true); |
240 | addItemBool("ShowTimesInMonthCell",&mMonthShowTimes,true); | ||
240 | #ifdef DESKTOP_VERION | 241 | #ifdef DESKTOP_VERION |
241 | addItemBool("Enable ToolTips",&mEnableToolTips,true); | 242 | addItemBool("Enable ToolTips",&mEnableToolTips,true); |
242 | #else | 243 | #else |
243 | addItemBool("Enable ToolTips",&mEnableToolTips,false); | 244 | addItemBool("Enable ToolTips",&mEnableToolTips,false); |
diff --git a/korganizer/koprefs.h b/korganizer/koprefs.h index 2a0ee64..e06df1c 100644 --- a/korganizer/koprefs.h +++ b/korganizer/koprefs.h | |||
@@ -158,8 +158,9 @@ class KOPrefs : public KPimPrefs | |||
158 | bool mWeeklyRecur; | 158 | bool mWeeklyRecur; |
159 | bool mMonthDailyRecur; | 159 | bool mMonthDailyRecur; |
160 | bool mMonthWeeklyRecur; | 160 | bool mMonthWeeklyRecur; |
161 | bool mMonthShowIcons; | 161 | bool mMonthShowIcons; |
162 | bool mMonthShowTimes; | ||
162 | bool mMonthShowShort; | 163 | bool mMonthShowShort; |
163 | bool mEnableToolTips; | 164 | bool mEnableToolTips; |
164 | bool mEnableMonthScroll; | 165 | bool mEnableMonthScroll; |
165 | bool mFullViewMonth; | 166 | bool mFullViewMonth; |
diff --git a/korganizer/koprefsdialog.cpp b/korganizer/koprefsdialog.cpp index ad3c61c..cb9c272 100644 --- a/korganizer/koprefsdialog.cpp +++ b/korganizer/koprefsdialog.cpp | |||
@@ -763,9 +763,11 @@ void KOPrefsDialog::setupViewsTab() | |||
763 | &(KOPrefs::instance()->mMonthShowShort),habo); | 763 | &(KOPrefs::instance()->mMonthShowShort),habo); |
764 | weeklyRecur = | 764 | weeklyRecur = |
765 | addWidBool(i18n("icons"), | 765 | addWidBool(i18n("icons"), |
766 | &(KOPrefs::instance()->mMonthShowIcons),habo); | 766 | &(KOPrefs::instance()->mMonthShowIcons),habo); |
767 | 767 | weeklyRecur = | |
768 | addWidBool(i18n("times"), | ||
769 | &(KOPrefs::instance()->mMonthShowTimes),habo); | ||
768 | topLayout->addMultiCellWidget(habo,ii, ii,0,1); | 770 | topLayout->addMultiCellWidget(habo,ii, ii,0,1); |
769 | ii++; | 771 | ii++; |
770 | #ifdef DESKTOP_VERSION | 772 | #ifdef DESKTOP_VERSION |
771 | KPrefsDialogWidBool *enableMonthScroll = | 773 | KPrefsDialogWidBool *enableMonthScroll = |
diff --git a/korganizer/koviewmanager.cpp b/korganizer/koviewmanager.cpp index 406e741..f1f2dd2 100644 --- a/korganizer/koviewmanager.cpp +++ b/korganizer/koviewmanager.cpp | |||
@@ -598,8 +598,15 @@ if (!mMonthView) { | |||
598 | 598 | ||
599 | addView(mMonthView); | 599 | addView(mMonthView); |
600 | // mMonthView->show(); | 600 | // mMonthView->show(); |
601 | // SIGNALS/SLOTS FOR MONTH VIEW | 601 | // SIGNALS/SLOTS FOR MONTH VIEW |
602 | |||
603 | connect(mMonthView,SIGNAL(showJournalSignal( int, QDate )),SLOT(showDateView( int, QDate ))); | ||
604 | |||
605 | connect(mMonthView, SIGNAL(newTodoSignal(QDateTime,bool)), | ||
606 | mMainView, SLOT(newTodoDateTime(QDateTime, bool))); | ||
607 | |||
608 | |||
602 | connect(mMonthView, SIGNAL(newEventSignal(QDateTime)), | 609 | connect(mMonthView, SIGNAL(newEventSignal(QDateTime)), |
603 | mMainView, SLOT(newEvent(QDateTime))); | 610 | mMainView, SLOT(newEvent(QDateTime))); |
604 | 611 | ||
605 | connect(mMonthView, SIGNAL(showIncidenceSignal(Incidence *)), | 612 | connect(mMonthView, SIGNAL(showIncidenceSignal(Incidence *)), |