Sha256: fa651b6506f650626ca910272e7be378544f53ddde72522bc8fbb59f1bc62a6c

Contents?: true

Size: 956 Bytes

Versions: 2

Compression:

Stored size: 956 Bytes

Contents

# Volay module
module Volay
  # Widgets components
  module Widget
    # Events class
    class VolumeControl < Events
      ##
      # When system tray window is showed
      #
      def on_system_tray_window_show
        @app.get_object('volume_adjustement')
            .value = @app.mixer.percent
        @app.utils.update_status_icon
      end

      ##
      # When slider have its adjustement value changed
      #
      def on_volume_adjustement_value_changed(widget)
        Thread.new do
          @app.mixer.value = widget.value
          @app.utils.update_status_icon
        end
      end

      ##
      # When mute toggle image is clicked
      #
      def on_toggle_mute_toggled(widget)
        Thread.new do
          @app.mixer.toggle unless (widget.active? && @app.mixer.muted?) ||
                                   (!widget.active? && !@app.mixer.muted?)
          @app.utils.update_status_icon
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
volay-1.1.0 lib/volay/widget/volume_control.rb
volay-1.0.1 lib/volay/widget/volume_control.rb