diff --git a/src/main.rs b/src/main.rs
index 5968362..532bb95 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,4 +1,5 @@
mod window;
+mod wifi;
use gtk::prelude::*;
use gtk::{Application, gio};
@@ -10,20 +11,16 @@ fn main() {
gio::resources_register_include!("src.templates.gresource")
.expect("Failed to register resources.");
- // Create a new application
let app = Application::builder()
.application_id(APP_ID)
.build();
- // Connect to "activate" signal of `app`
- app.connect_activate(build_ui);
-
- // Run the application
+ app.connect_activate(buildUI);
app.run();
}
-fn build_ui(app: &Application) {
- // Create new window and present it
+#[allow(non_snake_case)]
+fn buildUI(app: &Application) {
let window = Window::new(app);
window.present();
}
\ No newline at end of file
diff --git a/src/resources/resetMainWindow.ui b/src/resources/resetMainWindow.ui
index 3eb7445..477ed13 100644
--- a/src/resources/resetMainWindow.ui
+++ b/src/resources/resetMainWindow.ui
@@ -1,7 +1,7 @@
-
+
@@ -15,197 +15,28 @@
ReSet
+
+
+
+ True
diff --git a/src/resources/resetUI.cmb b/src/resources/resetUI.cmb
index 073cbce..de233f9 100644
--- a/src/resources/resetUI.cmb
+++ b/src/resources/resetUI.cmb
@@ -2,11 +2,12 @@
- (3,None,None,"resetMainWindow",None,None,None,None,None,None,None),
- (4,None,None,"resetWiFi",None,None,None,None,None,None,None)
+ (3,1,None,"resetMainWindow",None,None,None,None,None,None,None),
+ (4,7,None,"resetWiFi",None,None,None,None,None,None,None),
+ (5,1,None,"resetWifiEntry",None,None,None,None,None,None,None)
- (3,1,"AdwApplicationWindow",None,None,None,None,None,-1,None),
+ (3,1,"AdwApplicationWindow","resetUI",None,None,None,None,-1,None),
(3,2,"GtkBox",None,1,None,None,None,-1,None),
(3,3,"AdwHeaderBar",None,2,None,None,None,None,None),
(3,5,"AdwWindowTitle",None,3,None,None,None,-1,None),
@@ -15,8 +16,8 @@
(3,8,"AdwNavigationPage",None,6,None,None,None,-1,None),
(3,73,"GtkViewport",None,7,None,None,None,-1,None),
(3,74,"GtkBox",None,73,None,None,None,None,None),
- (3,75,"GtkSearchEntry",None,74,None,None,None,None,None),
- (3,76,"GtkListBox",None,74,None,None,None,1,None),
+ (3,75,"GtkSearchEntry","resetSearchEntry",74,None,None,None,None,None),
+ (3,76,"GtkListBox","resetSidebarList",74,None,None,None,1,None),
(3,79,"GtkListBoxRow","resetWifi",76,None,None,None,1,None),
(3,81,"GtkListBoxRow","resetBluetooth",76,None,None,None,2,None),
(3,83,"GtkListBoxRow","resetVPN",76,None,None,None,3,None),
@@ -45,19 +46,26 @@
(3,111,"GtkBox",None,85,None,None,None,None,None),
(3,112,"GtkImage",None,111,None,None,None,None,None),
(3,113,"GtkLabel",None,111,None,None,None,1,None),
- (3,114,"GtkFlowBox","resetMainWindow",8,None,None,None,-1,None),
- (4,1,"GtkListBoxRow","resetWifiEntry",None,None,None,None,None,None),
- (4,2,"GtkBox",None,1,None,None,None,None,None),
- (4,3,"GtkImage","resetWifiStrength",2,None,None,None,None,None),
- (4,4,"GtkLabel","resetWifiLabel",2,None,None,None,1,None),
- (4,5,"GtkButton","resetWifiButton",2,None,None,None,2,None),
+ (3,115,"GtkLabel","test",3,None,None,None,-1,None),
+ (3,116,"GtkFlowBox","resetMain",8,None,None,None,-1,None),
(4,7,"GtkBox","resetWifi",None,None,None,None,None,None),
(4,8,"AdwClampScrollable",None,7,None,None,None,None,None),
(4,9,"GtkBox",None,8,None,None,None,None,None),
(4,10,"GtkLabel",None,9,None,None,None,None,None),
(4,11,"GtkListBox","resetWifiList",9,None,None,None,1,None),
(4,42,"GtkButton",None,7,None,None,None,1,None),
- (4,43,"AdwToast",None,None,None,None,None,-1,None)
+ (4,44,"resetWifiEntry",None,11,None,None,None,1,None),
+ (4,45,"resetWifiEntry",None,11,None,None,None,1,None),
+ (4,46,"resetWifiEntry",None,11,None,None,None,2,None),
+ (4,47,"resetWifiEntry",None,11,None,None,None,3,None),
+ (4,48,"resetWifiEntry",None,11,None,None,None,4,None),
+ (4,49,"resetWifiEntry",None,11,None,None,None,5,None),
+ (4,50,"resetWifiEntry",None,11,None,None,None,6,None),
+ (5,1,"GtkListBoxRow","resetWifiEntry",None,None,None,None,None,None),
+ (5,2,"GtkBox",None,1,None,None,None,None,None),
+ (5,3,"GtkImage","resetWifiStrength",2,None,None,None,None,None),
+ (5,4,"GtkLabel","resetWifiLabel",2,None,None,None,1,None),
+ (5,5,"GtkButton","resetWifiButton",2,None,None,None,2,None)
(3,2,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
@@ -66,8 +74,8 @@
(3,5,"AdwWindowTitle","title","ReSet",None,None,None,None,None,None,None,None,None),
(3,6,"AdwNavigationSplitView","content",None,None,None,None,None,8,None,None,None,None),
(3,6,"AdwNavigationSplitView","sidebar",None,None,None,None,None,7,None,None,None,None),
+ (3,6,"GtkWidget","vexpand","True",None,None,None,None,None,None,None,None,None),
(3,7,"AdwNavigationPage","child",None,None,None,None,None,73,None,None,None,None),
- (3,8,"AdwNavigationPage","child",None,None,None,None,None,114,None,None,None,None),
(3,8,"GtkWidget","margin-bottom","20",None,None,None,None,None,None,None,None,None),
(3,8,"GtkWidget","margin-end","20",None,None,None,None,None,None,None,None,None),
(3,8,"GtkWidget","margin-start","20",None,None,None,None,None,None,None,None,None),
@@ -122,23 +130,37 @@
(3,112,"GtkImage","icon-name","audio-headset-symbolic",None,None,None,None,None,None,None,None,None),
(3,112,"GtkWidget","margin-end","10",None,None,None,None,None,None,None,None,None),
(3,113,"GtkLabel","label","Audio",None,None,None,None,None,None,None,None,None),
- (4,3,"GtkImage","icon-name","network-wireless-symbolic",None,None,None,None,None,None,None,None,None),
- (4,3,"GtkWidget","margin-end","15",None,None,None,None,None,None,None,None,None),
- (4,4,"GtkLabel","label","LoremIpsumInternet",None,None,None,None,None,None,None,None,None),
- (4,4,"GtkLabel","xalign","0.0",None,None,None,None,None,None,None,None,None),
- (4,4,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
- (4,5,"GtkButton","icon-name","emblem-system-symbolic",None,None,None,None,None,None,None,None,None),
- (4,5,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
- (4,5,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
+ (3,116,"GtkFlowBox","column-spacing","25",None,None,None,None,None,None,None,None,None),
+ (3,116,"GtkFlowBox","homogeneous","True",None,None,None,None,None,None,None,None,None),
+ (3,116,"GtkFlowBox","row-spacing","25",None,None,None,None,None,None,None,None,None),
+ (3,116,"GtkFlowBox","selection-mode","none",None,None,None,None,None,None,None,None,None),
+ (3,116,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
(4,7,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
+ (4,7,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
+ (4,7,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
+ (4,8,"AdwClampScrollable","maximum-size","0",None,None,None,None,None,None,None,None,None),
(4,8,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(4,9,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
+ (4,9,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
(4,10,"GtkLabel","justify","right",None,None,None,None,None,None,None,None,None),
(4,10,"GtkLabel","label","Available networks",None,None,None,None,None,None,None,None,None),
(4,10,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
+ (4,11,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
(4,42,"GtkButton","label","Advanced",None,None,None,None,None,None,None,None,None),
(4,42,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
- (4,42,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None)
+ (4,42,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
+ (5,3,"GtkImage","icon-name","network-wireless-symbolic",None,None,None,None,None,None,None,None,None),
+ (5,3,"GtkWidget","margin-end","15",None,None,None,None,None,None,None,None,None),
+ (5,4,"GtkLabel","ellipsize","end",None,None,None,None,None,None,None,None,None),
+ (5,4,"GtkLabel","label","LoremIpsumInternet",None,None,None,None,None,None,None,None,None),
+ (5,4,"GtkLabel","single-line-mode","True",None,None,None,None,None,None,None,None,None),
+ (5,4,"GtkLabel","xalign","0.0",None,None,None,None,None,None,None,None,None),
+ (5,4,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
+ (5,4,"GtkWidget","margin-end","10",None,None,None,None,None,None,None,None,None),
+ (5,4,"GtkWidget","width-request","200",None,None,None,None,None,None,None,None,None),
+ (5,5,"GtkButton","icon-name","emblem-system-symbolic",None,None,None,None,None,None,None,None,None),
+ (5,5,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
+ (5,5,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None)
(3,76,"GtkWidget",2,2,None,1,None,None,None,None),
diff --git a/src/resources/resetWiFi.ui b/src/resources/resetWiFi.ui
index 3112867..39d0336 100644
--- a/src/resources/resetWiFi.ui
+++ b/src/resources/resetWiFi.ui
@@ -1,40 +1,20 @@
-
-
-
-
-
- network-wireless-symbolic
- 15
-
-
-
-
- True
- LoremIpsumInternet
- 0.0
-
-
-
-
- start
- emblem-system-symbolic
- center
-
-
-
-
-
-
+
+
+
+ start
vertical
+ start
+ 0
vertical
vertical
+ start
start
@@ -43,7 +23,30 @@
-
+
+ start
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -56,6 +59,5 @@
start
-
-
+
diff --git a/src/resources/resetWifiEntry.ui b/src/resources/resetWifiEntry.ui
new file mode 100644
index 0000000..1f1c503
--- /dev/null
+++ b/src/resources/resetWifiEntry.ui
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+ network-wireless-symbolic
+ 15
+
+
+
+
+ end
+ True
+ LoremIpsumInternet
+ 10
+ True
+ 200
+ 0.0
+
+
+
+
+ start
+ emblem-system-symbolic
+ center
+
+
+
+
+
+
diff --git a/src/resources/resources.gresource.xml b/src/resources/resources.gresource.xml
index 26a1a8f..36eb403 100644
--- a/src/resources/resources.gresource.xml
+++ b/src/resources/resources.gresource.xml
@@ -1,7 +1,8 @@
+ resetWifiEntry.ui
+ resetWiFi.ui
resetMainWindow.ui
-
diff --git a/src/wifi/mod.rs b/src/wifi/mod.rs
new file mode 100644
index 0000000..794b6ab
--- /dev/null
+++ b/src/wifi/mod.rs
@@ -0,0 +1,33 @@
+#![allow(non_snake_case)]
+
+mod wifiBox;
+mod wifiEntry;
+
+use adw::glib::Object;
+use gtk::{glib};
+use gtk::prelude::WidgetExt;
+use gtk::subclass::prelude::*;
+
+glib::wrapper! {
+ pub struct WifiBox(ObjectSubclass)
+ @extends gtk::Box, gtk::Widget,
+ @implements gtk::Accessible, gtk::Buildable, gtk::ConstraintTarget, gtk::Orientable;
+}
+
+glib::wrapper! {
+ pub struct WifiEntry(ObjectSubclass)
+ @extends gtk::Widget,
+ @implements gtk::Accessible, gtk::Buildable, gtk::Actionable, gtk::ConstraintTarget;
+}
+
+impl WifiBox {
+ pub fn new() -> Self {
+ Object::builder().build()
+ }
+}
+
+impl WifiEntry {
+ fn onClick(&self) {
+ self.imp().resetWifiButton.set_tooltip_text(Option::from("asd"));
+ }
+}
\ No newline at end of file
diff --git a/src/wifi/wifiBox.rs b/src/wifi/wifiBox.rs
new file mode 100644
index 0000000..416bd51
--- /dev/null
+++ b/src/wifi/wifiBox.rs
@@ -0,0 +1,43 @@
+use gtk::{CompositeTemplate, glib, ListBox};
+use gtk::prelude::*;
+use gtk::subclass::prelude::*;
+use crate::wifi::WifiEntry;
+
+
+#[allow(non_snake_case)]
+#[derive(Default, CompositeTemplate)]
+#[template(resource = "/org/xetibo/reset/resetWiFi.ui")]
+pub struct WifiBox {
+ #[template_child]
+ pub resetWifiList: TemplateChild,
+}
+
+#[glib::object_subclass]
+impl ObjectSubclass for WifiBox {
+ const NAME: &'static str = "resetWifi";
+ type Type = super::WifiBox;
+ type ParentType = gtk::Box;
+
+ fn class_init(klass: &mut Self::Class) {
+ WifiEntry::ensure_type();
+ klass.bind_template();
+ }
+
+ fn instance_init(obj: &glib::subclass::InitializingObject) {
+ obj.init_template();
+ }
+}
+
+impl ObjectImpl for WifiBox {
+ fn constructed(&self) {
+ self.parent_constructed();
+ }
+}
+
+impl BoxImpl for WifiBox {}
+
+impl WidgetImpl for WifiBox {}
+
+impl WindowImpl for WifiBox {}
+
+impl ApplicationWindowImpl for WifiBox {}
diff --git a/src/wifi/wifiEntry.rs b/src/wifi/wifiEntry.rs
new file mode 100644
index 0000000..8bf60cd
--- /dev/null
+++ b/src/wifi/wifiEntry.rs
@@ -0,0 +1,39 @@
+use gtk::{Button, CompositeTemplate, glib};
+use gtk::subclass::prelude::*;
+
+#[allow(non_snake_case)]
+#[derive(Default, CompositeTemplate)]
+#[template(resource = "/org/xetibo/reset/resetWifiEntry.ui")]
+pub struct WifiEntry {
+ #[template_child]
+ pub resetWifiButton: TemplateChild