diff --git a/clapper_src/controls.js b/clapper_src/controls.js index d86a4cc3..dc368ffd 100644 --- a/clapper_src/controls.js +++ b/clapper_src/controls.js @@ -220,10 +220,14 @@ var Controls = GObject.registerClass({ this.volumeButton = this.addPopoverButton( 'audio-volume-muted-symbolic' ); - //this.volumeButton.add_events(Gdk.EventMask.SCROLL_MASK); - //this.volumeButton.connect( - // 'scroll-event', (self, event) => this._onScrollEvent(event) - //); + let scrollController = new Gtk.EventControllerScroll(); + scrollController.set_flags( + Gtk.EventControllerScrollFlags.VERTICAL + | Gtk.EventControllerScrollFlags.DISCRETE + ); + scrollController.connect('scroll', this._onScroll.bind(this)); + this.volumeButton.add_controller(scrollController); + this.volumeScale = new Gtk.Scale({ orientation: Gtk.Orientation.VERTICAL, inverted: true, @@ -318,28 +322,15 @@ var Controls = GObject.registerClass({ this[`${name}Button`].hide(); } - _onScrollEvent(event) + _onScroll(controller, dx, dy) { - let [res, direction] = event.get_scroll_direction(); - if(!res) return; + let isVertical = Math.abs(dy) >= Math.abs(dx); + let isIncrease = (isVertical) ? dy < 0 : dx < 0; + let type = (isVertical) ? 'volume' : 'position'; - let type = 'volume'; + this.handleScaleIncrement(type, isIncrease); - switch(direction) { - case Gdk.ScrollDirection.RIGHT: - case Gdk.ScrollDirection.LEFT: - type = 'position'; - case Gdk.ScrollDirection.UP: - case Gdk.ScrollDirection.DOWN: - let isUp = ( - direction === Gdk.ScrollDirection.UP - || direction === Gdk.ScrollDirection.RIGHT - ); - this.handleScaleIncrement(type, isUp); - break; - default: - break; - } + return true; } _onDestroy() diff --git a/clapper_src/headerbar.js b/clapper_src/headerbar.js index 017b4ab4..2fdbffa2 100644 --- a/clapper_src/headerbar.js +++ b/clapper_src/headerbar.js @@ -20,8 +20,9 @@ class ClapperHeaderBar extends Gtk.HeaderBar let subtitle = mediaInfo.get_uri() || null; if(subtitle && subtitle.startsWith('file://')) { - subtitle = GLib.filename_from_uri(subtitle)[0]; - subtitle = GLib.path_get_basename(subtitle); + subtitle = GLib.path_get_basename( + GLib.filename_from_uri(subtitle)[0] + ); } if(!title) {