kita 0.5.2 → 0.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fe0fd7f04327305a031aca0a2563141fcb80917b16a413c83047baec25bf562e
4
- data.tar.gz: 9ef30212fbe2fb7e6f895f43311bfcaaa7e0f206d8d6e62e618613c392d70234
3
+ metadata.gz: 5b9ab67c3c2be81e1c63d0e5bba5ce903f27c5228b0dd6fe6b4051a032fa5371
4
+ data.tar.gz: 32021b813755a63059f0d4cb1464b636b374a6a758094bd86d448ba81c5f88dc
5
5
  SHA512:
6
- metadata.gz: d979ad149e0782b4e7ea705e0d1eca590c3d3b06b0fbd90c7ff5b057de21144b38a2c225a2fd78cf8b425f173c69d5e82b855405a41c5877518ddbbea884a4a4
7
- data.tar.gz: 3cb5a9979c7b7f01b003ac53c37657176b93382e39d75e29720028a28ee2d09a1fd64918ece4e2533acc1d945323f4b34fcd4539de140170cfea0ab15f2c5b76
6
+ metadata.gz: d22c59c1e32b34cab29475370dd7bac3d12a486be5d6c404008647d5c27a2374ce07a1caa7ac027c0512969034427e5019f9df4229e809c42b9841e32ff3f3ba
7
+ data.tar.gz: b39f7cce3e1d969f72603c1e3aeb2edc1b0d440f4effa7fc16706d6d6b0d61c76dc5aa9ddfb585a4b3122b1bf3416e2ea09cd86b5d48128e610bb152a93165e8
data/.gitignore CHANGED
@@ -8,6 +8,7 @@ vendor
8
8
  /coverage/
9
9
  /doc/
10
10
  /pkg/
11
+ /prime/
11
12
  /spec/reports/
12
13
  /tmp/
13
14
 
@@ -6,10 +6,18 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
6
6
 
7
7
  ## [Unreleased]
8
8
  ### Added
9
- - Marketing banner to prompt users to upgrade to a free account
10
9
 
11
10
  ### Changed
12
11
 
12
+ ## 2020-05-27
13
+ ### Changed
14
+ - Selecting an incorrect answer for a Katakana question, shows the correct Katakana, rather than
15
+ just repeating the Hiragana
16
+
17
+ ## 2020-05-25
18
+ ### Changed
19
+ - Improved sounds, neither へ nor は are pronounced in their particle form (e and wa).
20
+
13
21
  ## 2020-05-24
14
22
  ### Added
15
23
  - First release
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- kita (0.5.2)
4
+ kita (0.5.6)
5
5
  config (~> 2.2)
6
6
  gir_ffi (~> 0.15.2)
7
7
  gstreamer (~> 3.4)
data/bin/kita CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
- application_root_path = File.expand_path(__dir__)
5
- require File.join(application_root_path, '../lib/kita.rb')
4
+ RootPath = File.expand_path('../', __dir__)
5
+ require File.join(RootPath, '/lib/kita.rb')
6
6
 
7
7
  app = Kita::Application.new
8
8
 
@@ -10,9 +10,13 @@ Gem::Specification.new do |spec|
10
10
  spec.license = 'GPLv3+'
11
11
 
12
12
  spec.summary = 'A Japanese kana learning tool.'
13
- spec.description = 'A simple tool to help Japanese language learners with hiragana and katakana.'
13
+ spec.description = <<-DESC
14
+ A simple GTK3 app to help Japanese language learners with Hiragana and Katakana. It introduces
15
+ users to the sounds of the kana and teaches basic recognition of both writing systems.
16
+ DESC
17
+
14
18
  spec.homepage = 'https://www.danbishop.org'
15
- spec.required_ruby_version = Gem::Requirement.new('>= 2.3.0')
19
+ spec.required_ruby_version = Gem::Requirement.new('>= 2.5.0')
16
20
 
17
21
  spec.metadata['homepage_uri'] = spec.homepage
18
22
  spec.metadata['source_code_uri'] = 'https://github.com/danbishop/kita'
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'gtk3'
3
4
  require_relative 'kita/audio'
4
5
  require_relative 'kita/config'
5
- require_relative 'kita/hiragana'
6
- require_relative 'kita/katakana'
6
+ require_relative 'kita/question'
7
7
  require_relative 'kita/version'
8
8
 
9
9
  module Kita
@@ -14,11 +14,8 @@ module Kita
14
14
  builder_file = "#{File.expand_path(File.dirname(__dir__))}/ui/builder.ui"
15
15
  # Construct a Gtk::Builder instance and load our UI description
16
16
  @builder = Gtk::Builder.new(file: builder_file)
17
- # Initiate Hiragana class
18
- @hiragana = Hiragana.new
19
- # Initiate Katakana class
20
- @katakana = Katakana.new
21
- @types = [@hiragana]
17
+ # Initiate Question class
18
+ @question = Question.new
22
19
  @button_signals = {}
23
20
  @sound = Audio.new
24
21
  new_question
@@ -81,19 +78,13 @@ module Kita
81
78
  end
82
79
 
83
80
  def toggle_katakana
84
- # TODO: Switch this to using Settings
85
- @types = []
86
- @types << @hiragana if @hiragana_switch.active?
87
- @types << @katakana if @katakana_switch.active?
88
- (@hiragana_switch.set_active(true) && @types = [@hiragana]) if @types.empty?
81
+ Settings.katakana = !Settings.katakana
82
+ (@hiragana_switch.set_active(true) && Settings.hiragana = true) if !Settings.katakana && !Settings.hiragana
89
83
  end
90
84
 
91
85
  def toggle_hiragana
92
- # TODO: Switch this to using Settings
93
- @types = []
94
- @types << @hiragana if @hiragana_switch.active?
95
- @types << @katakana if @katakana_switch.active?
96
- (@katakana_switch.set_active(true) && @types = [@katakana]) if @types.empty?
86
+ Settings.hiragana = !Settings.hiragana
87
+ (@katakana_switch.set_active(true) && Settings.katakana = true) if !Settings.katakana && !Settings.hiragana
97
88
  end
98
89
 
99
90
  def toggle_sound
@@ -111,7 +102,7 @@ module Kita
111
102
 
112
103
  def new_question
113
104
  reset_buttons
114
- question = @types.sample.question
105
+ question = @question.new_question
115
106
  question_label = @builder.get_object('question')
116
107
  question_label.set_markup("<span font='72'>#{question[:question]}</span>")
117
108
  buttons = %w[a b c d]
@@ -144,7 +135,10 @@ module Kita
144
135
  def wrong_button_click(button)
145
136
  button.set_sensitive(false)
146
137
  label = button.child
147
- label.set_markup("<span color='#d40000'>#{button.label} #{button.label.hiragana}</span>")
138
+ correction = @question.type == 'hiragana' ? button.label.hiragana : button.label.katakana
139
+ label.set_markup(
140
+ "<span color='#d40000'>#{button.label} #{correction}</span>"
141
+ )
148
142
  end
149
143
 
150
144
  def reset_buttons
@@ -22,7 +22,7 @@ class Audio
22
22
 
23
23
  def play(uri)
24
24
  @playbin.stop
25
- @playbin.uri = Gst.filename_to_uri("./sounds/#{uri}.ogg")
25
+ @playbin.uri = Gst.filename_to_uri("#{RootPath}/sounds/#{uri}.ogg")
26
26
  @playbin.play
27
27
  end
28
28
 
@@ -48,6 +48,7 @@ class Hiragana
48
48
  def build_question(chars)
49
49
  {
50
50
  question: chars[0],
51
+ type: 'hiragana',
51
52
  answer: chars[0].romaji,
52
53
  choices: [
53
54
  chars[1].romaji,
@@ -48,6 +48,7 @@ class Katakana
48
48
  def build_question(chars)
49
49
  {
50
50
  question: chars[0],
51
+ type: 'katakana',
51
52
  answer: chars[0].hiragana,
52
53
  choices: [
53
54
  chars[1].hiragana,
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'hiragana'
4
+ require_relative 'katakana'
5
+
6
+ # Question Class
7
+ class Question
8
+ attr_accessor :type
9
+
10
+ def initialize
11
+ @hiragana = Hiragana.new
12
+ @katakana = Katakana.new
13
+ end
14
+
15
+ def new_question
16
+ question_types = []
17
+ question_types.push @hiragana if Settings.hiragana
18
+ question_types.push @katakana if Settings.katakana
19
+ question = question_types.sample.question
20
+ @type = question[:type]
21
+ question
22
+ end
23
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Kita
4
- VERSION = '0.5.2'
4
+ VERSION = '0.5.7'
5
5
  end
@@ -0,0 +1,10 @@
1
+ [Desktop Entry]
2
+ Name=Kita
3
+ GenericName=Kita
4
+ X-GNOME-FullName=Kita
5
+ Comment=Learn the Japanese kana
6
+ Keywords=Japanese;kana;hiragana;katakana;learn;
7
+ Exec=kita
8
+ Terminal=false
9
+ Type=Application
10
+ Icon=${SNAP}/meta/gui/kita.svg
@@ -0,0 +1,137 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ width="50mm"
13
+ height="50mm"
14
+ viewBox="0 0 50 50"
15
+ version="1.1"
16
+ id="svg8"
17
+ inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
18
+ sodipodi:docname="kita.svg">
19
+ <defs
20
+ id="defs2">
21
+ <filter
22
+ style="color-interpolation-filters:sRGB"
23
+ id="filter987"
24
+ inkscape:label="filter0" />
25
+ <filter
26
+ style="color-interpolation-filters:sRGB"
27
+ inkscape:label="Noise Fill"
28
+ id="filter1667">
29
+ <feTurbulence
30
+ type="fractalNoise"
31
+ baseFrequency="0.02 0.04"
32
+ numOctaves="5"
33
+ seed="1"
34
+ result="turbulence"
35
+ id="feTurbulence1651" />
36
+ <feComposite
37
+ in="SourceGraphic"
38
+ in2="turbulence"
39
+ operator="in"
40
+ result="composite1"
41
+ id="feComposite1653" />
42
+ <feColorMatrix
43
+ values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 3 -1 "
44
+ result="color"
45
+ id="feColorMatrix1655" />
46
+ <feFlood
47
+ flood-opacity="1"
48
+ flood-color="rgb(21,40,57)"
49
+ result="flood"
50
+ id="feFlood1657" />
51
+ <feMerge
52
+ result="merge"
53
+ id="feMerge1663">
54
+ <feMergeNode
55
+ in="flood"
56
+ id="feMergeNode1659" />
57
+ <feMergeNode
58
+ in="color"
59
+ id="feMergeNode1661" />
60
+ </feMerge>
61
+ <feComposite
62
+ in2="SourceGraphic"
63
+ operator="in"
64
+ result="composite2"
65
+ id="feComposite1665" />
66
+ </filter>
67
+ </defs>
68
+ <sodipodi:namedview
69
+ id="base"
70
+ pagecolor="#000000"
71
+ bordercolor="#666666"
72
+ borderopacity="1.0"
73
+ inkscape:pageopacity="0"
74
+ inkscape:pageshadow="2"
75
+ inkscape:zoom="0.7"
76
+ inkscape:cx="337.63766"
77
+ inkscape:cy="-256.1795"
78
+ inkscape:document-units="mm"
79
+ inkscape:current-layer="layer1"
80
+ showgrid="false"
81
+ inkscape:window-width="3368"
82
+ inkscape:window-height="1376"
83
+ inkscape:window-x="72"
84
+ inkscape:window-y="27"
85
+ inkscape:window-maximized="1"
86
+ fit-margin-top="0"
87
+ fit-margin-left="0"
88
+ fit-margin-right="0"
89
+ fit-margin-bottom="0"
90
+ inkscape:pagecheckerboard="true" />
91
+ <metadata
92
+ id="metadata5">
93
+ <rdf:RDF>
94
+ <cc:Work
95
+ rdf:about="">
96
+ <dc:format>image/svg+xml</dc:format>
97
+ <dc:type
98
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
99
+ <dc:title></dc:title>
100
+ </cc:Work>
101
+ </rdf:RDF>
102
+ </metadata>
103
+ <g
104
+ inkscape:label="Layer 1"
105
+ inkscape:groupmode="layer"
106
+ id="layer1"
107
+ transform="translate(-25.905403,-105.02035)">
108
+ <text
109
+ xml:space="preserve"
110
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
111
+ x="46.869045"
112
+ y="115.57143"
113
+ id="text817"><tspan
114
+ sodipodi:role="line"
115
+ id="tspan815"
116
+ x="46.869045"
117
+ y="125.4403"
118
+ style="stroke-width:0.26458332" /></text>
119
+ <circle
120
+ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
121
+ id="path3017"
122
+ cx="50.905403"
123
+ cy="130.02036"
124
+ r="25" />
125
+ <text
126
+ xml:space="preserve"
127
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:38.4786377px;line-height:1.25;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;letter-spacing:0px;word-spacing:0px;fill:#d40000;fill-opacity:1;stroke:none;stroke-width:0.96196598"
128
+ x="31.512171"
129
+ y="144.46909"
130
+ id="text2913"><tspan
131
+ sodipodi:role="line"
132
+ id="tspan2911"
133
+ x="31.512171"
134
+ y="144.46909"
135
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Ubuntu;-inkscape-font-specification:'Ubuntu Bold';fill:#d40000;stroke-width:0.96196598">北</tspan></text>
136
+ </g>
137
+ </svg>
@@ -1,10 +1,10 @@
1
1
  name: kita
2
- version: '0.5.3'
2
+ version: '0.5.6'
3
3
  summary: Japanese learning tool
4
4
  description: |
5
5
  A simple tool to help Japanese language learners.
6
6
 
7
- confinement: devmode
7
+ confinement: strict
8
8
  base: core18
9
9
  grade: stable
10
10
  license: GPL-3.0+
@@ -15,30 +15,25 @@ parts:
15
15
  plugin: ruby
16
16
  gems:
17
17
  - kita
18
- ruby-version: 2.7.0
18
+ ruby-version: 2.7.1
19
19
  stage-packages:
20
- - gobject-introspection
21
- - gir1.2-atk-1.0
22
- - gir1.2-atspi-2.0
23
- - gir1.2-freedesktop
24
- - gir1.2-gdkpixbuf-2.0
25
- - gir1.2-glib-2.0
26
- - gir1.2-gtk-3.0
27
- - gir1.2-pango-1.0
28
- - libcanberra-gtk3-0
29
20
  - libgstreamer1.0-0
30
- - libglib2.0-0
21
+ - gstreamer1.0-plugins-base
31
22
  - libgirepository-1.0-1
32
23
  - gir1.2-gstreamer-1.0
33
- - gstreamer1.0-plugins-base
34
24
 
35
25
  apps:
36
26
  kita:
37
27
  command: bin/kita
38
28
  extensions: [gnome-3-28]
39
29
  plugs:
40
- - desktop
41
- - wayland
42
30
  - audio-playback
43
- - pulseaudio
31
+ slots:
32
+ - dbus-daemon
44
33
  common-id: uk.danbishop.kita
34
+
35
+ slots:
36
+ dbus-daemon:
37
+ interface: dbus
38
+ bus: session
39
+ name: uk.danbishop.kita
Binary file
Binary file
Binary file
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kita
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.5.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Bishop
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-24 00:00:00.000000000 Z
11
+ date: 2020-05-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: config
@@ -94,7 +94,9 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '3.4'
97
- description: A simple tool to help Japanese language learners with hiragana and katakana.
97
+ description: |2
98
+ A simple GTK3 app to help Japanese language learners with Hiragana and Katakana. It introduces
99
+ users to the sounds of the kana and teaches basic recognition of both writing systems.
98
100
  email:
99
101
  - d@nbishop.uk
100
102
  executables:
@@ -118,11 +120,11 @@ files:
118
120
  - lib/kita/config.rb
119
121
  - lib/kita/hiragana.rb
120
122
  - lib/kita/katakana.rb
123
+ - lib/kita/question.rb
121
124
  - lib/kita/version.rb
125
+ - snap/gui/kita.desktop
126
+ - snap/gui/kita.svg
122
127
  - snap/snapcraft.yaml
123
- - sounds/he.ogg
124
- - sounds/he2.ogg
125
- - sounds/tofix.txt
126
128
  - sounds/あ.ogg
127
129
  - sounds/あ2.ogg
128
130
  - sounds/い.ogg
@@ -284,7 +286,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
284
286
  requirements:
285
287
  - - ">="
286
288
  - !ruby/object:Gem::Version
287
- version: 2.3.0
289
+ version: 2.5.0
288
290
  required_rubygems_version: !ruby/object:Gem::Requirement
289
291
  requirements:
290
292
  - - ">="
Binary file
Binary file
@@ -1,2 +0,0 @@
1
- su
2
- he - pronounced as particle (e)