From 19c3c7b5621da8e4e0370f0c1f6a8d091ba5bf81 Mon Sep 17 00:00:00 2001 From: Mark Qvist Date: Sat, 8 Oct 2022 23:34:24 +0200 Subject: [PATCH] Improved announce handling and announce UI --- sbapp/sideband/core.py | 16 +++++++++++----- sbapp/ui/announces.py | 15 ++++++--------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/sbapp/sideband/core.py b/sbapp/sideband/core.py index 9bc3285..f788b22 100644 --- a/sbapp/sideband/core.py +++ b/sbapp/sideband/core.py @@ -881,21 +881,27 @@ class SidebandCore(): db = sqlite3.connect(self.db_path) dbc = db.cursor() + query = "delete from announce where id is NULL or id not in (select id from announce order by received desc limit "+str(self.MAX_ANNOUNCES)+")" + dbc.execute(query) + query = "delete from announce where (source=:source);" dbc.execute(query, {"source": destination_hash}) - query = "INSERT INTO announce (received, source, data, dest_type) values (?, ?, ?, ?)" + now = time.time() + hash_material = str(time).encode("utf-8")+destination_hash+app_data+dest_type.encode("utf-8") + announce_hash = RNS.Identity.full_hash(hash_material) + + query = "INSERT INTO announce (id, received, source, data, dest_type) values (?, ?, ?, ?, ?)" data = ( - time.time(), + announce_hash, + now, destination_hash, app_data, dest_type, ) dbc.execute(query, data) - - query = "delete from announce where id not in (select id from announce order by received desc limit "+str(self.MAX_ANNOUNCES)+")" - dbc.execute(query) + db.commit() db.commit() db.close() diff --git a/sbapp/ui/announces.py b/sbapp/ui/announces.py index 6efce45..de93b9a 100644 --- a/sbapp/ui/announces.py +++ b/sbapp/ui/announces.py @@ -1,7 +1,7 @@ import time import RNS -from kivy.metrics import dp +from kivy.metrics import dp,sp from kivy.uix.boxlayout import BoxLayout from kivy.properties import StringProperty, BooleanProperty from kivymd.uix.list import MDList, IconLeftWidget, IconRightWidget, OneLineAvatarIconListItem @@ -10,7 +10,7 @@ from kivy.uix.gridlayout import GridLayout from kivy.uix.boxlayout import BoxLayout from kivy.clock import Clock -from kivymd.uix.button import MDFlatButton +from kivymd.uix.button import MDFlatButton, MDRectangleFlatButton from kivymd.uix.dialog import MDDialog if RNS.vendor.platformutils.get_platform() == "android": @@ -128,15 +128,12 @@ class Announces(): def gen_del(dest, item): def x(): - yes_button = MDFlatButton( - text="Yes", - ) - no_button = MDFlatButton( - text="No", - ) + yes_button = MDRectangleFlatButton(text="Yes",font_size=sp(18), theme_text_color="Custom", line_color=self.app.color_reject, text_color=self.app.color_reject) + no_button = MDRectangleFlatButton(text="No",font_size=sp(18)) dialog = MDDialog( - text="Delete announce?", + title="Delete announce?", buttons=[ yes_button, no_button ], + padding=[0,0,dp(32),0] # elevation=0, ) def dl_yes(s):