mirror of
https://github.com/tumic0/GPXSee.git
synced 2024-10-07 07:13:21 +02:00
39 lines
790 B
C
39 lines
790 B
C
|
#ifndef LIMITEDCOMBOBOX_H
|
||
|
#define LIMITEDCOMBOBOX_H
|
||
|
|
||
|
#include <QComboBox>
|
||
|
#include <QEvent>
|
||
|
|
||
|
class LimitedComboBox : public QComboBox
|
||
|
{
|
||
|
public:
|
||
|
LimitedComboBox(int limit, QWidget *parent = 0)
|
||
|
: QComboBox(parent), _limit(limit)
|
||
|
{
|
||
|
setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed);
|
||
|
}
|
||
|
|
||
|
QSize sizeHint() const
|
||
|
{
|
||
|
return QSize(qMin(_limit, QComboBox::sizeHint().width()),
|
||
|
QComboBox::sizeHint().height());
|
||
|
}
|
||
|
QSize minimumSizeHint() const
|
||
|
{
|
||
|
return QSize(qMin(_limit, QComboBox::minimumSizeHint().width()),
|
||
|
QComboBox::minimumSizeHint().height());
|
||
|
}
|
||
|
|
||
|
bool event(QEvent *e)
|
||
|
{
|
||
|
if (e->type() == QEvent::Polish)
|
||
|
view()->setMinimumWidth(QComboBox::sizeHint().width());
|
||
|
return QComboBox::event(e);
|
||
|
}
|
||
|
|
||
|
private:
|
||
|
int _limit;
|
||
|
};
|
||
|
|
||
|
#endif // LIMITEDCOMBOBOX_H
|