83 lines
2.3 KiB
Python
83 lines
2.3 KiB
Python
import time
|
|
import RNS
|
|
|
|
from kivy.metrics import dp,sp
|
|
from kivy.lang.builder import Builder
|
|
|
|
if RNS.vendor.platformutils.get_platform() == "android":
|
|
from ui.helpers import ts_format
|
|
else:
|
|
from .helpers import ts_format
|
|
|
|
class ObjectDetails():
|
|
def __init__(self, app, object_hash = None):
|
|
self.app = app
|
|
self.widget = None
|
|
self.object_hash = object_hash
|
|
|
|
if not self.app.root.ids.screen_manager.has_screen("object_details_screen"):
|
|
self.screen = Builder.load_string(layou_object_details)
|
|
self.screen.app = self.app
|
|
self.ids = self.screen.ids
|
|
self.app.root.ids.screen_manager.add_widget(self.screen)
|
|
|
|
def reload(self):
|
|
self.clear_widget()
|
|
self.update()
|
|
|
|
def clear_widget(self):
|
|
pass
|
|
|
|
def update(self):
|
|
us = time.time()
|
|
self.update_widget()
|
|
RNS.log("Updated object details in "+RNS.prettytime(time.time()-us), RNS.LOG_DEBUG)
|
|
|
|
def update_widget(self):
|
|
if self.widget == None:
|
|
self.widget = MDLabel(text=RNS.prettyhexrep(self.object_hash))
|
|
|
|
def get_widget(self):
|
|
return self.widget
|
|
|
|
layou_object_details = """
|
|
MDScreen:
|
|
name: "object_details_screen"
|
|
|
|
BoxLayout:
|
|
orientation: "vertical"
|
|
|
|
MDTopAppBar:
|
|
title: "Details"
|
|
anchor_title: "left"
|
|
elevation: 0
|
|
left_action_items:
|
|
[['menu', lambda x: root.app.nav_drawer.set_state("open")]]
|
|
right_action_items:
|
|
[
|
|
['close', lambda x: root.app.close_sub_map_action(self)],
|
|
]
|
|
|
|
ScrollView:
|
|
id: object_details_scrollview
|
|
|
|
MDBoxLayout:
|
|
orientation: "vertical"
|
|
spacing: dp(48)
|
|
size_hint_y: None
|
|
height: self.minimum_height
|
|
padding: [dp(28), dp(48), dp(28), dp(16)]
|
|
|
|
MDLabel:
|
|
id: name_label
|
|
markup: True
|
|
text: "Object Name"
|
|
font_style: "H6"
|
|
|
|
MDLabel:
|
|
id: test_label
|
|
markup: True
|
|
text: "Test"
|
|
font_style: "H6"
|
|
|
|
""" |