From c8369569b3c5bc7cbec3b56ddca27847f57ca72f Mon Sep 17 00:00:00 2001 From: zautrix Date: Thu, 03 Feb 2005 21:18:40 +0000 Subject: alarm fixes --- (limited to 'korganizer/kolistview.h') diff --git a/korganizer/kolistview.h b/korganizer/kolistview.h index be9b09c..78004fe 100644 --- a/korganizer/kolistview.h +++ b/korganizer/kolistview.h @@ -42,6 +42,140 @@ using namespace KCal; + + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "kfiledialog.h" +#include "koprefs.h" +class KOAlarmPrefs : public QDialog +{ + Q_OBJECT + public: + KOAlarmPrefs( QWidget *par=0, const char *name=0 ) : + QDialog( par, name, true ) + { + setCaption( i18n("Alarm Options") ); + QVBoxLayout* alarmLayout = new QVBoxLayout( this ); + alarmLayout->setSpacing( 3 ); + alarmLayout->setMargin( 3 ); + QWidget *parent = this; + mAlarmButton = new QCheckBox(i18n("Set reminder offset to:"),parent); + alarmLayout->addWidget(mAlarmButton); + mAlarmTimeEdit = new QSpinBox ( 0, 9999, 1, parent, "mAlarmTimeEdit " ) ; + mAlarmTimeEdit->setValue( 15 ); + alarmLayout->addWidget(mAlarmTimeEdit); + mAlarmIncrCombo = new QComboBox(false, parent); + mAlarmIncrCombo->insertItem(i18n("minute(s)")); + mAlarmIncrCombo->insertItem(i18n("hour(s)")); + mAlarmIncrCombo->insertItem(i18n("day(s)")); + alarmLayout->addWidget(mAlarmIncrCombo); + QHBox * hb = new QHBox ( parent ); + alarmLayout->addWidget(hb); + mAlarmSoundButton = new QPushButton(hb); + mAlarmSoundButton->setPixmap(SmallIcon("playsound")); + mAlarmSoundButton->setToggleButton(true); + connect(mAlarmSoundButton, SIGNAL(clicked()), SLOT(pickAlarmSound())); + mAlarmProgramButton = new QPushButton(hb); + mAlarmProgramButton->setPixmap(SmallIcon("run")); + mAlarmProgramButton->setToggleButton(true); + connect(mAlarmProgramButton, SIGNAL(clicked()), SLOT(pickAlarmProgram())); + mAlarmSoundButton->setMaximumWidth( mAlarmSoundButton->sizeHint().width() + 4 ); + mAlarmProgramButton->setMaximumWidth(mAlarmProgramButton->sizeHint().width() + 4 ); + mAlarmLabel = new QLabel( this ); + alarmLayout->addWidget( mAlarmLabel ); + mAlarmLabel->setText( "..."+KOPrefs::instance()->mDefaultAlarmFile.right( 30 ) ); + mAlarmSound = KOPrefs::instance()->mDefaultAlarmFile; + mAlarmSoundButton->setOn( true ); + QPushButton * ok = new QPushButton( i18n("Set Alarm!"), this ); + alarmLayout->addWidget( ok ); + QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); + alarmLayout->addWidget( cancel ); + connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); + connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); + resize( 200, 200 ); + + } + + + + QString mAlarmSound, mAlarmProgram ; + QCheckBox* mAlarmButton; + QSpinBox* mAlarmTimeEdit; + QLabel* mAlarmLabel; + QComboBox* mAlarmIncrCombo ; + QPushButton* mAlarmSoundButton ,*mAlarmProgramButton; +private slots: + +void pickAlarmSound() +{ + //QString prefix = mAlarmSound; + if (!mAlarmSoundButton->isOn()) { + //mAlarmSound = ""; + QToolTip::remove(mAlarmSoundButton); + QToolTip::add(mAlarmSoundButton, i18n("No sound set")); + mAlarmProgramButton->setOn(true); + mAlarmSoundButton->setOn(false); + } else { + QString fileName(KFileDialog::getOpenFileName(mAlarmSound, + i18n("*.wav|Wav Files"), 0)); + if (!fileName.isEmpty()) { + mAlarmSound = fileName; + mAlarmLabel->setText( "..."+fileName.right( 30 ) ); + QToolTip::remove(mAlarmSoundButton); + QString dispStr = i18n("Playing '%1'").arg(fileName); + QToolTip::add(mAlarmSoundButton, dispStr); + mAlarmProgramButton->setOn(false); + mAlarmSoundButton->setOn(true); + } else { + mAlarmProgramButton->setOn(true); + mAlarmSoundButton->setOn(false); + + } + } +}; + +void pickAlarmProgram() +{ + if (!mAlarmProgramButton->isOn()) { + //mAlarmProgram = ""; + QToolTip::remove(mAlarmProgramButton); + QToolTip::add(mAlarmProgramButton, i18n("No program set")); + mAlarmProgramButton->setOn(false); + mAlarmSoundButton->setOn(true); + } else { + QString fileName(KFileDialog::getOpenFileName(mAlarmProgram,i18n("Procedure Alarm.: ") , 0)); + if (!fileName.isEmpty()) { + mAlarmProgram = fileName; + mAlarmLabel->setText( "..."+fileName.right( 30 ) ); + QToolTip::remove(mAlarmProgramButton); + QString dispStr = i18n("Running '%1'").arg(fileName); + QToolTip::add(mAlarmProgramButton, dispStr); + mAlarmSoundButton->setOn(false); + mAlarmProgramButton->setOn(true); + } else { + mAlarmProgramButton->setOn(false); + mAlarmSoundButton->setOn(true); + } + } +}; + +}; + + + + + + + typedef CustomListViewItem KOListViewItem; /** @@ -142,6 +276,7 @@ class KOListView : public KOEventView void updateConfig(); void addCat(); void setCat(); + void setAlarm(); void setCategories( bool removeOld ); void changeEventDisplay(Event *, int); -- cgit v0.9.0.2