From ccef22f9987c78f57a4fbef417ab47ff2add758a Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 25 Sep 2023 20:55:33 +0200 Subject: [PATCH] ArdourMessageDialog allow for NULL parent window This is handy on Windows, where Widget::get_toplevel() may return NULL or not-a Gtk::Window. --- gtk2_ardour/ardour_message.cc | 15 +++++++++++++++ gtk2_ardour/ardour_message.h | 7 +++++++ 2 files changed, 22 insertions(+) diff --git a/gtk2_ardour/ardour_message.cc b/gtk2_ardour/ardour_message.cc index 527f44b435..875ab5023c 100644 --- a/gtk2_ardour/ardour_message.cc +++ b/gtk2_ardour/ardour_message.cc @@ -45,6 +45,21 @@ ArdourMessageDialog::ArdourMessageDialog (Gtk::Window& parent, set_position (WIN_POS_MOUSE); } +ArdourMessageDialog::ArdourMessageDialog (Gtk::Window* parent, + const Glib::ustring& message, + bool use_markup, + Gtk::MessageType type, + Gtk::ButtonsType buttons, + bool modal) + : Gtk::MessageDialog (message, use_markup, type, buttons, modal) + , _splash_pushed (false) +{ + if (parent) { + set_transient_for (*parent); + } + set_position (WIN_POS_MOUSE); +} + ArdourMessageDialog::~ArdourMessageDialog () { pop_splash (); diff --git a/gtk2_ardour/ardour_message.h b/gtk2_ardour/ardour_message.h index d9de74b0df..b681cacf63 100644 --- a/gtk2_ardour/ardour_message.h +++ b/gtk2_ardour/ardour_message.h @@ -37,6 +37,13 @@ public: Gtk::ButtonsType buttons = Gtk::BUTTONS_OK, bool modal = false); + ArdourMessageDialog (Gtk::Window* parent, + const Glib::ustring& message, + bool use_markup = false, + Gtk::MessageType type = Gtk::MESSAGE_INFO, + Gtk::ButtonsType buttons = Gtk::BUTTONS_OK, + bool modal = false); + virtual ~ArdourMessageDialog (); int run ();