summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koagendaview.cpp45
-rw-r--r--korganizer/koagendaview.h33
2 files changed, 50 insertions, 28 deletions
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp
index d3db89a..c8cef44 100644
--- a/korganizer/koagendaview.cpp
+++ b/korganizer/koagendaview.cpp
@@ -77,4 +77,6 @@ extern int globalFlagBlockLabel;
using namespace KOrg;
+
+
TimeLabels::TimeLabels(int rows,QWidget *parent,const char *name,WFlags f) :
QScrollView(parent,name,f)
@@ -610,16 +612,15 @@ void KOAgendaView::resizeEvent( QResizeEvent* e )
}
-void KOAgendaView::slotDaylabelClicked()
+void KOAgendaView::slotDaylabelClicked( int num )
{
- QString cap = ((QPushButton*) sender() )->caption();
-
+
QDate firstDate = mSelectedDates.first();
- if ( cap == "0" )
+ if ( num == -1 )
emit showDateView( 6, firstDate );
- else if ( cap != "last" ) {
+ else if (num >= 0 ) {
if ( mSelectedDates.count() == 1)
- emit showDateView( 9, firstDate.addDays( cap.toInt()-1 ) );
+ emit showDateView( 9, firstDate.addDays( num ) );
else
- emit showDateView( 3, firstDate.addDays( cap.toInt()-1 ) );
+ emit showDateView( 3, firstDate.addDays( num ) );
}
else
@@ -627,15 +628,11 @@ void KOAgendaView::slotDaylabelClicked()
}
-QPushButton* KOAgendaView::getNewDaylabel()
+KOAgendaButton* KOAgendaView::getNewDaylabel()
{
- QPushButton * dayLabel = new QPushButton(mDayLabels);
- dayLabel->setFlat( true );
- connect( dayLabel, SIGNAL( clicked() ), this, SLOT ( slotDaylabelClicked() ) );
- dayLabel->setFocusPolicy(NoFocus);
- dayLabel->setSizePolicy(QSizePolicy( QSizePolicy::Expanding ,QSizePolicy::Expanding ));
+ KOAgendaButton * dayLabel = new KOAgendaButton(mDayLabels);
+ connect( dayLabel, SIGNAL( numClicked(int) ), this, SLOT ( slotDaylabelClicked(int) ) );
mDayLabelsList.append( dayLabel );
mLayoutDayLabels->addWidget(dayLabel);
- //mLayoutDayLabels->setStretchFactor(dayLabel, 100);
return dayLabel ;
}
@@ -663,9 +660,9 @@ void KOAgendaView::createDayLabels()
QFontMetrics fm ( dlf );
int selCount = mSelectedDates.count();
- QString dayTest = "Won 20";
+ QString dayTest = "Mon 20";
//QString dayTest = "Mon 20";
int wid = fm.width( dayTest );
//maxWid -= ( selCount * 3 ); //working for QLabels
- maxWid -= ( selCount * 5 ); //working for QPushButton
+ maxWid -= ( selCount * 3 ); //working for QPushButton
if ( maxWid < 0 )
maxWid = 20;
@@ -676,5 +673,5 @@ void KOAgendaView::createDayLabels()
while ( needWid > maxWid ) {
dayTest = dayTest.left( dayTest.length() - 1 );
- wid = fm.width( dayTest )+1;
+ wid = fm.width( dayTest );
needWid = wid * selCount;
}
@@ -687,5 +684,5 @@ void KOAgendaView::createDayLabels()
dlf.setPointSize( fontPoint );
QFontMetrics f( dlf );
- wid = f.width( "30" )+3;
+ wid = f.width( "30" );
needWid = wid * selCount;
if ( needWid < maxWid )
@@ -704,5 +701,5 @@ void KOAgendaView::createDayLabels()
// QFont lFont = dlf;
bool appendLabels = false;
- QPushButton *dayLabel;
+ KOAgendaButton *dayLabel;
dayLabel = mDayLabelsList.first();
if ( !dayLabel ) {
@@ -712,5 +709,5 @@ void KOAgendaView::createDayLabels()
dayLabel->setFixedWidth( mTimeLabels->width()+2 );
dayLabel->setFont( dlf );
- dayLabel->setCaption("0");
+ dayLabel->setNum( -1 );
//dayLabel->setAlignment(QLabel::AlignHCenter);
dayLabel->setText( KOGlobals::self()->calendarSystem()->monthName( mSelectedDates.first(), true ) );
@@ -718,5 +715,5 @@ void KOAgendaView::createDayLabels()
DateList::ConstIterator dit;
bool oneday = (mSelectedDates.first() == mSelectedDates.last() );
- int counter = 0;
+ int counter = -1;
for( dit = mSelectedDates.begin(); dit != mSelectedDates.end(); ++dit ) {
++counter;
@@ -732,8 +729,8 @@ void KOAgendaView::createDayLabels()
}
dayLabel->setMinimumWidth( 1 );
- dayLabel->setMaximumWidth( 2048 );
+ dayLabel->setMaximumWidth( 1024 );
dayLabel->setFont( dlf );
dayLabel->show();
- dayLabel->setCaption(QString::number( counter ));
+ dayLabel->setNum( counter );
QString str;
int dW = KOGlobals::self()->calendarSystem()->dayOfWeek(date);
@@ -825,5 +822,5 @@ void KOAgendaView::createDayLabels()
dayLabel->setFont( dlf );
dayLabel->show();
- dayLabel->setCaption("last");
+ dayLabel->setNum( -2 );
dayLabel->setFixedWidth( mAgenda->verticalScrollBar()->width()+ offset );
//qDebug("setToFixed %d ", mAgenda->verticalScrollBar()->width()+ offset+2);
diff --git a/korganizer/koagendaview.h b/korganizer/koagendaview.h
index cbe86b6..e9e85cc 100644
--- a/korganizer/koagendaview.h
+++ b/korganizer/koagendaview.h
@@ -26,4 +26,5 @@
#include <qscrollview.h>
#include <qdatetime.h>
+#include <qpushbutton.h>
#include <qlayout.h>
#ifndef DESKTOP_VERSION
@@ -36,5 +37,4 @@
#include "koeventview.h"
-
class QHBox;
class QFrame;
@@ -46,4 +46,29 @@ class KOAgendaItem;
class KConfig;
class KDGanttMinimizeSplitter;
+
+class KOAgendaButton : public QPushButton
+{
+ Q_OBJECT
+ public:
+ KOAgendaButton( QWidget *parent=0, const char *name=0 ) :
+ QPushButton( parent, name )
+ {
+ mNum = -3;
+ setFlat( true );
+ setFocusPolicy(NoFocus);
+ setSizePolicy(QSizePolicy( QSizePolicy::Expanding ,QSizePolicy::Expanding ));
+ connect( this, SIGNAL( clicked() ), this, SLOT ( bClicked() ) );
+ };
+
+ QSize sizeHint () const { return QSize( 5,5) ;}
+ void setNum( int n) { mNum = n; }
+private slots:
+ void bClicked() {emit numClicked( mNum);}
+signals:
+ void numClicked( int );
+private:
+ int mNum;
+};
+
class TimeLabels : public QScrollView {
Q_OBJECT
@@ -191,5 +216,5 @@ class KOAgendaView : public KOEventView {
protected:
- QPushButton* getNewDaylabel();
+ KOAgendaButton* getNewDaylabel();
bool mBlockUpdating;
int mUpcomingWidth;
@@ -209,5 +234,5 @@ class KOAgendaView : public KOEventView {
protected slots:
- void slotDaylabelClicked();
+ void slotDaylabelClicked( int );
/** Update event belonging to agenda item */
void updateEventDates(KOAgendaItem *item, int mode = -1);
@@ -255,5 +280,5 @@ class KOAgendaView : public KOEventView {
QPixmap mExpandedPixmap;
QPixmap mNotExpandedPixmap;
- QPtrList<QPushButton> mDayLabelsList;
+ QPtrList<KOAgendaButton> mDayLabelsList;
QDateTime mTimeSpanBegin;
QDateTime mTimeSpanEnd;