[iagno/arnaudb/wip/gtk4: 54/54] Fix HistoryButton popover.
- From: Arnaud B. <arnaudb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [iagno/arnaudb/wip/gtk4: 54/54] Fix HistoryButton popover.
- Date: Thu, 30 Apr 2020 13:21:59 +0000 (UTC)
commit 49396cac1250ad3d21243bacfc5ba85516660cd0
Author: Arnaud Bonatti <arnaud bonatti gmail com>
Date: Thu Apr 30 14:44:42 2020 +0200
Fix HistoryButton popover.
src/history-button.vala | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
---
diff --git a/src/history-button.vala b/src/history-button.vala
index 2b4607c..624a7f4 100644
--- a/src/history-button.vala
+++ b/src/history-button.vala
@@ -25,17 +25,22 @@ private class HistoryButton : ToggleButton, AdaptativeWidget
{
[CCode (notify = false)] public ThemeManager theme_manager { private get; protected construct; }
- ulong toggled_handler = 0;
+ private ulong toggled_handler = 0;
+ private ulong close_handler = 0;
[CCode (notify = false)] public MenuModel menu_model
{
internal construct set
{
if (toggled_handler != 0)
disconnect (toggled_handler);
+ if (close_handler != 0)
+ popover.disconnect (close_handler);
+
popover = new PopoverMenu.from_model (value);
popover.set_parent (this);
popover.set_autohide (false);
toggled_handler = toggled.connect ((_this) => { if (_this.get_active ()) ((HistoryButton)
_this).popover.popup (); else ((HistoryButton) _this).popover.popdown (); }); // toggled is run-first
+ close_handler = popover.closed.connect (() => set_active (false));
}
}
@@ -51,6 +56,9 @@ private class HistoryButton : ToggleButton, AdaptativeWidget
construct
{
+ BinLayout layout = new BinLayout ();
+ set_layout_manager (layout);
+
drawing.size_allocate.connect (on_drawing_size_allocate);
drawing.set_draw_func (update_drawing);
theme_manager.theme_changed.connect (() => {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]