break-time 0.1.2

An app to force you to take breaks regularly while using the computer
Documentation
#[allow(clippy::module_name_repetitions)]
pub trait BuilderExtManualGetObjectExpect {
    fn get_object_expect<T: glib::object::IsA<glib::object::Object>>(
        &self,
        name: &str,
    ) -> T;
}

impl<U: gtk::prelude::BuilderExtManual> BuilderExtManualGetObjectExpect for U
where
    U: gtk::prelude::BuilderExtManual,
{
    fn get_object_expect<T: glib::object::IsA<glib::object::Object>>(
        &self,
        name: &str,
    ) -> T {
        self.get_object(name).expect(&format!(
            "Expected to get \"{}\" from the builder, but failed.",
            name
        ))
    }
}

#[must_use]
pub fn create() -> gtk::Builder {
    let glade_src = include_str!("../../glade/ui.glade");
    gtk::Builder::new_from_string(glade_src)
}