summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koagendaview.cpp44
-rw-r--r--korganizer/koagendaview.h3
-rw-r--r--korganizer/koviewmanager.cpp9
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}
612void 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}
612void KOAgendaView::createDayLabels() 628void 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 );