diff --git a/buildozer.spec b/buildozer.spec index ea1d089..a3aa8a7 100644 --- a/buildozer.spec +++ b/buildozer.spec @@ -13,10 +13,10 @@ package.domain = org.test source.dir = sync_dl_gui # (list) Source files to include (let empty to include all the files) -source.include_exts = py,png,jpg,kv,atlas +source.include_exts = py,png,jpg,kv,atlas,ttf # (list) List of inclusions using pattern matching -#source.include_patterns = assets/*,images/*.png +source.include_patterns = sync_dl_gui/assets/* # (list) Source files to exclude (let empty to not exclude anything) #source.exclude_exts = spec @@ -75,7 +75,7 @@ osx.kivy_version = 1.9.1 # # (bool) Indicate if the application should be fullscreen or not -fullscreen = 0 +fullscreen = 1 # (string) Presplash background color (for android toolchain) # Supported formats are: #RRGGBB #AARRGGBB or one of the following names: diff --git a/sync_dl_gui/assets/DroidSansFallback.ttf b/sync_dl_gui/assets/DroidSansFallback.ttf new file mode 100644 index 0000000..38b5b1a Binary files /dev/null and b/sync_dl_gui/assets/DroidSansFallback.ttf differ diff --git a/sync_dl_gui/test.jpg b/sync_dl_gui/assets/test.jpg similarity index 100% rename from sync_dl_gui/test.jpg rename to sync_dl_gui/assets/test.jpg diff --git a/sync_dl_gui/elements.kv b/sync_dl_gui/elements.kv index 88975a8..21c1431 100644 --- a/sync_dl_gui/elements.kv +++ b/sync_dl_gui/elements.kv @@ -37,21 +37,18 @@ foreground_color: white background_color: darkGreyA - font_name: 'RobotoMono-Regular' + font_name:'assets/DroidSansFallback.ttf' font_size:sp(13) - - - - - # Define the properties for the DragLabel drag_rectangle: self.x, self.y, self.width, self.height drag_timeout: 10000000 drag_distance: 0 - font_size: sp(12) + font_size:sp(13) + + font_name:'assets/DroidSansFallback.ttf' cols:1 @@ -77,6 +74,7 @@ text:'' + font_name:'assets/DroidSansFallback.ttf' disabled: True font_size: sp(20) disabled_color:self.color @@ -84,20 +82,21 @@ : + font_name:'assets/DroidSansFallback.ttf' background_color: greyA font_size: sp(20) : - + font_name:'assets/DroidSansFallback.ttf' background_color: darkGreyA - font_size: sp(60) + font_size: sp(40) size_hint_y:None height: 2*self.font_size : + font_name:'assets/DroidSansFallback.ttf' size_hint_y:None background_color: darkGreyA - font_size: sp(60) + font_size: sp(40) height: 2*self.font_size - diff --git a/sync_dl_gui/elements.py b/sync_dl_gui/elements.py index cae7eee..fa24f7d 100644 --- a/sync_dl_gui/elements.py +++ b/sync_dl_gui/elements.py @@ -13,6 +13,7 @@ from kivy.uix.gridlayout import GridLayout from kivy.uix.behaviors import DragBehavior from kivy.metrics import sp +from kivy.properties import ObjectProperty import sys import os @@ -36,6 +37,9 @@ def emit(self, record): Clock.schedule_once(lambda x:self.console.append(self.format(record))) class Console(TextInput): + + scrollView = ObjectProperty(None) + def __init__(self, **kwargs): super(Console, self).__init__(**kwargs) self.keyboard_mode= 'managed' @@ -45,12 +49,21 @@ def __init__(self, **kwargs): def on_focus(self,instance, value): self.focus=False - + + def on_double_tap(self): + self.focus=False + + def on_triple_tap(self): + self.focus=False + + def on_quad_touch(self): + self.focus=False def append(self,text): self.cursor=(0,sys.maxsize) self.readonly=False self.insert_text(f' ~ {text}\n') self.readonly=True + self.scrollView.scroll_y = 0 @@ -116,11 +129,12 @@ def __init__(self,grid,initalIndex, **kwargs): self.moving = False self.grid = grid self.initalIndex = initalIndex - self.font_size = sp(15) + self.size_hint_y = None + self.dragFontSize = 1.4*self.font_size self.height = 2*self.font_size self.initalFontSize = self.font_size - self.dragFontSize = sp(17) + def findNearestSlot(self): diff --git a/sync_dl_gui/main.kv b/sync_dl_gui/main.kv index 76a8c3f..1a8450c 100644 --- a/sync_dl_gui/main.kv +++ b/sync_dl_gui/main.kv @@ -13,7 +13,7 @@ FloatLayout: anchor_x: 'center' anchor_y: 'center' Image: - source: 'test.jpg' + source: 'assets/test.jpg' allow_stretch: True keep_ratio: True size_hint_y: None diff --git a/sync_dl_gui/main.py b/sync_dl_gui/main.py index 125170f..c6e3f5f 100644 --- a/sync_dl_gui/main.py +++ b/sync_dl_gui/main.py @@ -10,7 +10,7 @@ import sync_dl.config as cfg import os -from android.permissions import request_permissions, Permission + import youtube_dl import shutil import certifi @@ -58,7 +58,7 @@ def getPermissions(): cfg.params['ignoreerrors'] = True #cfg.params['logger'] = cfg.logger cfg.params['postprocessors'] = [] - + Main().run() diff --git a/sync_dl_gui/screens.py b/sync_dl_gui/screens.py index a1c504a..aa3668b 100644 --- a/sync_dl_gui/screens.py +++ b/sync_dl_gui/screens.py @@ -30,6 +30,7 @@ from sync_dl import noInterrupt import sync_dl.config as cfg import time +import sys from elements import Console,PlaylistList @@ -104,6 +105,13 @@ def __init__(self, **kwargs): def on_pre_enter(self): if self.playlists: self.playlists.updateList() + + def close(self): + if kivy.utils.platform=='android': + app = App.get_running_app() + app.stop() + else: + sys.exit() class NewPlScreen(Screen): diff --git a/sync_dl_gui/screens/existingPlScreen.kv b/sync_dl_gui/screens/existingPlScreen.kv index b0b2cc3..2c170cc 100644 --- a/sync_dl_gui/screens/existingPlScreen.kv +++ b/sync_dl_gui/screens/existingPlScreen.kv @@ -43,11 +43,13 @@ cols:1 - Console: - id: console - - + ScrollView: + Console: + scrollView:self.parent + size_hint_y: None + height: max(self.minimum_height,self.parent.height) + id: console GridLayout: cols:2 size_hint_y:None diff --git a/sync_dl_gui/screens/mainScreen.kv b/sync_dl_gui/screens/mainScreen.kv index 718d2b6..37cc4a9 100644 --- a/sync_dl_gui/screens/mainScreen.kv +++ b/sync_dl_gui/screens/mainScreen.kv @@ -8,10 +8,13 @@ console:console - Console: - size_hint_y:None - height: root.height*0.6 - id: console + ScrollView: + Console: + scrollView:self.parent + size_hint_y: None + height: max(self.minimum_height,self.parent.height) + id: console + GridLayout: spacing:(gaps,gaps) cols:2 @@ -64,6 +67,12 @@ height: self.minimum_height row_default_height: root.height*0.07 - Header: - text:'' - height: root.height*0.05 + + + Button: + size_hint_y:None + background_color:darkGreyA + text: 'Close' + height: root.height*0.1 + on_release: + root.close() diff --git a/sync_dl_gui/screens/newPlScreen.kv b/sync_dl_gui/screens/newPlScreen.kv index 6480f34..b921fa3 100644 --- a/sync_dl_gui/screens/newPlScreen.kv +++ b/sync_dl_gui/screens/newPlScreen.kv @@ -75,8 +75,14 @@ GridLayout: padding:(gaps,gaps) cols:1 - Console: - id: console + + ScrollView: + Console: + scrollView:self.parent + size_hint_y: None + height: max(self.minimum_height,self.parent.height) + id: console + GridLayout: diff --git a/sync_dl_gui/screens/settingsScreen.kv b/sync_dl_gui/screens/settingsScreen.kv index 556dc77..96d631c 100644 --- a/sync_dl_gui/screens/settingsScreen.kv +++ b/sync_dl_gui/screens/settingsScreen.kv @@ -64,12 +64,17 @@ on_release: root.setMusicDir() - Console: + + ScrollView: size_hint_y:None height: root.height*0.1 - halign:'center' - - id: console + Console: + scrollView:self.parent + size_hint_y:None + + halign:'center' + height: max(self.minimum_height,self.parent.height) + id: console GridLayout: