From 7430b965e11897ae0612374c1a92cb510875329b Mon Sep 17 00:00:00 2001 From: Ian Douglas Scott Date: Tue, 7 Sep 2021 12:56:25 -0700 Subject: [PATCH] Pass `app` to `PanelWindow::new()` --- src/application.rs | 6 +++--- src/window.rs | 5 ++++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/application.rs b/src/application.rs index 6b81d41d..81948c26 100644 --- a/src/application.rs +++ b/src/application.rs @@ -81,9 +81,9 @@ impl PanelApp { } fn add_window_for_monitor(&self, monitor: gdk::Monitor) { - self.add_window(&cascade! { - PanelWindow::new(monitor); + cascade! { + PanelWindow::new(self, monitor); ..show(); - }); + }; } } diff --git a/src/window.rs b/src/window.rs index 1fe429d0..fa99bdb0 100644 --- a/src/window.rs +++ b/src/window.rs @@ -3,6 +3,7 @@ use glib::clone; use gtk4::{gdk, glib, pango, prelude::*, subclass::prelude::*}; use std::cell::Cell; +use crate::application::PanelApp; use crate::deref_cell::DerefCell; use crate::status_area::StatusArea; use crate::time_button::TimeButton; @@ -121,7 +122,7 @@ glib::wrapper! { } impl PanelWindow { - pub fn new(monitor: gdk::Monitor) -> Self { + pub fn new(app: &PanelApp, monitor: gdk::Monitor) -> Self { let obj = glib::Object::new::(&[]).unwrap(); monitor.connect_invalidate(clone!(@weak obj => move |_| obj.close())); @@ -129,6 +130,8 @@ impl PanelWindow { obj.set_size_request(monitor.geometry().width, 0); obj.inner().monitor.set(monitor); + app.add_window(&obj); + obj }