StringListEditor::StringListEditor(const QString& title, QWidget* parent) : QGroupBox(title, parent) { // create layout _hLayout = new QVBoxLayout( this ); _hLayout->setMargin(5); _hLayout->setSpacing(3); // create toolbar QToolBar* tb = new QToolBar; tb->layout()->setMargin(0); tb->layout()->setSpacing(0); tb->setIconSize(QSize(16, 16)); _hLayout->addWidget(tb); // create listwidget _list = new QListWidget; _list->setMinimumHeight(40); _list->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); _hLayout->addWidget(_list); // create actions QAction* addAction = new QAction( QIcon( ":/listeditor/add.png" ), tr("Add Item"), tb); QAction* removeAction = new QAction( QIcon( ":/listeditor/remove.png" ), tr("Remove Item"), tb); QAction* clearAction = new QAction( QIcon( ":/listeditor/clear.png" ), tr("Clear Items"), tb); QAction* upAction = new QAction( QIcon( ":/listeditor/up.png" ), tr("Move Item Up"), tb); QAction* downAction = new QAction( QIcon( ":/listeditor/down.png" ), tr("Move Item Down"), tb); QAction* editAction = new QAction( QIcon( ":/listeditor/edit.png" ), tr("Edit Item"), tb); // add actions to toolbar tb->addAction(addAction); tb->addAction(removeAction); tb->addAction(clearAction); tb->addAction(upAction); tb->addAction(downAction); tb->addAction(editAction); // connections connect(addAction, SIGNAL(triggered()), this, SLOT(onAddItem())); connect(removeAction, SIGNAL(triggered()), this, SLOT(onRemoveItem())); connect(clearAction, SIGNAL(triggered()), this, SLOT(onClearItem())); connect(upAction, SIGNAL(triggered()), this, SLOT(onMoveUpItem())); connect(downAction, SIGNAL(triggered()), this, SLOT(onMoveDownItem())); connect(editAction, SIGNAL(triggered()), this, SLOT(onEditItem())); connect(_list, SIGNAL(itemChanged(QListWidgetItem*)), this, SIGNAL(edited())); connect( this, SIGNAL(edited()), this, SLOT(onEdited())); }
void SubTabController::doAdd() { onAddItem(); }