Source Code (Use browser search to find items of interest.)

Class Index

knotes'AlarmDialog (./kdeutils/knotes/alarm.h:38)

class AlarmDialog : public KDialogBase
{
  Q_OBJECT

  public:
    AlarmDialog( KPostit *parent, const char *name=0, bool modal=true );
    ~AlarmDialog( void );

    QDateTime getDateTime( void );

  protected slots:
    virtual void slotUser1( void );

  private:
    bool checkDateTime( void );

  private:
    KPostit    *mPostit;
    BWDateTime *mSpins;
    QDateTime  mDateTime;
    bool       mAlarmActive;
};

knotes'AlarmDialog::AlarmDialog() (./kdeutils/knotes/alarm.cpp:49)

AlarmDialog::AlarmDialog( KPostit *parent, const char *name, bool modal )
  : KDialogBase( parent, name, modal, i18n("Alarm"), Cancel|User1, User1 )
{
  mPostit      = parent;
  mAlarmActive = false;
  QDateTime dt = QDateTime::currentDateTime();

  for( mPostit->AlarmList.first(); mPostit->AlarmList.current() != 0;
       mPostit->AlarmList.next() )
  {
    if( mPostit->AlarmList.current()->name == mPostit->name )
    {
      mAlarmActive = true;
      dt = mPostit->AlarmList.current()->dt;
      break;
    }
  }

  QWidget *page = new QWidget( this ); 
  setMainWidget(page);
  QVBoxLayout *topLayout = new QVBoxLayout( page, 0, spacingHint() );

  QString text = i18n("Alarm Timer for: %1").arg(mPostit->name);
  QGroupBox *group = new QGroupBox( text, page, "group" );
  topLayout->addWidget( group );

  QVBoxLayout *vlay = new QVBoxLayout( group, spacingHint() );
  vlay->addSpacing( fontMetrics().lineSpacing() );

  mSpins = new BWDateTime( dt, group, "spins" );
  vlay->addWidget( mSpins );

  setButtonText( User1, mAlarmActive == true ? i18n("&Unset") : i18n("&Set") );
}



knotes'AlarmDialog::~AlarmDialog() (./kdeutils/knotes/alarm.cpp:85)

AlarmDialog::~AlarmDialog( void )
{
}



knotes'AlarmDialog::slotUser1() (./kdeutils/knotes/alarm.cpp:90)

void AlarmDialog::slotUser1( void )
{
  if( mAlarmActive == true )
  {
    //
    // Remove an alarm from the list and update the note window caption
    //

    mytimer->stop();
    for( mPostit->AlarmList.first(); mPostit->AlarmList.current() != 0;
	 mPostit->AlarmList.next() )
    {
      if( mPostit->AlarmList.current()->name == mPostit->name )
      {
	mPostit->AlarmList.remove(mPostit->AlarmList.current());
	mPostit->setCaption(mPostit->name);
	mPostit->label->setText(mPostit->name.data());
	break;
      }
    }
    mytimer->start();
    reject();
  }
  else if( checkDateTime() == true )
  {
    accept();
  }
}



knotes'AlarmDialog::getDateTime() (./kdeutils/knotes/alarm.cpp:120)

QDateTime AlarmDialog::getDateTime( void )
{
  return mDateTime;
}



knotes'AlarmDialog::checkDateTime() (./kdeutils/knotes/alarm.cpp:126)

bool AlarmDialog::checkDateTime( void )
{
  if( mSpins->checkDateTime() == false )
  {
    return false;
  }

  QDateTime dt = mSpins->getDateTime();
  if( dt < QDateTime::currentDateTime() )
  {
    QString msg = i18n("I am afraid you already missed your appointment.");
    KMessageBox::sorry( this, msg );
    return false;
  }

  mDateTime = dt;
  return true;
}