diff options
Diffstat (limited to 'music_sampler/app.py')
-rw-r--r-- | music_sampler/app.py | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/music_sampler/app.py b/music_sampler/app.py index 08a8891..ac1944a 100644 --- a/music_sampler/app.py +++ b/music_sampler/app.py | |||
@@ -7,6 +7,7 @@ kivy.require("1.9.1") | |||
7 | from kivy.app import App | 7 | from kivy.app import App |
8 | from kivy.uix.floatlayout import FloatLayout | 8 | from kivy.uix.floatlayout import FloatLayout |
9 | from kivy.uix.relativelayout import RelativeLayout | 9 | from kivy.uix.relativelayout import RelativeLayout |
10 | from kivy.uix.label import Label | ||
10 | from kivy.properties import ListProperty, StringProperty | 11 | from kivy.properties import ListProperty, StringProperty |
11 | from kivy.core.window import Window | 12 | from kivy.core.window import Window |
12 | from kivy.lang import Builder | 13 | from kivy.lang import Builder |
@@ -14,6 +15,7 @@ from kivy.lang import Builder | |||
14 | register_fonts() | 15 | register_fonts() |
15 | 16 | ||
16 | 17 | ||
18 | from .helpers import Config | ||
17 | from .key import Key | 19 | from .key import Key |
18 | from .mapping import Mapping | 20 | from .mapping import Mapping |
19 | 21 | ||
@@ -37,9 +39,23 @@ class KeyList(RelativeLayout): | |||
37 | if len(self.keylist) > 2: | 39 | if len(self.keylist) > 2: |
38 | self.third_key = self.keylist[2] | 40 | self.third_key = self.keylist[2] |
39 | 41 | ||
40 | class Screen(FloatLayout): | 42 | class UnfocusedOverlay(Label): |
41 | pass | 43 | pass |
42 | 44 | ||
45 | class Screen(FloatLayout): | ||
46 | def __init__(self, **kwargs): | ||
47 | super(Screen, self).__init__(**kwargs) | ||
48 | self.unfocused_widget = UnfocusedOverlay() | ||
49 | Window.bind(focus=self.focus_changed) | ||
50 | |||
51 | def focus_changed(self, instance, focus): | ||
52 | if Config.no_focus_warning: | ||
53 | return | ||
54 | if not focus: | ||
55 | self.add_widget(self.unfocused_widget) | ||
56 | else: | ||
57 | self.remove_widget(self.unfocused_widget) | ||
58 | |||
43 | class MusicSamplerApp(App): | 59 | class MusicSamplerApp(App): |
44 | def build(self): | 60 | def build(self): |
45 | Window.size = (913, 563) | 61 | Window.size = (913, 563) |