-rw-r--r-- | korganizer/koeditorrecurrence.cpp | 83 |
1 files changed, 22 insertions, 61 deletions
diff --git a/korganizer/koeditorrecurrence.cpp b/korganizer/koeditorrecurrence.cpp index bedc75a..bf81b01 100644 --- a/korganizer/koeditorrecurrence.cpp +++ b/korganizer/koeditorrecurrence.cpp @@ -78,16 +78,17 @@ int RecurBase::frequency() /////////////////////////// RecurDaily /////////////////////////////// RecurDaily::RecurDaily( QWidget *parent, const char *name ) : RecurBase( parent, name ) { QBoxLayout *topLayout = new QHBoxLayout( this ); topLayout->setSpacing( KDialog::spacingHint() ); + topLayout->setMargin( KDialog::marginHintSmall() ); QLabel *preLabel = new QLabel( i18n("Recur every"), this ); topLayout->addWidget( preLabel ); topLayout->addWidget( frequencyEdit() ); QLabel *postLabel = new QLabel( i18n("day(s)"), this ); topLayout->addWidget( postLabel ); @@ -96,41 +97,45 @@ RecurDaily::RecurDaily( QWidget *parent, const char *name ) : /////////////////////////// RecurWeekly /////////////////////////////// RecurWeekly::RecurWeekly( QWidget *parent, const char *name ) : RecurBase( parent, name ) { QBoxLayout *topLayout = new QVBoxLayout( this ); topLayout->setSpacing( KDialog::spacingHint() ); + topLayout->setMargin( KDialog::marginHintSmall() ); - topLayout->addStretch( 1 ); + //topLayout->addStretch( 1 ); QBoxLayout *weeksLayout = new QHBoxLayout( topLayout ); QLabel *preLabel = new QLabel( i18n("Recur every"), this ); weeksLayout->addWidget( preLabel ); weeksLayout->addWidget( frequencyEdit() ); QLabel *postLabel = new QLabel( i18n("week(s) on:"), this ); weeksLayout->addWidget( postLabel ); QHBox *dayBox = new QHBox( this ); topLayout->addWidget( dayBox, 1, AlignVCenter ); // TODO: Respect start of week setting for ( int i = 0; i < 7; ++i ) { QString weekDayName = KGlobal::locale()->weekDayName( i + 1, true ); - if ( KOPrefs::instance()->mCompactDialogs ) { - weekDayName = weekDayName.left( 1 ); + int left = 1; + if ( QApplication::desktop()->width() > 480 ) { + ++left; + if ( QApplication::desktop()->width() > 640 ) + ++left; } - mDayBoxes[ i ] = new QCheckBox( weekDayName, dayBox ); + mDayBoxes[ i ] = new QCheckBox( weekDayName.left( left ), dayBox ); } - topLayout->addStretch( 1 ); + topLayout->addStretch( ); } void RecurWeekly::setDays( const QBitArray &days ) { for ( int i = 0; i < 7; ++i ) { mDayBoxes[ i ]->setChecked( days.testBit( i ) ); } } @@ -148,16 +153,17 @@ QBitArray RecurWeekly::days() /////////////////////////// RecurMonthly /////////////////////////////// RecurMonthly::RecurMonthly( QWidget *parent, const char *name ) : RecurBase( parent, name ) { QBoxLayout *topLayout = new QVBoxLayout( this ); topLayout->setSpacing( KDialog::spacingHint() ); + topLayout->setMargin( KDialog::marginHintSmall() ); QBoxLayout *freqLayout = new QHBoxLayout( topLayout ); QLabel *preLabel = new QLabel( i18n("every"), this ); freqLayout->addWidget( preLabel ); freqLayout->addWidget( frequencyEdit() ); @@ -167,20 +173,21 @@ RecurMonthly::RecurMonthly( QWidget *parent, const char *name ) : QButtonGroup *buttonGroup = new QButtonGroup( this ); buttonGroup->setFrameStyle( QFrame::NoFrame ); topLayout->addWidget( buttonGroup, 1, AlignVCenter ); QGridLayout *buttonLayout = new QGridLayout( buttonGroup, 3, 2 ); buttonLayout->setSpacing( KDialog::spacingHint() ); + buttonLayout->setMargin( KDialog::marginHintSmall() ); QString recurOnText; - if ( !KOPrefs::instance()->mCompactDialogs ) { + if ( QApplication::desktop()->width() > 320 ) { recurOnText = i18n("Recur on the"); } mByDayRadio = new QRadioButton( recurOnText, buttonGroup ); buttonLayout->addWidget( mByDayRadio, 0, 0 ); mByDayCombo = new QComboBox( buttonGroup ); mByDayCombo->setSizeLimit( 7 ); @@ -283,16 +290,17 @@ int RecurMonthly::weekday() /////////////////////////// RecurYearly /////////////////////////////// RecurYearly::RecurYearly( QWidget *parent, const char *name ) : RecurBase( parent, name ) { QBoxLayout *topLayout = new QVBoxLayout( this ); topLayout->setSpacing( KDialog::spacingHint() ); + topLayout->setMargin( KDialog::marginHintSmall() ); QBoxLayout *freqLayout = new QHBoxLayout( topLayout ); QLabel *preLabel = new QLabel( i18n("every"), this ); freqLayout->addWidget( preLabel ); freqLayout->addWidget( frequencyEdit() ); @@ -500,16 +508,17 @@ RecurrenceRangeWidget::RecurrenceRangeWidget( QWidget *parent, mRangeGroupBox = new QGroupBox( 1, Horizontal, i18n("Recurrence Range"), this ); topLayout->addWidget( mRangeGroupBox ); QWidget *rangeBox = new QWidget( mRangeGroupBox ); QVBoxLayout *rangeLayout = new QVBoxLayout( rangeBox ); rangeLayout->setSpacing( KDialog::spacingHint() ); + rangeLayout->setMargin( KDialog::marginHintSmall() ); mStartDateLabel = new QLabel( i18n("Begin on:"), rangeBox ); rangeLayout->addWidget( mStartDateLabel ); QButtonGroup *rangeButtonGroup = new QButtonGroup; mNoEndDateButton = new QRadioButton( i18n("No ending date"), rangeBox ); rangeButtonGroup->insert( mNoEndDateButton ); @@ -533,17 +542,17 @@ RecurrenceRangeWidget::RecurrenceRangeWidget( QWidget *parent, mEndDateButton = new QRadioButton( i18n("End by:"), rangeBox ); rangeButtonGroup->insert( mEndDateButton ); endDateLayout->addWidget( mEndDateButton ); mEndDateEdit = new KDateEdit( rangeBox ); endDateLayout->addWidget( mEndDateEdit ); - endDateLayout->addStretch( 1 ); + //endDateLayout->addStretch( 1 ); connect( mNoEndDateButton, SIGNAL( toggled( bool ) ), SLOT( showCurrentRange() ) ); connect( mEndDurationButton, SIGNAL( toggled( bool ) ), SLOT( showCurrentRange() ) ); connect( mEndDateButton, SIGNAL( toggled( bool ) ), SLOT( showCurrentRange() ) ); } @@ -646,49 +655,28 @@ void RecurrenceRangeDialog::setDateTimes( const QDateTime &start, mRecurrenceRangeWidget->setDateTimes( start, end ); } //////////////////////////// RecurrenceChooser //////////////////////// RecurrenceChooser::RecurrenceChooser( QWidget *parent, const char *name ) : QWidget( parent, name ) { - QBoxLayout *topLayout = new QVBoxLayout( this ); + QBoxLayout *topLayout = new QVBoxLayout( this ); - if ( KOPrefs::instance()->mCompactDialogs ) { mTypeCombo = new QComboBox( this ); mTypeCombo->insertItem( i18n("Daily") ); mTypeCombo->insertItem( i18n("Weekly") ); mTypeCombo->insertItem( i18n("Monthly") ); mTypeCombo->insertItem( i18n("Yearly") ); topLayout->addWidget( mTypeCombo ); connect( mTypeCombo, SIGNAL( activated( int ) ), SLOT( emitChoice() ) ); - } else { - mTypeCombo = 0; - - QButtonGroup *ruleButtonGroup = new QButtonGroup( 1, Horizontal, this ); - ruleButtonGroup->setFrameStyle( QFrame::NoFrame ); - topLayout->addWidget( ruleButtonGroup ); - - mDailyButton = new QRadioButton( i18n("Daily"), ruleButtonGroup ); - mWeeklyButton = new QRadioButton( i18n("Weekly"), ruleButtonGroup ); - mMonthlyButton = new QRadioButton( i18n("Monthly"), ruleButtonGroup ); - mYearlyButton = new QRadioButton( i18n("Yearly"), ruleButtonGroup ); - - connect( mDailyButton, SIGNAL( toggled( bool ) ), - SLOT( emitChoice() ) ); - connect( mWeeklyButton, SIGNAL( toggled( bool ) ), - SLOT( emitChoice() ) ); - connect( mMonthlyButton, SIGNAL( toggled( bool ) ), - SLOT( emitChoice() ) ); - connect( mYearlyButton, SIGNAL( toggled( bool ) ), - SLOT( emitChoice() ) ); - } + } int RecurrenceChooser::type() { if ( mTypeCombo ) { return mTypeCombo->currentItem(); } else { if ( mDailyButton->isChecked() ) return Daily; @@ -728,76 +716,63 @@ void RecurrenceChooser::emitChoice() /////////////////////////////// Main Widget ///////////////////////////// KOEditorRecurrence::KOEditorRecurrence( QWidget* parent, const char *name ) : QWidget( parent, name ) { QGridLayout *topLayout = new QGridLayout( this, 2,2 ); topLayout->setSpacing( KDialog::spacingHint() ); + topLayout->setMargin( KDialog::marginHintSmall() ); mEnabledCheck = new QCheckBox( i18n("Enable Recurrence"), this ); connect( mEnabledCheck, SIGNAL( toggled( bool ) ), SLOT( setEnabled( bool ) ) ); topLayout->addMultiCellWidget( mEnabledCheck, 0, 0, 0, 1 ); mTimeGroupBox = new QGroupBox( 1, Horizontal, i18n("Appointment Time "), this ); topLayout->addMultiCellWidget( mTimeGroupBox, 1, 1 , 0 , 1 ); - if ( KOPrefs::instance()->mCompactDialogs ) { + if ( QApplication::desktop()->width() <= 320) { mTimeGroupBox->hide(); } // QFrame *timeFrame = new QFrame( mTimeGroupBox ); // QBoxLayout *layoutTimeFrame = new QHBoxLayout( timeFrame ); // layoutTimeFrame->setSpacing( KDialog::spacingHint() ); mDateTimeLabel = new QLabel( mTimeGroupBox ); // mDateTimeLabel = new QLabel( timeFrame ); // layoutTimeFrame->addWidget( mDateTimeLabel ); - Qt::Orientation orientation; - if ( KOPrefs::instance()->mCompactDialogs ) orientation = Horizontal; - else orientation = Vertical; - - mRuleBox = new QGroupBox( 1, orientation, i18n("Recurrence Rule"), this ); - if ( KOPrefs::instance()->mCompactDialogs ) { - topLayout->addMultiCellWidget( mRuleBox, 2, 2, 0, 1 ); - } else { - topLayout->addMultiCellWidget( mRuleBox, 2, 2, 0, 1 ); - } + mRuleBox = new QGroupBox( 1, Horizontal, i18n("Recurrence Rule"), this ); + topLayout->addMultiCellWidget( mRuleBox, 2, 2, 0, 1 ); mRecurrenceChooser = new RecurrenceChooser( mRuleBox ); connect( mRecurrenceChooser, SIGNAL( chosen( int ) ), SLOT( showCurrentRule( int ) ) ); - if ( !KOPrefs::instance()->mCompactDialogs ) { - QFrame *ruleSepFrame = new QFrame( mRuleBox ); - ruleSepFrame->setFrameStyle( QFrame::VLine | QFrame::Sunken ); - } mRuleStack = new QWidgetStack( mRuleBox ); mDaily = new RecurDaily( mRuleStack ); mRuleStack->addWidget( mDaily, 0 ); mWeekly = new RecurWeekly( mRuleStack ); mRuleStack->addWidget( mWeekly, 0 ); mMonthly = new RecurMonthly( mRuleStack ); mRuleStack->addWidget( mMonthly, 0 ); mYearly = new RecurYearly( mRuleStack ); mRuleStack->addWidget( mYearly, 0 ); showCurrentRule( mRecurrenceChooser->type() ); - - if ( KOPrefs::instance()->mCompactDialogs ) { mRecurrenceRangeWidget = 0; mRecurrenceRangeDialog = new RecurrenceRangeDialog( this ); mRecurrenceRange = mRecurrenceRangeDialog; mRecurrenceRangeButton = new QPushButton( i18n("Recurrence Range..."), this ); connect( mRecurrenceRangeButton, SIGNAL( clicked() ), SLOT( showRecurrenceRangeDialog() ) ); @@ -810,30 +785,16 @@ KOEditorRecurrence::KOEditorRecurrence( QWidget* parent, const char *name ) : topLayout->addMultiCellWidget( mRecurrenceRangeButton, 3, 3, 0, 1 ); topLayout->addMultiCellWidget( mExceptionsButton, 4, 4, 0, 1 ); } else { topLayout->addWidget( mRecurrenceRangeButton, 3, 0 ); topLayout->addWidget( mExceptionsButton, 3, 1 ); } connect( mExceptionsButton, SIGNAL( clicked() ), SLOT( showExceptionsDialog() ) ); - - } else { - mRecurrenceRangeWidget = new RecurrenceRangeWidget( this ); - mRecurrenceRangeDialog = 0; - mRecurrenceRange = mRecurrenceRangeWidget; - mRecurrenceRangeButton = 0; - topLayout->addWidget( mRecurrenceRangeWidget, 3, 0 ); - - mExceptionsWidget = new ExceptionsWidget( this ); - mExceptionsDialog = 0; - mExceptions = mExceptionsWidget; - mExceptionsButton = 0; - topLayout->addWidget( mExceptionsWidget, 3, 1 ); - } } KOEditorRecurrence::~KOEditorRecurrence() { } void KOEditorRecurrence::setEnabled( bool enabled ) { |