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

Class Index

caitoo'ConfigDlg (./kdenetwork/caitoo/configdlg.h:67)

class ConfigDlg : public KDialogBase {

  Q_OBJECT

public:
  ConfigDlg( Transfer *_item );
  ~ConfigDlg() {}

protected:

  // info stuff
  QLabel *lb_from;
  QLabel *lb_source;
  QLabel *lb_to;
  QLabel *lb_dest;

  // mode stuff
  QButtonGroup *groupMode;

  QRadioButton *rbQueued;
  QRadioButton *rbScheduled;
  QRadioButton *rbDelayed;

  QDateTime qdt;
  BWDateTime *spins;

  // search stuff
  SearchList *listSearch;
  
  Transfer *item;
  void setTimer();

public slots:
  void changeMode();

protected slots:

  virtual void done ( int r );
  void slotApply();
};

caitoo'ConfigDlg::ConfigDlg() (./kdenetwork/caitoo/configdlg.cpp:95)

ConfigDlg::ConfigDlg( Transfer *_item ) :
  KDialogBase( 0, "", false, i18n("Transfer Configuration") ) {

  item = _item;

  QWidget *mainwidget = new QWidget( this );

  QBoxLayout *topLayout = new QVBoxLayout( mainwidget, 10, 5 );
	
  topLayout->addSpacing( 10 );

  QGridLayout *grid = new QGridLayout( 3, 3, 10 );
  topLayout->addLayout( grid );

  grid->setRowStretch(0,1);
  grid->setRowStretch(1,1);
  grid->setRowStretch(2,2);
    
  grid->setColStretch(0,1);
  grid->setColStretch(1,10);
  grid->setColStretch(2,10);

  lb_from = new QLabel(i18n("From :"), mainwidget);
  grid->addWidget( lb_from, 0, 0 );

  lb_source = new QLabel( item->getSrc().path(), mainwidget ); // TODO : path() or filename()
  lb_source->setAlignment( AlignVCenter );
  lb_source->setBackgroundColor( QColor( white ));
  lb_source->setFrameStyle( QFrame::Box | QFrame::Sunken );
  grid->addMultiCellWidget( lb_source, 0, 0, 1, 2 );

  lb_to = new QLabel(i18n("To :"), mainwidget);
  grid->addWidget( lb_to, 1, 0 );

  lb_dest = new QLabel( item->getDest().path(), mainwidget ); // TODO : path() or filename()
  lb_dest->setAlignment( AlignVCenter );
  lb_dest->setBackgroundColor( QColor( white ));
  lb_dest->setFrameStyle( QFrame::Box | QFrame::Sunken );
  grid->addMultiCellWidget( lb_dest, 1, 1, 1, 2 );

  topLayout->addSpacing( 10 );

  // Mode groupbox & buttons
  groupMode = new QButtonGroup( i18n("Mode"), mainwidget );
  topLayout->addWidget( groupMode, 10 );
  connect( groupMode, SIGNAL(clicked(int)), SLOT(changeMode()) );

  QGridLayout *gridmode = new QGridLayout( groupMode, 3, 2, 15 );

  gridmode->setRowStretch(0,1);
  gridmode->setRowStretch(1,1);
  gridmode->setRowStretch(2,1);
    
  gridmode->setColStretch(0,2);
  gridmode->setColStretch(1,5);

  rbQueued = new QRadioButton( i18n("Queued"), groupMode );
  groupMode->insert( rbQueued, Transfer::MD_QUEUED );
  gridmode->addWidget( rbQueued, 0, 0 );

  rbScheduled = new QRadioButton( i18n("Scheduled"), groupMode );
  groupMode->insert( rbScheduled, Transfer::MD_SCHEDULED );
  gridmode->addWidget( rbScheduled, 1, 0 );

  rbDelayed = new QRadioButton( i18n("Delayed"), groupMode );
  groupMode->insert( rbDelayed, Transfer::MD_DELAYED );
  gridmode->addWidget( rbDelayed, 2, 0 );

  groupMode->setButton( item->getMode() );

  // if the time was already set somewhere in the future, keep it
  // otherwise set it to the current time
  QDateTime dt;
  if ( item->getStartTime() < QDateTime::currentDateTime() &&
       item->getMode() != Transfer::MD_SCHEDULED ) {
    dt = QDateTime::currentDateTime();
  } else {
    dt = item->getStartTime();
  }

  spins = new BWDateTime( dt, groupMode, "spins" );
  spins->setMinimumHeight( 95 );

  gridmode->addMultiCellWidget( spins, 0, 2, 1, 1 );

  changeMode();

  topLayout->addSpacing( 5 );

  // search stuff
  listSearch = new SearchList( mainwidget );

  connect( item, SIGNAL( searchStarted() ),
	   listSearch, SLOT( slotSearchStarted() ) );
  connect( item, SIGNAL( found( QString ) ),
	   listSearch, SLOT( slotFound( QString ) ) );
  connect( item, SIGNAL( pingSpeed( QString, float ) ),
	   listSearch, SLOT( slotPingSpeed( QString, float ) ) );

  topLayout->addWidget( listSearch, 10 );

  enableButtonSeparator( true );

  connect( this, SIGNAL( apply() ), SLOT( slotApply() ) );

  mainwidget->adjustSize();
  setMainWidget( mainwidget );

  show();
}



caitoo'ConfigDlg::slotApply() (./kdenetwork/caitoo/configdlg.cpp:207)

void ConfigDlg::slotApply() {
  item->setStartTime( spins->getDateTime() );
  
  if ( rbQueued->isChecked() ) {
    item->queue();
  } else if ( rbScheduled->isChecked() ) {
    item->schedule();
  } else {
    item->delay();
  }
}



caitoo'ConfigDlg::done() (./kdenetwork/caitoo/configdlg.cpp:220)

void ConfigDlg::done( int r ) {
  if ( r != Rejected ) {
    apply();
  }

  hide();
  delete this;
}



caitoo'ConfigDlg::changeMode() (./kdenetwork/caitoo/configdlg.cpp:230)

void ConfigDlg::changeMode() {
  if ( rbScheduled->isChecked() ) {
    spins->setEnabled( true );
  } else {
    spins->setEnabled( false );
  }
}