-rw-r--r-- | korganizer/koagendaview.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp index db66413..8448a4c 100644 --- a/korganizer/koagendaview.cpp +++ b/korganizer/koagendaview.cpp | |||
@@ -635,193 +635,193 @@ KOAgendaButton* KOAgendaView::getNewDaylabel() | |||
635 | mDayLabelsList.append( dayLabel ); | 635 | mDayLabelsList.append( dayLabel ); |
636 | mLayoutDayLabels->addWidget(dayLabel); | 636 | mLayoutDayLabels->addWidget(dayLabel); |
637 | return dayLabel ; | 637 | return dayLabel ; |
638 | } | 638 | } |
639 | 639 | ||
640 | void KOAgendaView::createDayLabels() | 640 | void KOAgendaView::createDayLabels() |
641 | { | 641 | { |
642 | 642 | ||
643 | if ( mBlockUpdating || globalFlagBlockLabel == 1) { | 643 | if ( mBlockUpdating || globalFlagBlockLabel == 1) { |
644 | // qDebug(" KOAgendaView::createDayLabels() blocked "); | 644 | // qDebug(" KOAgendaView::createDayLabels() blocked "); |
645 | return; | 645 | return; |
646 | 646 | ||
647 | } | 647 | } |
648 | int newHight; | 648 | int newHight; |
649 | 649 | ||
650 | // ### Before deleting and recreating we could check if mSelectedDates changed... | 650 | // ### Before deleting and recreating we could check if mSelectedDates changed... |
651 | // It would remove some flickering and gain speed (since this is called by | 651 | // It would remove some flickering and gain speed (since this is called by |
652 | // each updateView() call) | 652 | // each updateView() call) |
653 | 653 | ||
654 | int maxWid = mUpcomingWidth - mTimeLabels->width()- mAgenda->verticalScrollBar()->width() - 2; | 654 | int maxWid = mUpcomingWidth - mTimeLabels->width()- mAgenda->verticalScrollBar()->width() - 2; |
655 | mDayLabelsFrame->setMaximumWidth( mUpcomingWidth ); | 655 | mDayLabelsFrame->setMaximumWidth( mUpcomingWidth ); |
656 | if ( maxWid < 0 ) | 656 | if ( maxWid < 0 ) |
657 | maxWid = 20; | 657 | maxWid = 20; |
658 | 658 | ||
659 | QFont dlf = KOPrefs::instance()->mTimeLabelsFont; | 659 | QFont dlf = KOPrefs::instance()->mTimeLabelsFont; |
660 | QFontMetrics fm ( dlf ); | 660 | QFontMetrics fm ( dlf ); |
661 | int selCount = mSelectedDates.count(); | 661 | int selCount = mSelectedDates.count(); |
662 | QString dayTest = "Mon 20"; | 662 | QString dayTest = "Mon 20"; |
663 | //QString dayTest = "Mon 20"; | 663 | //QString dayTest = "Mon 20"; |
664 | int wid = fm.width( dayTest ); | 664 | int wid = fm.width( dayTest ); |
665 | //maxWid -= ( selCount * 3 ); //working for QLabels | 665 | //maxWid -= ( selCount * 3 ); //working for QLabels |
666 | maxWid -= ( selCount * 3 ); //working for QPushButton | 666 | maxWid -= ( selCount * 3 ); //working for QPushButton |
667 | if ( maxWid < 0 ) | 667 | if ( maxWid < 0 ) |
668 | maxWid = 20; | 668 | maxWid = 20; |
669 | int needWid = wid * selCount; | 669 | int needWid = wid * selCount; |
670 | //qDebug("++++++++Needed : %d MaxWidth: %d", needWid, maxWid ); | 670 | //qDebug("++++++++Needed : %d MaxWidth: %d", needWid, maxWid ); |
671 | //if ( needWid > maxWid ) | 671 | //if ( needWid > maxWid ) |
672 | // qDebug("DAYLABELS TOOOOOOO BIG "); | 672 | // qDebug("DAYLABELS TOOOOOOO BIG "); |
673 | while ( needWid > maxWid ) { | 673 | while ( needWid > maxWid ) { |
674 | dayTest = dayTest.left( dayTest.length() - 1 ); | 674 | dayTest = dayTest.left( dayTest.length() - 1 ); |
675 | wid = fm.width( dayTest ); | 675 | wid = fm.width( dayTest ); |
676 | needWid = wid * selCount; | 676 | needWid = wid * selCount; |
677 | } | 677 | } |
678 | int maxLen = dayTest.length(); | 678 | int maxLen = dayTest.length(); |
679 | int fontPoint = dlf.pointSize(); | 679 | int fontPoint = dlf.pointSize(); |
680 | if ( maxLen < 2 ) { | 680 | if ( maxLen < 2 ) { |
681 | int fontPoint = dlf.pointSize(); | 681 | int fontPoint = dlf.pointSize(); |
682 | while ( fontPoint > 4 ) { | 682 | while ( fontPoint > 4 ) { |
683 | --fontPoint; | 683 | --fontPoint; |
684 | dlf.setPointSize( fontPoint ); | 684 | dlf.setPointSize( fontPoint ); |
685 | QFontMetrics f( dlf ); | 685 | QFontMetrics f( dlf ); |
686 | wid = f.width( "30" ); | 686 | wid = f.width( "30" ); |
687 | needWid = wid * selCount; | 687 | needWid = wid * selCount; |
688 | if ( needWid < maxWid ) | 688 | if ( needWid < maxWid ) |
689 | break; | 689 | break; |
690 | } | 690 | } |
691 | maxLen = 2; | 691 | maxLen = 2; |
692 | } | 692 | } |
693 | //qDebug("Max len %d ", dayTest.length() ); | 693 | //qDebug("Max len %d ", dayTest.length() ); |
694 | 694 | ||
695 | QFontMetrics tempF( dlf ); | 695 | QFontMetrics tempF( dlf ); |
696 | newHight = tempF.height(); | 696 | newHight = tempF.height(); |
697 | mDayLabels->setFont( dlf ); | 697 | mDayLabels->setFont( dlf ); |
698 | // mLayoutDayLabels = new QHBoxLayout(mDayLabels);; | 698 | // mLayoutDayLabels = new QHBoxLayout(mDayLabels);; |
699 | // mLayoutDayLabels->addSpacing(mTimeLabels->width()); | 699 | // mLayoutDayLabels->addSpacing(mTimeLabels->width()); |
700 | //mLayoutDayLabels->addSpacing( 2 ); | 700 | //mLayoutDayLabels->addSpacing( 2 ); |
701 | // QFont lFont = dlf; | 701 | // QFont lFont = dlf; |
702 | bool appendLabels = false; | 702 | bool appendLabels = false; |
703 | KOAgendaButton *dayLabel; | 703 | KOAgendaButton *dayLabel; |
704 | dayLabel = mDayLabelsList.first(); | 704 | dayLabel = mDayLabelsList.first(); |
705 | if ( !dayLabel ) { | 705 | if ( !dayLabel ) { |
706 | appendLabels = true; | 706 | appendLabels = true; |
707 | dayLabel = getNewDaylabel(); | 707 | dayLabel = getNewDaylabel(); |
708 | } | 708 | } |
709 | dayLabel->setFixedWidth( mTimeLabels->width()+2 ); | 709 | dayLabel->setFixedWidth( mTimeLabels->width()+2 ); |
710 | dayLabel->setFont( dlf ); | 710 | dayLabel->setFont( dlf ); |
711 | dayLabel->setNum( -1 ); | 711 | dayLabel->setNum( -1 ); |
712 | //dayLabel->setAlignment(QLabel::AlignHCenter); | 712 | //dayLabel->setAlignment(QLabel::AlignHCenter); |
713 | dayLabel->setText( KOGlobals::self()->calendarSystem()->monthName( mSelectedDates.first(), true ) ); | 713 | dayLabel->setText( KOGlobals::self()->calendarSystem()->monthName( mSelectedDates.first(), true ) ); |
714 | dayLabel->show(); | 714 | dayLabel->show(); |
715 | DateList::ConstIterator dit; | 715 | DateList::ConstIterator dit; |
716 | bool oneday = (mSelectedDates.first() == mSelectedDates.last() ); | 716 | bool oneday = (mSelectedDates.first() == mSelectedDates.last() ); |
717 | int counter = -1; | 717 | int counter = -1; |
718 | for( dit = mSelectedDates.begin(); dit != mSelectedDates.end(); ++dit ) { | 718 | for( dit = mSelectedDates.begin(); dit != mSelectedDates.end(); ++dit ) { |
719 | ++counter; | 719 | ++counter; |
720 | QDate date = *dit; | 720 | QDate date = *dit; |
721 | // QBoxLayout *dayLayout = new QVBoxLayout(mLayoutDayLabels); | 721 | // QBoxLayout *dayLayout = new QVBoxLayout(mLayoutDayLabels); |
722 | if ( ! appendLabels ) { | 722 | if ( ! appendLabels ) { |
723 | dayLabel = mDayLabelsList.next(); | 723 | dayLabel = mDayLabelsList.next(); |
724 | if ( !dayLabel ) | 724 | if ( !dayLabel ) |
725 | appendLabels = true; | 725 | appendLabels = true; |
726 | } | 726 | } |
727 | if ( appendLabels ) { | 727 | if ( appendLabels ) { |
728 | dayLabel = getNewDaylabel(); | 728 | dayLabel = getNewDaylabel(); |
729 | } | 729 | } |
730 | dayLabel->setMinimumWidth( 1 ); | 730 | dayLabel->setMinimumWidth( 1 ); |
731 | dayLabel->setMaximumWidth( 1024 ); | 731 | dayLabel->setMaximumWidth( 10240 ); |
732 | dayLabel->setFont( dlf ); | 732 | dayLabel->setFont( dlf ); |
733 | dayLabel->show(); | 733 | dayLabel->show(); |
734 | dayLabel->setNum( counter ); | 734 | dayLabel->setNum( counter ); |
735 | QString str; | 735 | QString str; |
736 | int dW = KOGlobals::self()->calendarSystem()->dayOfWeek(date); | 736 | int dW = KOGlobals::self()->calendarSystem()->dayOfWeek(date); |
737 | QString dayName = KOGlobals::self()->calendarSystem()->weekDayName( dW, true ); | 737 | QString dayName = KOGlobals::self()->calendarSystem()->weekDayName( dW, true ); |
738 | switch ( maxLen ) { | 738 | switch ( maxLen ) { |
739 | case 2: | 739 | case 2: |
740 | str = QString::number( date.day() ); | 740 | str = QString::number( date.day() ); |
741 | break; | 741 | break; |
742 | 742 | ||
743 | case 3: | 743 | case 3: |
744 | str = dayName.left( 1 ) +QString::number( date.day()); | 744 | str = dayName.left( 1 ) +QString::number( date.day()); |
745 | 745 | ||
746 | break; | 746 | break; |
747 | case 4: | 747 | case 4: |
748 | str = dayName.left( 1 ) + " " +QString::number( date.day()); | 748 | str = dayName.left( 1 ) + " " +QString::number( date.day()); |
749 | 749 | ||
750 | break; | 750 | break; |
751 | case 5: | 751 | case 5: |
752 | str = dayName.left( 2 ) + " " +QString::number( date.day()); | 752 | str = dayName.left( 2 ) + " " +QString::number( date.day()); |
753 | 753 | ||
754 | break; | 754 | break; |
755 | case 6: | 755 | case 6: |
756 | str = dayName.left( 3 ) + " " +QString::number( date.day()); | 756 | str = dayName.left( 3 ) + " " +QString::number( date.day()); |
757 | break; | 757 | break; |
758 | 758 | ||
759 | default: | 759 | default: |
760 | break; | 760 | break; |
761 | } | 761 | } |
762 | if ( oneday ) { | 762 | if ( oneday ) { |
763 | QString addString; | 763 | QString addString; |
764 | if ( mSelectedDates.first() == QDateTime::currentDateTime().date() ) | 764 | if ( mSelectedDates.first() == QDateTime::currentDateTime().date() ) |
765 | addString = i18n("Today"); | 765 | addString = i18n("Today"); |
766 | else if ( mSelectedDates.first() == QDateTime::currentDateTime().date().addDays(1) ) | 766 | else if ( mSelectedDates.first() == QDateTime::currentDateTime().date().addDays(1) ) |
767 | addString = i18n("Tomorrow"); | 767 | addString = i18n("Tomorrow"); |
768 | else if ( mSelectedDates.first() == QDateTime::currentDateTime().date().addDays(-1) ) | 768 | else if ( mSelectedDates.first() == QDateTime::currentDateTime().date().addDays(-1) ) |
769 | addString = i18n("Yesterday"); | 769 | addString = i18n("Yesterday"); |
770 | else if ( mSelectedDates.first() == QDateTime::currentDateTime().date().addDays(-2) ) | 770 | else if ( mSelectedDates.first() == QDateTime::currentDateTime().date().addDays(-2) ) |
771 | addString = i18n("Day before yesterday"); | 771 | addString = i18n("Day before yesterday"); |
772 | else if ( mSelectedDates.first() == QDateTime::currentDateTime().date().addDays(2) ) | 772 | else if ( mSelectedDates.first() == QDateTime::currentDateTime().date().addDays(2) ) |
773 | addString = i18n("Day after tomorrow"); | 773 | addString = i18n("Day after tomorrow"); |
774 | if ( !addString.isEmpty() ) { | 774 | if ( !addString.isEmpty() ) { |
775 | str = addString+", " + str; | 775 | str = addString+", " + str; |
776 | } | 776 | } |
777 | } | 777 | } |
778 | dayLabel->setText(str); | 778 | dayLabel->setText(str); |
779 | //dayLabel->setAlignment(QLabel::AlignHCenter); | 779 | //dayLabel->setAlignment(QLabel::AlignHCenter); |
780 | if (date == QDate::currentDate()) { | 780 | if (date == QDate::currentDate()) { |
781 | QFont bFont = dlf; | 781 | QFont bFont = dlf; |
782 | bFont.setBold( true ); | 782 | bFont.setBold( true ); |
783 | dayLabel->setFont(bFont); | 783 | dayLabel->setFont(bFont); |
784 | } | 784 | } |
785 | //dayLayout->addWidget(dayLabel); | 785 | //dayLayout->addWidget(dayLabel); |
786 | 786 | ||
787 | #ifndef KORG_NOPLUGINS | 787 | #ifndef KORG_NOPLUGINS |
788 | CalendarDecoration::List cds = KOCore::self()->calendarDecorations(); | 788 | CalendarDecoration::List cds = KOCore::self()->calendarDecorations(); |
789 | CalendarDecoration *it; | 789 | CalendarDecoration *it; |
790 | for(it = cds.first(); it; it = cds.next()) { | 790 | for(it = cds.first(); it; it = cds.next()) { |
791 | QString text = it->shortText( date ); | 791 | QString text = it->shortText( date ); |
792 | if ( !text.isEmpty() ) { | 792 | if ( !text.isEmpty() ) { |
793 | QLabel *label = new QLabel(text,mDayLabels); | 793 | QLabel *label = new QLabel(text,mDayLabels); |
794 | label->setAlignment(AlignCenter); | 794 | label->setAlignment(AlignCenter); |
795 | dayLayout->addWidget(label); | 795 | dayLayout->addWidget(label); |
796 | } | 796 | } |
797 | } | 797 | } |
798 | 798 | ||
799 | for(it = cds.first(); it; it = cds.next()) { | 799 | for(it = cds.first(); it; it = cds.next()) { |
800 | QWidget *wid = it->smallWidget(mDayLabels,date); | 800 | QWidget *wid = it->smallWidget(mDayLabels,date); |
801 | if ( wid ) { | 801 | if ( wid ) { |
802 | // wid->setHeight(20); | 802 | // wid->setHeight(20); |
803 | dayLayout->addWidget(wid); | 803 | dayLayout->addWidget(wid); |
804 | } | 804 | } |
805 | } | 805 | } |
806 | #endif | 806 | #endif |
807 | } | 807 | } |
808 | if ( ! appendLabels ) { | 808 | if ( ! appendLabels ) { |
809 | dayLabel = mDayLabelsList.next(); | 809 | dayLabel = mDayLabelsList.next(); |
810 | if ( !dayLabel ) | 810 | if ( !dayLabel ) |
811 | appendLabels = true; | 811 | appendLabels = true; |
812 | } | 812 | } |
813 | if ( appendLabels ) { | 813 | if ( appendLabels ) { |
814 | dayLabel = getNewDaylabel(); | 814 | dayLabel = getNewDaylabel(); |
815 | } | 815 | } |
816 | //dayLabel->hide();//test only | 816 | //dayLabel->hide();//test only |
817 | 817 | ||
818 | int offset = (mAgenda->width() - mAgenda->verticalScrollBar()->width()-3 ) % mSelectedDates.count() ; | 818 | int offset = (mAgenda->width() - mAgenda->verticalScrollBar()->width()-3 ) % mSelectedDates.count() ; |
819 | if ( offset < 0 ) offset = 0; | 819 | if ( offset < 0 ) offset = 0; |
820 | //qDebug("mLayoutDayLabels->addSpacing %d ", mAgenda->verticalScrollBar()->width()+offset+2 ); | 820 | //qDebug("mLayoutDayLabels->addSpacing %d ", mAgenda->verticalScrollBar()->width()+offset+2 ); |
821 | dayLabel->setText(">");//QString::number ( mSelectedDates.first().month() ) ); | 821 | dayLabel->setText(">");//QString::number ( mSelectedDates.first().month() ) ); |
822 | dayLabel->setFont( dlf ); | 822 | dayLabel->setFont( dlf ); |
823 | dayLabel->show(); | 823 | dayLabel->show(); |
824 | dayLabel->setNum( -2 ); | 824 | dayLabel->setNum( -2 ); |
825 | dayLabel->setFixedWidth( mAgenda->verticalScrollBar()->width()+ offset ); | 825 | dayLabel->setFixedWidth( mAgenda->verticalScrollBar()->width()+ offset ); |
826 | //qDebug("setToFixed %d ", mAgenda->verticalScrollBar()->width()+ offset+2); | 826 | //qDebug("setToFixed %d ", mAgenda->verticalScrollBar()->width()+ offset+2); |
827 | //mLayoutDayLabels->addSpacing(mAgenda->verticalScrollBar()->width()+ offset+2); | 827 | //mLayoutDayLabels->addSpacing(mAgenda->verticalScrollBar()->width()+ offset+2); |