summaryrefslogtreecommitdiffabout
path: root/microkde/kdeui/knuminput.cpp
Unidiff
Diffstat (limited to 'microkde/kdeui/knuminput.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--microkde/kdeui/knuminput.cpp61
1 files changed, 32 insertions, 29 deletions
diff --git a/microkde/kdeui/knuminput.cpp b/microkde/kdeui/knuminput.cpp
index 335d6f4..da01a20 100644
--- a/microkde/kdeui/knuminput.cpp
+++ b/microkde/kdeui/knuminput.cpp
@@ -39,12 +39,15 @@
39#include <qlabel.h> 39#include <qlabel.h>
40#include <qlineedit.h> 40#include <qlineedit.h>
41#include <qsize.h> 41#include <qsize.h>
42#include <qslider.h> 42#include <qslider.h>
43#include <qspinbox.h> 43#include <qspinbox.h>
44#include <qstyle.h> 44#include <qstyle.h>
45//Added by qt3to4:
46#include <QResizeEvent>
47#include <QEvent>
45 48
46#include <kglobal.h> 49#include <kglobal.h>
47#include <klocale.h> 50#include <klocale.h>
48#include <kdebug.h> 51#include <kdebug.h>
49 52
50#include "knumvalidator.h" 53#include "knumvalidator.h"
@@ -103,17 +106,17 @@ void KNumInput::setLabel(const QString & label, int a)
103 m_label = 0; 106 m_label = 0;
104 m_alignment = 0; 107 m_alignment = 0;
105 } 108 }
106 else { 109 else {
107 if (m_label) m_label->setText(label); 110 if (m_label) m_label->setText(label);
108 else m_label = new QLabel(label, this, "KNumInput::QLabel"); 111 else m_label = new QLabel(label, this, "KNumInput::QLabel");
109 m_label->setAlignment((a & (~(AlignTop|AlignBottom|AlignVCenter))) 112 m_label->setAlignment((a & (~(Qt::AlignTop|Qt::AlignBottom|Qt::AlignVCenter)))
110 | AlignVCenter); 113 | Qt::AlignVCenter);
111 // if no vertical alignment set, use Top alignment 114 // if no vertical alignment set, use Top alignment
112 if(!(a & (AlignTop|AlignBottom|AlignVCenter))) 115 if(!(a & (Qt::AlignTop|Qt::AlignBottom|Qt::AlignVCenter)))
113 a |= AlignTop; 116 a |= Qt::AlignTop;
114 m_alignment = a; 117 m_alignment = a;
115 } 118 }
116 119
117 layout(true); 120 layout(true);
118} 121}
119 122
@@ -128,13 +131,13 @@ void KNumInput::layout(bool deep)
128 int w1 = m_colw1; 131 int w1 = m_colw1;
129 int w2 = m_colw2; 132 int w2 = m_colw2;
130 133
131 // label sizeHint 134 // label sizeHint
132 m_sizeLabel = (m_label ? m_label->sizeHint() : QSize(0,0)); 135 m_sizeLabel = (m_label ? m_label->sizeHint() : QSize(0,0));
133 136
134 if(m_label && (m_alignment & AlignVCenter)) 137 if(m_label && (m_alignment & Qt::AlignVCenter))
135 m_colw1 = m_sizeLabel.width() + 4; 138 m_colw1 = m_sizeLabel.width() + 4;
136 else 139 else
137 m_colw1 = 0; 140 m_colw1 = 0;
138 141
139 // slider sizeHint 142 // slider sizeHint
140 m_sizeSlider = (m_slider ? m_slider->sizeHint() : QSize(0, 0)); 143 m_sizeSlider = (m_slider ? m_slider->sizeHint() : QSize(0, 0));
@@ -199,26 +202,26 @@ void KNumInput::setSteps(int minor, int major)
199 202
200// ---------------------------------------------------------------------------- 203// ----------------------------------------------------------------------------
201 204
202KIntSpinBox::KIntSpinBox(QWidget *parent, const char *name) 205KIntSpinBox::KIntSpinBox(QWidget *parent, const char *name)
203 : QSpinBox(0, 99, 1, parent, name) 206 : QSpinBox(0, 99, 1, parent, name)
204{ 207{
205 editor()->setAlignment(AlignRight); 208 setAlignment(Qt::AlignRight);
206 val_base = 10; 209 val_base = 10;
207 setValue(0); 210 setValue(0);
208} 211}
209 212
210KIntSpinBox::~KIntSpinBox() 213KIntSpinBox::~KIntSpinBox()
211{ 214{
212} 215}
213 216
214KIntSpinBox::KIntSpinBox(int lower, int upper, int step, int value, int base, 217KIntSpinBox::KIntSpinBox(int lower, int upper, int step, int value, int base,
215 QWidget* parent, const char* name) 218 QWidget* parent, const char* name)
216 : QSpinBox(lower, upper, step, parent, name) 219 : QSpinBox(lower, upper, step, parent, name)
217{ 220{
218 editor()->setAlignment(AlignRight); 221 setAlignment(Qt::AlignRight);
219 val_base = base; 222 val_base = base;
220 setValue(value); 223 setValue(value);
221} 224}
222 225
223void KIntSpinBox::setBase(int base) 226void KIntSpinBox::setBase(int base)
224{ 227{
@@ -240,15 +243,15 @@ int KIntSpinBox::mapTextToValue(bool* ok)
240{ 243{
241 return cleanText().toInt(ok, val_base); 244 return cleanText().toInt(ok, val_base);
242} 245}
243 246
244void KIntSpinBox::setEditFocus(bool mark) 247void KIntSpinBox::setEditFocus(bool mark)
245{ 248{
246 editor()->setFocus(); 249 setFocus();
247 if(mark) 250 if(mark)
248 editor()->selectAll(); 251 selectAll();
249} 252}
250 253
251 254
252// ---------------------------------------------------------------------------- 255// ----------------------------------------------------------------------------
253 256
254class KIntNumInput::KIntNumInputPrivate { 257class KIntNumInput::KIntNumInputPrivate {
@@ -322,20 +325,20 @@ void KIntNumInput::setRange(int lower, int upper, int step, bool slider)
322 upper = kMax(upper, lower); 325 upper = kMax(upper, lower);
323 lower = kMin(upper, lower); 326 lower = kMin(upper, lower);
324 m_spin->setMinValue(lower); 327 m_spin->setMinValue(lower);
325 m_spin->setMaxValue(upper); 328 m_spin->setMaxValue(upper);
326 m_spin->setLineStep(step); 329 m_spin->setLineStep(step);
327 330
328 step = m_spin->lineStep(); // maybe QRangeControl didn't like out lineStep? 331 step = m_spin->singleStep(); // maybe QRangeControl didn't like out lineStep?
329 332
330 if(slider) { 333 if(slider) {
331 if (m_slider) 334 if (m_slider)
332 m_slider->setRange(lower, upper); 335 m_slider->setRange(lower, upper);
333 else { 336 else {
334 m_slider = new QSlider(lower, upper, step, m_spin->value(), 337 m_slider = new QSlider(lower, upper, step, m_spin->value(),
335 QSlider::Horizontal, this); 338 Qt::Horizontal, this);
336 m_slider->setTickmarks(QSlider::Below); 339 m_slider->setTickmarks(QSlider::Below);
337 connect(m_slider, SIGNAL(valueChanged(int)), 340 connect(m_slider, SIGNAL(valueChanged(int)),
338 m_spin, SLOT(setValue(int))); 341 m_spin, SLOT(setValue(int)));
339 } 342 }
340 343
341 // calculate (upper-lower)/10 without overflowing int's: 344 // calculate (upper-lower)/10 without overflowing int's:
@@ -355,23 +358,23 @@ void KIntNumInput::setRange(int lower, int upper, int step, bool slider)
355 358
356 layout(true); 359 layout(true);
357} 360}
358 361
359void KIntNumInput::setMinValue(int min) 362void KIntNumInput::setMinValue(int min)
360{ 363{
361 setRange(min, m_spin->maxValue(), m_spin->lineStep(), m_slider); 364 setRange(min, m_spin->maxValue(), m_spin->singleStep(), m_slider);
362} 365}
363 366
364int KIntNumInput::minValue() const 367int KIntNumInput::minValue() const
365{ 368{
366 return m_spin->minValue(); 369 return m_spin->minValue();
367} 370}
368 371
369void KIntNumInput::setMaxValue(int max) 372void KIntNumInput::setMaxValue(int max)
370{ 373{
371 setRange(m_spin->minValue(), max, m_spin->lineStep(), m_slider); 374 setRange(m_spin->minValue(), max, m_spin->singleStep(), m_slider);
372} 375}
373 376
374int KIntNumInput::maxValue() const 377int KIntNumInput::maxValue() const
375{ 378{
376 return m_spin->maxValue(); 379 return m_spin->maxValue();
377} 380}
@@ -412,22 +415,22 @@ QSize KIntNumInput::minimumSizeHint() const
412 int w; 415 int w;
413 int h; 416 int h;
414 417
415 h = 2 + QMAX(m_sizeSpin.height(), m_sizeSlider.height()); 418 h = 2 + QMAX(m_sizeSpin.height(), m_sizeSlider.height());
416 419
417 // if in extra row, then count it here 420 // if in extra row, then count it here
418 if(m_label && (m_alignment & (AlignBottom|AlignTop))) 421 if(m_label && (m_alignment & (Qt::AlignBottom|Qt::AlignTop)))
419 h += 4 + m_sizeLabel.height(); 422 h += 4 + m_sizeLabel.height();
420 else 423 else
421 // label is in the same row as the other widgets 424 // label is in the same row as the other widgets
422 h = QMAX(h, m_sizeLabel.height() + 2); 425 h = QMAX(h, m_sizeLabel.height() + 2);
423 426
424 w = m_slider ? m_slider->sizeHint().width() + 8 : 0; 427 w = m_slider ? m_slider->sizeHint().width() + 8 : 0;
425 w += m_colw1 + m_colw2; 428 w += m_colw1 + m_colw2;
426 429
427 if(m_alignment & (AlignTop|AlignBottom)) 430 if(m_alignment & (Qt::AlignTop|Qt::AlignBottom))
428 w = QMAX(w, m_sizeLabel.width() + 4); 431 w = QMAX(w, m_sizeLabel.width() + 4);
429 432
430 return QSize(w, h); 433 return QSize(w, h);
431} 434}
432 435
433void KIntNumInput::doLayout() 436void KIntNumInput::doLayout()
@@ -441,29 +444,29 @@ void KIntNumInput::doLayout()
441 444
442void KIntNumInput::resizeEvent(QResizeEvent* e) 445void KIntNumInput::resizeEvent(QResizeEvent* e)
443{ 446{
444 int w = m_colw1; 447 int w = m_colw1;
445 int h = 0; 448 int h = 0;
446 449
447 if(m_label && (m_alignment & AlignTop)) { 450 if(m_label && (m_alignment & Qt::AlignTop)) {
448 m_label->setGeometry(0, 0, e->size().width(), m_sizeLabel.height()); 451 m_label->setGeometry(0, 0, e->size().width(), m_sizeLabel.height());
449 h += m_sizeLabel.height() + 4; 452 h += m_sizeLabel.height() + 4;
450 } 453 }
451 454
452 if(m_label && (m_alignment & AlignVCenter)) 455 if(m_label && (m_alignment & Qt::AlignVCenter))
453 m_label->setGeometry(0, 0, w, m_sizeSpin.height()); 456 m_label->setGeometry(0, 0, w, m_sizeSpin.height());
454 457
455 m_spin->setGeometry(w, h, m_slider ? m_colw2 : QMAX(m_colw2, e->size().width() - w), m_sizeSpin.height()); 458 m_spin->setGeometry(w, h, m_slider ? m_colw2 : QMAX(m_colw2, e->size().width() - w), m_sizeSpin.height());
456 w += m_colw2 + 8; 459 w += m_colw2 + 8;
457 460
458 if(m_slider) 461 if(m_slider)
459 m_slider->setGeometry(w, h, e->size().width() - w, m_sizeSpin.height()); 462 m_slider->setGeometry(w, h, e->size().width() - w, m_sizeSpin.height());
460 463
461 h += m_sizeSpin.height() + 2; 464 h += m_sizeSpin.height() + 2;
462 465
463 if(m_label && (m_alignment & AlignBottom)) 466 if(m_label && (m_alignment & Qt::AlignBottom))
464 m_label->setGeometry(0, h, m_sizeLabel.width(), m_sizeLabel.height()); 467 m_label->setGeometry(0, h, m_sizeLabel.width(), m_sizeLabel.height());
465} 468}
466 469
467KIntNumInput::~KIntNumInput() 470KIntNumInput::~KIntNumInput()
468{ 471{
469 delete d; 472 delete d;
@@ -643,50 +646,50 @@ QSize KDoubleNumInput::minimumSizeHint() const
643 int w; 646 int w;
644 int h; 647 int h;
645 648
646 h = 2 + QMAX(m_sizeEdit.height(), m_sizeSlider.height()); 649 h = 2 + QMAX(m_sizeEdit.height(), m_sizeSlider.height());
647 650
648 // if in extra row, then count it here 651 // if in extra row, then count it here
649 if(m_label && (m_alignment & (AlignBottom|AlignTop))) 652 if(m_label && (m_alignment & (Qt::AlignBottom|Qt::AlignTop)))
650 h += 4 + m_sizeLabel.height(); 653 h += 4 + m_sizeLabel.height();
651 else 654 else
652 // label is in the same row as the other widgets 655 // label is in the same row as the other widgets
653 h = QMAX(h, m_sizeLabel.height() + 2); 656 h = QMAX(h, m_sizeLabel.height() + 2);
654 657
655 w = m_slider ? m_slider->sizeHint().width() + 8 : 0; 658 w = m_slider ? m_slider->sizeHint().width() + 8 : 0;
656 w += m_colw1 + m_colw2; 659 w += m_colw1 + m_colw2;
657 660
658 if(m_alignment & (AlignTop|AlignBottom)) 661 if(m_alignment & (Qt::AlignTop|Qt::AlignBottom))
659 w = QMAX(w, m_sizeLabel.width() + 4); 662 w = QMAX(w, m_sizeLabel.width() + 4);
660 663
661 return QSize(w, h); 664 return QSize(w, h);
662} 665}
663 666
664void KDoubleNumInput::resizeEvent(QResizeEvent* e) 667void KDoubleNumInput::resizeEvent(QResizeEvent* e)
665{ 668{
666 int w = m_colw1; 669 int w = m_colw1;
667 int h = 0; 670 int h = 0;
668 671
669 if(m_label && (m_alignment & AlignTop)) { 672 if(m_label && (m_alignment & Qt::AlignTop)) {
670 m_label->setGeometry(0, 0, e->size().width(), m_sizeLabel.height()); 673 m_label->setGeometry(0, 0, e->size().width(), m_sizeLabel.height());
671 h += m_sizeLabel.height() + 4; 674 h += m_sizeLabel.height() + 4;
672 } 675 }
673 676
674 if(m_label && (m_alignment & AlignVCenter)) 677 if(m_label && (m_alignment & Qt::AlignVCenter))
675 m_label->setGeometry(0, 0, w, m_sizeEdit.height()); 678 m_label->setGeometry(0, 0, w, m_sizeEdit.height());
676 679
677 d->spin->setGeometry(w, h, m_slider ? m_colw2 680 d->spin->setGeometry(w, h, m_slider ? m_colw2
678 : e->size().width() - w, m_sizeEdit.height()); 681 : e->size().width() - w, m_sizeEdit.height());
679 w += m_colw2 + 8; 682 w += m_colw2 + 8;
680 683
681 if(m_slider) 684 if(m_slider)
682 m_slider->setGeometry(w, h, e->size().width() - w, m_sizeEdit.height()); 685 m_slider->setGeometry(w, h, e->size().width() - w, m_sizeEdit.height());
683 686
684 h += m_sizeEdit.height() + 2; 687 h += m_sizeEdit.height() + 2;
685 688
686 if(m_label && (m_alignment & AlignBottom)) 689 if(m_label && (m_alignment & Qt::AlignBottom))
687 m_label->setGeometry(0, h, m_sizeLabel.width(), m_sizeLabel.height()); 690 m_label->setGeometry(0, h, m_sizeLabel.width(), m_sizeLabel.height());
688} 691}
689 692
690void KDoubleNumInput::doLayout() 693void KDoubleNumInput::doLayout()
691{ 694{
692 m_sizeEdit = d->spin->sizeHint(); 695 m_sizeEdit = d->spin->sizeHint();
@@ -727,20 +730,20 @@ void KDoubleNumInput::setRange(double lower, double upper, double step,
727 if(slider) { 730 if(slider) {
728 // upcast to base type to get the min/maxValue in int form: 731 // upcast to base type to get the min/maxValue in int form:
729 QSpinBox * spin = d->spin; 732 QSpinBox * spin = d->spin;
730 int slmax = spin->maxValue(); 733 int slmax = spin->maxValue();
731 int slmin = spin->minValue(); 734 int slmin = spin->minValue();
732 int slvalue = spin->value(); 735 int slvalue = spin->value();
733 int slstep = spin->lineStep(); 736 int slstep = spin->singleStep();
734 if (m_slider) { 737 if (m_slider) {
735 m_slider->setRange(slmin, slmax); 738 m_slider->setRange(slmin, slmax);
736 m_slider->setLineStep(slstep); 739 m_slider->setLineStep(slstep);
737 m_slider->setValue(slvalue); 740 m_slider->setValue(slvalue);
738 } else { 741 } else {
739 m_slider = new QSlider(slmin, slmax, slstep, slvalue, 742 m_slider = new QSlider(slmin, slmax, slstep, slvalue,
740 QSlider::Horizontal, this); 743 Qt::Horizontal, this);
741 m_slider->setTickmarks(QSlider::Below); 744 m_slider->setTickmarks(QSlider::Below);
742 // feedback line: when one moves, the other moves, too: 745 // feedback line: when one moves, the other moves, too:
743 connect(m_slider, SIGNAL(valueChanged(int)), 746 connect(m_slider, SIGNAL(valueChanged(int)),
744 SLOT(sliderMoved(int)) ); 747 SLOT(sliderMoved(int)) );
745 } 748 }
746 connect(spin, SIGNAL(valueChanged(int)), 749 connect(spin, SIGNAL(valueChanged(int)),
@@ -909,23 +912,23 @@ public:
909 KDoubleValidator * mValidator; 912 KDoubleValidator * mValidator;
910}; 913};
911 914
912KDoubleSpinBox::KDoubleSpinBox( QWidget * parent, const char * name ) 915KDoubleSpinBox::KDoubleSpinBox( QWidget * parent, const char * name )
913 : QSpinBox( parent, name ) 916 : QSpinBox( parent, name )
914{ 917{
915 editor()->setAlignment( Qt::AlignRight ); 918 setAlignment( Qt::AlignRight );
916 d = new Private(); 919 d = new Private();
917 updateValidator(); 920 updateValidator();
918} 921}
919 922
920KDoubleSpinBox::KDoubleSpinBox( double lower, double upper, double step, 923KDoubleSpinBox::KDoubleSpinBox( double lower, double upper, double step,
921 double value, int precision, 924 double value, int precision,
922 QWidget * parent, const char * name ) 925 QWidget * parent, const char * name )
923 : QSpinBox( parent, name ) 926 : QSpinBox( parent, name )
924{ 927{
925 editor()->setAlignment( Qt::AlignRight ); 928 setAlignment( Qt::AlignRight );
926 d = new Private(); 929 d = new Private();
927 setRange( lower, upper, step, precision ); 930 setRange( lower, upper, step, precision );
928 setValue( value ); 931 setValue( value );
929 connect( this, SIGNAL(valueChanged(int)), SLOT(slotValueChanged(int)) ); 932 connect( this, SIGNAL(valueChanged(int)), SLOT(slotValueChanged(int)) );
930} 933}
931 934
@@ -1024,13 +1027,13 @@ void KDoubleSpinBox::setMaxValue( double value ) {
1024 if ( !ok ) return; 1027 if ( !ok ) return;
1025 base::setMaxValue( max ); 1028 base::setMaxValue( max );
1026 updateValidator(); 1029 updateValidator();
1027} 1030}
1028 1031
1029double KDoubleSpinBox::lineStep() const { 1032double KDoubleSpinBox::lineStep() const {
1030 return d->mapToDouble( base::lineStep() ); 1033 return d->mapToDouble( base::singleStep() );
1031} 1034}
1032 1035
1033void KDoubleSpinBox::setLineStep( double step ) { 1036void KDoubleSpinBox::setLineStep( double step ) {
1034 bool ok = false; 1037 bool ok = false;
1035 if ( step > maxValue() - minValue() ) 1038 if ( step > maxValue() - minValue() )
1036 base::setLineStep( 1 ); 1039 base::setLineStep( 1 );
@@ -1069,13 +1072,13 @@ void KDoubleSpinBox::slotValueChanged( int value ) {
1069} 1072}
1070 1073
1071void KDoubleSpinBox::updateValidator() { 1074void KDoubleSpinBox::updateValidator() {
1072 if ( !d->mValidator ) { 1075 if ( !d->mValidator ) {
1073 d->mValidator = new KDoubleValidator( minValue(), maxValue(), precision(), 1076 d->mValidator = new KDoubleValidator( minValue(), maxValue(), precision(),
1074 this, "d->mValidator" ); 1077 this, "d->mValidator" );
1075 base::setValidator( d->mValidator ); 1078 lineEdit()->setValidator( d->mValidator );
1076 } else 1079 } else
1077 d->mValidator->setRange( minValue(), maxValue(), precision() ); 1080 d->mValidator->setRange( minValue(), maxValue(), precision() );
1078} 1081}
1079 1082
1080void KNumInput::virtual_hook( int, void* ) 1083void KNumInput::virtual_hook( int, void* )
1081{ /*BASE::virtual_hook( id, data );*/ } 1084{ /*BASE::virtual_hook( id, data );*/ }