summaryrefslogtreecommitdiffabout
path: root/korganizer
Side-by-side diff
Diffstat (limited to 'korganizer') (more/less context) (show whitespace changes)
-rw-r--r--korganizer/koeditorgeneral.cpp65
-rw-r--r--korganizer/koeditorgeneral.h4
-rw-r--r--korganizer/koeventpopupmenu.cpp1
3 files changed, 62 insertions, 8 deletions
diff --git a/korganizer/koeditorgeneral.cpp b/korganizer/koeditorgeneral.cpp
index 29e68b3..753630b 100644
--- a/korganizer/koeditorgeneral.cpp
+++ b/korganizer/koeditorgeneral.cpp
@@ -78,49 +78,59 @@ void KOEditorGeneral::initHeader(QWidget *parent,QBoxLayout *topLayout)
headerLayout->addMultiCellWidget(mOwnerLabel,0,0,0,1);
#endif
// 1 on pda
// 11 on desktop
headerLayout->setSpacing( (KDialog::spacingHint()-3)*2+1 );
QLabel *summaryLabel = new QLabel(i18n("Summary:"),parent);
- headerLayout->addWidget(summaryLabel,1,0);
+ headerLayout->addWidget(summaryLabel,0,0);
mSummaryEdit = new KOLocationBox(TRUE,parent, 10);
mSummaryEdit->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::MinimumExpanding ,FALSE) );
//mSummaryEdit->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5 ,(QSizePolicy::SizeType)3 ,FALSE) );
//qDebug("h %d %d ", summaryLabel->sizeHint().height(),mSummaryEdit->sizeHint().height() );
int hei = (summaryLabel->sizeHint().height() + mSummaryEdit->sizeHint().height())/2;
if ( QApplication::desktop()->width() > 320 )
mSummaryEdit->setMaximumHeight( hei +6 );
//qDebug("%d %d %d %d %d %d ", QSizePolicy::Fixed , QSizePolicy::Minimum , QSizePolicy:: Maximum , QSizePolicy:: Preferred , QSizePolicy:: MinimumExpanding , QSizePolicy::Expanding );
// SizeType { Fixed = 0, Minimum = MayGrow, Maximum = MayShrink, Preferred = MayGrow|MayShrink, MinimumExpanding = Minimum|ExpMask, Expanding = MinimumExpanding|MayShrink }
// mSummaryEdit = new QLineEdit(parent);
- headerLayout->addWidget(mSummaryEdit,1,1);
+ if ( QApplication::desktop()->height() < 320 )
+ headerLayout->addWidget(mSummaryEdit,0,1);
+ else
+ headerLayout->addMultiCellWidget(mSummaryEdit,0,0,1,2);
connect ( mSummaryEdit->lineEdit(), SIGNAL ( returnPressed() ), this, SIGNAL (allAccepted () ) );
QLabel *locationLabel = new QLabel(i18n("Location:"),parent);
if ( QApplication::desktop()->height() < 320 )
- headerLayout->addWidget(locationLabel,1,2);
+ headerLayout->addWidget(locationLabel,0,2);
else
- headerLayout->addWidget(locationLabel,2,0);
+ headerLayout->addWidget(locationLabel,1,0);
mLocationEdit = new KOLocationBox(TRUE,parent,10);
mLocationEdit->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::MinimumExpanding ,FALSE) );
if ( QApplication::desktop()->width() > 320 && QApplication::desktop()->height() > 240 )
mLocationEdit->setMaximumHeight( hei + 6);
// mLocationEdit = new QLineEdit(parent);
connect ( mLocationEdit->lineEdit(), SIGNAL ( returnPressed() ), this, SIGNAL (allAccepted () ) );
+
+ mCalendarBox = new QComboBox ( parent );
+ mCalendarBox->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::MinimumExpanding ,FALSE) );
if ( QApplication::desktop()->height() < 320 ) {
- headerLayout->addWidget(mLocationEdit,1,3);
+ headerLayout->addWidget(mLocationEdit,0,3);
+ headerLayout->addWidget(mCalendarBox,0,4);
headerLayout->setColStretch( 1, 10);
headerLayout->setColStretch( 3, 10);
+ mCalendarBox->setMaximumWidth( 64 );
}
else {
- headerLayout->addWidget(mLocationEdit,2,1);
+ headerLayout->addWidget(mLocationEdit,1,1);
+ headerLayout->addWidget(mCalendarBox,1,2);
headerLayout->setColStretch( 1, 10);
}
+
}
void KOEditorGeneral::setFocusOn( int i )
{
mNextFocus = i;
QTimer::singleShot( 0, this, SLOT ( slotSetFocusOn() ));
}
@@ -433,20 +443,60 @@ void KOEditorGeneral::setDefaults(bool allDay)
mCancelBox->setChecked( false );
mSummaryEdit->setEditText("");
mLocationEdit->setEditText("");
mDescriptionEdit->setText("");
mAlarmSound = KOPrefs::instance()->mDefaultAlarmFile;
setCategories("");
+ fillCalCombo();
}
void KOEditorGeneral::setSecrecy( int num )
{
mSecrecyCombo->setCurrentItem(num);
}
-void KOEditorGeneral::readIncidence(Incidence *event)
+void KOEditorGeneral::fillCalCombo( int setToID )
+{
+ mCalendarBox->clear();
+ KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first();
+ int std = 0;
+ int count = 0;
+ while ( kkf ) {
+ if ( !kkf->mErrorOnLoad &&! kkf->isReadOnly ) {
+ if ( setToID ) {
+ if ( kkf->mCalNumber == setToID )
+ std = count;
+ } else {
+ if ( kkf->isStandard ) {
+ std = count;
+ }
+ }
+ ++count;
+ mCalendarBox->insertItem( kkf->mName );
+ }
+ kkf = KOPrefs::instance()->mCalendars.next();
+ }
+ mCalendarBox->setCurrentItem( std );
+ if ( KOPrefs::instance()->mCalendars.count() == 1 )
+ mCalendarBox->hide();
+ else
+ mCalendarBox->show();
+
+}
+int KOEditorGeneral::getCalendarID()
{
+ KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first();
+ while ( kkf ) {
+ if ( mCalendarBox->currentText() == kkf->mName)
+ return kkf->mCalNumber;
+ kkf = KOPrefs::instance()->mCalendars.next();
+ }
+ return 1;
+}
+void KOEditorGeneral::readIncidence(Incidence *event)
+{
+ fillCalCombo( event->calID() );
mAlarmMessage = event->summary();
if ( ! event->location().isEmpty() )
mAlarmMessage += " ("+event->location()+")";
mAlarmIncrCombo->setCurrentItem(0);
mSummaryEdit->setEditText(event->summary());
mLocationEdit->setEditText(event->location());
@@ -566,7 +616,8 @@ void KOEditorGeneral::writeIncidence(Incidence *event)
Alarm* alarm = event->alarms().first();
if ( alarm ) {
alarm->setEnabled(false);
alarm->setType(Alarm::Invalid);
}
}
+ event->setCalID( getCalendarID() );
}
diff --git a/korganizer/koeditorgeneral.h b/korganizer/koeditorgeneral.h
index c463403..d8b15af 100644
--- a/korganizer/koeditorgeneral.h
+++ b/korganizer/koeditorgeneral.h
@@ -32,12 +32,13 @@
#include <qlineedit.h>
#include <qcombobox.h>
#include <qlistview.h>
#include <qradiobutton.h>
#include <qlayout.h>
#include <qspinbox.h>
+#include <qcombobox.h>
#include <ktextedit.h>
#include <krestrictedline.h>
#include <libkcal/incidence.h>
@@ -69,12 +70,13 @@ class KOEditorGeneral : public QObject
/** Check if the input is valid. */
bool validateInput() { return true; }
void enableAlarm( bool enable );
void setSecrecy( int num );
+ int getCalendarID();
public slots:
void setCategories(const QString &);
void editCategories();
protected slots:
void enableAlarmEdit( bool enable );
@@ -89,17 +91,19 @@ class KOEditorGeneral : public QObject
signals:
void openCategoryDialog();
void allAccepted();
void dateTimesChanged(QDateTime,QDateTime);
protected:
+ void fillCalCombo( int setToID = 0 );
int mNextFocus;
//QLineEdit *mSummaryEdit;
//QLineEdit *mLocationEdit;
KOLocationBox *mSummaryEdit;
KOLocationBox *mLocationEdit;
+ QComboBox *mCalendarBox;
QLabel *mAlarmBell;
QCheckBox *mAlarmButton;
QSpinBox *mAlarmTimeEdit;
QPushButton *mAlarmSoundButton;
QPushButton *mAlarmProgramButton;
QComboBox *mAlarmIncrCombo;
diff --git a/korganizer/koeventpopupmenu.cpp b/korganizer/koeventpopupmenu.cpp
index 77322e7..fc4d9a4 100644
--- a/korganizer/koeventpopupmenu.cpp
+++ b/korganizer/koeventpopupmenu.cpp
@@ -75,13 +75,12 @@ void KOEventPopupMenu::enableDefault( bool enable )
{
isDisabled = !enable;
QValueList<int>::Iterator it;
for( it = mSingleOnlyItems.begin(); it != mSingleOnlyItems.end(); ++it ) {
setItemEnabled(*it,enable);
}
-
}
void KOEventPopupMenu::fillCalPopup() // CAL
{
mCalPopup->clear();
if (!mCurrentIncidence) return;