diff --git a/gm-control-panel/Cargo.toml b/gm-control-panel/Cargo.toml index 78e355a..81029d6 100644 --- a/gm-control-panel/Cargo.toml +++ b/gm-control-panel/Cargo.toml @@ -13,7 +13,7 @@ futures = { version = "0.3" } gio = { version = "0.17" } glib = { version = "0.17" } gdk = { version = "0.6", package = "gdk4" } -gtk = { version = "0.6", package = "gtk4" } +gtk = { version = "0.6", package = "gtk4", features = [ "v4_6" ] } serde = { version = "1" } serde_json = { version = "*" } tokio = { version = "1", features = ["full"] } diff --git a/gm-control-panel/resources/style.css b/gm-control-panel/resources/style.css index 02761c3..32b6d6a 100644 --- a/gm-control-panel/resources/style.css +++ b/gm-control-panel/resources/style.css @@ -1,4 +1,6 @@ .playlist-card { margin: 8px; padding: 8px; + min-width: 100px; + min-height: 100px; } diff --git a/gm-control-panel/src/app_window.rs b/gm-control-panel/src/app_window.rs index 5bee12b..26574f2 100644 --- a/gm-control-panel/src/app_window.rs +++ b/gm-control-panel/src/app_window.rs @@ -7,7 +7,7 @@ use std::iter::Iterator; #[derive(Clone)] pub struct ApplicationWindow { pub window: adw::ApplicationWindow, - pub grid: gtk::Grid, + pub layout: gtk::FlowBox, pub playlists: Vec, } @@ -16,6 +16,7 @@ impl ApplicationWindow { let window = adw::ApplicationWindow::builder() .application(app) .title("GM-control-panel") + .width_request(500) .build(); let stylesheet = String::from_utf8( @@ -33,7 +34,7 @@ impl ApplicationWindow { let context = window.style_context(); context.add_provider(&provider, STYLE_PROVIDER_PRIORITY_USER); - let grid = gtk::Grid::new(); + let layout = gtk::FlowBox::new(); let playlists: Vec = vec![ "Creepy Cathedral", @@ -50,15 +51,13 @@ impl ApplicationWindow { }) .collect(); - playlists.iter().enumerate().for_each(|(i, card)| { - grid.attach(card, 0, i as i32, 1, 1); - }); + playlists.iter().for_each(|card| layout.append(card)); - window.set_content(Some(&grid)); + window.set_content(Some(&layout)); Self { window, - grid, + layout, playlists, } } diff --git a/gm-control-panel/src/playlist_card.rs b/gm-control-panel/src/playlist_card.rs index 4b1939b..d1d0007 100644 --- a/gm-control-panel/src/playlist_card.rs +++ b/gm-control-panel/src/playlist_card.rs @@ -37,12 +37,6 @@ impl PlaylistCard { s.set_orientation(gtk::Orientation::Vertical); s.add_css_class("playlist-card"); s.add_css_class("card"); - /* - s.set_margin_start(8); - s.set_margin_end(8); - s.set_margin_top(8); - s.set_margin_bottom(8); - */ s.append(&s.imp().name); s.append(&s.imp().playing);