Prettify code

Signed-off-by: Vasiliy Doylov <nekocwd@mainlining.org>
This commit is contained in:
Vasiliy Doylov 2025-07-10 23:52:27 +03:00
parent 562ec9e94d
commit c81720a377
4 changed files with 25 additions and 66 deletions

View file

@ -75,7 +75,7 @@ template $MediaPlayerPlayer: Box {
visible: true;
focus-on-click: false;
Image {
Image pause_img {
valign: center;
halign: center;
visible: true;

View file

@ -23,7 +23,8 @@ public class MediaPlayer.Player : Gtk.Box {
private unowned Gtk.Button back;
[GtkChild]
private unowned Gtk.Button next;
[GtkChild]
private unowned Gtk.Image pause_img;
private string id = Uuid.string_random ();
private Gtk.CssProvider css_provider = new Gtk.CssProvider ();
construct {
@ -147,66 +148,25 @@ public class MediaPlayer.Player : Gtk.Box {
return pixbuff;
}
private void bind_to_info_btn (Gtk.Box box) {
foreach (var child in box.get_children ()) {
switch (child.get_name ()) {
case "img_art" :
child.notify["gicon"].connect (() => process_icon.begin (((Gtk.Image) child).gicon));
child.notify_property ("gicon");
break;
default :
foreach (var child2 in ((Gtk.Box) child).get_children ()) {
switch (child2.get_name ()) {
case "lbl_artist" :
child2.bind_property ("label", artist, "label", BindingFlags.SYNC_CREATE);
break;
case "lbl_title":
child2.bind_property ("label", title, "label", BindingFlags.SYNC_CREATE);
break;
default:
break;
}
}
break;
}
}
}
private void bind_to_control_box (Gtk.Box box) {
foreach (var child in box.get_children ()) {
switch (child.get_name ()) {
case "btn_play":
pause.clicked.connect (() => ((Gtk.Button) child).clicked ());
break;
case "btn_prev":
back.clicked.connect (() => ((Gtk.Button) child).clicked ());
break;
case "btn_next":
next.clicked.connect (() => ((Gtk.Button) child).clicked ());
break;
default:
break;
}
}
}
private void bind_to_duration_box (Gtk.Box box) {
}
public void bind_to_player (Gtk.Box player) {
player.bind_property ("visible", this, "visible", BindingFlags.SYNC_CREATE);
foreach (var child in player.get_children ()) {
switch (child.get_name ()) {
case "btn_details":
bind_to_info_btn (((Gtk.Button) child).get_child () as Gtk.Box);
break;
case "box_pos_len":
bind_to_duration_box (child as Gtk.Box);
break;
default:
bind_to_control_box (child as Gtk.Box);
break;
}
}
// Buttons
var play_btn = (Gtk.Button) Utils.find_widget_by_css_name (player, "btn_play");
pause.clicked.connect (() => play_btn.clicked ());
var play_img = (Gtk.Image) Utils.find_widget_by_css_name (player, "img_play");
play_img.bind_property ("icon-name", pause_img, "icon-name", BindingFlags.SYNC_CREATE);
var prev_btn = (Gtk.Button) Utils.find_widget_by_css_name (player, "btn_prev");
back.clicked.connect (() => prev_btn.clicked ());
var next_btn = (Gtk.Button) Utils.find_widget_by_css_name (player, "btn_next");
next.clicked.connect (() => next_btn.clicked ());
// Labels
var _title = (Gtk.Label) Utils.find_widget_by_css_name (player, "lbl_title");
_title.bind_property ("label", title, "label", BindingFlags.SYNC_CREATE);
var _artist = (Gtk.Label) Utils.find_widget_by_css_name (player, "lbl_artist");
_artist.bind_property ("label", artist, "label", BindingFlags.SYNC_CREATE);
// Image
var _image = (Gtk.Image) Utils.find_widget_by_css_name (player, "img_art");
_image.notify["gicon"].connect (() => process_icon.begin (_image.gicon));
_image.notify_property ("gicon");
}
}

View file

@ -21,8 +21,3 @@
.nekoplayer image {
padding: 10px;
}
#top-bar-bin {
background-color: rgba(255, 0, 0, 0.5);
padding-top: 100px;
}

View file

@ -19,6 +19,10 @@ namespace Utils {
return find_widget (widget, (w) => w.name == name);
}
public Gtk.Widget ? find_widget_by_css_name (Gtk.Widget widget, string name) {
return find_widget (widget, (w) => w.get_name () == name);
}
public int get_box_position (Gtk.Box box, Gtk.Widget child) {
var i = 0;
foreach (var _child in box.get_children ()) {