TimeSpinBox::TimeSpinBox( QWidget *parent, bool _daysonly ) : KIntSpinBox ( parent ) { setDaysOnly( _daysonly ); setMinimum( -41 ); setMaximum( 41 ); setSingleStep( 1 ); setButtonSymbols( QSpinBox::PlusMinus ); lineEdit()->setReadOnly( true ); setValue( 4 ); //1 second (real time) //Set width: QFontMetrics fm( font() ); int extra = width() - lineEdit()->width(); uint wmax = 0; for ( int i=0; i < maximum(); ++i ) { uint w = fm.width( '-' + TimeString[i] ); if ( w > wmax ) wmax = w; } setFixedWidth( wmax + extra ); connect( this, SIGNAL( valueChanged( int ) ), this, SLOT( reportChange() ) ); // updateDisplay(); }
TimeUnitBox::TimeUnitBox(QWidget *parent, bool daysonly ) : QWidget( parent ) { QVBoxLayout *vlay = new QVBoxLayout(this); vlay->setMargin(0); vlay->setSpacing(0); UpButton = new QPushButton( QPixmap(up_arrow), "", this ); UpButton->setMaximumWidth( 26 ); UpButton->setMaximumHeight( 13 ); DownButton = new QPushButton( QPixmap(down_arrow), "", this ); DownButton->setMaximumWidth( 26 ); DownButton->setMaximumHeight( 13 ); vlay->addWidget( UpButton ); vlay->addWidget( DownButton ); // setLayout( vlay ); setDaysOnly( daysonly ); connect( UpButton, SIGNAL( clicked() ), this, SLOT( increase() ) ); connect( DownButton, SIGNAL( clicked() ), this, SLOT( decrease() ) ); }