author | zautrix <zautrix> | 2005-02-06 13:44:49 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-02-06 13:44:49 (UTC) |
commit | 26b0c69fb3b11c29475ec02b2cfe52e33eb24e5f (patch) (unidiff) | |
tree | 34c4f5e6b2d77dc1210822e1539d9516842b5691 /korganizer/komonthview.cpp | |
parent | 118f5aab05c9ace5612d5c4fd69e7c5a59bed67b (diff) | |
download | kdepimpi-26b0c69fb3b11c29475ec02b2cfe52e33eb24e5f.zip kdepimpi-26b0c69fb3b11c29475ec02b2cfe52e33eb24e5f.tar.gz kdepimpi-26b0c69fb3b11c29475ec02b2cfe52e33eb24e5f.tar.bz2 |
many small fixes
-rw-r--r-- | korganizer/komonthview.cpp | 61 |
1 files changed, 29 insertions, 32 deletions
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp index 65accdc..5926abe 100644 --- a/korganizer/komonthview.cpp +++ b/korganizer/komonthview.cpp | |||
@@ -790,19 +790,21 @@ void MonthViewCell::selection( QListBoxItem *item ) | |||
790 | // ******************************************************************************* | 790 | // ******************************************************************************* |
791 | // ******************************************************************************* | 791 | // ******************************************************************************* |
792 | // ******************************************************************************* | 792 | // ******************************************************************************* |
793 | 793 | ||
794 | 794 | ||
795 | KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name) | 795 | KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name) |
796 | : KOEventView( calendar, parent, name ), | 796 | : KOEventView( calendar, parent, name ), |
797 | mDaysPerWeek( 7 ), mNumWeeks( 6 ), mNumCells( mDaysPerWeek * mNumWeeks ), | 797 | mDaysPerWeek( 7 ), mNumWeeks( 6 ), mNumCells( mDaysPerWeek * mNumWeeks ), |
798 | mShortDayLabels( false ), mWidthLongDayLabel( 0 ), mSelectedCell( 0 ) | 798 | mWidthLongDayLabel( 0 ), mSelectedCell( 0 ) |
799 | { | 799 | { |
800 | 800 | ignoreResizeEvent = 0; | |
801 | mShortDayLabelsW = false; | ||
802 | mShortDayLabelsM = false; | ||
801 | clPending = true; | 803 | clPending = true; |
802 | mWidStack = new QWidgetStack( this ); | 804 | mWidStack = new QWidgetStack( this ); |
803 | QHBoxLayout* hb = new QHBoxLayout( this ); | 805 | QHBoxLayout* hb = new QHBoxLayout( this ); |
804 | mMonthView = new QWidget( mWidStack ); | 806 | mMonthView = new QWidget( mWidStack ); |
805 | mWeekView = new QWidget( mWidStack ); | 807 | mWeekView = new QWidget( mWidStack ); |
806 | #if QT_VERSION >= 0x030000 | 808 | #if QT_VERSION >= 0x030000 |
807 | mWidStack->addWidget(mMonthView ); | 809 | mWidStack->addWidget(mMonthView ); |
808 | mWidStack->addWidget(mWeekView ); | 810 | mWidStack->addWidget(mWeekView ); |
@@ -812,17 +814,16 @@ KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name) | |||
812 | #endif | 814 | #endif |
813 | hb->addWidget( mWidStack ); | 815 | hb->addWidget( mWidStack ); |
814 | mWeekStartsMonday = KGlobal::locale()->weekStartsMonday(); | 816 | mWeekStartsMonday = KGlobal::locale()->weekStartsMonday(); |
815 | mShowWeekView = KOPrefs::instance()->mMonthViewWeek; | 817 | mShowWeekView = KOPrefs::instance()->mMonthViewWeek; |
816 | if ( mShowWeekView ) | 818 | if ( mShowWeekView ) |
817 | mWeekStartsMonday = true; | 819 | mWeekStartsMonday = true; |
818 | updatePossible = false; | 820 | updatePossible = false; |
819 | mCells.setAutoDelete( true ); | 821 | mCells.setAutoDelete( true ); |
820 | mShowSatSunComp = KOPrefs::instance()->mMonthViewSatSunTog ; | ||
821 | mDayLabels.resize( mDaysPerWeek ); | 822 | mDayLabels.resize( mDaysPerWeek ); |
822 | mDayLabelsW.resize( mDaysPerWeek ); | 823 | mDayLabelsW.resize( mDaysPerWeek ); |
823 | QFont bfont = font(); | 824 | QFont bfont = font(); |
824 | if ( QApplication::desktop()->width() < 650 ) { | 825 | if ( QApplication::desktop()->width() < 650 ) { |
825 | bfont.setPointSize( bfont.pointSize() - 2 ); | 826 | bfont.setPointSize( bfont.pointSize() - 2 ); |
826 | } | 827 | } |
827 | bfont.setBold( true ); | 828 | bfont.setBold( true ); |
828 | int i; | 829 | int i; |
@@ -901,24 +902,20 @@ KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name) | |||
901 | SIGNAL( newEventSignal( QDateTime ) ) ); | 902 | SIGNAL( newEventSignal( QDateTime ) ) ); |
902 | connect( cell, SIGNAL( showDaySignal( QDate ) ), | 903 | connect( cell, SIGNAL( showDaySignal( QDate ) ), |
903 | SIGNAL( showDaySignal( QDate ) ) ); | 904 | SIGNAL( showDaySignal( QDate ) ) ); |
904 | cell->updateConfig(KOPrefs::instance()->mMonthViewUsesBigFont ); | 905 | cell->updateConfig(KOPrefs::instance()->mMonthViewUsesBigFont ); |
905 | } | 906 | } |
906 | 907 | ||
907 | //connect( mWeekLabels[mNumWeeks], SIGNAL( clicked() ), SLOT( switchView() ) ); | 908 | //connect( mWeekLabels[mNumWeeks], SIGNAL( clicked() ), SLOT( switchView() ) ); |
908 | mContextMenu = eventPopup(); | 909 | mContextMenu = eventPopup(); |
909 | // updateConfig(); //useless here | 910 | updateConfig(); //useless here |
910 | 911 | ||
911 | //mWeekLabels[mNumWeeks]->setText( i18n("W")); | 912 | //mWeekLabels[mNumWeeks]->setText( i18n("W")); |
912 | #if 0 | 913 | |
913 | mWidStack = new QWidgetStack( this ); | ||
914 | mMonthView = new QWidget( mWidStack ); | ||
915 | mWeekView = new QWidget( mWidStack ); | ||
916 | #endif | ||
917 | if ( mShowWeekView ) | 914 | if ( mShowWeekView ) |
918 | mWidStack->raiseWidget( mWeekView ); | 915 | mWidStack->raiseWidget( mWeekView ); |
919 | else | 916 | else |
920 | mWidStack->raiseWidget( mMonthView ); | 917 | mWidStack->raiseWidget( mMonthView ); |
921 | 918 | ||
922 | emit incidenceSelected( 0 ); | 919 | emit incidenceSelected( 0 ); |
923 | } | 920 | } |
924 | 921 | ||
@@ -1005,25 +1002,22 @@ void KOMonthView::updateConfig() | |||
1005 | 1002 | ||
1006 | mWeekStartsMonday = KGlobal::locale()->weekStartsMonday(); | 1003 | mWeekStartsMonday = KGlobal::locale()->weekStartsMonday(); |
1007 | 1004 | ||
1008 | if ( mShowWeekView ) { | 1005 | if ( mShowWeekView ) { |
1009 | mWeekStartsMonday = true; | 1006 | mWeekStartsMonday = true; |
1010 | } | 1007 | } |
1011 | QFontMetrics fontmetric(mDayLabels[0]->font()); | 1008 | QFontMetrics fontmetric(mDayLabels[0]->font()); |
1012 | mWidthLongDayLabel = 0; | 1009 | mWidthLongDayLabel = 0; |
1013 | 1010 | qDebug("KOMonthView::updateConfig() "); | |
1014 | for (int i = 0; i < 7; i++) { | 1011 | for (int i = 0; i < 7; i++) { |
1015 | int width = fontmetric.width(KOGlobals::self()->calendarSystem()->weekDayName(i+1)); | 1012 | int width = fontmetric.width(KOGlobals::self()->calendarSystem()->weekDayName(i+1)); |
1016 | if ( width > mWidthLongDayLabel ) mWidthLongDayLabel = width; | 1013 | if ( width > mWidthLongDayLabel ) mWidthLongDayLabel = width; |
1017 | } | 1014 | } |
1018 | bool temp = mShowSatSunComp ; | ||
1019 | mShowSatSunComp = KOPrefs::instance()->mMonthViewSatSunTog ; | ||
1020 | if ( ! mShowWeekView ) { | 1015 | if ( ! mShowWeekView ) { |
1021 | if ( temp != KOPrefs::instance()->mMonthViewSatSunTog ) | ||
1022 | computeLayout(); | 1016 | computeLayout(); |
1023 | } | 1017 | } |
1024 | updateDayLabels(); | 1018 | updateDayLabels(); |
1025 | //qDebug("KOMonthView::updateConfig() %d %d %d ",height(), mDayLabels[0]->sizeHint().height() ,mNumWeeks); | 1019 | //qDebug("KOMonthView::updateConfig() %d %d %d ",height(), mDayLabels[0]->sizeHint().height() ,mNumWeeks); |
1026 | //int cellHeight = (height() - mDayLabels[0]->sizeHint().height()) /mNumWeeks; | 1020 | //int cellHeight = (height() - mDayLabels[0]->sizeHint().height()) /mNumWeeks; |
1027 | //resizeEvent( 0 ); | 1021 | //resizeEvent( 0 ); |
1028 | for (uint i = 0; i < mCells.count(); ++i) { | 1022 | for (uint i = 0; i < mCells.count(); ++i) { |
1029 | mCells[i]->updateConfig(); | 1023 | mCells[i]->updateConfig(); |
@@ -1043,40 +1037,40 @@ void KOMonthView::updateDayLabels() | |||
1043 | 1037 | ||
1044 | QPtrVector<QLabel> *mDayLabelsT; | 1038 | QPtrVector<QLabel> *mDayLabelsT; |
1045 | #if 0 | 1039 | #if 0 |
1046 | if (mShowWeekView ) | 1040 | if (mShowWeekView ) |
1047 | mDayLabelsT = &mDayLabelsW; | 1041 | mDayLabelsT = &mDayLabelsW; |
1048 | else | 1042 | else |
1049 | mDayLabelsT = &mDayLabels; | 1043 | mDayLabelsT = &mDayLabels; |
1050 | #endif | 1044 | #endif |
1051 | 1045 | qDebug("updateDayLabels W %d M %d ",mShortDayLabelsW ,mShortDayLabelsM); | |
1052 | mDayLabelsT = &mDayLabelsW; | 1046 | mDayLabelsT = &mDayLabelsW; |
1053 | for (int i = 0; i < 7; i++) { | 1047 | for (int i = 0; i < 7; i++) { |
1054 | if (mWeekStartsMonday) { | 1048 | if (mWeekStartsMonday) { |
1055 | bool show = mShortDayLabels; | 1049 | bool show = mShortDayLabelsW; |
1056 | if ( i > 4 && mShowSatSunComp && mWidthLongDayLabel > (*mDayLabelsT)[i]->width() ) | 1050 | if ( i > 4 && mWidthLongDayLabel > (*mDayLabelsT)[i]->width() ) |
1057 | show = true; | 1051 | show = true; |
1058 | (*mDayLabelsT)[i]->setText(KOGlobals::self()->calendarSystem()->weekDayName(i+1,show)); | 1052 | (*mDayLabelsT)[i]->setText(KOGlobals::self()->calendarSystem()->weekDayName(i+1,show)); |
1059 | } else { | 1053 | } else { |
1060 | if (i==0) (*mDayLabelsT)[i]->setText(KOGlobals::self()->calendarSystem()->weekDayName(7,mShortDayLabels)); | 1054 | if (i==0) (*mDayLabelsT)[i]->setText(KOGlobals::self()->calendarSystem()->weekDayName(7,mShortDayLabelsW)); |
1061 | else (*mDayLabelsT)[i]->setText(KOGlobals::self()->calendarSystem()->weekDayName(i,mShortDayLabels)); | 1055 | else (*mDayLabelsT)[i]->setText(KOGlobals::self()->calendarSystem()->weekDayName(i,mShortDayLabelsW)); |
1062 | 1056 | ||
1063 | } | 1057 | } |
1064 | } | 1058 | } |
1065 | mDayLabelsT = &mDayLabels; | 1059 | mDayLabelsT = &mDayLabels; |
1066 | for (int i = 0; i < 7; i++) { | 1060 | for (int i = 0; i < 7; i++) { |
1067 | if (mWeekStartsMonday) { | 1061 | if (mWeekStartsMonday) { |
1068 | bool show = mShortDayLabels; | 1062 | bool show = mShortDayLabelsM; |
1069 | if ( i > 4 && mShowSatSunComp && mWidthLongDayLabel > (*mDayLabelsT)[i]->width() ) | 1063 | if ( i > 4 && KOPrefs::instance()->mMonthViewSatSunTog && mWidthLongDayLabel > (*mDayLabelsT)[i]->width() ) |
1070 | show = true; | 1064 | show = true; |
1071 | (*mDayLabelsT)[i]->setText(KOGlobals::self()->calendarSystem()->weekDayName(i+1,show)); | 1065 | (*mDayLabelsT)[i]->setText(KOGlobals::self()->calendarSystem()->weekDayName(i+1,show)); |
1072 | } else { | 1066 | } else { |
1073 | if (i==0) (*mDayLabelsT)[i]->setText(KOGlobals::self()->calendarSystem()->weekDayName(7,mShortDayLabels)); | 1067 | if (i==0) (*mDayLabelsT)[i]->setText(KOGlobals::self()->calendarSystem()->weekDayName(7,mShortDayLabelsM)); |
1074 | else (*mDayLabelsT)[i]->setText(KOGlobals::self()->calendarSystem()->weekDayName(i,mShortDayLabels)); | 1068 | else (*mDayLabelsT)[i]->setText(KOGlobals::self()->calendarSystem()->weekDayName(i,mShortDayLabelsM)); |
1075 | 1069 | ||
1076 | } | 1070 | } |
1077 | } | 1071 | } |
1078 | 1072 | ||
1079 | } | 1073 | } |
1080 | 1074 | ||
1081 | void KOMonthView::showDates(const QDate &start, const QDate &) | 1075 | void KOMonthView::showDates(const QDate &start, const QDate &) |
1082 | { | 1076 | { |
@@ -1264,47 +1258,49 @@ void KOMonthView::updateView() | |||
1264 | (*cells)[0]->setFocus(); | 1258 | (*cells)[0]->setFocus(); |
1265 | #endif | 1259 | #endif |
1266 | 1260 | ||
1267 | //qDebug("update time %d ", ti.elapsed()); | 1261 | //qDebug("update time %d ", ti.elapsed()); |
1268 | } | 1262 | } |
1269 | 1263 | ||
1270 | void KOMonthView::resizeEvent(QResizeEvent * e) | 1264 | void KOMonthView::resizeEvent(QResizeEvent * e) |
1271 | { | 1265 | { |
1266 | qDebug("KOMonthView::resizeEvent %d %d -- %d %d ", e->size().width(), e->size().height(), e->oldSize().width(), e->oldSize().height()); | ||
1267 | if ( ignoreResizeEvent ) { | ||
1268 | qDebug("KOMonthView::resizeEvent ignored "); | ||
1269 | --ignoreResizeEvent; | ||
1270 | return; | ||
1271 | } | ||
1272 | if ( e->size().width()+ e->size().height() < 240 ) | ||
1273 | return; | ||
1272 | computeLayout(); | 1274 | computeLayout(); |
1273 | clPending = true; | 1275 | clPending = true; |
1274 | if ( mShowWeekView ) | 1276 | if ( mShowWeekView ) |
1275 | mCellsW[0]->setFocus(); | 1277 | mCellsW[0]->setFocus(); |
1276 | else | 1278 | else |
1277 | mCells[0]->setFocus(); | 1279 | mCells[0]->setFocus(); |
1278 | } | 1280 | } |
1279 | void KOMonthView::computeLayoutWeek() | 1281 | void KOMonthView::computeLayoutWeek() |
1280 | { | 1282 | { |
1281 | 1283 | ||
1282 | int daysToShow; | 1284 | int daysToShow; |
1283 | bool combinedSatSun = false; | ||
1284 | if (mShowSatSunComp = KOPrefs::instance()->mMonthViewSatSunTog ) { | ||
1285 | daysToShow = 6; | ||
1286 | combinedSatSun = true; | ||
1287 | } | ||
1288 | int tWid = topLevelWidget()->size().width(); | 1285 | int tWid = topLevelWidget()->size().width(); |
1289 | int tHei = topLevelWidget()->size().height(); | 1286 | int tHei = topLevelWidget()->size().height(); |
1290 | 1287 | ||
1291 | int wid = size().width();//e | 1288 | int wid = size().width();//e |
1292 | int hei = size().height()-1; | 1289 | int hei = size().height()-1; |
1293 | 1290 | ||
1294 | if ( ((wid *3)/2) < tWid && (( hei *3) /2) < tHei ) | 1291 | if ( ((wid *3)/2) < tWid && (( hei *3) /2) < tHei ) |
1295 | return; | 1292 | return; |
1296 | 1293 | ||
1297 | if ( wid < hei ) | 1294 | if ( wid < hei ) |
1298 | daysToShow = 2; | 1295 | daysToShow = 2; |
1299 | else | 1296 | else |
1300 | daysToShow = 3; | 1297 | daysToShow = 3; |
1301 | mShowSatSunComp = true; | 1298 | bool combinedSatSun = true; |
1302 | combinedSatSun = true; | ||
1303 | 1299 | ||
1304 | //qDebug("KOMonthView::computeLayout()------------------------------------ "); | 1300 | //qDebug("KOMonthView::computeLayout()------------------------------------ "); |
1305 | QFontMetrics fm ( mWeekLabels[0]->font() ); | 1301 | QFontMetrics fm ( mWeekLabels[0]->font() ); |
1306 | int weeklabelwid = fm.width( "888" ); | 1302 | int weeklabelwid = fm.width( "888" ); |
1307 | wid -= weeklabelwid; | 1303 | wid -= weeklabelwid; |
1308 | 1304 | ||
1309 | int colWid = wid / daysToShow; | 1305 | int colWid = wid / daysToShow; |
1310 | int lastCol = wid - ( colWid*6 ); | 1306 | int lastCol = wid - ( colWid*6 ); |
@@ -1375,17 +1371,17 @@ void KOMonthView::computeLayoutWeek() | |||
1375 | } | 1371 | } |
1376 | } | 1372 | } |
1377 | y= dayLabelHei; | 1373 | y= dayLabelHei; |
1378 | h = cellHei ; | 1374 | h = cellHei ; |
1379 | mWeekLabelsW[0]->setGeometry( 0,y,weeklabelwid,hei-dayLabelHei); | 1375 | mWeekLabelsW[0]->setGeometry( 0,y,weeklabelwid,hei-dayLabelHei); |
1380 | mWeekLabelsW[1]->setGeometry( 0,0,weeklabelwid,dayLabelHei); | 1376 | mWeekLabelsW[1]->setGeometry( 0,0,weeklabelwid,dayLabelHei); |
1381 | // qDebug("RRRRRRRRRRRRR %d %d old %d %d", e->size().width(),e->size().height() , e->oldSize().width(),e->oldSize().height()); | 1377 | // qDebug("RRRRRRRRRRRRR %d %d old %d %d", e->size().width(),e->size().height() , e->oldSize().width(),e->oldSize().height()); |
1382 | //qDebug("parent %d %d ", topLevelWidget()->size().width(), topLevelWidget()->size().height()); | 1378 | //qDebug("parent %d %d ", topLevelWidget()->size().width(), topLevelWidget()->size().height()); |
1383 | mShortDayLabels = mDayLabelsW[0]->width() < mWidthLongDayLabel ; | 1379 | mShortDayLabelsW = mDayLabelsW[0]->width() < mWidthLongDayLabel ; |
1384 | updateDayLabels(); | 1380 | updateDayLabels(); |
1385 | bool forceUpdate = !updatePossible; | 1381 | bool forceUpdate = !updatePossible; |
1386 | updatePossible = true; | 1382 | updatePossible = true; |
1387 | //mWeekLabels[mNumWeeks]->setText( i18n("M")); | 1383 | //mWeekLabels[mNumWeeks]->setText( i18n("M")); |
1388 | if ( forceUpdate ) | 1384 | if ( forceUpdate ) |
1389 | updateView(); | 1385 | updateView(); |
1390 | } | 1386 | } |
1391 | void KOMonthView::computeLayout() | 1387 | void KOMonthView::computeLayout() |
@@ -1395,17 +1391,17 @@ void KOMonthView::computeLayout() | |||
1395 | // threshold between big enough to support the full name and not big | 1391 | // threshold between big enough to support the full name and not big |
1396 | // enough. | 1392 | // enough. |
1397 | if ( mShowWeekView ){ | 1393 | if ( mShowWeekView ){ |
1398 | computeLayoutWeek(); | 1394 | computeLayoutWeek(); |
1399 | return; | 1395 | return; |
1400 | } | 1396 | } |
1401 | int daysToShow = 7; | 1397 | int daysToShow = 7; |
1402 | bool combinedSatSun = false; | 1398 | bool combinedSatSun = false; |
1403 | if (mShowSatSunComp = KOPrefs::instance()->mMonthViewSatSunTog ) { | 1399 | if (KOPrefs::instance()->mMonthViewSatSunTog ) { |
1404 | daysToShow = 6; | 1400 | daysToShow = 6; |
1405 | combinedSatSun = true; | 1401 | combinedSatSun = true; |
1406 | } | 1402 | } |
1407 | int tWid = topLevelWidget()->size().width(); | 1403 | int tWid = topLevelWidget()->size().width(); |
1408 | int tHei = topLevelWidget()->size().height(); | 1404 | int tHei = topLevelWidget()->size().height(); |
1409 | 1405 | ||
1410 | int wid = size().width();//e | 1406 | int wid = size().width();//e |
1411 | int hei = size().height()-1; | 1407 | int hei = size().height()-1; |
@@ -1482,17 +1478,18 @@ void KOMonthView::computeLayout() | |||
1482 | if ( i == (6-rowModulo)) | 1478 | if ( i == (6-rowModulo)) |
1483 | ++h; | 1479 | ++h; |
1484 | mWeekLabels[i]->setGeometry( 0,y,weeklabelwid,h); | 1480 | mWeekLabels[i]->setGeometry( 0,y,weeklabelwid,h); |
1485 | y += h; | 1481 | y += h; |
1486 | } | 1482 | } |
1487 | mWeekLabels[6]->setGeometry( 0,0,weeklabelwid,dayLabelHei); | 1483 | mWeekLabels[6]->setGeometry( 0,0,weeklabelwid,dayLabelHei); |
1488 | // qDebug("RRRRRRRRRRRRR %d %d old %d %d", e->size().width(),e->size().height() , e->oldSize().width(),e->oldSize().height()); | 1484 | // qDebug("RRRRRRRRRRRRR %d %d old %d %d", e->size().width(),e->size().height() , e->oldSize().width(),e->oldSize().height()); |
1489 | //qDebug("parent %d %d ", topLevelWidget()->size().width(), topLevelWidget()->size().height()); | 1485 | //qDebug("parent %d %d ", topLevelWidget()->size().width(), topLevelWidget()->size().height()); |
1490 | mShortDayLabels = mDayLabels[0]->width() < mWidthLongDayLabel ; | 1486 | mShortDayLabelsM = mDayLabels[0]->width() < mWidthLongDayLabel ; |
1487 | qDebug("dlwid %d %d ",mDayLabels[0]->width() , mWidthLongDayLabel); | ||
1491 | updateDayLabels(); | 1488 | updateDayLabels(); |
1492 | bool forceUpdate = !updatePossible; | 1489 | bool forceUpdate = !updatePossible; |
1493 | updatePossible = true; | 1490 | updatePossible = true; |
1494 | //mWeekLabels[mNumWeeks]->setText( i18n("W")); | 1491 | //mWeekLabels[mNumWeeks]->setText( i18n("W")); |
1495 | if ( forceUpdate ) | 1492 | if ( forceUpdate ) |
1496 | updateView(); | 1493 | updateView(); |
1497 | } | 1494 | } |
1498 | 1495 | ||