mirror of
				https://github.com/Xetibo/ReSet.git
				synced 2025-11-04 09:45:19 +01:00 
			
		
		
		
	chore: Update lib
This commit is contained in:
		
							parent
							
								
									0eb85fdf7c
								
							
						
					
					
						commit
						c5c5f6761e
					
				
					 30 changed files with 62 additions and 49 deletions
				
			
		| 
						 | 
					@ -5,8 +5,8 @@ edition = "2021"
 | 
				
			||||||
description = "A wip universal Linux settings application."
 | 
					description = "A wip universal Linux settings application."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[dependencies]
 | 
					[dependencies]
 | 
				
			||||||
reset_daemon = "0.4.0"
 | 
					reset_daemon = "0.4.2"
 | 
				
			||||||
ReSet-Lib = "0.6.3"
 | 
					re_set-lib = "0.6.4"
 | 
				
			||||||
adw = { version = "0.5.3", package = "libadwaita", features = ["v1_4"] }
 | 
					adw = { version = "0.5.3", package = "libadwaita", features = ["v1_4"] }
 | 
				
			||||||
dbus = "0.9.7"
 | 
					dbus = "0.9.7"
 | 
				
			||||||
gtk = { version = "0.7.3", package = "gtk4", features = ["v4_12"] }
 | 
					gtk = { version = "0.7.3", package = "gtk4", features = ["v4_12"] }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,9 +8,9 @@ use dbus::Error;
 | 
				
			||||||
use glib::subclass::types::ObjectSubclassIsExt;
 | 
					use glib::subclass::types::ObjectSubclassIsExt;
 | 
				
			||||||
use glib::{clone, Cast};
 | 
					use glib::{clone, Cast};
 | 
				
			||||||
use gtk::{gio, StringList, StringObject};
 | 
					use gtk::{gio, StringList, StringObject};
 | 
				
			||||||
use ReSet_Lib::audio::audio::Card;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
use components::utils::create_dropdown_label_factory;
 | 
					use components::utils::create_dropdown_label_factory;
 | 
				
			||||||
 | 
					use re_set_lib::audio::audio_structures::Card;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use crate::components;
 | 
					use crate::components;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,8 +13,8 @@ use dbus::{
 | 
				
			||||||
    Error,
 | 
					    Error,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
use gtk::gio;
 | 
					use gtk::gio;
 | 
				
			||||||
use ReSet_Lib::{
 | 
					use re_set_lib::{
 | 
				
			||||||
    audio::audio::{InputStream, OutputStream, Sink, Source},
 | 
					    audio::audio_structures::{InputStream, OutputStream, Sink, Source},
 | 
				
			||||||
    signals::GetVal,
 | 
					    signals::GetVal,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,8 +14,8 @@ use glib::{clone, Cast};
 | 
				
			||||||
use gtk::glib::Variant;
 | 
					use gtk::glib::Variant;
 | 
				
			||||||
use gtk::prelude::{ActionableExt, ButtonExt, ListBoxRowExt, WidgetExt};
 | 
					use gtk::prelude::{ActionableExt, ButtonExt, ListBoxRowExt, WidgetExt};
 | 
				
			||||||
use gtk::{gio, StringObject, Widget};
 | 
					use gtk::{gio, StringObject, Widget};
 | 
				
			||||||
use ReSet_Lib::bluetooth::bluetooth::{BluetoothAdapter, BluetoothDevice};
 | 
					use re_set_lib::bluetooth::bluetooth_structures::{BluetoothAdapter, BluetoothDevice};
 | 
				
			||||||
use ReSet_Lib::signals::{BluetoothDeviceAdded, BluetoothDeviceChanged, BluetoothDeviceRemoved};
 | 
					use re_set_lib::signals::{BluetoothDeviceAdded, BluetoothDeviceChanged, BluetoothDeviceRemoved};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use crate::components::base::list_entry::ListEntry;
 | 
					use crate::components::base::list_entry::ListEntry;
 | 
				
			||||||
use crate::components::base::utils::Listeners;
 | 
					use crate::components::base::utils::Listeners;
 | 
				
			||||||
| 
						 | 
					@ -402,7 +402,7 @@ fn set_bluetooth_adapter_visibility(path: Path<'static>, visible: bool) {
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
    let _: Result<(bool,), Error> = proxy.method_call(
 | 
					    let _: Result<(bool,), Error> = proxy.method_call(
 | 
				
			||||||
        "org.Xetibo.ReSetBluetooth",
 | 
					        "org.Xetibo.ReSetBluetooth",
 | 
				
			||||||
        "SetBluetoothAdapterVisibility",
 | 
					        "SetBluetoothAdapterDiscoverability",
 | 
				
			||||||
        (path, visible),
 | 
					        (path, visible),
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3,10 +3,10 @@ use dbus::Path;
 | 
				
			||||||
use gtk::subclass::prelude::*;
 | 
					use gtk::subclass::prelude::*;
 | 
				
			||||||
use gtk::{glib, Button, CompositeTemplate, Switch};
 | 
					use gtk::{glib, Button, CompositeTemplate, Switch};
 | 
				
			||||||
use gtk::{prelude::*, StringList};
 | 
					use gtk::{prelude::*, StringList};
 | 
				
			||||||
 | 
					use re_set_lib::bluetooth::bluetooth_structures::{BluetoothAdapter, BluetoothDevice};
 | 
				
			||||||
use std::cell::RefCell;
 | 
					use std::cell::RefCell;
 | 
				
			||||||
use std::collections::HashMap;
 | 
					use std::collections::HashMap;
 | 
				
			||||||
use std::sync::{Arc, RwLock};
 | 
					use std::sync::{Arc, RwLock};
 | 
				
			||||||
use ReSet_Lib::bluetooth::bluetooth::{BluetoothAdapter, BluetoothDevice};
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
use crate::components::base::list_entry::ListEntry;
 | 
					use crate::components::base::list_entry::ListEntry;
 | 
				
			||||||
use crate::components::bluetooth::bluetooth_box;
 | 
					use crate::components::bluetooth::bluetooth_box;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,7 +9,7 @@ use dbus::blocking::Connection;
 | 
				
			||||||
use dbus::{Error, Path};
 | 
					use dbus::{Error, Path};
 | 
				
			||||||
use gtk::prelude::{ButtonExt, WidgetExt};
 | 
					use gtk::prelude::{ButtonExt, WidgetExt};
 | 
				
			||||||
use gtk::{gio, GestureClick};
 | 
					use gtk::{gio, GestureClick};
 | 
				
			||||||
use ReSet_Lib::bluetooth::bluetooth::BluetoothDevice;
 | 
					use re_set_lib::bluetooth::bluetooth_structures::BluetoothDevice;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
glib::wrapper! {
 | 
					glib::wrapper! {
 | 
				
			||||||
    pub struct BluetoothEntry(ObjectSubclass<bluetooth_entry_impl::BluetoothEntry>)
 | 
					    pub struct BluetoothEntry(ObjectSubclass<bluetooth_entry_impl::BluetoothEntry>)
 | 
				
			||||||
| 
						 | 
					@ -24,7 +24,10 @@ impl BluetoothEntry {
 | 
				
			||||||
    pub fn new(device: &BluetoothDevice) -> Self {
 | 
					    pub fn new(device: &BluetoothDevice) -> Self {
 | 
				
			||||||
        let entry: BluetoothEntry = Object::builder().build();
 | 
					        let entry: BluetoothEntry = Object::builder().build();
 | 
				
			||||||
        let entry_imp = entry.imp();
 | 
					        let entry_imp = entry.imp();
 | 
				
			||||||
        entry_imp.reset_bluetooth_label.get().set_text(&device.alias);
 | 
					        entry_imp
 | 
				
			||||||
 | 
					            .reset_bluetooth_label
 | 
				
			||||||
 | 
					            .get()
 | 
				
			||||||
 | 
					            .set_text(&device.alias);
 | 
				
			||||||
        entry_imp
 | 
					        entry_imp
 | 
				
			||||||
            .reset_bluetooth_address
 | 
					            .reset_bluetooth_address
 | 
				
			||||||
            .get()
 | 
					            .get()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,7 +10,7 @@ use dbus::Error;
 | 
				
			||||||
use glib::subclass::types::ObjectSubclassIsExt;
 | 
					use glib::subclass::types::ObjectSubclassIsExt;
 | 
				
			||||||
use glib::{clone, Cast, Propagation};
 | 
					use glib::{clone, Cast, Propagation};
 | 
				
			||||||
use gtk::{gio, StringObject};
 | 
					use gtk::{gio, StringObject};
 | 
				
			||||||
use ReSet_Lib::audio::audio::OutputStream;
 | 
					use re_set_lib::audio::audio_structures::OutputStream;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use super::output_stream_entry_impl;
 | 
					use super::output_stream_entry_impl;
 | 
				
			||||||
use super::source_box::SourceBox;
 | 
					use super::source_box::SourceBox;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,6 @@
 | 
				
			||||||
use adw::subclass::prelude::PreferencesGroupImpl;
 | 
					use adw::subclass::prelude::PreferencesGroupImpl;
 | 
				
			||||||
use adw::{ComboRow, PreferencesGroup};
 | 
					use adw::{ComboRow, PreferencesGroup};
 | 
				
			||||||
 | 
					use re_set_lib::audio::audio_structures::OutputStream;
 | 
				
			||||||
use std::cell::RefCell;
 | 
					use std::cell::RefCell;
 | 
				
			||||||
use std::sync::Arc;
 | 
					use std::sync::Arc;
 | 
				
			||||||
use std::time::SystemTime;
 | 
					use std::time::SystemTime;
 | 
				
			||||||
| 
						 | 
					@ -7,7 +8,6 @@ use std::time::SystemTime;
 | 
				
			||||||
use crate::components::input::output_stream_entry;
 | 
					use crate::components::input::output_stream_entry;
 | 
				
			||||||
use gtk::subclass::prelude::*;
 | 
					use gtk::subclass::prelude::*;
 | 
				
			||||||
use gtk::{glib, Button, CompositeTemplate, Label, ProgressBar, Scale};
 | 
					use gtk::{glib, Button, CompositeTemplate, Label, ProgressBar, Scale};
 | 
				
			||||||
use ReSet_Lib::audio::audio::OutputStream;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[derive(Default, CompositeTemplate)]
 | 
					#[derive(Default, CompositeTemplate)]
 | 
				
			||||||
#[template(resource = "/org/Xetibo/ReSet/resetOutputStreamEntry.ui")]
 | 
					#[template(resource = "/org/Xetibo/ReSet/resetOutputStreamEntry.ui")]
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,5 @@
 | 
				
			||||||
use adw::prelude::PreferencesRowExt;
 | 
					use adw::prelude::PreferencesRowExt;
 | 
				
			||||||
 | 
					use re_set_lib::audio::audio_structures::{Card, OutputStream, Source};
 | 
				
			||||||
use std::sync::Arc;
 | 
					use std::sync::Arc;
 | 
				
			||||||
use std::time::{Duration, SystemTime};
 | 
					use std::time::{Duration, SystemTime};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,7 +15,6 @@ use glib::subclass::prelude::ObjectSubclassIsExt;
 | 
				
			||||||
use glib::{clone, Cast, Propagation, Variant};
 | 
					use glib::{clone, Cast, Propagation, Variant};
 | 
				
			||||||
use gtk::prelude::ActionableExt;
 | 
					use gtk::prelude::ActionableExt;
 | 
				
			||||||
use gtk::{gio, StringObject};
 | 
					use gtk::{gio, StringObject};
 | 
				
			||||||
use ReSet_Lib::audio::audio::{Card, OutputStream, Source};
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
use crate::components::base::card_entry::CardEntry;
 | 
					use crate::components::base::card_entry::CardEntry;
 | 
				
			||||||
use crate::components::base::list_entry::ListEntry;
 | 
					use crate::components::base::list_entry::ListEntry;
 | 
				
			||||||
| 
						 | 
					@ -144,8 +144,9 @@ pub fn populate_sources(input_box: Arc<SourceBox>) {
 | 
				
			||||||
                    if let Some(index) = map.get(&name.alias) {
 | 
					                    if let Some(index) = map.get(&name.alias) {
 | 
				
			||||||
                        output_box_imp.reset_source_dropdown.set_selected(index.1);
 | 
					                        output_box_imp.reset_source_dropdown.set_selected(index.1);
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    output_box_imp.reset_source_dropdown.connect_selected_notify(
 | 
					                    output_box_imp
 | 
				
			||||||
                        clone!(@weak output_box_imp => move |dropdown| {
 | 
					                        .reset_source_dropdown
 | 
				
			||||||
 | 
					                        .connect_selected_notify(clone!(@weak output_box_imp => move |dropdown| {
 | 
				
			||||||
                            let selected = dropdown.selected_item();
 | 
					                            let selected = dropdown.selected_item();
 | 
				
			||||||
                            if selected.is_none() {
 | 
					                            if selected.is_none() {
 | 
				
			||||||
                                return;
 | 
					                                return;
 | 
				
			||||||
| 
						 | 
					@ -161,8 +162,7 @@ pub fn populate_sources(input_box: Arc<SourceBox>) {
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                            let sink = Arc::new(source.unwrap().2.clone());
 | 
					                            let sink = Arc::new(source.unwrap().2.clone());
 | 
				
			||||||
                            set_default_source(sink);
 | 
					                            set_default_source(sink);
 | 
				
			||||||
                        }),
 | 
					                        }));
 | 
				
			||||||
                    );
 | 
					 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                output_box_ref
 | 
					                output_box_ref
 | 
				
			||||||
                    .imp()
 | 
					                    .imp()
 | 
				
			||||||
| 
						 | 
					@ -560,7 +560,9 @@ pub fn start_input_box_listener(conn: Connection, source_box: Arc<SourceBox>) ->
 | 
				
			||||||
                    if entry.is_none() {
 | 
					                    if entry.is_none() {
 | 
				
			||||||
                        return;
 | 
					                        return;
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    output_box_imp.reset_output_streams.remove(&*entry.unwrap().0);
 | 
					                    output_box_imp
 | 
				
			||||||
 | 
					                        .reset_output_streams
 | 
				
			||||||
 | 
					                        .remove(&*entry.unwrap().0);
 | 
				
			||||||
                });
 | 
					                });
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
            true
 | 
					            true
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,5 @@
 | 
				
			||||||
use adw::{ActionRow, ComboRow, PreferencesGroup};
 | 
					use adw::{ActionRow, ComboRow, PreferencesGroup};
 | 
				
			||||||
 | 
					use re_set_lib::audio::audio_structures::Source;
 | 
				
			||||||
use std::cell::RefCell;
 | 
					use std::cell::RefCell;
 | 
				
			||||||
use std::collections::HashMap;
 | 
					use std::collections::HashMap;
 | 
				
			||||||
use std::sync::{Arc, RwLock};
 | 
					use std::sync::{Arc, RwLock};
 | 
				
			||||||
| 
						 | 
					@ -9,7 +10,6 @@ use crate::components::input::source_box;
 | 
				
			||||||
use gtk::subclass::prelude::*;
 | 
					use gtk::subclass::prelude::*;
 | 
				
			||||||
use gtk::{glib, CheckButton, CompositeTemplate, StringList, TemplateChild};
 | 
					use gtk::{glib, CheckButton, CompositeTemplate, StringList, TemplateChild};
 | 
				
			||||||
use gtk::{prelude::*, Button, Label, ProgressBar, Scale};
 | 
					use gtk::{prelude::*, Button, Label, ProgressBar, Scale};
 | 
				
			||||||
use ReSet_Lib::audio::audio::Source;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
use super::output_stream_entry::OutputStreamEntry;
 | 
					use super::output_stream_entry::OutputStreamEntry;
 | 
				
			||||||
use super::source_entry::SourceEntry;
 | 
					use super::source_entry::SourceEntry;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,7 +9,7 @@ use dbus::Error;
 | 
				
			||||||
use glib::subclass::types::ObjectSubclassIsExt;
 | 
					use glib::subclass::types::ObjectSubclassIsExt;
 | 
				
			||||||
use glib::{clone, Propagation};
 | 
					use glib::{clone, Propagation};
 | 
				
			||||||
use gtk::{gio, CheckButton};
 | 
					use gtk::{gio, CheckButton};
 | 
				
			||||||
use ReSet_Lib::audio::audio::Source;
 | 
					use re_set_lib::audio::audio_structures::Source;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use super::source_entry_impl;
 | 
					use super::source_entry_impl;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -28,7 +28,8 @@ impl SourceEntry {
 | 
				
			||||||
        // TODO use event callback for progress bar -> this is the "im speaking" indicator
 | 
					        // TODO use event callback for progress bar -> this is the "im speaking" indicator
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            let imp = obj.imp();
 | 
					            let imp = obj.imp();
 | 
				
			||||||
            imp.reset_source_name.set_title(stream.alias.clone().as_str());
 | 
					            imp.reset_source_name
 | 
				
			||||||
 | 
					                .set_title(stream.alias.clone().as_str());
 | 
				
			||||||
            let name = Arc::new(stream.name.clone());
 | 
					            let name = Arc::new(stream.name.clone());
 | 
				
			||||||
            let volume = stream.volume.first().unwrap_or(&0_u32);
 | 
					            let volume = stream.volume.first().unwrap_or(&0_u32);
 | 
				
			||||||
            let fraction = (*volume as f64 / 655.36).round();
 | 
					            let fraction = (*volume as f64 / 655.36).round();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,12 +1,12 @@
 | 
				
			||||||
use adw::subclass::prelude::PreferencesGroupImpl;
 | 
					use adw::subclass::prelude::PreferencesGroupImpl;
 | 
				
			||||||
use adw::{ActionRow, PreferencesGroup};
 | 
					use adw::{ActionRow, PreferencesGroup};
 | 
				
			||||||
 | 
					use re_set_lib::audio::audio_structures::Source;
 | 
				
			||||||
use std::cell::RefCell;
 | 
					use std::cell::RefCell;
 | 
				
			||||||
use std::sync::Arc;
 | 
					use std::sync::Arc;
 | 
				
			||||||
use std::time::SystemTime;
 | 
					use std::time::SystemTime;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use gtk::subclass::prelude::*;
 | 
					use gtk::subclass::prelude::*;
 | 
				
			||||||
use gtk::{glib, Button, CheckButton, CompositeTemplate, Label, ProgressBar, Scale};
 | 
					use gtk::{glib, Button, CheckButton, CompositeTemplate, Label, ProgressBar, Scale};
 | 
				
			||||||
use ReSet_Lib::audio::audio::Source;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
use super::source_entry;
 | 
					use super::source_entry;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,7 +10,7 @@ use dbus::Error;
 | 
				
			||||||
use glib::subclass::types::ObjectSubclassIsExt;
 | 
					use glib::subclass::types::ObjectSubclassIsExt;
 | 
				
			||||||
use glib::{clone, Cast, Propagation};
 | 
					use glib::{clone, Cast, Propagation};
 | 
				
			||||||
use gtk::{gio, StringObject};
 | 
					use gtk::{gio, StringObject};
 | 
				
			||||||
use ReSet_Lib::audio::audio::InputStream;
 | 
					use re_set_lib::audio::audio_structures::InputStream;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use super::input_stream_entry_impl;
 | 
					use super::input_stream_entry_impl;
 | 
				
			||||||
use super::sink_box::SinkBox;
 | 
					use super::sink_box::SinkBox;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,12 +1,12 @@
 | 
				
			||||||
use adw::subclass::prelude::PreferencesGroupImpl;
 | 
					use adw::subclass::prelude::PreferencesGroupImpl;
 | 
				
			||||||
use adw::{ComboRow, PreferencesGroup};
 | 
					use adw::{ComboRow, PreferencesGroup};
 | 
				
			||||||
 | 
					use re_set_lib::audio::audio_structures::InputStream;
 | 
				
			||||||
use std::cell::RefCell;
 | 
					use std::cell::RefCell;
 | 
				
			||||||
use std::sync::Arc;
 | 
					use std::sync::Arc;
 | 
				
			||||||
use std::time::SystemTime;
 | 
					use std::time::SystemTime;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use gtk::subclass::prelude::*;
 | 
					use gtk::subclass::prelude::*;
 | 
				
			||||||
use gtk::{glib, Button, CompositeTemplate, Label, ProgressBar, Scale};
 | 
					use gtk::{glib, Button, CompositeTemplate, Label, ProgressBar, Scale};
 | 
				
			||||||
use ReSet_Lib::audio::audio::InputStream;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
use super::input_stream_entry;
 | 
					use super::input_stream_entry;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,8 @@
 | 
				
			||||||
use adw::prelude::PreferencesGroupExt;
 | 
					use adw::prelude::PreferencesGroupExt;
 | 
				
			||||||
use adw::prelude::PreferencesRowExt;
 | 
					use adw::prelude::PreferencesRowExt;
 | 
				
			||||||
 | 
					use re_set_lib::audio::audio_structures::Card;
 | 
				
			||||||
 | 
					use re_set_lib::audio::audio_structures::InputStream;
 | 
				
			||||||
 | 
					use re_set_lib::audio::audio_structures::Sink;
 | 
				
			||||||
use std::sync::Arc;
 | 
					use std::sync::Arc;
 | 
				
			||||||
use std::time::{Duration, SystemTime};
 | 
					use std::time::{Duration, SystemTime};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,7 +16,6 @@ use glib::subclass::prelude::ObjectSubclassIsExt;
 | 
				
			||||||
use glib::{clone, Cast, Propagation, Variant};
 | 
					use glib::{clone, Cast, Propagation, Variant};
 | 
				
			||||||
use gtk::prelude::ActionableExt;
 | 
					use gtk::prelude::ActionableExt;
 | 
				
			||||||
use gtk::{gio, StringObject};
 | 
					use gtk::{gio, StringObject};
 | 
				
			||||||
use ReSet_Lib::audio::audio::{Card, InputStream, Sink};
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
use crate::components::base::card_entry::CardEntry;
 | 
					use crate::components::base::card_entry::CardEntry;
 | 
				
			||||||
use crate::components::base::list_entry::ListEntry;
 | 
					use crate::components::base::list_entry::ListEntry;
 | 
				
			||||||
| 
						 | 
					@ -458,7 +460,8 @@ pub fn start_output_box_listener(conn: Connection, sink_box: Arc<SinkBox>) -> Co
 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
                    imp.reset_selected_sink.set_active(false);
 | 
					                    imp.reset_selected_sink.set_active(false);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                imp.reset_sink_name.set_title(ir.sink.alias.clone().as_str());
 | 
					                imp.reset_sink_name
 | 
				
			||||||
 | 
					                    .set_title(ir.sink.alias.clone().as_str());
 | 
				
			||||||
                imp.reset_volume_percentage.set_text(&percentage);
 | 
					                imp.reset_volume_percentage.set_text(&percentage);
 | 
				
			||||||
                imp.reset_volume_slider.set_value(*volume as f64);
 | 
					                imp.reset_volume_slider.set_value(*volume as f64);
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
| 
						 | 
					@ -558,7 +561,9 @@ pub fn start_output_box_listener(conn: Connection, sink_box: Arc<SinkBox>) -> Co
 | 
				
			||||||
                if entry.is_none() {
 | 
					                if entry.is_none() {
 | 
				
			||||||
                    return;
 | 
					                    return;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                output_box_imp.reset_input_streams.remove(&*entry.unwrap().0);
 | 
					                output_box_imp
 | 
				
			||||||
 | 
					                    .reset_input_streams
 | 
				
			||||||
 | 
					                    .remove(&*entry.unwrap().0);
 | 
				
			||||||
                list.remove(&ir.index);
 | 
					                list.remove(&ir.index);
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,5 @@
 | 
				
			||||||
use adw::{ActionRow, ComboRow, PreferencesGroup};
 | 
					use adw::{ActionRow, ComboRow, PreferencesGroup};
 | 
				
			||||||
 | 
					use re_set_lib::audio::audio_structures::Sink;
 | 
				
			||||||
use std::cell::RefCell;
 | 
					use std::cell::RefCell;
 | 
				
			||||||
use std::collections::HashMap;
 | 
					use std::collections::HashMap;
 | 
				
			||||||
use std::sync::{Arc, RwLock};
 | 
					use std::sync::{Arc, RwLock};
 | 
				
			||||||
| 
						 | 
					@ -9,7 +10,6 @@ use crate::components::output::input_stream_entry::InputStreamEntry;
 | 
				
			||||||
use gtk::subclass::prelude::*;
 | 
					use gtk::subclass::prelude::*;
 | 
				
			||||||
use gtk::{glib, Box, Button, CheckButton, CompositeTemplate, Label, StringList, TemplateChild};
 | 
					use gtk::{glib, Box, Button, CheckButton, CompositeTemplate, Label, StringList, TemplateChild};
 | 
				
			||||||
use gtk::{prelude::*, ProgressBar, Scale};
 | 
					use gtk::{prelude::*, ProgressBar, Scale};
 | 
				
			||||||
use ReSet_Lib::audio::audio::Sink;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
use super::sink_box;
 | 
					use super::sink_box;
 | 
				
			||||||
use super::sink_entry::SinkEntry;
 | 
					use super::sink_entry::SinkEntry;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,7 +9,7 @@ use dbus::Error;
 | 
				
			||||||
use glib::subclass::types::ObjectSubclassIsExt;
 | 
					use glib::subclass::types::ObjectSubclassIsExt;
 | 
				
			||||||
use glib::{clone, Propagation};
 | 
					use glib::{clone, Propagation};
 | 
				
			||||||
use gtk::{gio, CheckButton};
 | 
					use gtk::{gio, CheckButton};
 | 
				
			||||||
use ReSet_Lib::audio::audio::Sink;
 | 
					use re_set_lib::audio::audio_structures::Sink;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use super::sink_entry_impl;
 | 
					use super::sink_entry_impl;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,6 @@
 | 
				
			||||||
use adw::subclass::prelude::PreferencesGroupImpl;
 | 
					use adw::subclass::prelude::PreferencesGroupImpl;
 | 
				
			||||||
use adw::{ActionRow, PreferencesGroup};
 | 
					use adw::{ActionRow, PreferencesGroup};
 | 
				
			||||||
 | 
					use re_set_lib::audio::audio_structures::Sink;
 | 
				
			||||||
use std::cell::RefCell;
 | 
					use std::cell::RefCell;
 | 
				
			||||||
use std::sync::Arc;
 | 
					use std::sync::Arc;
 | 
				
			||||||
use std::time::SystemTime;
 | 
					use std::time::SystemTime;
 | 
				
			||||||
| 
						 | 
					@ -7,7 +8,6 @@ use std::time::SystemTime;
 | 
				
			||||||
use crate::components::output::sink_entry;
 | 
					use crate::components::output::sink_entry;
 | 
				
			||||||
use gtk::subclass::prelude::*;
 | 
					use gtk::subclass::prelude::*;
 | 
				
			||||||
use gtk::{glib, Button, CheckButton, CompositeTemplate, Label, ProgressBar, Scale};
 | 
					use gtk::{glib, Button, CheckButton, CompositeTemplate, Label, ProgressBar, Scale};
 | 
				
			||||||
use ReSet_Lib::audio::audio::Sink;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[derive(Default, CompositeTemplate)]
 | 
					#[derive(Default, CompositeTemplate)]
 | 
				
			||||||
#[template(resource = "/org/Xetibo/ReSet/resetSinkEntry.ui")]
 | 
					#[template(resource = "/org/Xetibo/ReSet/resetSinkEntry.ui")]
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,12 +1,12 @@
 | 
				
			||||||
use adw::subclass::preferences_row::PreferencesRowImpl;
 | 
					use adw::subclass::preferences_row::PreferencesRowImpl;
 | 
				
			||||||
use adw::subclass::prelude::ActionRowImpl;
 | 
					use adw::subclass::prelude::ActionRowImpl;
 | 
				
			||||||
use adw::ActionRow;
 | 
					use adw::ActionRow;
 | 
				
			||||||
 | 
					use re_set_lib::network::network_structures::AccessPoint;
 | 
				
			||||||
use std::cell::RefCell;
 | 
					use std::cell::RefCell;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use dbus::Path;
 | 
					use dbus::Path;
 | 
				
			||||||
use gtk::subclass::prelude::*;
 | 
					use gtk::subclass::prelude::*;
 | 
				
			||||||
use gtk::{glib, Button, CompositeTemplate, Label};
 | 
					use gtk::{glib, Button, CompositeTemplate, Label};
 | 
				
			||||||
use ReSet_Lib::network::network::AccessPoint;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
use super::saved_wifi_entry;
 | 
					use super::saved_wifi_entry;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,9 +2,9 @@ use dbus::arg::RefArg;
 | 
				
			||||||
use dbus::blocking::Connection;
 | 
					use dbus::blocking::Connection;
 | 
				
			||||||
use dbus::Error;
 | 
					use dbus::Error;
 | 
				
			||||||
use dbus::Path;
 | 
					use dbus::Path;
 | 
				
			||||||
 | 
					use re_set_lib::network::connection::Connection as ResetConnection;
 | 
				
			||||||
use std::collections::HashMap;
 | 
					use std::collections::HashMap;
 | 
				
			||||||
use std::time::Duration;
 | 
					use std::time::Duration;
 | 
				
			||||||
use ReSet_Lib::network::connection::Connection as ResetConnection;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[derive(Default, Copy, Clone)]
 | 
					#[derive(Default, Copy, Clone)]
 | 
				
			||||||
pub enum IpProtocol {
 | 
					pub enum IpProtocol {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,7 +9,7 @@ use adw::prelude::PreferencesRowExt;
 | 
				
			||||||
use glib::clone;
 | 
					use glib::clone;
 | 
				
			||||||
use glib::subclass::prelude::ObjectSubclassIsExt;
 | 
					use glib::subclass::prelude::ObjectSubclassIsExt;
 | 
				
			||||||
use gtk::prelude::{ButtonExt, EditableExt, WidgetExt};
 | 
					use gtk::prelude::{ButtonExt, EditableExt, WidgetExt};
 | 
				
			||||||
use ReSet_Lib::network::connection::{Address, Connection};
 | 
					use re_set_lib::network::connection::{Address, Connection};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use crate::components::wifi::utils::IpProtocol;
 | 
					use crate::components::wifi::utils::IpProtocol;
 | 
				
			||||||
use crate::components::wifi::wifi_address_entry_impl;
 | 
					use crate::components::wifi::wifi_address_entry_impl;
 | 
				
			||||||
| 
						 | 
					@ -71,7 +71,7 @@ impl WifiAddressEntry {
 | 
				
			||||||
                        IpProtocol::IPv4 => &mut conn.ipv4.address_data,
 | 
					                        IpProtocol::IPv4 => &mut conn.ipv4.address_data,
 | 
				
			||||||
                        IpProtocol::IPv6 => &mut conn.ipv6.address_data,
 | 
					                        IpProtocol::IPv6 => &mut conn.ipv6.address_data,
 | 
				
			||||||
                    };
 | 
					                    };
 | 
				
			||||||
                    address_data.push(Address::theBetterNew(ip_addr.to_string(), self_imp.prefix.get().1 as u32));
 | 
					                    address_data.push(Address::new_no_options(ip_addr.to_string(), self_imp.prefix.get().1 as u32));
 | 
				
			||||||
                    *self_imp.address.borrow_mut() = (true, ip_addr.to_string());
 | 
					                    *self_imp.address.borrow_mut() = (true, ip_addr.to_string());
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                Err(_) => {
 | 
					                Err(_) => {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,9 +18,9 @@ use glib::{clone, Cast, PropertySet};
 | 
				
			||||||
use gtk::glib::Variant;
 | 
					use gtk::glib::Variant;
 | 
				
			||||||
use gtk::prelude::{ActionableExt, WidgetExt};
 | 
					use gtk::prelude::{ActionableExt, WidgetExt};
 | 
				
			||||||
use gtk::{gio, StringObject};
 | 
					use gtk::{gio, StringObject};
 | 
				
			||||||
use ReSet_Lib::network::network::{AccessPoint, WifiDevice, WifiStrength};
 | 
					use re_set_lib::network::network_structures::{AccessPoint, WifiDevice, WifiStrength};
 | 
				
			||||||
use ReSet_Lib::signals::{AccessPointAdded, WifiDeviceChanged};
 | 
					use re_set_lib::signals::{AccessPointAdded, WifiDeviceChanged};
 | 
				
			||||||
use ReSet_Lib::signals::{AccessPointChanged, AccessPointRemoved};
 | 
					use re_set_lib::signals::{AccessPointChanged, AccessPointRemoved};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use crate::components::wifi::wifi_box_impl;
 | 
					use crate::components::wifi::wifi_box_impl;
 | 
				
			||||||
use crate::components::wifi::wifi_entry::WifiEntry;
 | 
					use crate::components::wifi::wifi_entry::WifiEntry;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,10 +4,10 @@ use dbus::Path;
 | 
				
			||||||
use gtk::subclass::prelude::*;
 | 
					use gtk::subclass::prelude::*;
 | 
				
			||||||
use gtk::{glib, CompositeTemplate, Switch};
 | 
					use gtk::{glib, CompositeTemplate, Switch};
 | 
				
			||||||
use gtk::{prelude::*, StringList};
 | 
					use gtk::{prelude::*, StringList};
 | 
				
			||||||
 | 
					use re_set_lib::network::network_structures::WifiDevice;
 | 
				
			||||||
use std::cell::RefCell;
 | 
					use std::cell::RefCell;
 | 
				
			||||||
use std::collections::HashMap;
 | 
					use std::collections::HashMap;
 | 
				
			||||||
use std::sync::{Arc, Mutex, RwLock};
 | 
					use std::sync::{Arc, Mutex, RwLock};
 | 
				
			||||||
use ReSet_Lib::network::network::WifiDevice;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
use crate::components::base::list_entry::ListEntry;
 | 
					use crate::components::base::list_entry::ListEntry;
 | 
				
			||||||
use crate::components::wifi::wifi_entry::WifiEntry;
 | 
					use crate::components::wifi::wifi_entry::WifiEntry;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,7 +11,7 @@ use dbus::Error;
 | 
				
			||||||
use glib::clone;
 | 
					use glib::clone;
 | 
				
			||||||
use gtk::gio;
 | 
					use gtk::gio;
 | 
				
			||||||
use gtk::prelude::{ListBoxRowExt, WidgetExt};
 | 
					use gtk::prelude::{ListBoxRowExt, WidgetExt};
 | 
				
			||||||
use ReSet_Lib::network::network::{AccessPoint, WifiStrength};
 | 
					use re_set_lib::network::network_structures::{AccessPoint, WifiStrength};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use crate::components::wifi::wifi_box_impl::WifiBox;
 | 
					use crate::components::wifi::wifi_box_impl::WifiBox;
 | 
				
			||||||
use crate::components::wifi::wifi_entry_impl;
 | 
					use crate::components::wifi::wifi_entry_impl;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,8 +5,8 @@ use adw::subclass::prelude::ActionRowImpl;
 | 
				
			||||||
use adw::ActionRow;
 | 
					use adw::ActionRow;
 | 
				
			||||||
use gtk::subclass::prelude::*;
 | 
					use gtk::subclass::prelude::*;
 | 
				
			||||||
use gtk::{glib, Button, CompositeTemplate, Image, Label};
 | 
					use gtk::{glib, Button, CompositeTemplate, Image, Label};
 | 
				
			||||||
 | 
					use re_set_lib::network::network_structures::{AccessPoint, WifiStrength};
 | 
				
			||||||
use std::cell::RefCell;
 | 
					use std::cell::RefCell;
 | 
				
			||||||
use ReSet_Lib::network::network::{AccessPoint, WifiStrength};
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[derive(Default, CompositeTemplate)]
 | 
					#[derive(Default, CompositeTemplate)]
 | 
				
			||||||
#[template(resource = "/org/Xetibo/ReSet/resetWifiEntry.ui")]
 | 
					#[template(resource = "/org/Xetibo/ReSet/resetWifiEntry.ui")]
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,8 +11,8 @@ use dbus::arg::PropMap;
 | 
				
			||||||
use dbus::{Error, Path};
 | 
					use dbus::{Error, Path};
 | 
				
			||||||
use glib::{clone, PropertySet};
 | 
					use glib::{clone, PropertySet};
 | 
				
			||||||
use gtk::prelude::{ButtonExt, EditableExt, WidgetExt};
 | 
					use gtk::prelude::{ButtonExt, EditableExt, WidgetExt};
 | 
				
			||||||
 | 
					use re_set_lib::network::connection::{Connection, DNSMethod4, DNSMethod6, Enum, TypeSettings};
 | 
				
			||||||
use IpProtocol::{IPv4, IPv6};
 | 
					use IpProtocol::{IPv4, IPv6};
 | 
				
			||||||
use ReSet_Lib::network::connection::{Connection, DNSMethod4, DNSMethod6, Enum, TypeSettings};
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
use crate::components::wifi::utils::IpProtocol;
 | 
					use crate::components::wifi::utils::IpProtocol;
 | 
				
			||||||
use crate::components::wifi::wifi_address_entry::WifiAddressEntry;
 | 
					use crate::components::wifi::wifi_address_entry::WifiAddressEntry;
 | 
				
			||||||
| 
						 | 
					@ -65,7 +65,9 @@ impl WifiOptions {
 | 
				
			||||||
                    self_imp.reset_wifi_dns.set_visible(false);
 | 
					                    self_imp.reset_wifi_dns.set_visible(false);
 | 
				
			||||||
                    self_imp.reset_wifi_gateway.set_visible(false);
 | 
					                    self_imp.reset_wifi_gateway.set_visible(false);
 | 
				
			||||||
                    self_imp.reset_wifi_last_used.set_visible(true);
 | 
					                    self_imp.reset_wifi_last_used.set_visible(true);
 | 
				
			||||||
                    self_imp.reset_wifi_mac.set_subtitle(&wifi.cloned_mac_address);
 | 
					                    self_imp
 | 
				
			||||||
 | 
					                        .reset_wifi_mac
 | 
				
			||||||
 | 
					                        .set_subtitle(&wifi.cloned_mac_address);
 | 
				
			||||||
                    self_imp
 | 
					                    self_imp
 | 
				
			||||||
                        .reset_wifi_name
 | 
					                        .reset_wifi_name
 | 
				
			||||||
                        .set_subtitle(&String::from_utf8(wifi.ssid.clone()).unwrap_or_default());
 | 
					                        .set_subtitle(&String::from_utf8(wifi.ssid.clone()).unwrap_or_default());
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,9 +5,9 @@ use adw::{
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
use gtk::subclass::prelude::*;
 | 
					use gtk::subclass::prelude::*;
 | 
				
			||||||
use gtk::{glib, Button, CompositeTemplate};
 | 
					use gtk::{glib, Button, CompositeTemplate};
 | 
				
			||||||
 | 
					use re_set_lib::network::connection::Connection;
 | 
				
			||||||
use std::cell::RefCell;
 | 
					use std::cell::RefCell;
 | 
				
			||||||
use std::rc::Rc;
 | 
					use std::rc::Rc;
 | 
				
			||||||
use ReSet_Lib::network::connection::Connection;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[derive(Default, CompositeTemplate)]
 | 
					#[derive(Default, CompositeTemplate)]
 | 
				
			||||||
#[template(resource = "/org/Xetibo/ReSet/resetWifiOptions.ui")]
 | 
					#[template(resource = "/org/Xetibo/ReSet/resetWifiOptions.ui")]
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,11 +5,11 @@ use adw::prelude::{ExpanderRowExt, PreferencesRowExt};
 | 
				
			||||||
use glib::clone;
 | 
					use glib::clone;
 | 
				
			||||||
use glib::subclass::prelude::ObjectSubclassIsExt;
 | 
					use glib::subclass::prelude::ObjectSubclassIsExt;
 | 
				
			||||||
use gtk::prelude::{EditableExt, WidgetExt};
 | 
					use gtk::prelude::{EditableExt, WidgetExt};
 | 
				
			||||||
 | 
					use re_set_lib::network::connection::{Address, Connection};
 | 
				
			||||||
use std::cell::RefCell;
 | 
					use std::cell::RefCell;
 | 
				
			||||||
use std::net::{IpAddr, Ipv4Addr, Ipv6Addr};
 | 
					use std::net::{IpAddr, Ipv4Addr, Ipv6Addr};
 | 
				
			||||||
use std::rc::Rc;
 | 
					use std::rc::Rc;
 | 
				
			||||||
use std::str::FromStr;
 | 
					use std::str::FromStr;
 | 
				
			||||||
use ReSet_Lib::network::connection::{Address, Connection};
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
use crate::components::wifi::wifi_route_entry_impl;
 | 
					use crate::components::wifi::wifi_route_entry_impl;
 | 
				
			||||||
use crate::components::wifi::wifi_route_entry_impl::WifiRouteEntryImpl;
 | 
					use crate::components::wifi::wifi_route_entry_impl::WifiRouteEntryImpl;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
use adw::glib::clone;
 | 
					use adw::glib::clone;
 | 
				
			||||||
use adw::subclass::prelude::ObjectSubclassIsExt;
 | 
					use adw::subclass::prelude::ObjectSubclassIsExt;
 | 
				
			||||||
use adw::{ApplicationWindow, BreakpointCondition};
 | 
					use adw::BreakpointCondition;
 | 
				
			||||||
use glib::{closure_local, Object};
 | 
					use glib::Object;
 | 
				
			||||||
use gtk::prelude::*;
 | 
					use gtk::prelude::*;
 | 
				
			||||||
use gtk::{gio, glib, Application, ListBoxRow, Orientation};
 | 
					use gtk::{gio, glib, Application, ListBoxRow, Orientation};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -85,8 +85,8 @@ impl WidgetImpl for ReSetWindow {
 | 
				
			||||||
            self.reset_main.set_margin_start(100);
 | 
					            self.reset_main.set_margin_start(100);
 | 
				
			||||||
            self.reset_main.set_margin_end(100);
 | 
					            self.reset_main.set_margin_end(100);
 | 
				
			||||||
        } else if width > 600 {
 | 
					        } else if width > 600 {
 | 
				
			||||||
            self.reset_main.set_margin_start((width - 600)/2);
 | 
					            self.reset_main.set_margin_start((width - 600) / 2);
 | 
				
			||||||
            self.reset_main.set_margin_end((width - 600)/2);
 | 
					            self.reset_main.set_margin_end((width - 600) / 2);
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            self.reset_main.set_margin_start(0);
 | 
					            self.reset_main.set_margin_start(0);
 | 
				
			||||||
            self.reset_main.set_margin_end(0);
 | 
					            self.reset_main.set_margin_end(0);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue