Jelajahi Sumber

separate palattes

Daniel Sheffield 2 tahun lalu
induk
melakukan
dd2cb108d7
5 mengubah file dengan 59 tambahan dan 57 penghapusan
  1. 1 0
      app/palette/__init__.py
  2. 26 0
      app/palette/high_contrast.py
  3. 26 0
      app/palette/solarized.py
  4. 3 29
      grocery_transactions.py
  5. 3 28
      price_check.py

+ 1 - 0
app/palette/__init__.py

@@ -0,0 +1 @@
+

+ 26 - 0
app/palette/high_contrast.py

@@ -0,0 +1,26 @@
+theme = {
+    'dark': [
+        ('popup_focus', 'black', 'light red'),
+        ('popup', 'black', 'dark red'),
+        ('banner', 'light gray', 'dark red'),
+        ('streak', 'light gray', 'black'),
+        ('bg', 'dark red', 'black'),
+        ('badge', 'light gray', 'black'),
+        ('badge_highlight', 'black', 'light gray'),
+        ('badge_good', 'black', 'light green'),
+        ('badge_bad', 'black', 'light red'),
+        ('badge_neutral', 'white', 'dark gray'),
+    ],
+    'light': [
+        ('popup_focus', 'black', 'light gray'),
+        ('popup', 'dark gray', 'white'),
+        ('banner', 'light gray', 'dark red'),
+        ('streak', 'white', 'dark blue'),
+        ('bg', 'white', 'dark blue'),
+        ('badge', 'white', 'dark blue'),
+        ('badge_highlight', 'dark blue', 'white'),
+        ('badge_good', 'white', 'light green'),
+        ('badge_bad', 'white', 'light red'),
+        ('badge_neutral', 'white', 'dark gray'),
+    ]
+}

+ 26 - 0
app/palette/solarized.py

@@ -0,0 +1,26 @@
+theme = {
+    'dark': [
+        ('popup_focus', 'black', 'light red'),
+        ('popup', 'black', 'dark red'),
+        ('banner', 'white', 'dark red'),
+        ('streak', 'light red', 'black'),
+        ('bg', 'light red', 'black'),
+        ('badge', 'light gray', 'black'),
+        ('badge_highlight', 'black', 'light gray'),
+        ('badge_good', 'black', 'light green'),
+        ('badge_bad', 'black', 'light red'),
+        ('badge_neutral', 'white', 'dark gray'),
+    ],
+    'light': [
+        ('popup_focus', 'black', 'light gray'),
+        ('popup', 'dark gray', 'white'),
+        ('banner', 'light gray', 'dark red'),
+        ('streak', 'white', 'dark blue'),
+        ('bg', 'white', 'dark blue'),
+        ('badge', 'white', 'dark blue'),
+        ('badge_highlight', 'dark blue', 'white'),
+        ('badge_good', 'white', 'light green'),
+        ('badge_bad', 'white', 'light red'),
+        ('badge_neutral', 'white', 'dark gray'),
+    ]
+}

+ 3 - 29
grocery_transactions.py

@@ -17,6 +17,7 @@ from app.activities.TransactionEditor import TransactionEditor
 from app.db_utils import (QueryManager, display_mapper,
                           get_insert_product_statement)
 from app.widgets import AutoCompleteEdit, AutoCompleteFloatEdit
+from app.palette import solarized
 
 try:
     from db_credentials import HOST, PASSWORD
@@ -37,32 +38,6 @@ except:
     print('Failed to set up db connection. Entering Mock mode')
     from mock import *
 
-dark_palette = [
-    ('popup_focus', 'black', 'light red'),
-    ('popup', 'black', 'dark red'),
-    ('banner', 'white', 'dark red'),
-    ('streak', 'light red', 'black'),
-    ('bg', 'light red', 'black'),
-    ('badge', 'light gray', 'black'),
-    ('badge_highlight', 'black', 'light gray'),
-    ('badge_good', 'black', 'light green'),
-    ('badge_bad', 'black', 'light red'),
-    ('badge_neutral', 'white', 'dark gray'),
-]
-
-light_palette = [
-    ('popup_focus', 'black', 'light gray'),
-    ('popup', 'dark gray', 'white'),
-    ('banner', 'light gray', 'dark red'),
-    ('streak', 'white', 'dark blue'),
-    ('bg', 'white', 'dark blue'),
-    ('badge', 'white', 'dark blue'),
-    ('badge_highlight', 'dark blue', 'white'),
-    ('badge_good', 'white', 'light green'),
-    ('badge_bad', 'white', 'light red'),
-    ('badge_neutral', 'white', 'dark gray'),
-]
-
 def _insert_new_product_callback(activity_manager, query_manager, product, category, group):
     activity_manager.app.log.write(
         '{};\n'.format(get_insert_product_statement(product, category, group)))
@@ -190,19 +165,18 @@ activity_manager.create(TransactionEditor, 'transaction',
 
 app = None
 def iter_palettes():
-    palettes = [dark_palette, light_palette]
+    palettes = [ v for k,v in solarized.theme.items() ]
     while True:
         p = palettes.pop(0)
         palettes.append(p)
         yield p
 
 palettes = iter_palettes()
-palette = next(palettes)
 
 try:
     app = GroceryTransactionEditor(activity_manager, cur, log)
     screen = raw_display.Screen()
-    loop = urwid.MainLoop(app, palette, screen=screen,
+    loop = urwid.MainLoop(app, next(palettes), screen=screen,
         unhandled_input=lambda k: show_or_exit(k, screen=screen, palettes=palettes),
         pop_ups=True
     )

+ 3 - 28
price_check.py

@@ -14,6 +14,7 @@ from app.widgets import (AutoCompleteEdit, AutoCompleteFloatEdit)
 from app.activities import ActivityManager, show_or_exit
 from app.activities.PriceCheck import PriceCheck
 from app.db_utils import QueryManager, display_mapper
+from app.palette import high_contrast
 
 try:
     from db_credentials import HOST, PASSWORD
@@ -35,32 +36,6 @@ except:
     exit(1)
     #from mock import *
 
-dark_palette = [
-    ('popup_focus', 'black', 'light red'),
-    ('popup', 'black', 'dark red'),
-    ('banner', 'light gray', 'dark red'),
-    ('streak', 'light gray', 'black'),
-    ('bg', 'dark red', 'black'),
-    ('badge', 'light gray', 'black'),
-    ('badge_highlight', 'black', 'light gray'),
-    ('badge_good', 'black', 'light green'),
-    ('badge_bad', 'black', 'light red'),
-    ('badge_neutral', 'white', 'dark gray'),
-]
-
-light_palette = [
-    ('popup_focus', 'black', 'light gray'),
-    ('popup', 'dark gray', 'white'),
-    ('banner', 'light gray', 'dark red'),
-    ('streak', 'white', 'dark blue'),
-    ('bg', 'white', 'dark blue'),
-    ('badge', 'white', 'dark blue'),
-    ('badge_highlight', 'dark blue', 'white'),
-    ('badge_good', 'white', 'light green'),
-    ('badge_bad', 'white', 'light red'),
-    ('badge_neutral', 'white', 'dark gray'),
-]
-
 def _autocomplete_callback(
     query_manager: QueryManager,
     widget: Union[AutoCompleteEdit, AutoCompleteFloatEdit],
@@ -92,7 +67,7 @@ activity_manager.create(PriceCheck, 'price_check',
 app = GroceryPriceCheck(activity_manager)
 
 def iter_palettes():
-    palettes = [light_palette, dark_palette]
+    palettes = [ v for k,v in high_contrast.theme.items() ]
     while True:
         p = palettes.pop(0)
         palettes.append(p)
@@ -101,7 +76,7 @@ def iter_palettes():
 palettes = iter_palettes()
 
 screen = raw_display.Screen()
-loop = urwid.MainLoop(app, dark_palette, screen=screen,
+loop = urwid.MainLoop(app, next(palettes), screen=screen,
         unhandled_input=lambda k: show_or_exit(k, screen=screen, palettes=palettes),
         pop_ups=True)
 loop.run()