summaryrefslogtreecommitdiffabout
path: root/microkde/kdeui/kbuttonbox.cpp
Side-by-side diff
Diffstat (limited to 'microkde/kdeui/kbuttonbox.cpp') (more/less context) (show whitespace changes)
-rw-r--r--microkde/kdeui/kbuttonbox.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/microkde/kdeui/kbuttonbox.cpp b/microkde/kdeui/kbuttonbox.cpp
index 83d622a..3ea6703 100644
--- a/microkde/kdeui/kbuttonbox.cpp
+++ b/microkde/kdeui/kbuttonbox.cpp
@@ -28,73 +28,75 @@
* 03/08/2000 Mario Weilguni <mweilguni@kde.org>
* Removed all those long outdated Motif stuff
* Improved and clarified some if conditions (easier to understand)
*
* 11/13/98 Reginald Stadlbauer <reggie@kde.org>
* Now in Qt 1.4x motif default buttons have no extra width/height anymore.
* So the KButtonBox doesn't add this width/height to default buttons anymore
* which makes the buttons look better.
*
* 01/17/98 Mario Weilguni <mweilguni@sime.com>
* Fixed a bug in sizeHint()
* Improved the handling of Motif default buttons
*
* 01/09/98 Mario Weilguni <mweilguni@sime.com>
* The last button was to far right away from the right/bottom border.
* Fixed this. Removed old code. Buttons get now a minimum width.
* Programmer may now override minimum width and height of a button.
*
*/
//US #include "kbuttonbox.moc"
#include <kbuttonbox.h>
#include <qpushbutton.h>
-#include <qptrlist.h>
+#include <q3ptrlist.h>
+//Added by qt3to4:
+#include <QResizeEvent>
#include <assert.h>
#define minButtonWidth 50
class KButtonBox::Item {
public:
QPushButton *button;
bool noexpand;
unsigned short stretch;
unsigned short actual_size;
};
-template class QPtrList<KButtonBox::Item>;
+template class Q3PtrList<KButtonBox::Item>;
class KButtonBoxPrivate {
public:
unsigned short border;
unsigned short autoborder;
unsigned short orientation;
bool activated;
- QPtrList<KButtonBox::Item> buttons;
+ Q3PtrList<KButtonBox::Item> buttons;
};
-KButtonBox::KButtonBox(QWidget *parent, Orientation _orientation,
+KButtonBox::KButtonBox(QWidget *parent, Qt::Orientation _orientation,
int border, int autoborder)
: QWidget(parent)
{
data = new KButtonBoxPrivate;
assert(data != 0);
data->orientation = _orientation;
data->border = border;
data->autoborder = autoborder < 0 ? border : autoborder;
data->buttons.setAutoDelete(TRUE);
}
KButtonBox::~KButtonBox() {
delete data;
}
QPushButton *KButtonBox::addButton(const QString& text, bool noexpand) {
Item *item = new Item;
item->button = new QPushButton(text, this);
item->noexpand = noexpand;
data->buttons.append(item);
item->button->adjustSize();
@@ -128,49 +130,49 @@ void KButtonBox::addStretch(int scale) {
}
}
void KButtonBox::layout() {
// resize all buttons
QSize bs = bestButtonSize();
for(unsigned int i = 0; i < data->buttons.count(); i++) {
Item *item = data->buttons.at(i);
QPushButton *b = item->button;
if(b != 0) {
if(item->noexpand)
b->setFixedSize(buttonSizeHint(b));
else
b->setFixedSize(bs);
}
}
setMinimumSize(sizeHint());
}
void KButtonBox::placeButtons() {
unsigned int i;
- if(data->orientation == Horizontal) {
+ if(data->orientation == Qt::Horizontal) {
// calculate free size and stretches
int fs = width() - 2 * data->border;
int stretch = 0;
for(i = 0; i < data->buttons.count(); i++) {
Item *item = data->buttons.at(i);
if(item->button != 0) {
fs -= item->button->width();
// Last button?
if(i != data->buttons.count() - 1)
fs -= data->autoborder;
} else
stretch +=item->stretch;
}
// distribute buttons
int x_pos = data->border;
for(i = 0; i < data->buttons.count(); i++) {
Item *item = data->buttons.at(i);
if(item->button != 0) {
QPushButton *b = item->button;
b->move(x_pos, (height() - b->height()) / 2);
x_pos += b->width() + data->autoborder;
@@ -230,68 +232,68 @@ QSize KButtonBox::bestButtonSize() const {
return s;
}
QSize KButtonBox::sizeHint() const {
unsigned int i, dw;
if(data->buttons.count() == 0)
return QSize(0, 0);
else {
dw = 2 * data->border;
QSize bs = bestButtonSize();
for(i = 0; i < data->buttons.count(); i++) {
KButtonBox *that = (KButtonBox*)this;
Item *item = that->data->buttons.at(i);
QPushButton *b = item->button;
if(b != 0) {
QSize s;
if(item->noexpand)
s = that->buttonSizeHint(b);
else
s = bs;
- if(data->orientation == Horizontal)
+ if(data->orientation == Qt::Horizontal)
dw += s.width();
else
dw += s.height();
if( i != data->buttons.count() - 1 )
dw += data->autoborder;
}
}
- if(data->orientation == Horizontal)
+ if(data->orientation == Qt::Horizontal)
return QSize(dw, bs.height() + 2 * data->border);
else
return QSize(bs.width() + 2 * data->border, dw);
}
}
QSizePolicy KButtonBox::sizePolicy() const
{
- return data->orientation == Horizontal?
+ return data->orientation == Qt::Horizontal?
QSizePolicy( QSizePolicy::Minimum, QSizePolicy::Fixed ) :
QSizePolicy( QSizePolicy::Fixed, QSizePolicy::Minimum );
}
/*
* Returns the best size for a button. If a button is less than
* minButtonWidth pixels wide, return minButtonWidth pixels
* as minimum width
*/
QSize KButtonBox::buttonSizeHint(QPushButton *b) const {
QSize s = b->sizeHint();
QSize ms = b->minimumSize();
if(s.width() < minButtonWidth)
s.setWidth(minButtonWidth);
// allows the programmer to override the settings
if(ms.width() > s.width())
s.setWidth(ms.width());
if(ms.height() > s.height())
s.setHeight(ms.height());
return s;
}