mirror of
https://github.com/Rafostar/clapper.git
synced 2025-09-01 00:41:58 +02:00
Add "addButton" convenience function
This commit is contained in:
50
clapper_src/controls.js
vendored
50
clapper_src/controls.js
vendored
@@ -6,17 +6,18 @@ class ClapperControls extends Gtk.HBox
|
|||||||
_init()
|
_init()
|
||||||
{
|
{
|
||||||
super._init({
|
super._init({
|
||||||
margin_top: 4,
|
margin: 4,
|
||||||
margin_bottom: 4
|
spacing: 4,
|
||||||
});
|
});
|
||||||
|
|
||||||
this.togglePlayButton = Gtk.Button.new_from_icon_name(
|
this.togglePlayButton = this.addButton(
|
||||||
'media-playback-pause-symbolic',
|
'media-playback-pause-symbolic',
|
||||||
Gtk.IconSize.LARGE_TOOLBAR
|
Gtk.IconSize.LARGE_TOOLBAR
|
||||||
);
|
);
|
||||||
this.pauseButton = Gtk.Button.new_from_icon_name(
|
this.pauseButton = this.addButton(
|
||||||
'media-playback-start-symbolic',
|
'media-playback-start-symbolic',
|
||||||
Gtk.IconSize.LARGE_TOOLBAR
|
Gtk.IconSize.LARGE_TOOLBAR,
|
||||||
|
true
|
||||||
);
|
);
|
||||||
this.playImage = this.pauseButton.image;
|
this.playImage = this.pauseButton.image;
|
||||||
this.pauseImage = this.togglePlayButton.image;
|
this.pauseImage = this.togglePlayButton.image;
|
||||||
@@ -27,6 +28,7 @@ class ClapperControls extends Gtk.HBox
|
|||||||
draw_value: false
|
draw_value: false
|
||||||
});
|
});
|
||||||
this.positionAdjustment = this.positionScale.get_adjustment();
|
this.positionAdjustment = this.positionScale.get_adjustment();
|
||||||
|
this.pack_start(this.positionScale, true, true, 0);
|
||||||
|
|
||||||
this.volumeButton = new Gtk.ScaleButton({
|
this.volumeButton = new Gtk.ScaleButton({
|
||||||
icons: [
|
icons: [
|
||||||
@@ -44,22 +46,41 @@ class ClapperControls extends Gtk.HBox
|
|||||||
this.volumeButtonImage = this.volumeButton.get_child();
|
this.volumeButtonImage = this.volumeButton.get_child();
|
||||||
this.volumeAdjustment = this.volumeButton.get_adjustment();
|
this.volumeAdjustment = this.volumeButton.get_adjustment();
|
||||||
this._prepareVolumeButton();
|
this._prepareVolumeButton();
|
||||||
|
this.pack_start(this.volumeButton, false, false, 0);
|
||||||
|
|
||||||
this.toggleFullscreenButton = Gtk.Button.new_from_icon_name(
|
this.toggleFullscreenButton = this.addButton(
|
||||||
'view-fullscreen-symbolic',
|
'view-fullscreen-symbolic'
|
||||||
Gtk.IconSize.SMALL_TOOLBAR
|
|
||||||
);
|
);
|
||||||
this.unfullscreenButton = Gtk.Button.new_from_icon_name(
|
this.unfullscreenButton = this.addButton(
|
||||||
'view-restore-symbolic',
|
'view-restore-symbolic',
|
||||||
Gtk.IconSize.SMALL_TOOLBAR
|
Gtk.IconSize.SMALL_TOOLBAR,
|
||||||
|
true
|
||||||
);
|
);
|
||||||
this.fullscreenImage = this.toggleFullscreenButton.image;
|
this.fullscreenImage = this.toggleFullscreenButton.image;
|
||||||
this.unfullscreenImage = this.unfullscreenButton.image;
|
this.unfullscreenImage = this.unfullscreenButton.image;
|
||||||
|
|
||||||
this.pack_start(this.togglePlayButton, false, false, 4);
|
this.forall(this.setDefaultWidgetBehaviour);
|
||||||
this.pack_start(this.positionScale, true, true, 0);
|
}
|
||||||
this.pack_start(this.volumeButton, false, false, 0);
|
|
||||||
this.pack_start(this.toggleFullscreenButton, false, false, 4);
|
addButton(iconName, size, noPack)
|
||||||
|
{
|
||||||
|
size = size || Gtk.IconSize.SMALL_TOOLBAR;
|
||||||
|
|
||||||
|
let button = Gtk.Button.new_from_icon_name(iconName, size);
|
||||||
|
this.setDefaultWidgetBehaviour(button);
|
||||||
|
|
||||||
|
if(!noPack) {
|
||||||
|
this.pack_start(button, false, false, 0);
|
||||||
|
button.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
return button;
|
||||||
|
}
|
||||||
|
|
||||||
|
setDefaultWidgetBehaviour(widget)
|
||||||
|
{
|
||||||
|
widget.can_focus = false;
|
||||||
|
widget.can_default = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
_prepareVolumeButton()
|
_prepareVolumeButton()
|
||||||
@@ -78,6 +99,7 @@ class ClapperControls extends Gtk.HBox
|
|||||||
child.destroy();
|
child.destroy();
|
||||||
}
|
}
|
||||||
else if(child.constructor === Gtk.Scale) {
|
else if(child.constructor === Gtk.Scale) {
|
||||||
|
this.setDefaultWidgetBehaviour(child);
|
||||||
child.height_request = 200;
|
child.height_request = 200;
|
||||||
child.round_digits = 2;
|
child.round_digits = 2;
|
||||||
child.add_mark(0, Gtk.PositionType.LEFT, '0%');
|
child.add_mark(0, Gtk.PositionType.LEFT, '0%');
|
||||||
|
Reference in New Issue
Block a user