summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/komonthview.cpp94
-rw-r--r--korganizer/komonthview.h3
-rw-r--r--korganizer/koviewmanager.cpp4
3 files changed, 44 insertions, 57 deletions
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp
index ffb2e1e..70cbf96 100644
--- a/korganizer/komonthview.cpp
+++ b/korganizer/komonthview.cpp
@@ -907,7 +907,14 @@ KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name)
907 907
908 //connect( mWeekLabels[mNumWeeks], SIGNAL( clicked() ), SLOT( switchView() ) ); 908 //connect( mWeekLabels[mNumWeeks], SIGNAL( clicked() ), SLOT( switchView() ) );
909 mContextMenu = eventPopup(); 909 mContextMenu = eventPopup();
910 updateConfig(); //useless here 910 //updateConfig(); //useless here ...
911 // ... but we need mWidthLongDayLabel computed
912 QFontMetrics fontmetric(mDayLabels[0]->font());
913 mWidthLongDayLabel = 0;
914 for (int i = 0; i < 7; i++) {
915 int width = fontmetric.width(KOGlobals::self()->calendarSystem()->weekDayName(i+1));
916 if ( width > mWidthLongDayLabel ) mWidthLongDayLabel = width;
917 }
911 918
912 //mWeekLabels[mNumWeeks]->setText( i18n("W")); 919 //mWeekLabels[mNumWeeks]->setText( i18n("W"));
913 920
@@ -1007,7 +1014,6 @@ void KOMonthView::updateConfig()
1007 } 1014 }
1008 QFontMetrics fontmetric(mDayLabels[0]->font()); 1015 QFontMetrics fontmetric(mDayLabels[0]->font());
1009 mWidthLongDayLabel = 0; 1016 mWidthLongDayLabel = 0;
1010 qDebug("KOMonthView::updateConfig() ");
1011 for (int i = 0; i < 7; i++) { 1017 for (int i = 0; i < 7; i++) {
1012 int width = fontmetric.width(KOGlobals::self()->calendarSystem()->weekDayName(i+1)); 1018 int width = fontmetric.width(KOGlobals::self()->calendarSystem()->weekDayName(i+1));
1013 if ( width > mWidthLongDayLabel ) mWidthLongDayLabel = width; 1019 if ( width > mWidthLongDayLabel ) mWidthLongDayLabel = width;
@@ -1036,13 +1042,7 @@ void KOMonthView::updateDayLabels()
1036{ 1042{
1037 1043
1038 QPtrVector<QLabel> *mDayLabelsT; 1044 QPtrVector<QLabel> *mDayLabelsT;
1039#if 0 1045
1040 if (mShowWeekView )
1041 mDayLabelsT = &mDayLabelsW;
1042 else
1043 mDayLabelsT = &mDayLabels;
1044#endif
1045 qDebug("updateDayLabels W %d M %d ",mShortDayLabelsW ,mShortDayLabelsM);
1046 mDayLabelsT = &mDayLabelsW; 1046 mDayLabelsT = &mDayLabelsW;
1047 for (int i = 0; i < 7; i++) { 1047 for (int i = 0; i < 7; i++) {
1048 if (mWeekStartsMonday) { 1048 if (mWeekStartsMonday) {
@@ -1263,17 +1263,11 @@ void KOMonthView::updateView()
1263 1263
1264void KOMonthView::resizeEvent(QResizeEvent * e) 1264void KOMonthView::resizeEvent(QResizeEvent * e)
1265{ 1265{
1266 qDebug("KOMonthView::resizeEvent %d %d -- %d %d ", e->size().width(), e->size().height(), e->oldSize().width(), e->oldSize().height()); 1266 //qDebug("KOMonthView::resizeEvent %d %d -- %d %d ", e->size().width(), e->size().height(), e->oldSize().width(), e->oldSize().height());
1267 if ( ignoreResizeEvent ) { 1267 if ( ignoreResizeEvent ) {
1268 int diff = e->size().height() - e->oldSize().height(); 1268 //qDebug("KOMonthView::resizeEvent ignored ");
1269 if ( diff < 0 ) 1269 --ignoreResizeEvent;
1270 diff = diff * (-1); 1270 return;
1271 if ( diff == ignoreResizeEventHeight ) {
1272 qDebug("KOMonthView::resizeEvent ignored ");
1273 --ignoreResizeEvent;
1274 return;
1275 }
1276 ignoreResizeEvent = 0;
1277 } 1271 }
1278 if ( e->size().width()+ e->size().height() < 240 ) 1272 if ( e->size().width()+ e->size().height() < 240 )
1279 return; 1273 return;
@@ -1286,24 +1280,22 @@ void KOMonthView::resizeEvent(QResizeEvent * e)
1286} 1280}
1287void KOMonthView::computeLayoutWeek() 1281void KOMonthView::computeLayoutWeek()
1288{ 1282{
1289 1283 static int widd = 0;
1284 static int heigg = 0;
1285 if ( widd == width() && heigg == height () ) {
1286 return;
1287 }
1288 widd = width() ;
1289 heigg = height ();
1290 int daysToShow; 1290 int daysToShow;
1291 int tWid = topLevelWidget()->size().width();
1292 int tHei = topLevelWidget()->size().height();
1293
1294 int wid = size().width();//e 1291 int wid = size().width();//e
1295 int hei = size().height()-1; 1292 int hei = size().height()-1;
1296
1297 if ( ((wid *3)/2) < tWid && (( hei *3) /2) < tHei )
1298 return;
1299
1300 if ( wid < hei ) 1293 if ( wid < hei )
1301 daysToShow = 2; 1294 daysToShow = 2;
1302 else 1295 else
1303 daysToShow = 3; 1296 daysToShow = 3;
1304 bool combinedSatSun = true; 1297 bool combinedSatSun = true;
1305 1298
1306 //qDebug("KOMonthView::computeLayout()------------------------------------ ");
1307 QFontMetrics fm ( mWeekLabels[0]->font() ); 1299 QFontMetrics fm ( mWeekLabels[0]->font() );
1308 int weeklabelwid = fm.width( "888" ); 1300 int weeklabelwid = fm.width( "888" );
1309 wid -= weeklabelwid; 1301 wid -= weeklabelwid;
@@ -1380,8 +1372,7 @@ void KOMonthView::computeLayoutWeek()
1380 h = cellHei ; 1372 h = cellHei ;
1381 mWeekLabelsW[0]->setGeometry( 0,y,weeklabelwid,hei-dayLabelHei); 1373 mWeekLabelsW[0]->setGeometry( 0,y,weeklabelwid,hei-dayLabelHei);
1382 mWeekLabelsW[1]->setGeometry( 0,0,weeklabelwid,dayLabelHei); 1374 mWeekLabelsW[1]->setGeometry( 0,0,weeklabelwid,dayLabelHei);
1383 // qDebug("RRRRRRRRRRRRR %d %d old %d %d", e->size().width(),e->size().height() , e->oldSize().width(),e->oldSize().height()); 1375
1384 //qDebug("parent %d %d ", topLevelWidget()->size().width(), topLevelWidget()->size().height());
1385 mShortDayLabelsW = mDayLabelsW[0]->width() < mWidthLongDayLabel ; 1376 mShortDayLabelsW = mDayLabelsW[0]->width() < mWidthLongDayLabel ;
1386 updateDayLabels(); 1377 updateDayLabels();
1387 bool forceUpdate = !updatePossible; 1378 bool forceUpdate = !updatePossible;
@@ -1396,25 +1387,35 @@ void KOMonthView::computeLayout()
1396 // note this only changes the text if the requested size crosses the 1387 // note this only changes the text if the requested size crosses the
1397 // threshold between big enough to support the full name and not big 1388 // threshold between big enough to support the full name and not big
1398 // enough. 1389 // enough.
1390
1391 int tWid = topLevelWidget()->size().width();
1392 int tHei = topLevelWidget()->size().height();
1393
1394 int wid = size().width();//e
1395 int hei = size().height()-1;
1396
1397 if ( ((wid *3)/2) < tWid && (( hei *3) /2) < tHei )
1398 return;
1399
1400
1399 if ( mShowWeekView ){ 1401 if ( mShowWeekView ){
1400 computeLayoutWeek(); 1402 computeLayoutWeek();
1401 return; 1403 return;
1402 } 1404 }
1405 static int widd = 0;
1406 static int heigg = 0;
1407 if ( widd == width() && heigg == height () ) {
1408 return;
1409 }
1410 widd = width() ;
1411 heigg = height ();
1412
1403 int daysToShow = 7; 1413 int daysToShow = 7;
1404 bool combinedSatSun = false; 1414 bool combinedSatSun = false;
1405 if (KOPrefs::instance()->mMonthViewSatSunTog ) { 1415 if (KOPrefs::instance()->mMonthViewSatSunTog ) {
1406 daysToShow = 6; 1416 daysToShow = 6;
1407 combinedSatSun = true; 1417 combinedSatSun = true;
1408 } 1418 }
1409 int tWid = topLevelWidget()->size().width();
1410 int tHei = topLevelWidget()->size().height();
1411
1412 int wid = size().width();//e
1413 int hei = size().height()-1;
1414
1415 if ( ((wid *3)/2) < tWid && (( hei *3) /2) < tHei )
1416 return;
1417 //qDebug("KOMonthView::computeLayout()------------------------------------ ");
1418 QFontMetrics fm ( mWeekLabels[0]->font() ); 1419 QFontMetrics fm ( mWeekLabels[0]->font() );
1419 int weeklabelwid = fm.width( "888" ); 1420 int weeklabelwid = fm.width( "888" );
1420 wid -= weeklabelwid; 1421 wid -= weeklabelwid;
@@ -1487,14 +1488,11 @@ void KOMonthView::computeLayout()
1487 y += h; 1488 y += h;
1488 } 1489 }
1489 mWeekLabels[6]->setGeometry( 0,0,weeklabelwid,dayLabelHei); 1490 mWeekLabels[6]->setGeometry( 0,0,weeklabelwid,dayLabelHei);
1490 // qDebug("RRRRRRRRRRRRR %d %d old %d %d", e->size().width(),e->size().height() , e->oldSize().width(),e->oldSize().height());
1491 //qDebug("parent %d %d ", topLevelWidget()->size().width(), topLevelWidget()->size().height());
1492 mShortDayLabelsM = mDayLabels[0]->width() < mWidthLongDayLabel ; 1491 mShortDayLabelsM = mDayLabels[0]->width() < mWidthLongDayLabel ;
1493 qDebug("dlwid %d %d ",mDayLabels[0]->width() , mWidthLongDayLabel); 1492 qDebug("dlwid %d %d ",mDayLabels[0]->width() , mWidthLongDayLabel);
1494 updateDayLabels(); 1493 updateDayLabels();
1495 bool forceUpdate = !updatePossible; 1494 bool forceUpdate = !updatePossible;
1496 updatePossible = true; 1495 updatePossible = true;
1497 //mWeekLabels[mNumWeeks]->setText( i18n("W"));
1498 if ( forceUpdate ) 1496 if ( forceUpdate )
1499 updateView(); 1497 updateView();
1500} 1498}
@@ -1502,14 +1500,7 @@ void KOMonthView::computeLayout()
1502void KOMonthView::showContextMenu( Incidence *incidence ) 1500void KOMonthView::showContextMenu( Incidence *incidence )
1503{ 1501{
1504 mContextMenu->showIncidencePopup(incidence); 1502 mContextMenu->showIncidencePopup(incidence);
1505 /* 1503
1506 if( incidence && incidence->type() == "Event" ) {
1507 Event *event = static_cast<Event *>(incidence);
1508 mContextMenu->showEventPopup(event);
1509 } else {
1510 kdDebug() << "MonthView::showContextMenu(): cast failed." << endl;
1511 }
1512 */
1513} 1504}
1514MonthViewCell * KOMonthView::selectedCell( ) 1505MonthViewCell * KOMonthView::selectedCell( )
1515{ 1506{
@@ -1517,15 +1508,12 @@ MonthViewCell * KOMonthView::selectedCell( )
1517} 1508}
1518void KOMonthView::setSelectedCell( MonthViewCell *cell ) 1509void KOMonthView::setSelectedCell( MonthViewCell *cell )
1519{ 1510{
1520 //qDebug("KOMonthView::setSelectedCell %x ", cell);
1521 if ( mSelectedCell && mSelectedCell != cell ) { 1511 if ( mSelectedCell && mSelectedCell != cell ) {
1522 MonthViewCell * mvc = mSelectedCell; 1512 MonthViewCell * mvc = mSelectedCell;
1523 mSelectedCell = cell; 1513 mSelectedCell = cell;
1524 mvc->deselect(); 1514 mvc->deselect();
1525 } else 1515 } else
1526 mSelectedCell = cell; 1516 mSelectedCell = cell;
1527 // if ( mSelectedCell )
1528 // mSelectedCell->select();
1529 if ( !mSelectedCell ) 1517 if ( !mSelectedCell )
1530 emit incidenceSelected( 0 ); 1518 emit incidenceSelected( 0 );
1531 else 1519 else
diff --git a/korganizer/komonthview.h b/korganizer/komonthview.h
index d70cda1..9dbe319 100644
--- a/korganizer/komonthview.h
+++ b/korganizer/komonthview.h
@@ -226,7 +226,7 @@ class KOMonthView: public KOEventView
226 const QDate &, const QDate &); 226 const QDate &, const QDate &);
227 bool isMonthView() { return true; } 227 bool isMonthView() { return true; }
228 bool isUpdatePossible() { return updatePossible; } 228 bool isUpdatePossible() { return updatePossible; }
229 void setIgnoreResizeEvent( int c, int h ) { ignoreResizeEvent = c ;ignoreResizeEventHeight = h;} 229 void setIgnoreResizeEvent( int c ) { ignoreResizeEvent = c ;}
230 230
231 MonthViewCell * selectedCell(); 231 MonthViewCell * selectedCell();
232 public slots: 232 public slots:
@@ -260,7 +260,6 @@ class KOMonthView: public KOEventView
260 260
261 private: 261 private:
262 int ignoreResizeEvent; 262 int ignoreResizeEvent;
263 int ignoreResizeEventHeight;
264 int currentWeek(); 263 int currentWeek();
265 bool clPending; 264 bool clPending;
266 QWidgetStack * mWidStack; 265 QWidgetStack * mWidStack;
diff --git a/korganizer/koviewmanager.cpp b/korganizer/koviewmanager.cpp
index c35de0a..62d3e7f 100644
--- a/korganizer/koviewmanager.cpp
+++ b/korganizer/koviewmanager.cpp
@@ -200,6 +200,8 @@ void KOViewManager::showView(KOrg::BaseView *view, bool fullScreen )
200 return; 200 return;
201 full = mMainView->leftFrame()->isVisible(); 201 full = mMainView->leftFrame()->isVisible();
202 } else { 202 } else {
203 if ( view == mMonthView && mMonthView)
204 mMonthView->setIgnoreResizeEvent( 1 );
203 mCurrentView = view; 205 mCurrentView = view;
204 // bool full = fullScreen; 206 // bool full = fullScreen;
205 bool isFull = !mMainView->leftFrame()->isVisible(); 207 bool isFull = !mMainView->leftFrame()->isVisible();
@@ -223,8 +225,6 @@ void KOViewManager::raiseCurrentView( bool fullScreen, bool callUpdateView )
223 int hei = mMainView->height(); 225 int hei = mMainView->height();
224 if ( mCurrentView == mMonthView ) { 226 if ( mCurrentView == mMonthView ) {
225 if ( true /* !KOPrefs::instance()->mMonthViewWeek*/ ) { 227 if ( true /* !KOPrefs::instance()->mMonthViewWeek*/ ) {
226
227 mMonthView->setIgnoreResizeEvent( 2 ,mMainView->navigatorBar()->height());
228 mMainView->navigatorBar()->show(); 228 mMainView->navigatorBar()->show();
229 hei -= mMainView->navigatorBar()->sizeHint().height(); 229 hei -= mMainView->navigatorBar()->sizeHint().height();
230 } 230 }