class Kita::Application
LocaleSettings.new
Main application class
Public Class Methods
new()
click to toggle source
Calls superclass method
# File lib/kita.rb, line 19 def initialize super 'uk.danbishop.kita', :handles_open # Construct a Gtk::Builder instance @builder = Gtk::Builder.new(file: "#{File.expand_path(File.dirname(__dir__))}/ui/builder.ui") # Set menu toggles to match settings menu_load # Now connect signals @builder.connect_signals { |handler| method(handler) } # Initiate Question class @question = Question.new @button_signals = {} @sound = Audio.new new_question setup_about_box build_main_window end
Public Instance Methods
build_main_window()
click to toggle source
# File lib/kita.rb, line 72 def build_main_window signal_connect :activate do # Connect signal handlers to the constructed widgets window = @builder['window'] window.signal_connect('destroy') { Gtk.main_quit } window.present end end
ee()
click to toggle source
# File lib/kita.rb, line 67 def ee @ee += 1 @sound.play('これは北です') if @ee == 3 end
new_question()
click to toggle source
# File lib/kita.rb, line 81 def new_question reset_buttons question = @question.new_question @builder['question'].set_markup("<span font='72'>#{question[:question]}</span>") buttons = %w[a b c d] correct_button(buttons, question) wrong_buttons(buttons, question) @sound.play("#{question[:question].hiragana}#{[1, 2].sample}") if Settings.sound end
setup_about_box()
click to toggle source
# File lib/kita.rb, line 36 def setup_about_box @ee = 0 about_box = @builder['about_box'] about_box.version = VERSION @builder['menu_about'].signal_connect('clicked') do about_box.run about_box.hide end end
toggle_hiragana()
click to toggle source
# File lib/kita.rb, line 56 def toggle_hiragana Settings.hiragana = !Settings.hiragana (@builder['katakana_switch'].set_active(true) && Settings.katakana = true) if !Settings.katakana && !Settings.hiragana save_settings end
toggle_katakana()
click to toggle source
# File lib/kita.rb, line 50 def toggle_katakana Settings.katakana = !Settings.katakana (@builder['hiragana_switch'].set_active(true) && Settings.hiragana = true) if !Settings.katakana && !Settings.hiragana save_settings end
toggle_sound()
click to toggle source
# File lib/kita.rb, line 62 def toggle_sound Settings.sound = !Settings.sound save_settings end