From 50d99de06076a0f3ccba5c12173ff5944ebea246 Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Mon, 27 Nov 2023 02:48:34 -0500 Subject: change up set status dialog --- src/dialogs/setstatus.cpp | 41 ++++++++++++++++++++++++++++------------- src/dialogs/setstatus.hpp | 4 +--- 2 files changed, 29 insertions(+), 16 deletions(-) (limited to 'src/dialogs') diff --git a/src/dialogs/setstatus.cpp b/src/dialogs/setstatus.cpp index 7a3a038..24f0b29 100644 --- a/src/dialogs/setstatus.cpp +++ b/src/dialogs/setstatus.cpp @@ -1,17 +1,31 @@ #include "setstatus.hpp" +static const std::array feelings = { + "wonderful", + "splendiferous", + "delicious", + "outstanding", + "amazing", + "great", + "marvelous", + "superb", + "out of this world", + "stupendous", + "tip-top", + "horrible", +}; + SetStatusDialog::SetStatusDialog(Gtk::Window &parent) : Gtk::Dialog("Set Status", parent, true) , m_layout(Gtk::ORIENTATION_VERTICAL) - , m_bottom(Gtk::ORIENTATION_HORIZONTAL) , m_ok("OK") - , m_cancel("Cancel") - , m_bbox(Gtk::ORIENTATION_HORIZONTAL) { - set_default_size(300, 50); + , m_cancel("Cancel") { + set_default_size(350, 200); get_style_context()->add_class("app-window"); get_style_context()->add_class("app-popup"); + get_style_context()->add_class("set-status-dialog"); - m_text.set_placeholder_text("Status text"); + m_text.set_placeholder_text("I feel " + Glib::ustring(feelings[rand() % feelings.size()]) + "!"); m_status_combo.append("online", "Online"); m_status_combo.append("dnd", "Do Not Disturb"); @@ -35,16 +49,17 @@ SetStatusDialog::SetStatusDialog(Gtk::Window &parent) response(Gtk::RESPONSE_CANCEL); }); - m_bbox.pack_start(m_ok, Gtk::PACK_SHRINK); - m_bbox.pack_start(m_cancel, Gtk::PACK_SHRINK); - m_bbox.set_layout(Gtk::BUTTONBOX_END); + m_layout.pack_start(*Gtk::make_managed("How are you, " + Abaddon::Get().GetDiscordClient().GetUserData().GetDisplayName() + "?", Gtk::ALIGN_START)); + m_layout.pack_start(m_text); + m_layout.pack_start(*Gtk::make_managed("Status", Gtk::ALIGN_START)); + m_layout.pack_start(m_status_combo); + m_layout.pack_start(*Gtk::make_managed("Activity", Gtk::ALIGN_START)); + m_layout.pack_start(m_type_combo); - m_bottom.add(m_status_combo); - m_bottom.add(m_type_combo); - m_bottom.add(m_bbox); - m_layout.add(m_text); - m_layout.add(m_bottom); get_content_area()->add(m_layout); + get_action_area()->pack_start(m_ok, Gtk::PACK_SHRINK); + get_action_area()->pack_start(m_cancel, Gtk::PACK_SHRINK); + get_action_area()->set_layout(Gtk::BUTTONBOX_START); show_all_children(); } diff --git a/src/dialogs/setstatus.hpp b/src/dialogs/setstatus.hpp index b0e6a4c..d4a015d 100644 --- a/src/dialogs/setstatus.hpp +++ b/src/dialogs/setstatus.hpp @@ -8,14 +8,12 @@ public: PresenceStatus GetStatusType() const; std::string GetActivityName() const; -protected: +private: Gtk::Box m_layout; - Gtk::Box m_bottom; Gtk::Entry m_text; Gtk::ComboBoxText m_status_combo; Gtk::ComboBoxText m_type_combo; Gtk::Button m_ok; Gtk::Button m_cancel; - Gtk::ButtonBox m_bbox; }; -- cgit v1.2.3