Added new class CategoryListWidget to allow more fine-grained tuning of thing such as size.
This commit is contained in:
parent
63cd97c011
commit
16230b1000
1 changed files with 22 additions and 1 deletions
|
@ -5,11 +5,32 @@
|
|||
#include <QDialogButtonBox>
|
||||
#include <QListWidget>
|
||||
#include <QPushButton>
|
||||
#include <QScrollBar>
|
||||
|
||||
#include <QUiLoader>
|
||||
#include <QScriptEngine>
|
||||
#include <QScriptContextInfo>
|
||||
|
||||
/**
|
||||
* Special version of a QListWidget that has the width of the first column as
|
||||
* minimum size.
|
||||
*/
|
||||
class CategoryListWidget : public QListWidget {
|
||||
public:
|
||||
CategoryListWidget(QWidget *parent = 0) : QListWidget(parent) {
|
||||
setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Expanding);
|
||||
setSelectionMode(QAbstractItemView::SingleSelection);
|
||||
setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
|
||||
}
|
||||
|
||||
virtual QSize sizeHint() const {
|
||||
int width = sizeHintForColumn(0) + frameWidth() * 2 + 5;
|
||||
if (verticalScrollBar()->isVisible())
|
||||
width += verticalScrollBar()->width();
|
||||
return QSize(width, 100);
|
||||
}
|
||||
};
|
||||
|
||||
class ConfigurationDialog::PrivateData {
|
||||
public:
|
||||
QScriptEngine *engine;
|
||||
|
@ -29,7 +50,7 @@ ConfigurationDialog::ConfigurationDialog(QScriptEngine *engine, QWidget *parent)
|
|||
|
||||
QHBoxLayout *mainLayout = new QHBoxLayout();
|
||||
|
||||
d->listWidget = new QListWidget(this);
|
||||
d->listWidget = new CategoryListWidget(this);
|
||||
connect(d->listWidget, SIGNAL(currentItemChanged(QListWidgetItem*,QListWidgetItem*)), this, SLOT(currentItemChanged(QListWidgetItem*,QListWidgetItem*)));
|
||||
mainLayout->addWidget(d->listWidget);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue