summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-02-01 23:46:24 (UTC)
committer zautrix <zautrix>2005-02-01 23:46:24 (UTC)
commit9ecfd0660e36b6b8dd7401f0edb16dd3d6f03289 (patch) (unidiff)
treed80eb20b97ab401b4e9e34f25b65030fb2c0b035
parentafa94abe147d23e09a14a81e47d04d4a3d5670c3 (diff)
downloadkdepimpi-9ecfd0660e36b6b8dd7401f0edb16dd3d6f03289.zip
kdepimpi-9ecfd0660e36b6b8dd7401f0edb16dd3d6f03289.tar.gz
kdepimpi-9ecfd0660e36b6b8dd7401f0edb16dd3d6f03289.tar.bz2
text
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/korganizer/featuresKOPI.txt39
-rw-r--r--korganizer/komonthview.cpp11
2 files changed, 41 insertions, 9 deletions
diff --git a/bin/kdepim/korganizer/featuresKOPI.txt b/bin/kdepim/korganizer/featuresKOPI.txt
index ab6b224..052680e 100644
--- a/bin/kdepim/korganizer/featuresKOPI.txt
+++ b/bin/kdepim/korganizer/featuresKOPI.txt
@@ -98,114 +98,147 @@ You can quickly clone, move, cancel, beam events/todos.
98When dragging a recurrent event in agenda view, this recurrence is automatically added to the list of recurrence exceptions and a non-recurring clone is created. 98When dragging a recurrent event in agenda view, this recurrence is automatically added to the list of recurrence exceptions and a non-recurring clone is created.
99If you click on a day number in month view, a new edit event dialog pops up. 99If you click on a day number in month view, a new edit event dialog pops up.
1007) 1007)
101Fast navigation: 101Fast navigation:
102There are many shortcuts for fast changing the view. Please refer to shortcut-key description. 102There are many shortcuts for fast changing the view. Please refer to shortcut-key description.
103If you click on the week number in month view, this week is shown in agenda view. 103If you click on the week number in month view, this week is shown in agenda view.
1048) 1048)
105Printing: 105Printing:
106On the desktop version, you can print out a vertical range of the agenda view "as you see it". 106On the desktop version, you can print out a vertical range of the agenda view "as you see it".
107And you can print on the desktop version a day view, three kinds of a week view and a month view. 107And you can print on the desktop version a day view, three kinds of a week view and a month view.
108You can print the todo list as well. 108You can print the todo list as well.
1099) 1099)
110Configuration: 110Configuration:
111There are many advanced configuration possibilities. 111There are many advanced configuration possibilities.
112You can configure for every item in the toolbar, whether it should be shown or not. 112You can configure for every item in the toolbar, whether it should be shown or not.
113There are two item sizes for toolbar icons available. (Useful for 5x00 user and small display). 113There are two item sizes for toolbar icons available. (Useful for 5x00 user and small display).
114You can configure the font/fontsize for every view. 114You can configure the font/fontsize for every view.
11510) 11510)
116Language: 116Language:
117KO/Pi is available in English, German, French and Italian. 117KO/Pi is available in English, German, French and Italian.
11811) 11811)
119Alarm: 119Alarm:
120For Zaurus there is an alarm applet available with additional timer functionality. 120For Zaurus there is an alarm applet available with additional timer functionality.
121This alarm applet will make the Zaurus wake up, if the device is in suspend mode. 121This alarm applet will make the Zaurus wake up, if the device is in suspend mode.
122On the desktop (e.g. Windows) you can enable in KO/Pi the internal alarm notification, 122On the desktop (e.g. Windows) you can enable in KO/Pi the internal alarm notification,
123such that you are informed about an alarm, if the program is running. 123such that you are informed about an alarm, if the program is running.
12412) 12412)
125What'sThis Help: 125What'sThis Help:
126To use the What'sThis Help, you have to enable the What'sThis icon in the toolbar. 126To use the What'sThis Help, you have to enable the What'sThis icon in the toolbar.
127(Choose menu: ME-Toolbar or Action-Configure Toolbar ). 127(Choose menu: ME-Toolbar or Action-Configure Toolbar ).
128(You have to restart to reload the changed toolbar config). 128(You have to restart to reload the changed toolbar config).
129Now click on the QWhat'sThis Icon 129Now click on the QWhat'sThis Icon
130in the top right corner of KO/Pi. 130in the top right corner of KO/Pi.
131Then click now after that on an item in the Agenda View or in the month view 131Then click now after that on an item in the Agenda View or in the month view
132you will get a detailed display of the items content. 132you will get a detailed display of the items content.
133 133
134 134
135 135
136****************************************************** 136******************************************************
137B) Useful features, that are not straighforward to see 137B) Useful features, that are not straighforward to see
138****************************************************** 138******************************************************
139 139
1401) Right mouse click on Zaurus 1401) Right mouse click on Zaurus
1412) Moving of items in the agenda view 1412) Moving of items in the agenda view
1423) Creating exceptions for recurring events 1423) Creating exceptions for recurring events
1434) Accessing the week in agenda view from the Month view 1434) Accessing the week in agenda view from the Month view
1445) Navigation in month view 1445) Navigation in month view
1456) Navigation in agenda view 1456) Navigation in agenda view
1467) Monthview as week view
1478) Switching display mode in date edit
146 148
1471) 1491)
148Right mouse click on Zaurus: 150Right mouse click on Zaurus:
149In KO/Pi on the desktop a right mouse click will popup an menu on some items. 151In KO/Pi on the desktop a right mouse click will popup an menu on some items.
150On the Zaurus there can only the stylus be used. 152On the Zaurus there can only the stylus be used.
151To simulte a right mouse click with the stylus press is and hold it down 153To simulte a right mouse click with the stylus press is and hold it down
152for 1-2 seconds. If you release it then, a menu pops up, if there is 154for 1-2 seconds. If you release it then, a menu pops up, if there is
153a menu available for this particular item. 155a menu available for this particular item.
154On some places the menu pops up without releasing the stylus. 156On some places the menu pops up without releasing the stylus.
155That bevaviour is not a bug, it is caused by the the behaviour of the 157That bevaviour is not a bug, it is caused by the the behaviour of the
156single left click on the item. 158single left click on the item.
159
1572) 1602)
158Moving of items in the agenda view: 161Moving of items in the agenda view:
159In the aganda view you can move an item by clicking on it and holding 162In the agenda view you can move an item by clicking on it and holding
160the mouse down. 163the mouse down.
161You have to move the mouse some distance before the items actually 164You have to move the mouse some distance before the items actually
162starts to move. That is not abug, that is a feature to prevent 165starts to move. That is not abug, that is a feature to prevent
163you to make unwanted moves of the item when you click on it(and moving the 166you to make unwanted moves of the item when you click on it(and moving the
164mouse only a small distance with this click) 167mouse only a small distance with this click)
168
1653) 1693)
166Creating exceptions for recurring events: 170Creating exceptions for recurring events:
167To create an exception for a recurring event, 171To create an exception for a recurring event,
168move this event in the agenda view. 172move this event in the agenda view.
169This recurrence is automatically added to the list 173This recurrence is automatically added to the list
170of recurrence exceptions and a non-recurring clone is created. 174of recurrence exceptions and a non-recurring clone is created.
171To cancel a recurrence, create an exception by moving it 175To cancel a single recurrence, create an exception by moving it
172and then move it back and cancel it. 176and then move it back and cancel it.
177
1734) 1784)
174Accessing the week in agenda view from the month view: 179Accessing the week in agenda view from the month view:
175In the month view there are on the left week numbers displayed. 180In the month view there are on the left week numbers displayed.
176Click on a week number to see this week in the agenda view. 181Click on a week number to see this week in the agenda view.
182
1775) 1835)
178Navigation in month view: 184Navigation in month view:
179If you select the month view with the icon in the toolbar, 185If you select the month view with the icon in the toolbar,
180the selected data range in the date navigator 186the selected data range in the date navigator
181is set automatically to the complete month. 187is set automatically to the complete month.
182(Click on month view and then the space bar to see the 188(Click on month view and then the space bar to see the
183selected data range in the date navigator). 189selected data range in the date navigator).
184If you select in the data navigator 190If you select in the data navigator
185(automatically by clicking on the month view or manually) 191(automatically by clicking on the month view or manually)
186a date range from the first of the month to the 192a date range from the first of the month to the
18728.-31. of the month (the 28.-31. is valid for every month!) 19328.-31. of the month (the 28.-31. is valid for every month!)
188then the (month-)navigation keys will select automatically the 194then the (month-)navigation keys will select automatically the
189complete next month as date range. 195complete next month as date range.
196
1906) 1976)
191Navigation in agenda view: 198Navigation in agenda view:
192If you select (as an example) 4 days in the date navigator 199If you select (as an example) 4 days in the date navigator
193the (week-) navigation key will select the same 4 days in the next week. 200the (week-) navigation key will select the same 4 days in the next week.
194If you want to get the next 4 days after the selected 4 days selected, 201If you want to get the next 4 days after the selected 4 days selected,
195you have to switch the navigation mode to "next days mode" 202you have to switch the navigation mode to "next days mode"
196by clicking on the next days icons. 203by clicking on the next days icons.
197Now the next days from today are selected, but after selecting 204Now the next days from today are selected, but after selecting
1984 days in the day navigator the (week-) navigation key 2054 days in the day navigator the (week-) navigation key
199will select the next 4 days. 206will select the next 4 days.
200The "next days mode" is turned off by clicking on the 207The "next days mode" is turned off by clicking on the
201week view, work week view or day view button. 208week view, work week view or day view button.
202The agenda view has "time labels" on the left, which displays the hours from 0-24. 209The agenda view has "time labels" on the left, which displays the hours from 0-24.
203If you press the mouse on the timelabels and move it up/down you can 210If you press the mouse on the timelabels and move it up/down you can
204increase/decrease the agenda size quickly. 211increase/decrease the agenda size quickly.
212 In the agenda view you can click on the day labels (e.g. Mon 14)
213to see the selected date in single day mode.
214If you click in single day mode the day label you will switch back to
215the previously selected date range.
216Right of the day labels is a ">" button.
217If you click this button, you will go one day ahead.
218Left of the day labels is the month name displayed.
219If you click this button, the month view is shown.
220
2217)
222Monthview as week view:
223On the left side of the monthview are the week number labels displayed.
224On top of these labels is a "W" displayed.
225If you click on this button the month view mode will switch to week view mode.
226To switch back, please click the button, which now displays a "M".
227
2288)
229Switching display mode in date edit:
230On several places is a date edit used.
231You can scroll the dates by selecting the part of the date (month, day, year)
232in the lineedit and pressing the key up/key down key.
233The display mode of a date edit is initially short date mode.
234(I.e. weekday names are not displayed)
235If you doubleclick in the lineedit the mode switches to long date mode.
236Now the weekday names are displayed for better overview.
237To switch back simply doubleclick again in the line edit.
205 238
206 239
207 240
208 241
209 242
210 243
211 244
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp
index 9888566..6294b98 100644
--- a/korganizer/komonthview.cpp
+++ b/korganizer/komonthview.cpp
@@ -645,101 +645,97 @@ void MonthViewCell::enableScrollBars( bool enabled )
645 } else { 645 } else {
646 mItemList->setVScrollBarMode(QScrollView::AlwaysOff); 646 mItemList->setVScrollBarMode(QScrollView::AlwaysOff);
647 mItemList->setHScrollBarMode(QScrollView::AlwaysOff); 647 mItemList->setHScrollBarMode(QScrollView::AlwaysOff);
648 } 648 }
649} 649}
650 650
651Incidence *MonthViewCell::selectedIncidence() 651Incidence *MonthViewCell::selectedIncidence()
652{ 652{
653 int index = mItemList->currentItem(); 653 int index = mItemList->currentItem();
654 if ( index < 0 ) return 0; 654 if ( index < 0 ) return 0;
655 655
656 MonthViewItem *item = 656 MonthViewItem *item =
657 static_cast<MonthViewItem *>( mItemList->item( index ) ); 657 static_cast<MonthViewItem *>( mItemList->item( index ) );
658 658
659 if ( !item ) return 0; 659 if ( !item ) return 0;
660 660
661 return item->incidence(); 661 return item->incidence();
662} 662}
663 663
664QDate MonthViewCell::selectedIncidenceDate() 664QDate MonthViewCell::selectedIncidenceDate()
665{ 665{
666 QDate qd; 666 QDate qd;
667 int index = mItemList->currentItem(); 667 int index = mItemList->currentItem();
668 if ( index < 0 ) return qd; 668 if ( index < 0 ) return qd;
669 669
670 MonthViewItem *item = 670 MonthViewItem *item =
671 static_cast<MonthViewItem *>( mItemList->item( index ) ); 671 static_cast<MonthViewItem *>( mItemList->item( index ) );
672 672
673 if ( !item ) return qd; 673 if ( !item ) return qd;
674 674
675 return item->incidenceDate(); 675 return item->incidenceDate();
676} 676}
677 677
678void MonthViewCell::deselect() 678void MonthViewCell::deselect()
679{ 679{
680 mItemList->clearSelection(); 680 mItemList->clearSelection();
681 enableScrollBars( false ); 681 enableScrollBars( false );
682 // updateCell(); 682 // updateCell();
683} 683}
684void MonthViewCell::select() 684void MonthViewCell::select()
685{ 685{
686 ;// updateCell(); 686 ;// updateCell();
687} 687}
688 688
689void MonthViewCell::resizeEvent ( QResizeEvent * ) 689void MonthViewCell::resizeEvent ( QResizeEvent * )
690{ 690{
691 if ( !mMonthView->isUpdatePossible() ) 691 if ( !mMonthView->isUpdatePossible() )
692 return; 692 return;
693#ifndef DESKTOP_VERSION 693
694 if ( !isVisible() ){
695 return;
696 }
697#endif
698 int size = height() - mLabel->height() - 2; 694 int size = height() - mLabel->height() - 2;
699 if ( size > 0 ) 695 if ( size > 0 )
700 mItemList->verticalScrollBar()->setMaximumHeight( size ); 696 mItemList->verticalScrollBar()->setMaximumHeight( size );
701 size = width() - mLabel->width() -2; 697 size = width() - mLabel->width() -2;
702 if ( size > 0 ) 698 if ( size > 0 )
703 mItemList->horizontalScrollBar()->setMaximumWidth( size ); 699 mItemList->horizontalScrollBar()->setMaximumWidth( size );
704 mLabel->move( width()-mItemList->lineWidth() - mLabel->width(), height()-mItemList->lineWidth() - mLabel->height() ); 700 mLabel->move( width()-mItemList->lineWidth() - mLabel->width(), height()-mItemList->lineWidth() - mLabel->height() );
705 //mLabel->setMaximumWidth( width() - mItemList->lineWidth()*2); 701 //mLabel->setMaximumWidth( width() - mItemList->lineWidth()*2);
706} 702}
707 703
708void MonthViewCell::defaultAction( QListBoxItem *item ) 704void MonthViewCell::defaultAction( QListBoxItem *item )
709{ 705{
710 if ( !item ) return; 706 if ( !item ) return;
711 707
712 MonthViewItem *eventItem = static_cast<MonthViewItem *>( item ); 708 MonthViewItem *eventItem = static_cast<MonthViewItem *>( item );
713 Incidence *incidence = eventItem->incidence(); 709 Incidence *incidence = eventItem->incidence();
714 if ( incidence ) mMonthView->defaultAction( incidence ); 710 if ( incidence ) mMonthView->defaultAction( incidence );
715} 711}
716void MonthViewCell::showDay() 712void MonthViewCell::showDay()
717{ 713{
718 emit showDaySignal( date() ); 714 emit showDaySignal( date() );
719} 715}
720void MonthViewCell::newEvent() 716void MonthViewCell::newEvent()
721{ 717{
722 QDateTime dt( date(), QTime( KOPrefs::instance()->mStartTime, 0 ) ); 718 QDateTime dt( date(), QTime( KOPrefs::instance()->mStartTime, 0 ) );
723 emit newEventSignal( dt ); 719 emit newEventSignal( dt );
724} 720}
725void MonthViewCell::cellClicked( QListBoxItem *item ) 721void MonthViewCell::cellClicked( QListBoxItem *item )
726{ 722{
727 static QListBoxItem * lastClicked = 0; 723 static QListBoxItem * lastClicked = 0;
728 if ( item == 0 ) { 724 if ( item == 0 ) {
729 QDateTime dt( date(), QTime( KOPrefs::instance()->mStartTime, 0 ) ); 725 QDateTime dt( date(), QTime( KOPrefs::instance()->mStartTime, 0 ) );
730 emit newEventSignal( dt ); 726 emit newEventSignal( dt );
731 return; 727 return;
732 } 728 }
733 /* 729 /*
734 if ( lastClicked ) 730 if ( lastClicked )
735 if ( ! item ) { 731 if ( ! item ) {
736 if ( lastClicked->listBox() != item->listBox() ) 732 if ( lastClicked->listBox() != item->listBox() )
737 lastClicked->listBox()->clearSelection(); 733 lastClicked->listBox()->clearSelection();
738 } 734 }
739 */ 735 */
740 736
741 mMonthView->setSelectedCell( this ); 737 mMonthView->setSelectedCell( this );
742 if( KOPrefs::instance()->mEnableMonthScroll || KOPrefs::instance()->mMonthViewWeek ) enableScrollBars( true ); 738 if( KOPrefs::instance()->mEnableMonthScroll || KOPrefs::instance()->mMonthViewWeek ) enableScrollBars( true );
743 select(); 739 select();
744} 740}
745 741
@@ -796,96 +792,98 @@ KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name)
796 label->setAlignment(AlignCenter); 792 label->setAlignment(AlignCenter);
797 mDayLabels.insert( i, label ); 793 mDayLabels.insert( i, label );
798 } 794 }
799 795
800 bfont.setBold( false ); 796 bfont.setBold( false );
801 mWeekLabels.resize( mNumWeeks+1 ); 797 mWeekLabels.resize( mNumWeeks+1 );
802 for( i = 0; i < mNumWeeks+1; i++ ) { 798 for( i = 0; i < mNumWeeks+1; i++ ) {
803 KOWeekButton *label = new KOWeekButton( this ); 799 KOWeekButton *label = new KOWeekButton( this );
804 label->setFont(bfont); 800 label->setFont(bfont);
805 connect( label, SIGNAL( selectWeekNum ( int )),this, SIGNAL( selectWeekNum ( int )) ); 801 connect( label, SIGNAL( selectWeekNum ( int )),this, SIGNAL( selectWeekNum ( int )) );
806 label->setFlat(true); 802 label->setFlat(true);
807 QWhatsThis::add(label,i18n("Click on the week number to\nshow week in agenda view")); 803 QWhatsThis::add(label,i18n("Click on the week number to\nshow week in agenda view"));
808 //label->setFrameStyle(QFrame::Panel|QFrame::Raised); 804 //label->setFrameStyle(QFrame::Panel|QFrame::Raised);
809 //label->setLineWidth(1); 805 //label->setLineWidth(1);
810 //label->setAlignment(AlignCenter); 806 //label->setAlignment(AlignCenter);
811 mWeekLabels.insert( i, label ); 807 mWeekLabels.insert( i, label );
812 } 808 }
813 mWeekLabels[mNumWeeks]->setText( i18n("W")); 809 mWeekLabels[mNumWeeks]->setText( i18n("W"));
814 int row, col; 810 int row, col;
815 mCells.resize( mNumCells ); 811 mCells.resize( mNumCells );
816 for( row = 0; row < mNumWeeks; ++row ) { 812 for( row = 0; row < mNumWeeks; ++row ) {
817 for( col = 0; col < mDaysPerWeek; ++col ) { 813 for( col = 0; col < mDaysPerWeek; ++col ) {
818 MonthViewCell *cell = new MonthViewCell( this ); 814 MonthViewCell *cell = new MonthViewCell( this );
819 mCells.insert( row * mDaysPerWeek + col, cell ); 815 mCells.insert( row * mDaysPerWeek + col, cell );
820 816
821 connect( cell, SIGNAL( defaultAction( Incidence * ) ), 817 connect( cell, SIGNAL( defaultAction( Incidence * ) ),
822 SLOT( defaultAction( Incidence * ) ) ); 818 SLOT( defaultAction( Incidence * ) ) );
823 connect( cell, SIGNAL( newEventSignal( QDateTime ) ), 819 connect( cell, SIGNAL( newEventSignal( QDateTime ) ),
824 SIGNAL( newEventSignal( QDateTime ) ) ); 820 SIGNAL( newEventSignal( QDateTime ) ) );
825 connect( cell, SIGNAL( showDaySignal( QDate ) ), 821 connect( cell, SIGNAL( showDaySignal( QDate ) ),
826 SIGNAL( showDaySignal( QDate ) ) ); 822 SIGNAL( showDaySignal( QDate ) ) );
827 } 823 }
828 } 824 }
829 825
830 connect( mWeekLabels[mNumWeeks], SIGNAL( clicked() ), 826 connect( mWeekLabels[mNumWeeks], SIGNAL( clicked() ),
831 SLOT( switchView() ) ); 827 SLOT( switchView() ) );
832 mContextMenu = eventPopup(); 828 mContextMenu = eventPopup();
833 // updateConfig(); //useless here 829 // updateConfig(); //useless here
834 830
835 emit incidenceSelected( 0 ); 831 emit incidenceSelected( 0 );
836} 832}
837 833
838KOMonthView::~KOMonthView() 834KOMonthView::~KOMonthView()
839{ 835{
840 delete mContextMenu; 836 delete mContextMenu;
841} 837}
842void KOMonthView::switchView() 838void KOMonthView::switchView()
843{ 839{
840 if ( selectedCell( ) )
841 selectedCell()->deselect();
844 mShowWeekView = !mShowWeekView; 842 mShowWeekView = !mShowWeekView;
845 KOPrefs::instance()->mMonthViewWeek = mShowWeekView; 843 KOPrefs::instance()->mMonthViewWeek = mShowWeekView;
846 emit showNavigator( !mShowWeekView ); 844 emit showNavigator( !mShowWeekView );
847 computeLayout(); 845 computeLayout();
848 updateConfig(); 846 updateConfig();
849} 847}
850 848
851int KOMonthView::maxDatesHint() 849int KOMonthView::maxDatesHint()
852{ 850{
853 return mNumCells; 851 return mNumCells;
854} 852}
855 853
856int KOMonthView::currentDateCount() 854int KOMonthView::currentDateCount()
857{ 855{
858 return mNumCells; 856 return mNumCells;
859} 857}
860 858
861QPtrList<Incidence> KOMonthView::selectedIncidences() 859QPtrList<Incidence> KOMonthView::selectedIncidences()
862{ 860{
863 QPtrList<Incidence> selected; 861 QPtrList<Incidence> selected;
864 862
865 if ( mSelectedCell ) { 863 if ( mSelectedCell ) {
866 Incidence *incidence = mSelectedCell->selectedIncidence(); 864 Incidence *incidence = mSelectedCell->selectedIncidence();
867 if ( incidence ) selected.append( incidence ); 865 if ( incidence ) selected.append( incidence );
868 } 866 }
869 867
870 return selected; 868 return selected;
871} 869}
872 870
873DateList KOMonthView::selectedDates() 871DateList KOMonthView::selectedDates()
874{ 872{
875 DateList selected; 873 DateList selected;
876 874
877 if ( mSelectedCell ) { 875 if ( mSelectedCell ) {
878 QDate qd = mSelectedCell->selectedIncidenceDate(); 876 QDate qd = mSelectedCell->selectedIncidenceDate();
879 if ( qd.isValid() ) selected.append( qd ); 877 if ( qd.isValid() ) selected.append( qd );
880 } 878 }
881 879
882 return selected; 880 return selected;
883} 881}
884 882
885void KOMonthView::printPreview(CalPrinter *calPrinter, const QDate &fd, 883void KOMonthView::printPreview(CalPrinter *calPrinter, const QDate &fd,
886 const QDate &td) 884 const QDate &td)
887{ 885{
888#ifndef KORG_NOPRINTER 886#ifndef KORG_NOPRINTER
889 calPrinter->preview(CalPrinter::Month, fd, td); 887 calPrinter->preview(CalPrinter::Month, fd, td);
890#endif 888#endif
891} 889}
@@ -1114,101 +1112,102 @@ void KOMonthView::resizeEvent(QResizeEvent * e)
1114} 1112}
1115void KOMonthView::computeLayoutWeek() 1113void KOMonthView::computeLayoutWeek()
1116{ 1114{
1117 1115
1118 int daysToShow; 1116 int daysToShow;
1119 bool combinedSatSun = false; 1117 bool combinedSatSun = false;
1120 if (mShowSatSunComp = KOPrefs::instance()->mMonthViewSatSunTog ) { 1118 if (mShowSatSunComp = KOPrefs::instance()->mMonthViewSatSunTog ) {
1121 daysToShow = 6; 1119 daysToShow = 6;
1122 combinedSatSun = true; 1120 combinedSatSun = true;
1123 } 1121 }
1124 int tWid = topLevelWidget()->size().width(); 1122 int tWid = topLevelWidget()->size().width();
1125 int tHei = topLevelWidget()->size().height(); 1123 int tHei = topLevelWidget()->size().height();
1126 1124
1127 int wid = size().width();//e 1125 int wid = size().width();//e
1128 int hei = size().height()-1; 1126 int hei = size().height()-1;
1129 1127
1130 if ( ((wid *3)/2) < tWid && (( hei *3) /2) < tHei ) 1128 if ( ((wid *3)/2) < tWid && (( hei *3) /2) < tHei )
1131 return; 1129 return;
1132 1130
1133 if ( wid < hei ) 1131 if ( wid < hei )
1134 daysToShow = 2; 1132 daysToShow = 2;
1135 else 1133 else
1136 daysToShow = 3; 1134 daysToShow = 3;
1137 mShowSatSunComp = true; 1135 mShowSatSunComp = true;
1138 combinedSatSun = true; 1136 combinedSatSun = true;
1139 1137
1140 //qDebug("KOMonthView::computeLayout()------------------------------------ "); 1138 //qDebug("KOMonthView::computeLayout()------------------------------------ ");
1141 QFontMetrics fm ( mWeekLabels[0]->font() ); 1139 QFontMetrics fm ( mWeekLabels[0]->font() );
1142 int weeklabelwid = fm.width( "888" ); 1140 int weeklabelwid = fm.width( "888" );
1143 wid -= weeklabelwid; 1141 wid -= weeklabelwid;
1144 1142
1145 int colWid = wid / daysToShow; 1143 int colWid = wid / daysToShow;
1146 int lastCol = wid - ( colWid*6 ); 1144 int lastCol = wid - ( colWid*6 );
1147 int dayLabelHei = mDayLabels[0]->sizeHint().height(); 1145 int dayLabelHei = mDayLabels[0]->sizeHint().height();
1148 int cellHei = (hei - (5- daysToShow )*dayLabelHei) /(5- daysToShow ); 1146 int cellHei = (hei - (5- daysToShow )*dayLabelHei) /(5- daysToShow );
1149 int colModulo = wid % daysToShow; 1147 int colModulo = wid % daysToShow;
1150 int rowModulo = (hei- (5- daysToShow )*dayLabelHei) % daysToShow-1; 1148 int rowModulo = (hei- (5- daysToShow )*dayLabelHei) % daysToShow-1;
1151 //qDebug("rowmod %d ", rowModulo); 1149 //qDebug("rowmod %d ", rowModulo);
1152 int i; 1150 int i;
1153 int x,y,w,h; 1151 int x,y,w,h;
1154 x= 0; 1152 x= 0;
1155 y= 0; 1153 y= 0;
1156 w = colWid; 1154 w = colWid;
1157 h = dayLabelHei ; 1155 h = dayLabelHei ;
1158 for ( i = 0; i < 7; i++) { 1156 for ( i = 0; i < 7; i++) {
1159 if ( i && !( i % daysToShow) && i < 6) { 1157 if ( i && !( i % daysToShow) && i < 6) {
1160 y += hei/(5-daysToShow); 1158 y += hei/(5-daysToShow);
1161 x = 0; 1159 x = 0;
1160 w = colWid;
1162 } 1161 }
1163 if ( i == daysToShow-colModulo ) 1162 if ( i == daysToShow-colModulo )
1164 ++w; 1163 ++w;
1165 if ( i >= 5 ) { 1164 if ( i >= 5 ) {
1166 mDayLabels[i]->setGeometry( x+weeklabelwid,y,w/2,h); 1165 mDayLabels[i]->setGeometry( x+weeklabelwid,y,w/2+1,h);
1167 x -= w/2 ; 1166 x -= w/2 ;
1168 } 1167 }
1169 else 1168 else
1170 mDayLabels[i]->setGeometry( x+weeklabelwid,y,w,h); 1169 mDayLabels[i]->setGeometry( x+weeklabelwid,y,w,h);
1171 x += w; 1170 x += w;
1172 } 1171 }
1173 x= 0; 1172 x= 0;
1174 y= dayLabelHei; 1173 y= dayLabelHei;
1175 w = colWid; 1174 w = colWid;
1176 h = cellHei; 1175 h = cellHei;
1177 for ( i = 0; i < mCells.count(); ++i) { 1176 for ( i = 0; i < mCells.count(); ++i) {
1178 if ( i > 6 ) { 1177 if ( i > 6 ) {
1179 mCells[i]->hide(); 1178 mCells[i]->hide();
1180 continue; 1179 continue;
1181 } 1180 }
1182 1181
1183 w = colWid; 1182 w = colWid;
1184 if ( ((i) % daysToShow) >= daysToShow-colModulo ) { 1183 if ( ((i) % daysToShow) >= daysToShow-colModulo ) {
1185 ++w; 1184 ++w;
1186 } 1185 }
1187 if ( i == (daysToShow-1-rowModulo)*7) 1186 if ( i == (daysToShow-1-rowModulo)*7)
1188 ++h; 1187 ++h;
1189 1188
1190 if ( i >= 5 ) { 1189 if ( i >= 5 ) {
1191 if ( i ==5 ) { 1190 if ( i ==5 ) {
1192 mCells[i]->setGeometry ( x+weeklabelwid,y,w,h/2 ); 1191 mCells[i]->setGeometry ( x+weeklabelwid,y,w,h/2 );
1193 x -= w ;y += h/2; 1192 x -= w ;y += h/2;
1194 } else { 1193 } else {
1195 mCells[i]->setGeometry ( x+weeklabelwid,y,w,h-h/2 ); 1194 mCells[i]->setGeometry ( x+weeklabelwid,y,w,h-h/2 );
1196 y -= h/2; 1195 y -= h/2;
1197 } 1196 }
1198 } else 1197 } else
1199 mCells[i]->setGeometry ( x+weeklabelwid,y,w,h ); 1198 mCells[i]->setGeometry ( x+weeklabelwid,y,w,h );
1200 1199
1201 1200
1202 x += w; 1201 x += w;
1203 if ( x + w/2 > wid ) { 1202 if ( x + w/2 > wid ) {
1204 x = 0; 1203 x = 0;
1205 y += h+dayLabelHei ; 1204 y += h+dayLabelHei ;
1206 } 1205 }
1207 } 1206 }
1208 y= dayLabelHei; 1207 y= dayLabelHei;
1209 h = cellHei ; 1208 h = cellHei ;
1210 mWeekLabels[0]->setGeometry( 0,y,weeklabelwid,hei-dayLabelHei); 1209 mWeekLabels[0]->setGeometry( 0,y,weeklabelwid,hei-dayLabelHei);
1211 for ( i = 1; i < 6; i++) { 1210 for ( i = 1; i < 6; i++) {
1212 mWeekLabels[i]->hide(); 1211 mWeekLabels[i]->hide();
1213 } 1212 }
1214 mWeekLabels[6]->setGeometry( 0,0,weeklabelwid,dayLabelHei); 1213 mWeekLabels[6]->setGeometry( 0,0,weeklabelwid,dayLabelHei);