diff --git a/src/components/base/card_entry.rs b/src/components/base/card_entry.rs index 17c53ca..e1aab70 100644 --- a/src/components/base/card_entry.rs +++ b/src/components/base/card_entry.rs @@ -13,7 +13,7 @@ use components::utils::create_dropdown_label_factory; use re_set_lib::audio::audio_structures::Card; use crate::components; -use crate::components::utils::{BASE, DBUS_PATH, AUDIO}; +use crate::components::utils::{AUDIO, BASE, DBUS_PATH}; use super::card_entry_impl; @@ -66,11 +66,7 @@ impl CardEntry { fn set_card_profile_of_device(device_index: u32, profile_name: String) -> bool { gio::spawn_blocking(move || { let conn = Connection::new_session().unwrap(); - let proxy = conn.with_proxy( - BASE, - DBUS_PATH, - Duration::from_millis(1000), - ); + let proxy = conn.with_proxy(BASE, DBUS_PATH, Duration::from_millis(1000)); let _: Result<(), Error> = proxy.method_call( AUDIO, "SetCardProfileOfDevice", diff --git a/src/components/base/error.rs b/src/components/base/error.rs new file mode 100644 index 0000000..a0f9c25 --- /dev/null +++ b/src/components/base/error.rs @@ -0,0 +1,41 @@ +use std::{rc::Rc, sync::Arc}; + +use adw::glib; +use adw::glib::Object; +use glib::{clone, subclass::types::ObjectSubclassIsExt}; +use gtk::{ + gdk, + prelude::{ButtonExt, PopoverExt}, + Editable, Popover, +}; + +use super::error_impl; + +glib::wrapper! { + pub struct ReSetError(ObjectSubclass) + @extends Popover, gtk::Widget, + @implements Editable,gdk::Popup, gtk::Accessible, gtk::Buildable, gtk::ConstraintTarget, gtk::Orientable; +} + +unsafe impl Send for ReSetError {} +unsafe impl Sync for ReSetError {} + +impl ReSetError { + pub fn new() -> Self { + let error: ReSetError = Object::builder().build(); + error + .imp() + .reset_error_button + .connect_clicked(clone!(@strong error => move |_| { + println!("pingpangpung"); + error.popdown(); + })); + error + } +} + +impl Default for ReSetError { + fn default() -> Self { + Self::new() + } +} diff --git a/src/components/base/error_impl.rs b/src/components/base/error_impl.rs new file mode 100644 index 0000000..5c84083 --- /dev/null +++ b/src/components/base/error_impl.rs @@ -0,0 +1,77 @@ +use std::cell::RefCell; +use std::sync::Arc; + +use glib::clone; +use gtk::prelude::{ButtonExt, PopoverExt}; +use gtk::subclass::prelude::*; +use gtk::{glib, Button, CompositeTemplate, Label, PasswordEntry, PasswordEntryBuffer, Popover}; + +use crate::components::input::source_box::SourceBox; + +use super::error; + +#[derive(Default, CompositeTemplate)] +#[template(resource = "/org/Xetibo/ReSet/resetError.ui")] +pub struct ReSetError { + #[template_child] + pub reset_error_label: TemplateChild