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;
|
visible: true;
|
||||||
focus-on-click: false;
|
focus-on-click: false;
|
||||||
|
|
||||||
Image {
|
Image pause_img {
|
||||||
valign: center;
|
valign: center;
|
||||||
halign: center;
|
halign: center;
|
||||||
visible: true;
|
visible: true;
|
||||||
|
|
|
@ -23,7 +23,8 @@ public class MediaPlayer.Player : Gtk.Box {
|
||||||
private unowned Gtk.Button back;
|
private unowned Gtk.Button back;
|
||||||
[GtkChild]
|
[GtkChild]
|
||||||
private unowned Gtk.Button next;
|
private unowned Gtk.Button next;
|
||||||
|
[GtkChild]
|
||||||
|
private unowned Gtk.Image pause_img;
|
||||||
private string id = Uuid.string_random ();
|
private string id = Uuid.string_random ();
|
||||||
private Gtk.CssProvider css_provider = new Gtk.CssProvider ();
|
private Gtk.CssProvider css_provider = new Gtk.CssProvider ();
|
||||||
construct {
|
construct {
|
||||||
|
@ -147,66 +148,25 @@ public class MediaPlayer.Player : Gtk.Box {
|
||||||
return pixbuff;
|
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) {
|
public void bind_to_player (Gtk.Box player) {
|
||||||
player.bind_property ("visible", this, "visible", BindingFlags.SYNC_CREATE);
|
player.bind_property ("visible", this, "visible", BindingFlags.SYNC_CREATE);
|
||||||
foreach (var child in player.get_children ()) {
|
// Buttons
|
||||||
switch (child.get_name ()) {
|
var play_btn = (Gtk.Button) Utils.find_widget_by_css_name (player, "btn_play");
|
||||||
case "btn_details":
|
pause.clicked.connect (() => play_btn.clicked ());
|
||||||
bind_to_info_btn (((Gtk.Button) child).get_child () as Gtk.Box);
|
var play_img = (Gtk.Image) Utils.find_widget_by_css_name (player, "img_play");
|
||||||
break;
|
play_img.bind_property ("icon-name", pause_img, "icon-name", BindingFlags.SYNC_CREATE);
|
||||||
case "box_pos_len":
|
var prev_btn = (Gtk.Button) Utils.find_widget_by_css_name (player, "btn_prev");
|
||||||
bind_to_duration_box (child as Gtk.Box);
|
back.clicked.connect (() => prev_btn.clicked ());
|
||||||
break;
|
var next_btn = (Gtk.Button) Utils.find_widget_by_css_name (player, "btn_next");
|
||||||
default:
|
next.clicked.connect (() => next_btn.clicked ());
|
||||||
bind_to_control_box (child as Gtk.Box);
|
// Labels
|
||||||
break;
|
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 {
|
.nekoplayer image {
|
||||||
padding: 10px;
|
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);
|
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) {
|
public int get_box_position (Gtk.Box box, Gtk.Widget child) {
|
||||||
var i = 0;
|
var i = 0;
|
||||||
foreach (var _child in box.get_children ()) {
|
foreach (var _child in box.get_children ()) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue