// // Created by selim on 03.01.2022. // #include "MainWindow.h" #include "AddNumberDialog.h" #include "../gtkpp/MessageDialog.h" #include "../coro/Coro.h" #include "../services/Storage.h" #include "../gtkpp/HeaderBar.h" #include "../gtkpp/Separator.h" #include "../gtkpp/SelectionModel.h" #include MainWindow::MainWindow(): gtkpp::Window(true), _vehiclesListView(gtkpp::SelectionModel(gtkpp::Selection::Single), &_vehiclesListFactory) { setDefaultSize(640, 480); setResizable(true); _addNumberButton.setIconName("list-add-symbolic"); _addNumberButton.onClick([this] { showCheckDialog(); }); gtkpp::HeaderBar leftHeader("Vehicles"); leftHeader.showEndButtons(false); leftHeader.packStart(_addNumberButton); gtkpp::Box leftPanel(GTK_ORIENTATION_VERTICAL, 0); leftPanel.append(leftHeader); leftPanel.append(_vehiclesListView); gtkpp::HeaderBar rightHeader; gtkpp::Box rightPanel(GTK_ORIENTATION_VERTICAL, 0); rightPanel.append(rightHeader); rightPanel.setHExpand(true); _leaflet.append(leftPanel); _leaflet.append(gtkpp::Separator(GTK_ORIENTATION_VERTICAL)); _leaflet.append(rightPanel); _leaflet.setVExpand(true); setContent(_leaflet); auto vehicles = Storage::instance().select(); std::cout << "" << std::endl; } void MainWindow::showCheckDialog() { AddNumberDialog dialog(this); dialog.show(); GtkResponseType response = co_await dialog.responseAsync(); if(response == GTK_RESPONSE_OK) { try { co_await dialog.checkNumber(); } catch(std::exception& ex) { gtkpp::MessageDialog::showError(this, ex.what()); } } }