Prettify code
Signed-off-by: Vasiliy Doylov <nekocwd@mainlining.org>
This commit is contained in:
parent
562ec9e94d
commit
c81720a377
4 changed files with 25 additions and 66 deletions
|
@ -75,7 +75,7 @@ template $MediaPlayerPlayer: Box {
|
|||
visible: true;
|
||||
focus-on-click: false;
|
||||
|
||||
Image {
|
||||
Image pause_img {
|
||||
valign: center;
|
||||
halign: center;
|
||||
visible: true;
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,8 +21,3 @@
|
|||
.nekoplayer image {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
#top-bar-bin {
|
||||
background-color: rgba(255, 0, 0, 0.5);
|
||||
padding-top: 100px;
|
||||
}
|
||||
|
|
|
@ -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 ()) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue