+ connect_button(button, code);
+}
+
+void Dialog::add_button(unique_ptr<Button> button, int code)
+{
+ Button &b = *button;
+ add(move(button));
+ connect_button(b, code);
+}
+
+Button &Dialog::add_button(const string &text, int code)
+{
+ Button &b = add_new<Button>(text);
+ connect_button(b, code);
+ return b;