summaryrefslogtreecommitdiffabout
path: root/korganizer
Side-by-side diff
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koagendaview.cpp44
-rw-r--r--korganizer/koagendaview.h3
-rw-r--r--korganizer/koviewmanager.cpp9
3 files changed, 47 insertions, 9 deletions
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp
index 8e9add3..d43712f 100644
--- a/korganizer/koagendaview.cpp
+++ b/korganizer/koagendaview.cpp
@@ -609,6 +609,22 @@ void KOAgendaView::resizeEvent( QResizeEvent* e )
//qDebug("resizeEvent end ");
}
+void KOAgendaView::slotDaylabelClicked()
+{
+ QString cap = ((QPushButton*) sender() )->caption();
+
+ QDate firstDate = mSelectedDates.first();
+ if ( cap == "0" )
+ emit showDateView( 6, firstDate );
+ else if ( cap != "last" ) {
+ if ( mSelectedDates.count() == 1)
+ emit showDateView( 9, firstDate.addDays( cap.toInt()-1 ) );
+ else
+ emit showDateView( 3, firstDate.addDays( cap.toInt()-1 ) );
+ }
+ else
+ showDateView( 10, firstDate.addDays(1 ) );
+}
void KOAgendaView::createDayLabels()
{
@@ -670,22 +686,28 @@ void KOAgendaView::createDayLabels()
//mLayoutDayLabels->addSpacing( 2 );
// QFont lFont = dlf;
bool appendLabels = false;
- QLabel *dayLabel;
+ QPushButton *dayLabel;
dayLabel = mDayLabelsList.first();
if ( !dayLabel ) {
appendLabels = true;
- dayLabel = new QLabel(mDayLabels);
+ dayLabel = new QPushButton(mDayLabels);
+ dayLabel->setFlat( true );
+ connect( dayLabel, SIGNAL( clicked() ), this, SLOT ( slotDaylabelClicked() ) );
+ dayLabel->setFocusPolicy(NoFocus);
mDayLabelsList.append( dayLabel );
mLayoutDayLabels->addWidget(dayLabel);
}
dayLabel->setFixedWidth( mTimeLabels->width()+2 );
dayLabel->setFont( dlf );
- dayLabel->setAlignment(QLabel::AlignHCenter);
+ dayLabel->setCaption("0");
+ //dayLabel->setAlignment(QLabel::AlignHCenter);
dayLabel->setText( KOGlobals::self()->calendarSystem()->monthName( mSelectedDates.first(), true ) );
dayLabel->show();
DateList::ConstIterator dit;
bool oneday = (mSelectedDates.first() == mSelectedDates.last() );
+ int counter = 0;
for( dit = mSelectedDates.begin(); dit != mSelectedDates.end(); ++dit ) {
+ ++counter;
QDate date = *dit;
// QBoxLayout *dayLayout = new QVBoxLayout(mLayoutDayLabels);
if ( ! appendLabels ) {
@@ -694,7 +716,10 @@ void KOAgendaView::createDayLabels()
appendLabels = true;
}
if ( appendLabels ) {
- dayLabel = new QLabel(mDayLabels);
+ dayLabel = new QPushButton(mDayLabels);
+ dayLabel->setFlat( true );
+ connect( dayLabel, SIGNAL( clicked() ), this, SLOT ( slotDaylabelClicked() ) );
+ dayLabel->setFocusPolicy(NoFocus);
mDayLabelsList.append( dayLabel );
mLayoutDayLabels->addWidget(dayLabel);
}
@@ -702,6 +727,7 @@ void KOAgendaView::createDayLabels()
dayLabel->setMaximumWidth( 2048 );
dayLabel->setFont( dlf );
dayLabel->show();
+ dayLabel->setCaption(QString::number( counter ));
QString str;
int dW = KOGlobals::self()->calendarSystem()->dayOfWeek(date);
QString dayName = KOGlobals::self()->calendarSystem()->weekDayName( dW, true );
@@ -746,7 +772,7 @@ void KOAgendaView::createDayLabels()
}
}
dayLabel->setText(str);
- dayLabel->setAlignment(QLabel::AlignHCenter);
+ //dayLabel->setAlignment(QLabel::AlignHCenter);
if (date == QDate::currentDate()) {
QFont bFont = dlf;
bFont.setBold( true );
@@ -781,7 +807,10 @@ void KOAgendaView::createDayLabels()
appendLabels = true;
}
if ( appendLabels ) {
- dayLabel = new QLabel(mDayLabels);
+ dayLabel = new QPushButton(mDayLabels);
+ dayLabel->setFlat( true );
+ connect( dayLabel, SIGNAL( clicked() ), this, SLOT ( slotDaylabelClicked() ) );
+ dayLabel->setFocusPolicy(NoFocus);
mDayLabelsList.append( dayLabel );
mLayoutDayLabels->addWidget(dayLabel);
}
@@ -790,8 +819,9 @@ void KOAgendaView::createDayLabels()
int offset = (mAgenda->width() - mAgenda->verticalScrollBar()->width()-3 ) % mSelectedDates.count() ;
if ( offset < 0 ) offset = 0;
//qDebug("mLayoutDayLabels->addSpacing %d ", mAgenda->verticalScrollBar()->width()+offset+2 );
- dayLabel->setText("");//QString::number ( mSelectedDates.first().month() ) );
+ dayLabel->setText(">");//QString::number ( mSelectedDates.first().month() ) );
dayLabel->show();
+ dayLabel->setCaption("last");
dayLabel->setFixedWidth( mAgenda->verticalScrollBar()->width()+ offset );
//qDebug("setToFixed %d ", mAgenda->verticalScrollBar()->width()+ offset+2);
//mLayoutDayLabels->addSpacing(mAgenda->verticalScrollBar()->width()+ offset+2);
diff --git a/korganizer/koagendaview.h b/korganizer/koagendaview.h
index 7774fbe..fd0a7af 100644
--- a/korganizer/koagendaview.h
+++ b/korganizer/koagendaview.h
@@ -207,6 +207,7 @@ class KOAgendaView : public KOEventView {
void setHolidayMasks();
protected slots:
+ void slotDaylabelClicked();
/** Update event belonging to agenda item */
void updateEventDates(KOAgendaItem *item, int mode = -1);
//void updateMovedTodo();
@@ -252,7 +253,7 @@ class KOAgendaView : public KOEventView {
QPixmap mExpandedPixmap;
QPixmap mNotExpandedPixmap;
- QPtrList<QLabel> mDayLabelsList;
+ QPtrList<QPushButton> mDayLabelsList;
QDateTime mTimeSpanBegin;
QDateTime mTimeSpanEnd;
bool mTimeSpanInAllDay;
diff --git a/korganizer/koviewmanager.cpp b/korganizer/koviewmanager.cpp
index db23882..30f5fb1 100644
--- a/korganizer/koviewmanager.cpp
+++ b/korganizer/koviewmanager.cpp
@@ -111,10 +111,13 @@ void KOViewManager::showDateView( int view, QDate date)
mNewItemPopup->insertItem ( SmallIcon( pathString +"journal" ), i18n("Journal view"),7 );
#endif
if ( view == 3 ) {
+ //mCurrentAgendaView = 1 ;
mMainView->showDay( date );
} else if (view == 4 ) {
+ mCurrentAgendaView = 7 ;
mMainView->dateNavigator()->selectDates( date, 7 );
} else if (view == 5 ) {
+ mCurrentAgendaView = 14 ;
mMainView->dateNavigator()->selectDates( date, 14);
} else if (view == 6 ) {
mMainView->dateNavigator()->blockSignals( true );
@@ -135,7 +138,11 @@ void KOViewManager::showDateView( int view, QDate date)
KOPrefs::instance()->mNextXDays );
mFlagShowNextxDays = true;
mCurrentAgendaView = 3 ;
- }
+ } if (view == 9) {
+ showWeekView();
+ } else if (view == 10) {
+ mMainView->dateNavigator()->selectDates( date,mMainView->dateNavigator()->selectedDates().count() );
+ }
#if 0
dateNavigator()->blockSignals( true );