-rw-r--r-- | korganizer/komonthview.cpp | 48 |
1 files changed, 35 insertions, 13 deletions
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp index 8ee5bc3..050bfb9 100644 --- a/korganizer/komonthview.cpp +++ b/korganizer/komonthview.cpp @@ -313,11 +313,14 @@ void MonthViewItem::paint(QPainter *p) int MonthViewItem::height(const QListBox *lb) const { + int ret = 10; if ( lb ) - return lb->fontMetrics().lineSpacing()+1; - return 10; + ret = lb->fontMetrics().lineSpacing()+1; + return ret; } int MonthViewItem::width(const QListBox *lb) const { + + if( KOPrefs::instance()->mEnableMonthScroll || KOPrefs::instance()->mMonthViewWeek ) { int size = PIXMAP_SIZE; if ( QApplication::desktop()->width() < 300 ) @@ -341,7 +344,11 @@ int MonthViewItem::width(const QListBox *lb) const x += size+1+2+size/2; } - return( x + lb->fontMetrics().width( text() ) + 1 ); } + if ( ! lb ) + return 10; + //qDebug("ret wid %d ", lb->width()); + return lb->width(); +} @@ -351,5 +358,5 @@ MonthViewCell::MonthViewCell( KOMonthView *parent,QWidget* par ) { - QVBoxLayout *topLayout = new QVBoxLayout( this ); + //QVBoxLayout *topLayout = new QVBoxLayout( this ); // mLabel = new QLabel( this );QPushButton @@ -364,5 +371,5 @@ MonthViewCell::MonthViewCell( KOMonthView *parent,QWidget* par ) mItemList->setFrameStyle( QFrame::Panel | QFrame::Plain ); mItemList->setLineWidth( 1 ); - topLayout->addWidget( mItemList ); + //topLayout->addWidget( mItemList ); mLabel->raise(); // QColor( 0,0,255 ) QColor( 160,1600,255 ) @@ -418,15 +425,18 @@ void MonthViewCell::setMyPalette() if ( mHoliday) { - setPalette( mHolidayPalette ); + mLabel->setPalette( QPalette ( mHolidayPalette.color( QPalette::Normal,QColorGroup::Base),mHolidayPalette.color(QPalette::Normal,QColorGroup::Base ) )); + mItemList->setPalette( mHolidayPalette ); } else { if ( mPrimary ) { - setPalette( mPrimaryPalette ); + mLabel->setPalette( QPalette ( mPrimaryPalette.color( QPalette::Normal,QColorGroup::Base),mPrimaryPalette.color(QPalette::Normal,QColorGroup::Base ) )); + mItemList->setPalette( mPrimaryPalette ); } else { - setPalette( mNonPrimaryPalette ); + mItemList->setPalette( mNonPrimaryPalette ); + mLabel->setPalette( QPalette ( mNonPrimaryPalette.color( QPalette::Normal,QColorGroup::Base),mNonPrimaryPalette.color(QPalette::Normal,QColorGroup::Base ) )); } } - QPalette pal = palette(); + //QPalette pal = palette(); - mLabel->setPalette( QPalette ( pal.color( QPalette::Normal,QColorGroup::Base),pal.color(QPalette::Normal,QColorGroup::Base ) )); + //mLabel->setPalette( QPalette ( pal.color( QPalette::Normal,QColorGroup::Base),pal.color(QPalette::Normal,QColorGroup::Base ) )); } QPalette MonthViewCell::getPalette () @@ -676,4 +686,5 @@ void MonthViewCell::finishUpdateCell() mLabel->setText( text ); resizeEvent( 0 ); + } void MonthViewCell::updateCell() @@ -736,6 +747,14 @@ void MonthViewCell::enableScrollBars( bool enabled ) { if ( enabled ) { - mItemList->setVScrollBarMode(QScrollView::Auto); + //mItemList->setVScrollBarMode(QScrollView::Auto); mItemList->setHScrollBarMode(QScrollView::Auto); + QListBoxItem *fi = mItemList->firstItem (); + if (fi ) { + int hei = mItemList->numRows () * fi->height(mItemList); + if ( hei < height() - mItemList->horizontalScrollBar()->height () ) + mItemList->setVScrollBarMode(QScrollView::AlwaysOff); + else + mItemList->setVScrollBarMode(QScrollView::Auto); + } } else { mItemList->setVScrollBarMode(QScrollView::AlwaysOff); @@ -782,9 +801,10 @@ void MonthViewCell::select() } -void MonthViewCell::resizeEvent ( QResizeEvent * ) +void MonthViewCell::resizeEvent ( QResizeEvent * e ) { if ( !mMonthView->isUpdatePossible() ) return; - + //qDebug("++++++++++++++MonthViewCell::resizeEvent %d %d ", width(), height()); + deselect(); int size = height() - mLabel->height() - 2; if ( size > 0 ) @@ -795,4 +815,6 @@ void MonthViewCell::resizeEvent ( QResizeEvent * ) mLabel->move( width()-mItemList->lineWidth() - mLabel->width(), height()-mItemList->lineWidth() - mLabel->height() ); //mLabel->setMaximumWidth( width() - mItemList->lineWidth()*2); + mItemList->resize ( width(), height () ); + } |