void ChatDataWindow::createGui() { QVBoxLayout *layout = new QVBoxLayout(this); TabWidget = new QTabWidget(this); GeneralTab = new QWidget(TabWidget); QVBoxLayout *generalLayout = new QVBoxLayout(GeneralTab); QWidget *nameWidget = new QWidget(this); QHBoxLayout *nameLayout = new QHBoxLayout(nameWidget); QLabel *numberLabel = new QLabel(tr("Visible Name") + ':', nameWidget); DisplayEdit = new QLineEdit(nameWidget); DisplayEdit->setText(MyChat.display()); nameLayout->addWidget(numberLabel); nameLayout->addWidget(DisplayEdit); generalLayout->addWidget(nameWidget); TabWidget->addTab(GeneralTab, tr("General")); ChatType *chatType = ChatTypeManager::instance()->chatType(MyChat.type()); if (chatType) { EditWidget = chatType->createEditWidget(MyChat, TabWidget); if (EditWidget) { auto groupBox = new QGroupBox{GeneralTab}; groupBox->setFlat(true); groupBox->setTitle(tr("Chat")); auto groupBoxLayout = new QVBoxLayout{groupBox}; groupBoxLayout->setMargin(0); groupBoxLayout->setSpacing(4); groupBoxLayout->addWidget(EditWidget); generalLayout->addWidget(groupBox); if (EditWidget->stateNotifier()) ValueStateNotifier->addConfigurationValueStateNotifier(EditWidget->stateNotifier()); } } generalLayout->addStretch(100); GroupsTab = new ChatGroupsConfigurationWidget(MyChat, this); TabWidget->addTab(GroupsTab, tr("Groups")); auto optionsTab = new QWidget{this}; (new QVBoxLayout{optionsTab})->addStretch(100); new ChatConfigurationWidgetGroupBoxesAdapter(this, optionsTab); TabWidget->addTab(optionsTab, tr("Options")); layout->addWidget(TabWidget); createButtons(layout); connect(DisplayEdit, SIGNAL(textChanged(QString)), this, SLOT(displayEditChanged())); }