-rw-r--r-- | korganizer/koagendaview.cpp | 44 | ||||
-rw-r--r-- | korganizer/koagendaview.h | 3 | ||||
-rw-r--r-- | korganizer/koviewmanager.cpp | 9 |
3 files changed, 47 insertions, 9 deletions
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp index 8e9add3..d43712f 100644 --- a/korganizer/koagendaview.cpp +++ b/korganizer/koagendaview.cpp | |||
@@ -608,8 +608,24 @@ void KOAgendaView::resizeEvent( QResizeEvent* e ) | |||
608 | createDayLabels(); | 608 | createDayLabels(); |
609 | //qDebug("resizeEvent end "); | 609 | //qDebug("resizeEvent end "); |
610 | 610 | ||
611 | } | 611 | } |
612 | void KOAgendaView::slotDaylabelClicked() | ||
613 | { | ||
614 | QString cap = ((QPushButton*) sender() )->caption(); | ||
615 | |||
616 | QDate firstDate = mSelectedDates.first(); | ||
617 | if ( cap == "0" ) | ||
618 | emit showDateView( 6, firstDate ); | ||
619 | else if ( cap != "last" ) { | ||
620 | if ( mSelectedDates.count() == 1) | ||
621 | emit showDateView( 9, firstDate.addDays( cap.toInt()-1 ) ); | ||
622 | else | ||
623 | emit showDateView( 3, firstDate.addDays( cap.toInt()-1 ) ); | ||
624 | } | ||
625 | else | ||
626 | showDateView( 10, firstDate.addDays(1 ) ); | ||
627 | } | ||
612 | void KOAgendaView::createDayLabels() | 628 | void KOAgendaView::createDayLabels() |
613 | { | 629 | { |
614 | 630 | ||
615 | if ( mBlockUpdating || globalFlagBlockLabel == 1) { | 631 | if ( mBlockUpdating || globalFlagBlockLabel == 1) { |
@@ -669,40 +685,50 @@ void KOAgendaView::createDayLabels() | |||
669 | // mLayoutDayLabels->addSpacing(mTimeLabels->width()); | 685 | // mLayoutDayLabels->addSpacing(mTimeLabels->width()); |
670 | //mLayoutDayLabels->addSpacing( 2 ); | 686 | //mLayoutDayLabels->addSpacing( 2 ); |
671 | // QFont lFont = dlf; | 687 | // QFont lFont = dlf; |
672 | bool appendLabels = false; | 688 | bool appendLabels = false; |
673 | QLabel *dayLabel; | 689 | QPushButton *dayLabel; |
674 | dayLabel = mDayLabelsList.first(); | 690 | dayLabel = mDayLabelsList.first(); |
675 | if ( !dayLabel ) { | 691 | if ( !dayLabel ) { |
676 | appendLabels = true; | 692 | appendLabels = true; |
677 | dayLabel = new QLabel(mDayLabels); | 693 | dayLabel = new QPushButton(mDayLabels); |
694 | dayLabel->setFlat( true ); | ||
695 | connect( dayLabel, SIGNAL( clicked() ), this, SLOT ( slotDaylabelClicked() ) ); | ||
696 | dayLabel->setFocusPolicy(NoFocus); | ||
678 | mDayLabelsList.append( dayLabel ); | 697 | mDayLabelsList.append( dayLabel ); |
679 | mLayoutDayLabels->addWidget(dayLabel); | 698 | mLayoutDayLabels->addWidget(dayLabel); |
680 | } | 699 | } |
681 | dayLabel->setFixedWidth( mTimeLabels->width()+2 ); | 700 | dayLabel->setFixedWidth( mTimeLabels->width()+2 ); |
682 | dayLabel->setFont( dlf ); | 701 | dayLabel->setFont( dlf ); |
683 | dayLabel->setAlignment(QLabel::AlignHCenter); | 702 | dayLabel->setCaption("0"); |
703 | //dayLabel->setAlignment(QLabel::AlignHCenter); | ||
684 | dayLabel->setText( KOGlobals::self()->calendarSystem()->monthName( mSelectedDates.first(), true ) ); | 704 | dayLabel->setText( KOGlobals::self()->calendarSystem()->monthName( mSelectedDates.first(), true ) ); |
685 | dayLabel->show(); | 705 | dayLabel->show(); |
686 | DateList::ConstIterator dit; | 706 | DateList::ConstIterator dit; |
687 | bool oneday = (mSelectedDates.first() == mSelectedDates.last() ); | 707 | bool oneday = (mSelectedDates.first() == mSelectedDates.last() ); |
708 | int counter = 0; | ||
688 | for( dit = mSelectedDates.begin(); dit != mSelectedDates.end(); ++dit ) { | 709 | for( dit = mSelectedDates.begin(); dit != mSelectedDates.end(); ++dit ) { |
710 | ++counter; | ||
689 | QDate date = *dit; | 711 | QDate date = *dit; |
690 | // QBoxLayout *dayLayout = new QVBoxLayout(mLayoutDayLabels); | 712 | // QBoxLayout *dayLayout = new QVBoxLayout(mLayoutDayLabels); |
691 | if ( ! appendLabels ) { | 713 | if ( ! appendLabels ) { |
692 | dayLabel = mDayLabelsList.next(); | 714 | dayLabel = mDayLabelsList.next(); |
693 | if ( !dayLabel ) | 715 | if ( !dayLabel ) |
694 | appendLabels = true; | 716 | appendLabels = true; |
695 | } | 717 | } |
696 | if ( appendLabels ) { | 718 | if ( appendLabels ) { |
697 | dayLabel = new QLabel(mDayLabels); | 719 | dayLabel = new QPushButton(mDayLabels); |
720 | dayLabel->setFlat( true ); | ||
721 | connect( dayLabel, SIGNAL( clicked() ), this, SLOT ( slotDaylabelClicked() ) ); | ||
722 | dayLabel->setFocusPolicy(NoFocus); | ||
698 | mDayLabelsList.append( dayLabel ); | 723 | mDayLabelsList.append( dayLabel ); |
699 | mLayoutDayLabels->addWidget(dayLabel); | 724 | mLayoutDayLabels->addWidget(dayLabel); |
700 | } | 725 | } |
701 | dayLabel->setMinimumWidth( 1 ); | 726 | dayLabel->setMinimumWidth( 1 ); |
702 | dayLabel->setMaximumWidth( 2048 ); | 727 | dayLabel->setMaximumWidth( 2048 ); |
703 | dayLabel->setFont( dlf ); | 728 | dayLabel->setFont( dlf ); |
704 | dayLabel->show(); | 729 | dayLabel->show(); |
730 | dayLabel->setCaption(QString::number( counter )); | ||
705 | QString str; | 731 | QString str; |
706 | int dW = KOGlobals::self()->calendarSystem()->dayOfWeek(date); | 732 | int dW = KOGlobals::self()->calendarSystem()->dayOfWeek(date); |
707 | QString dayName = KOGlobals::self()->calendarSystem()->weekDayName( dW, true ); | 733 | QString dayName = KOGlobals::self()->calendarSystem()->weekDayName( dW, true ); |
708 | switch ( maxLen ) { | 734 | switch ( maxLen ) { |
@@ -745,9 +771,9 @@ void KOAgendaView::createDayLabels() | |||
745 | str = addString+", " + str; | 771 | str = addString+", " + str; |
746 | } | 772 | } |
747 | } | 773 | } |
748 | dayLabel->setText(str); | 774 | dayLabel->setText(str); |
749 | dayLabel->setAlignment(QLabel::AlignHCenter); | 775 | //dayLabel->setAlignment(QLabel::AlignHCenter); |
750 | if (date == QDate::currentDate()) { | 776 | if (date == QDate::currentDate()) { |
751 | QFont bFont = dlf; | 777 | QFont bFont = dlf; |
752 | bFont.setBold( true ); | 778 | bFont.setBold( true ); |
753 | dayLabel->setFont(bFont); | 779 | dayLabel->setFont(bFont); |
@@ -780,19 +806,23 @@ void KOAgendaView::createDayLabels() | |||
780 | if ( !dayLabel ) | 806 | if ( !dayLabel ) |
781 | appendLabels = true; | 807 | appendLabels = true; |
782 | } | 808 | } |
783 | if ( appendLabels ) { | 809 | if ( appendLabels ) { |
784 | dayLabel = new QLabel(mDayLabels); | 810 | dayLabel = new QPushButton(mDayLabels); |
811 | dayLabel->setFlat( true ); | ||
812 | connect( dayLabel, SIGNAL( clicked() ), this, SLOT ( slotDaylabelClicked() ) ); | ||
813 | dayLabel->setFocusPolicy(NoFocus); | ||
785 | mDayLabelsList.append( dayLabel ); | 814 | mDayLabelsList.append( dayLabel ); |
786 | mLayoutDayLabels->addWidget(dayLabel); | 815 | mLayoutDayLabels->addWidget(dayLabel); |
787 | } | 816 | } |
788 | //dayLabel->hide();//test only | 817 | //dayLabel->hide();//test only |
789 | 818 | ||
790 | int offset = (mAgenda->width() - mAgenda->verticalScrollBar()->width()-3 ) % mSelectedDates.count() ; | 819 | int offset = (mAgenda->width() - mAgenda->verticalScrollBar()->width()-3 ) % mSelectedDates.count() ; |
791 | if ( offset < 0 ) offset = 0; | 820 | if ( offset < 0 ) offset = 0; |
792 | //qDebug("mLayoutDayLabels->addSpacing %d ", mAgenda->verticalScrollBar()->width()+offset+2 ); | 821 | //qDebug("mLayoutDayLabels->addSpacing %d ", mAgenda->verticalScrollBar()->width()+offset+2 ); |
793 | dayLabel->setText("");//QString::number ( mSelectedDates.first().month() ) ); | 822 | dayLabel->setText(">");//QString::number ( mSelectedDates.first().month() ) ); |
794 | dayLabel->show(); | 823 | dayLabel->show(); |
824 | dayLabel->setCaption("last"); | ||
795 | dayLabel->setFixedWidth( mAgenda->verticalScrollBar()->width()+ offset ); | 825 | dayLabel->setFixedWidth( mAgenda->verticalScrollBar()->width()+ offset ); |
796 | //qDebug("setToFixed %d ", mAgenda->verticalScrollBar()->width()+ offset+2); | 826 | //qDebug("setToFixed %d ", mAgenda->verticalScrollBar()->width()+ offset+2); |
797 | //mLayoutDayLabels->addSpacing(mAgenda->verticalScrollBar()->width()+ offset+2); | 827 | //mLayoutDayLabels->addSpacing(mAgenda->verticalScrollBar()->width()+ offset+2); |
798 | if ( !appendLabels ) { | 828 | if ( !appendLabels ) { |
diff --git a/korganizer/koagendaview.h b/korganizer/koagendaview.h index 7774fbe..fd0a7af 100644 --- a/korganizer/koagendaview.h +++ b/korganizer/koagendaview.h | |||
@@ -206,8 +206,9 @@ class KOAgendaView : public KOEventView { | |||
206 | */ | 206 | */ |
207 | void setHolidayMasks(); | 207 | void setHolidayMasks(); |
208 | 208 | ||
209 | protected slots: | 209 | protected slots: |
210 | void slotDaylabelClicked(); | ||
210 | /** Update event belonging to agenda item */ | 211 | /** Update event belonging to agenda item */ |
211 | void updateEventDates(KOAgendaItem *item, int mode = -1); | 212 | void updateEventDates(KOAgendaItem *item, int mode = -1); |
212 | //void updateMovedTodo(); | 213 | //void updateMovedTodo(); |
213 | 214 | ||
@@ -251,9 +252,9 @@ class KOAgendaView : public KOEventView { | |||
251 | QMemArray<bool> mHolidayMask; | 252 | QMemArray<bool> mHolidayMask; |
252 | 253 | ||
253 | QPixmap mExpandedPixmap; | 254 | QPixmap mExpandedPixmap; |
254 | QPixmap mNotExpandedPixmap; | 255 | QPixmap mNotExpandedPixmap; |
255 | QPtrList<QLabel> mDayLabelsList; | 256 | QPtrList<QPushButton> mDayLabelsList; |
256 | QDateTime mTimeSpanBegin; | 257 | QDateTime mTimeSpanBegin; |
257 | QDateTime mTimeSpanEnd; | 258 | QDateTime mTimeSpanEnd; |
258 | bool mTimeSpanInAllDay; | 259 | bool mTimeSpanInAllDay; |
259 | void keyPressEvent ( QKeyEvent * e ); | 260 | void keyPressEvent ( QKeyEvent * e ); |
diff --git a/korganizer/koviewmanager.cpp b/korganizer/koviewmanager.cpp index db23882..30f5fb1 100644 --- a/korganizer/koviewmanager.cpp +++ b/korganizer/koviewmanager.cpp | |||
@@ -110,12 +110,15 @@ void KOViewManager::showDateView( int view, QDate date) | |||
110 | mNewItemPopup->insertItem ( SmallIcon( pathString +"month" ), i18n("Next Month"),6 ); | 110 | mNewItemPopup->insertItem ( SmallIcon( pathString +"month" ), i18n("Next Month"),6 ); |
111 | mNewItemPopup->insertItem ( SmallIcon( pathString +"journal" ), i18n("Journal view"),7 ); | 111 | mNewItemPopup->insertItem ( SmallIcon( pathString +"journal" ), i18n("Journal view"),7 ); |
112 | #endif | 112 | #endif |
113 | if ( view == 3 ) { | 113 | if ( view == 3 ) { |
114 | //mCurrentAgendaView = 1 ; | ||
114 | mMainView->showDay( date ); | 115 | mMainView->showDay( date ); |
115 | } else if (view == 4 ) { | 116 | } else if (view == 4 ) { |
117 | mCurrentAgendaView = 7 ; | ||
116 | mMainView->dateNavigator()->selectDates( date, 7 ); | 118 | mMainView->dateNavigator()->selectDates( date, 7 ); |
117 | } else if (view == 5 ) { | 119 | } else if (view == 5 ) { |
120 | mCurrentAgendaView = 14 ; | ||
118 | mMainView->dateNavigator()->selectDates( date, 14); | 121 | mMainView->dateNavigator()->selectDates( date, 14); |
119 | } else if (view == 6 ) { | 122 | } else if (view == 6 ) { |
120 | mMainView->dateNavigator()->blockSignals( true ); | 123 | mMainView->dateNavigator()->blockSignals( true ); |
121 | showMonthView(); | 124 | showMonthView(); |
@@ -134,9 +137,13 @@ void KOViewManager::showDateView( int view, QDate date) | |||
134 | mMainView->dateNavigator()->selectDates( date , | 137 | mMainView->dateNavigator()->selectDates( date , |
135 | KOPrefs::instance()->mNextXDays ); | 138 | KOPrefs::instance()->mNextXDays ); |
136 | mFlagShowNextxDays = true; | 139 | mFlagShowNextxDays = true; |
137 | mCurrentAgendaView = 3 ; | 140 | mCurrentAgendaView = 3 ; |
138 | } | 141 | } if (view == 9) { |
142 | showWeekView(); | ||
143 | } else if (view == 10) { | ||
144 | mMainView->dateNavigator()->selectDates( date,mMainView->dateNavigator()->selectedDates().count() ); | ||
145 | } | ||
139 | 146 | ||
140 | #if 0 | 147 | #if 0 |
141 | dateNavigator()->blockSignals( true ); | 148 | dateNavigator()->blockSignals( true ); |
142 | dateNavigator()->selectDate( d ); | 149 | dateNavigator()->selectDate( d ); |