void Window::setupGui() { todoEditor = new TodoEditor; listWidget = new QListWidget; stackedWidget = new QStackedWidget; newTodoButton = new QPushButton(tr("New Todo")); deletTodoButton = new QPushButton(tr("Delete Todo")); calendarWidget = new QCalendarWidget; connect(newTodoButton, SIGNAL(clicked()), this, SLOT(editNewTodo())); connect(todoEditor, SIGNAL(editingFinished(QOrganizerTodo &)), this, SLOT(saveTodo(QOrganizerTodo &))); connect(listWidget, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(editTodo(QListWidgetItem*))); connect(calendarWidget, SIGNAL(selectionChanged()), this, SLOT(refreshList())); connect(deletTodoButton, SIGNAL(clicked()), this, SLOT(deleteTodo())); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addWidget(calendarWidget); mainLayout->addWidget(listWidget); QHBoxLayout *buttonLayout = new QHBoxLayout; buttonLayout->addWidget(newTodoButton); buttonLayout->addWidget(deletTodoButton); mainLayout->addLayout(buttonLayout); QWidget *frontPage = new QWidget; frontPage->setLayout(mainLayout); stackedWidget->addWidget(frontPage); stackedWidget->addWidget(todoEditor); // Adding a scroll area to allow proper rendering of the UI on small screens QScrollArea *scrollArea = new QScrollArea; scrollArea->setWidgetResizable(true); scrollArea->setWidget(stackedWidget); QSize suggestedSize; suggestedSize = stackedWidget->sizeHint(); stackedWidget->setMinimumSize(suggestedSize); QGridLayout *layout = new QGridLayout; layout->addWidget(scrollArea); setLayout(layout); }
void Window::setupGui() { todoEditor = new TodoEditor; listWidget = new QListWidget; stackedWidget = new QStackedWidget; newTodoButton = new QPushButton(tr("New Todo")); deletTodoButton = new QPushButton(tr("Delete Todo")); calendarWidget = new QCalendarWidget; connect(newTodoButton, SIGNAL(clicked()), this, SLOT(editNewTodo())); connect(todoEditor, SIGNAL(editingFinished(QOrganizerTodo &)), this, SLOT(saveTodo(QOrganizerTodo &))); connect(listWidget, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(editTodo(QListWidgetItem*))); connect(calendarWidget, SIGNAL(selectionChanged()), this, SLOT(refreshList())); connect(deletTodoButton, SIGNAL(clicked()), this, SLOT(deleteTodo())); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addWidget(calendarWidget); mainLayout->addWidget(listWidget); QHBoxLayout *buttonLayout = new QHBoxLayout; buttonLayout->addWidget(newTodoButton); buttonLayout->addWidget(deletTodoButton); mainLayout->addLayout(buttonLayout); QWidget *frontPage = new QWidget; frontPage->setLayout(mainLayout); stackedWidget->addWidget(frontPage); stackedWidget->addWidget(todoEditor); QGridLayout *layout = new QGridLayout; layout->addWidget(stackedWidget); setLayout(layout); }