part of 'settings_bloc.dart';

@immutable
abstract class SettingsEvent {}

class DismissEvent extends SettingsEvent {}

class CrashEvent extends SettingsEvent {}

class VersionReceivedEvent extends SettingsEvent {
  final String version;
  VersionReceivedEvent(this.version);
}

class SpeedChangedEvent extends SettingsEvent {
  final OptionData option;
  SpeedChangedEvent(this.option);
}

class VolumeChangedEvent extends SettingsEvent {
  final OptionData option;
  VolumeChangedEvent(this.option);
}

class SkinChangedEvent extends SettingsEvent {
  final bool isSkinByDefault;
  SkinChangedEvent(this.isSkinByDefault);
}

class BrightnessChangedEvent extends SettingsEvent {
  final OptionData option;
  BrightnessChangedEvent(this.option);
}

class QualityChangedEvent extends SettingsEvent {
  final OptionData option;
  QualityChangedEvent(this.option);
}

class QualityNamingChangedEvent extends SettingsEvent {
  final OptionData option;
  QualityNamingChangedEvent(this.option);
}

class FullscreenChangedEvent extends SettingsEvent {
  final OptionData option;
  FullscreenChangedEvent(this.option);
}

class ColorChangedEvent extends SettingsEvent {
  final OptionData option;
  ColorChangedEvent(this.option);
}

class SubsChangedEvent extends SettingsEvent {
  final bool isOn;
  SubsChangedEvent(this.isOn);
}

class PipChangedEvent extends SettingsEvent {
  final bool isOn;
  PipChangedEvent(this.isOn);
}

class SettingsChangedEvent extends SettingsEvent {
  final bool isOn;
  SettingsChangedEvent(this.isOn);
}

class AutostartChangedEvent extends SettingsEvent {
  final bool isOn;
  AutostartChangedEvent(this.isOn);
}

class LoopChangedEvent extends SettingsEvent {
  final bool isOn;
  LoopChangedEvent(this.isOn);
}

class StartPositionChangedEvent extends SettingsEvent {
  final int value;
  StartPositionChangedEvent(this.value);
}

class PlaylistTimeoutsChangedEvent extends SettingsEvent {
  final int playlist;

  PlaylistTimeoutsChangedEvent(this.playlist);
}

class TrackTimeoutsChangedEvent extends SettingsEvent {
  final int track;

  TrackTimeoutsChangedEvent(this.track);
}

class ChunkTimeoutsChangedEvent extends SettingsEvent {
  final int chunk;

  ChunkTimeoutsChangedEvent(this.chunk);
}

class LogTypeChangedEvent extends SettingsEvent {
  final LogType log;

  LogTypeChangedEvent(this.log);
}