From 5fab9a3a2cf048330f687dda48c76c95a3a67d98 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Fri, 9 Nov 2018 09:46:43 +0100 Subject: Add room joining --- src/InputDialog.cpp | 38 ++++++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 14 deletions(-) (limited to 'src/InputDialog.cpp') diff --git a/src/InputDialog.cpp b/src/InputDialog.cpp index 520bfa2..16c4d01 100644 --- a/src/InputDialog.cpp +++ b/src/InputDialog.cpp @@ -1,22 +1,37 @@ #include "../include/InputDialog.hpp" #include +#include namespace dchat { - InputDialog::InputDialog(const char *title, const char *text, const char *acceptText, const char *cancelText) + InputDialog::InputDialog(const char *title, const std::vector &texts, const char *acceptText, const char *cancelText) { set_title(title); Gtk::Box *box = get_content_area(); - Gtk::Label *label = Gtk::manage(new Gtk::Label(text)); - label->set_valign(Gtk::ALIGN_END); - label->set_halign(Gtk::ALIGN_CENTER); - box->pack_start(*label, true, true); + //box->set_halign(Gtk::ALIGN_CENTER); + //box->set_valign(Gtk::ALIGN_CENTER); + Gtk::Grid *grid = Gtk::manage(new Gtk::Grid()); + grid->set_halign(Gtk::ALIGN_CENTER); + grid->set_valign(Gtk::ALIGN_CENTER); + box->pack_start(*grid, true, true); + int i = 0; + for(const char *text : texts) + { + Gtk::Label *label = Gtk::manage(new Gtk::Label(text)); + label->set_valign(Gtk::ALIGN_END); + label->set_halign(Gtk::ALIGN_CENTER); + grid->attach(*label, 0, i, 1, 1); - entry.set_valign(Gtk::ALIGN_CENTER); - entry.set_halign(Gtk::ALIGN_CENTER); - entry.set_hexpand(true); - box->pack_end(entry, true, true); + Gtk::Entry *entry = Gtk::manage(new Gtk::Entry()); + entry->set_valign(Gtk::ALIGN_CENTER); + entry->set_halign(Gtk::ALIGN_CENTER); + entry->set_hexpand(true); + grid->attach(*entry, 0, i + 1, 2, 1); + entries.push_back(entry); + + i += 2; + } add_button(acceptText, Gtk::RESPONSE_ACCEPT); add_button(cancelText, Gtk::RESPONSE_CANCEL); @@ -24,9 +39,4 @@ namespace dchat set_size_request(300, 150); } - - Glib::ustring InputDialog::getInput() const - { - return entry.get_text(); - } } \ No newline at end of file -- cgit v1.2.3