-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 | |||
@@ -82,8 +82,9 @@ RecurDaily::RecurDaily( QWidget *parent, const char *name ) : | |||
82 | RecurBase( parent, name ) | 82 | RecurBase( parent, name ) |
83 | { | 83 | { |
84 | QBoxLayout *topLayout = new QHBoxLayout( this ); | 84 | QBoxLayout *topLayout = new QHBoxLayout( this ); |
85 | topLayout->setSpacing( KDialog::spacingHint() ); | 85 | topLayout->setSpacing( KDialog::spacingHint() ); |
86 | topLayout->setMargin( KDialog::marginHintSmall() ); | ||
86 | 87 | ||
87 | QLabel *preLabel = new QLabel( i18n("Recur every"), this ); | 88 | QLabel *preLabel = new QLabel( i18n("Recur every"), this ); |
88 | topLayout->addWidget( preLabel ); | 89 | topLayout->addWidget( preLabel ); |
89 | 90 | ||
@@ -100,10 +101,11 @@ RecurWeekly::RecurWeekly( QWidget *parent, const char *name ) : | |||
100 | RecurBase( parent, name ) | 101 | RecurBase( parent, name ) |
101 | { | 102 | { |
102 | QBoxLayout *topLayout = new QVBoxLayout( this ); | 103 | QBoxLayout *topLayout = new QVBoxLayout( this ); |
103 | topLayout->setSpacing( KDialog::spacingHint() ); | 104 | topLayout->setSpacing( KDialog::spacingHint() ); |
105 | topLayout->setMargin( KDialog::marginHintSmall() ); | ||
104 | 106 | ||
105 | topLayout->addStretch( 1 ); | 107 | //topLayout->addStretch( 1 ); |
106 | 108 | ||
107 | QBoxLayout *weeksLayout = new QHBoxLayout( topLayout ); | 109 | QBoxLayout *weeksLayout = new QHBoxLayout( topLayout ); |
108 | 110 | ||
109 | QLabel *preLabel = new QLabel( i18n("Recur every"), this ); | 111 | QLabel *preLabel = new QLabel( i18n("Recur every"), this ); |
@@ -118,15 +120,18 @@ RecurWeekly::RecurWeekly( QWidget *parent, const char *name ) : | |||
118 | topLayout->addWidget( dayBox, 1, AlignVCenter ); | 120 | topLayout->addWidget( dayBox, 1, AlignVCenter ); |
119 | // TODO: Respect start of week setting | 121 | // TODO: Respect start of week setting |
120 | for ( int i = 0; i < 7; ++i ) { | 122 | for ( int i = 0; i < 7; ++i ) { |
121 | QString weekDayName = KGlobal::locale()->weekDayName( i + 1, true ); | 123 | QString weekDayName = KGlobal::locale()->weekDayName( i + 1, true ); |
122 | if ( KOPrefs::instance()->mCompactDialogs ) { | 124 | int left = 1; |
123 | weekDayName = weekDayName.left( 1 ); | 125 | if ( QApplication::desktop()->width() > 480 ) { |
126 | ++left; | ||
127 | if ( QApplication::desktop()->width() > 640 ) | ||
128 | ++left; | ||
124 | } | 129 | } |
125 | mDayBoxes[ i ] = new QCheckBox( weekDayName, dayBox ); | 130 | mDayBoxes[ i ] = new QCheckBox( weekDayName.left( left ), dayBox ); |
126 | } | 131 | } |
127 | 132 | ||
128 | topLayout->addStretch( 1 ); | 133 | topLayout->addStretch( ); |
129 | } | 134 | } |
130 | 135 | ||
131 | void RecurWeekly::setDays( const QBitArray &days ) | 136 | void RecurWeekly::setDays( const QBitArray &days ) |
132 | { | 137 | { |
@@ -152,8 +157,9 @@ RecurMonthly::RecurMonthly( QWidget *parent, const char *name ) : | |||
152 | RecurBase( parent, name ) | 157 | RecurBase( parent, name ) |
153 | { | 158 | { |
154 | QBoxLayout *topLayout = new QVBoxLayout( this ); | 159 | QBoxLayout *topLayout = new QVBoxLayout( this ); |
155 | topLayout->setSpacing( KDialog::spacingHint() ); | 160 | topLayout->setSpacing( KDialog::spacingHint() ); |
161 | topLayout->setMargin( KDialog::marginHintSmall() ); | ||
156 | 162 | ||
157 | 163 | ||
158 | QBoxLayout *freqLayout = new QHBoxLayout( topLayout ); | 164 | QBoxLayout *freqLayout = new QHBoxLayout( topLayout ); |
159 | 165 | ||
@@ -171,12 +177,13 @@ RecurMonthly::RecurMonthly( QWidget *parent, const char *name ) : | |||
171 | topLayout->addWidget( buttonGroup, 1, AlignVCenter ); | 177 | topLayout->addWidget( buttonGroup, 1, AlignVCenter ); |
172 | 178 | ||
173 | QGridLayout *buttonLayout = new QGridLayout( buttonGroup, 3, 2 ); | 179 | QGridLayout *buttonLayout = new QGridLayout( buttonGroup, 3, 2 ); |
174 | buttonLayout->setSpacing( KDialog::spacingHint() ); | 180 | buttonLayout->setSpacing( KDialog::spacingHint() ); |
181 | buttonLayout->setMargin( KDialog::marginHintSmall() ); | ||
175 | 182 | ||
176 | 183 | ||
177 | QString recurOnText; | 184 | QString recurOnText; |
178 | if ( !KOPrefs::instance()->mCompactDialogs ) { | 185 | if ( QApplication::desktop()->width() > 320 ) { |
179 | recurOnText = i18n("Recur on the"); | 186 | recurOnText = i18n("Recur on the"); |
180 | } | 187 | } |
181 | 188 | ||
182 | mByDayRadio = new QRadioButton( recurOnText, buttonGroup ); | 189 | mByDayRadio = new QRadioButton( recurOnText, buttonGroup ); |
@@ -287,8 +294,9 @@ RecurYearly::RecurYearly( QWidget *parent, const char *name ) : | |||
287 | RecurBase( parent, name ) | 294 | RecurBase( parent, name ) |
288 | { | 295 | { |
289 | QBoxLayout *topLayout = new QVBoxLayout( this ); | 296 | QBoxLayout *topLayout = new QVBoxLayout( this ); |
290 | topLayout->setSpacing( KDialog::spacingHint() ); | 297 | topLayout->setSpacing( KDialog::spacingHint() ); |
298 | topLayout->setMargin( KDialog::marginHintSmall() ); | ||
291 | 299 | ||
292 | 300 | ||
293 | QBoxLayout *freqLayout = new QHBoxLayout( topLayout ); | 301 | QBoxLayout *freqLayout = new QHBoxLayout( topLayout ); |
294 | 302 | ||
@@ -504,8 +512,9 @@ RecurrenceRangeWidget::RecurrenceRangeWidget( QWidget *parent, | |||
504 | 512 | ||
505 | QWidget *rangeBox = new QWidget( mRangeGroupBox ); | 513 | QWidget *rangeBox = new QWidget( mRangeGroupBox ); |
506 | QVBoxLayout *rangeLayout = new QVBoxLayout( rangeBox ); | 514 | QVBoxLayout *rangeLayout = new QVBoxLayout( rangeBox ); |
507 | rangeLayout->setSpacing( KDialog::spacingHint() ); | 515 | rangeLayout->setSpacing( KDialog::spacingHint() ); |
516 | rangeLayout->setMargin( KDialog::marginHintSmall() ); | ||
508 | 517 | ||
509 | mStartDateLabel = new QLabel( i18n("Begin on:"), rangeBox ); | 518 | mStartDateLabel = new QLabel( i18n("Begin on:"), rangeBox ); |
510 | rangeLayout->addWidget( mStartDateLabel ); | 519 | rangeLayout->addWidget( mStartDateLabel ); |
511 | 520 | ||
@@ -537,9 +546,9 @@ RecurrenceRangeWidget::RecurrenceRangeWidget( QWidget *parent, | |||
537 | 546 | ||
538 | mEndDateEdit = new KDateEdit( rangeBox ); | 547 | mEndDateEdit = new KDateEdit( rangeBox ); |
539 | endDateLayout->addWidget( mEndDateEdit ); | 548 | endDateLayout->addWidget( mEndDateEdit ); |
540 | 549 | ||
541 | endDateLayout->addStretch( 1 ); | 550 | //endDateLayout->addStretch( 1 ); |
542 | 551 | ||
543 | connect( mNoEndDateButton, SIGNAL( toggled( bool ) ), | 552 | connect( mNoEndDateButton, SIGNAL( toggled( bool ) ), |
544 | SLOT( showCurrentRange() ) ); | 553 | SLOT( showCurrentRange() ) ); |
545 | connect( mEndDurationButton, SIGNAL( toggled( bool ) ), | 554 | connect( mEndDurationButton, SIGNAL( toggled( bool ) ), |
@@ -650,11 +659,10 @@ void RecurrenceRangeDialog::setDateTimes( const QDateTime &start, | |||
650 | 659 | ||
651 | RecurrenceChooser::RecurrenceChooser( QWidget *parent, const char *name ) : | 660 | RecurrenceChooser::RecurrenceChooser( QWidget *parent, const char *name ) : |
652 | QWidget( parent, name ) | 661 | QWidget( parent, name ) |
653 | { | 662 | { |
654 | QBoxLayout *topLayout = new QVBoxLayout( this ); | 663 | QBoxLayout *topLayout = new QVBoxLayout( this ); |
655 | 664 | ||
656 | if ( KOPrefs::instance()->mCompactDialogs ) { | ||
657 | mTypeCombo = new QComboBox( this ); | 665 | mTypeCombo = new QComboBox( this ); |
658 | mTypeCombo->insertItem( i18n("Daily") ); | 666 | mTypeCombo->insertItem( i18n("Daily") ); |
659 | mTypeCombo->insertItem( i18n("Weekly") ); | 667 | mTypeCombo->insertItem( i18n("Weekly") ); |
660 | mTypeCombo->insertItem( i18n("Monthly") ); | 668 | mTypeCombo->insertItem( i18n("Monthly") ); |
@@ -662,29 +670,9 @@ RecurrenceChooser::RecurrenceChooser( QWidget *parent, const char *name ) : | |||
662 | 670 | ||
663 | topLayout->addWidget( mTypeCombo ); | 671 | topLayout->addWidget( mTypeCombo ); |
664 | 672 | ||
665 | connect( mTypeCombo, SIGNAL( activated( int ) ), SLOT( emitChoice() ) ); | 673 | connect( mTypeCombo, SIGNAL( activated( int ) ), SLOT( emitChoice() ) ); |
666 | } else { | 674 | |
667 | mTypeCombo = 0; | ||
668 | |||
669 | QButtonGroup *ruleButtonGroup = new QButtonGroup( 1, Horizontal, this ); | ||
670 | ruleButtonGroup->setFrameStyle( QFrame::NoFrame ); | ||
671 | topLayout->addWidget( ruleButtonGroup ); | ||
672 | |||
673 | mDailyButton = new QRadioButton( i18n("Daily"), ruleButtonGroup ); | ||
674 | mWeeklyButton = new QRadioButton( i18n("Weekly"), ruleButtonGroup ); | ||
675 | mMonthlyButton = new QRadioButton( i18n("Monthly"), ruleButtonGroup ); | ||
676 | mYearlyButton = new QRadioButton( i18n("Yearly"), ruleButtonGroup ); | ||
677 | |||
678 | connect( mDailyButton, SIGNAL( toggled( bool ) ), | ||
679 | SLOT( emitChoice() ) ); | ||
680 | connect( mWeeklyButton, SIGNAL( toggled( bool ) ), | ||
681 | SLOT( emitChoice() ) ); | ||
682 | connect( mMonthlyButton, SIGNAL( toggled( bool ) ), | ||
683 | SLOT( emitChoice() ) ); | ||
684 | connect( mYearlyButton, SIGNAL( toggled( bool ) ), | ||
685 | SLOT( emitChoice() ) ); | ||
686 | } | ||
687 | } | 675 | } |
688 | 676 | ||
689 | int RecurrenceChooser::type() | 677 | int RecurrenceChooser::type() |
690 | { | 678 | { |
@@ -732,8 +720,9 @@ KOEditorRecurrence::KOEditorRecurrence( QWidget* parent, const char *name ) : | |||
732 | QWidget( parent, name ) | 720 | QWidget( parent, name ) |
733 | { | 721 | { |
734 | QGridLayout *topLayout = new QGridLayout( this, 2,2 ); | 722 | QGridLayout *topLayout = new QGridLayout( this, 2,2 ); |
735 | topLayout->setSpacing( KDialog::spacingHint() ); | 723 | topLayout->setSpacing( KDialog::spacingHint() ); |
724 | topLayout->setMargin( KDialog::marginHintSmall() ); | ||
736 | 725 | ||
737 | mEnabledCheck = new QCheckBox( i18n("Enable Recurrence"), this ); | 726 | mEnabledCheck = new QCheckBox( i18n("Enable Recurrence"), this ); |
738 | connect( mEnabledCheck, SIGNAL( toggled( bool ) ), | 727 | connect( mEnabledCheck, SIGNAL( toggled( bool ) ), |
739 | SLOT( setEnabled( bool ) ) ); | 728 | SLOT( setEnabled( bool ) ) ); |
@@ -743,9 +732,9 @@ KOEditorRecurrence::KOEditorRecurrence( QWidget* parent, const char *name ) : | |||
743 | mTimeGroupBox = new QGroupBox( 1, Horizontal, i18n("Appointment Time "), | 732 | mTimeGroupBox = new QGroupBox( 1, Horizontal, i18n("Appointment Time "), |
744 | this ); | 733 | this ); |
745 | topLayout->addMultiCellWidget( mTimeGroupBox, 1, 1 , 0 , 1 ); | 734 | topLayout->addMultiCellWidget( mTimeGroupBox, 1, 1 , 0 , 1 ); |
746 | 735 | ||
747 | if ( KOPrefs::instance()->mCompactDialogs ) { | 736 | if ( QApplication::desktop()->width() <= 320) { |
748 | mTimeGroupBox->hide(); | 737 | mTimeGroupBox->hide(); |
749 | } | 738 | } |
750 | 739 | ||
751 | // QFrame *timeFrame = new QFrame( mTimeGroupBox ); | 740 | // QFrame *timeFrame = new QFrame( mTimeGroupBox ); |
@@ -755,27 +744,15 @@ KOEditorRecurrence::KOEditorRecurrence( QWidget* parent, const char *name ) : | |||
755 | mDateTimeLabel = new QLabel( mTimeGroupBox ); | 744 | mDateTimeLabel = new QLabel( mTimeGroupBox ); |
756 | // mDateTimeLabel = new QLabel( timeFrame ); | 745 | // mDateTimeLabel = new QLabel( timeFrame ); |
757 | // layoutTimeFrame->addWidget( mDateTimeLabel ); | 746 | // layoutTimeFrame->addWidget( mDateTimeLabel ); |
758 | 747 | ||
759 | Qt::Orientation orientation; | ||
760 | if ( KOPrefs::instance()->mCompactDialogs ) orientation = Horizontal; | ||
761 | else orientation = Vertical; | ||
762 | |||
763 | mRuleBox = new QGroupBox( 1, orientation, i18n("Recurrence Rule"), this ); | ||
764 | if ( KOPrefs::instance()->mCompactDialogs ) { | ||
765 | topLayout->addMultiCellWidget( mRuleBox, 2, 2, 0, 1 ); | ||
766 | } else { | ||
767 | topLayout->addMultiCellWidget( mRuleBox, 2, 2, 0, 1 ); | ||
768 | } | ||
769 | 748 | ||
749 | mRuleBox = new QGroupBox( 1, Horizontal, i18n("Recurrence Rule"), this ); | ||
750 | topLayout->addMultiCellWidget( mRuleBox, 2, 2, 0, 1 ); | ||
770 | mRecurrenceChooser = new RecurrenceChooser( mRuleBox ); | 751 | mRecurrenceChooser = new RecurrenceChooser( mRuleBox ); |
771 | connect( mRecurrenceChooser, SIGNAL( chosen( int ) ), | 752 | connect( mRecurrenceChooser, SIGNAL( chosen( int ) ), |
772 | SLOT( showCurrentRule( int ) ) ); | 753 | SLOT( showCurrentRule( int ) ) ); |
773 | 754 | ||
774 | if ( !KOPrefs::instance()->mCompactDialogs ) { | ||
775 | QFrame *ruleSepFrame = new QFrame( mRuleBox ); | ||
776 | ruleSepFrame->setFrameStyle( QFrame::VLine | QFrame::Sunken ); | ||
777 | } | ||
778 | 755 | ||
779 | mRuleStack = new QWidgetStack( mRuleBox ); | 756 | mRuleStack = new QWidgetStack( mRuleBox ); |
780 | 757 | ||
781 | mDaily = new RecurDaily( mRuleStack ); | 758 | mDaily = new RecurDaily( mRuleStack ); |
@@ -790,10 +767,8 @@ KOEditorRecurrence::KOEditorRecurrence( QWidget* parent, const char *name ) : | |||
790 | mYearly = new RecurYearly( mRuleStack ); | 767 | mYearly = new RecurYearly( mRuleStack ); |
791 | mRuleStack->addWidget( mYearly, 0 ); | 768 | mRuleStack->addWidget( mYearly, 0 ); |
792 | 769 | ||
793 | showCurrentRule( mRecurrenceChooser->type() ); | 770 | showCurrentRule( mRecurrenceChooser->type() ); |
794 | |||
795 | if ( KOPrefs::instance()->mCompactDialogs ) { | ||
796 | mRecurrenceRangeWidget = 0; | 771 | mRecurrenceRangeWidget = 0; |
797 | mRecurrenceRangeDialog = new RecurrenceRangeDialog( this ); | 772 | mRecurrenceRangeDialog = new RecurrenceRangeDialog( this ); |
798 | mRecurrenceRange = mRecurrenceRangeDialog; | 773 | mRecurrenceRange = mRecurrenceRangeDialog; |
799 | mRecurrenceRangeButton = new QPushButton( i18n("Recurrence Range..."), | 774 | mRecurrenceRangeButton = new QPushButton( i18n("Recurrence Range..."), |
@@ -814,22 +789,8 @@ KOEditorRecurrence::KOEditorRecurrence( QWidget* parent, const char *name ) : | |||
814 | topLayout->addWidget( mExceptionsButton, 3, 1 ); | 789 | topLayout->addWidget( mExceptionsButton, 3, 1 ); |
815 | } | 790 | } |
816 | connect( mExceptionsButton, SIGNAL( clicked() ), | 791 | connect( mExceptionsButton, SIGNAL( clicked() ), |
817 | SLOT( showExceptionsDialog() ) ); | 792 | SLOT( showExceptionsDialog() ) ); |
818 | |||
819 | } else { | ||
820 | mRecurrenceRangeWidget = new RecurrenceRangeWidget( this ); | ||
821 | mRecurrenceRangeDialog = 0; | ||
822 | mRecurrenceRange = mRecurrenceRangeWidget; | ||
823 | mRecurrenceRangeButton = 0; | ||
824 | topLayout->addWidget( mRecurrenceRangeWidget, 3, 0 ); | ||
825 | |||
826 | mExceptionsWidget = new ExceptionsWidget( this ); | ||
827 | mExceptionsDialog = 0; | ||
828 | mExceptions = mExceptionsWidget; | ||
829 | mExceptionsButton = 0; | ||
830 | topLayout->addWidget( mExceptionsWidget, 3, 1 ); | ||
831 | } | ||
832 | } | 793 | } |
833 | 794 | ||
834 | KOEditorRecurrence::~KOEditorRecurrence() | 795 | KOEditorRecurrence::~KOEditorRecurrence() |
835 | { | 796 | { |