diff options
-rw-r--r-- | abaddon.cpp | 2 | ||||
-rw-r--r-- | dialogs/editmessage.cpp | 6 | ||||
-rw-r--r-- | dialogs/editmessage.hpp | 5 |
3 files changed, 10 insertions, 3 deletions
diff --git a/abaddon.cpp b/abaddon.cpp index 23249c4..318507f 100644 --- a/abaddon.cpp +++ b/abaddon.cpp @@ -395,7 +395,9 @@ void Abaddon::ActionChatDeleteMessage(Snowflake channel_id, Snowflake id) { } void Abaddon::ActionChatEditMessage(Snowflake channel_id, Snowflake id) { + const auto *msg = m_discord.GetMessage(id); EditMessageDialog dlg(*m_main_window); + dlg.SetContent(msg->Content); auto response = dlg.run(); if (response == Gtk::RESPONSE_OK) { auto new_content = dlg.GetContent(); diff --git a/dialogs/editmessage.cpp b/dialogs/editmessage.cpp index e6f226e..a5f583d 100644 --- a/dialogs/editmessage.cpp +++ b/dialogs/editmessage.cpp @@ -34,6 +34,10 @@ EditMessageDialog::EditMessageDialog(Gtk::Window &parent) show_all_children(); } -std::string EditMessageDialog::GetContent() { +Glib::ustring EditMessageDialog::GetContent() { return m_content; } + +void EditMessageDialog::SetContent(const Glib::ustring &str) { + m_text.get_buffer()->set_text(str); +} diff --git a/dialogs/editmessage.hpp b/dialogs/editmessage.hpp index 5427897..bf6307d 100644 --- a/dialogs/editmessage.hpp +++ b/dialogs/editmessage.hpp @@ -5,7 +5,8 @@ class EditMessageDialog : public Gtk::Dialog { public: EditMessageDialog(Gtk::Window &parent); - std::string GetContent(); + Glib::ustring GetContent(); + void SetContent(const Glib::ustring &str); protected: Gtk::Box m_layout; @@ -16,5 +17,5 @@ protected: Gtk::TextView m_text; private: - std::string m_content; + Glib::ustring m_content; }; |