-rw-r--r-- | korganizer/kofilterview.cpp | 28 | ||||
-rw-r--r-- | korganizer/kofilterview.h | 32 |
2 files changed, 49 insertions, 11 deletions
diff --git a/korganizer/kofilterview.cpp b/korganizer/kofilterview.cpp index ce2880a..9709324 100644 --- a/korganizer/kofilterview.cpp +++ b/korganizer/kofilterview.cpp @@ -140,18 +140,18 @@ void KOCalEditView::selectStdCal( int id, bool b ) if ( it ) { it->blockSignals( true ); it->setChecked( true ); it->blockSignals( false ); return; } return; } - KOCalCheckButton* sen = (KOCalCheckButton*) sender(); - KOCalCheckButton* it = mStdandardB.first(); + KOCalRadioButton* sen = (KOCalRadioButton*) sender(); + KOCalRadioButton* it = mStdandardB.first(); while ( it ) { if ( it->isChecked() ) { if ( it != sen ) { it->blockSignals( true ); it->setChecked( false ); it->blockSignals( false ); break; } @@ -231,17 +231,19 @@ void KOCalEditView::readConfig() addChild(mw); int ii = 0; mainLayout = new QGridLayout ( mw , 2, 8 ); mainLayout->setMargin( 2 ); mainLayout->setSpacing( 2 ); QPushButton * addBut = new QPushButton ( mw ); addBut->setFocusPolicy(NoFocus); mainLayout->addWidget( addBut,0,0 ); - addBut->setPixmap ( SmallIcon("greenhook16")); + addBut->setText( "D"); + connect(addBut,SIGNAL(clicked()),SLOT(defaultInfo())); + //addBut->setPixmap ( SmallIcon("greenhook16")); addBut->setMaximumWidth( addBut->sizeHint().height() ); int max = addBut->sizeHint().height(); addBut = new QPushButton ( mw ); addBut->setFocusPolicy(NoFocus); mainLayout->addWidget( addBut,0,++ii ); addBut->setPixmap ( SmallIcon("eye")); connect(addBut,SIGNAL(clicked()),SLOT(enableAll())); addBut->setMaximumWidth( addBut->sizeHint().height() ); @@ -285,24 +287,24 @@ void KOCalEditView::readConfig() addBut->setMaximumWidth( addBut->sizeHint().height() ); #endif KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first(); int row = 1; while ( kkf ) { int iii = 0; - KOCalCheckButton* cb = new KOCalCheckButton( mw ); - mainLayout->addWidget( cb,row,0 );mStdandardB.append( cb ); - cb->setChecked( kkf->isStandard ); - cb->setNum( kkf->mCalNumber ); - connect (cb, SIGNAL (selectNum(int,bool)), SLOT ( selectStdCal(int,bool) ) ); + KOCalRadioButton* rb = new KOCalRadioButton( mw ); + mainLayout->addWidget( rb,row,0 );mStdandardB.append( rb ); + rb->setChecked( kkf->isStandard ); + rb->setNum( kkf->mCalNumber ); + connect (rb, SIGNAL (selectNum(int,bool)), SLOT ( selectStdCal(int,bool) ) ); if ( kkf->mErrorOnLoad || kkf->isReadOnly ) - cb->setEnabled( false ); - cb = new KOCalCheckButton( mw ); + rb->setEnabled( false ); + KOCalCheckButton* cb = new KOCalCheckButton( mw ); mainLayout->addWidget( cb,row,++iii );mEnabledB.append( cb ); cb->setChecked( kkf->isEnabled ); cb->setNum( kkf->mCalNumber ); if ( kkf->mErrorOnLoad ) cb->setEnabled( false ); connect (cb, SIGNAL (selectNum(int,bool)), SLOT ( selectCal(int,bool) ) ); KOCalButton* name = new KOCalButton( mw ); name->setNum( kkf->mCalNumber ); @@ -342,16 +344,22 @@ void KOCalEditView::readConfig() ++row; kkf = KOPrefs::instance()->mCalendars.next(); } lab = new QLabel ( "", mw ); mainLayout->addWidget( lab,row,0 ); mw->show(); } + + +void KOCalEditView::defaultInfo() +{ + KMessageBox::information( this, i18n("Please choose the <b>default calendar</b> in this column. Newly created or imported items are added to the default calendar.") ); +} void KOCalEditView::addCal() { bool tryagain = true; QString name, file; while ( tryagain ) { KONewCalPrefs prefs ( this ); prefs.nameE->setText( name ); prefs.url->setURL( file ); diff --git a/korganizer/kofilterview.h b/korganizer/kofilterview.h index 5495d60..b57a6e9 100644 --- a/korganizer/kofilterview.h +++ b/korganizer/kofilterview.h @@ -20,16 +20,17 @@ with any edition of Qt, and distribute the resulting executable, without including the source code for Qt in the source distribution. */ #ifndef KOFILTERVIEW_H #define KOFILTERVIEW_H #include <qstring.h> #include <qcheckbox.h> +#include <qradiobutton.h> #include <qlayout.h> #include <qlabel.h> #include <qdialog.h> #include <qscrollview.h> #include <qpushbutton.h> #include <kconfig.h> #include "kofilterview_base.h" @@ -143,16 +144,44 @@ private: { e->ignore(); } private slots : void bottonClicked( bool b) { if ( mNumber > 0 ) emit selectNum ( mNumber , b); } }; +class KOCalRadioButton : public QRadioButton +{ + Q_OBJECT + public: + KOCalRadioButton( QWidget *parent=0, const char *name=0 ) : + QRadioButton( parent, name) + { + connect( this, SIGNAL( toggled ( bool ) ), + SLOT( bottonClicked( bool ) )); + mNumber = -1; + setFocusPolicy(NoFocus); + //setMaximumWidth( 10 ); + + } + void setNum ( int num ) {mNumber = num; } + signals: + void selectNum ( int, bool ); +private: + int mNumber; + void keyPressEvent ( QKeyEvent * e ) + { + e->ignore(); + } + +private slots : + void bottonClicked( bool b) { if ( mNumber > 0 ) emit selectNum ( mNumber , b); } +}; + class KOFilterView : public KOFilterView_base { Q_OBJECT public: KOFilterView(QPtrList<CalFilter> *filterList,QWidget* parent=0,const char* name=0, WFlags fl=0); ~KOFilterView(); @@ -189,29 +218,30 @@ class KOCalEditView : public QScrollView void selectStdCal(int,bool ); void selectCal(int,bool ); void selectCalAlarm(int,bool ); void selectReadOnly(int,bool ); void setColor(const QColor &,int) ; void deleteCal(int) ; void infoCal(int) ; void readConfig(); + void defaultInfo(); signals: void alarmEnabled ( int cal, bool enable ); void calendarEnabled ( int cal, bool enable ); void calendarReadonly ( int cal, bool readonly ); void setCalendarDefault ( int cal ); void removeCalendar ( int cal ); void calendarAdded( int ); void needsUpdate(); private: QWidget *mw; void toggleList ( QPtrList<KOCalCheckButton> ); - QPtrList<KOCalCheckButton> mStdandardB; + QPtrList<KOCalRadioButton> mStdandardB; QPtrList<KOCalCheckButton> mEnabledB; QPtrList<KOCalCheckButton> mAlarmB; QPtrList<KOCalCheckButton> mROB; QGridLayout* mainLayout; }; |