Ejemplo n.º 1
0
 def add_item(model):
     item = OneLineAvatarIconListItem(
         text=model,
         secondary_text="",
         on_release=partial(self.set_model, model),
     )
     item.add_widget(LeftCheckbox(active=self.checked_models[model]))
     self.layout.add_widget(item)
Ejemplo n.º 2
0
 def saved_match_list(self):
     """Creates a list with all saved games"""
     self.ids.match_list.clear_widgets()  # To avoid duplication of widgets
     with open('../statspoint_data.json', 'r') as file:
         data = json.load(file)
     for match_info in data:  # For every match saved in the JSON file
         self.empty = False
         result = OneLineAvatarIconListItem(text='{} : {} vs {}'.format(
             match_info['match_name'], match_info['player1_name'],
             match_info['player2_name']))  # Add a OneListItem widget (UI)
         result.bind(on_press=lambda a, i=match_info: self.show_dialog_saves(i, data))
         delete_save = DeleteSave(
             theme_text_color='Custom',
             text_color=(0.9, 0, 0, 1),
             icon='close',
             on_press=lambda x, i=match_info: DeleteSave().show_dialog_delete_save(i))
         tennis_icon = IconLeftWidget(
             icon='tennis',
             theme_text_color='Custom',
             text_color=(0.9, 0.36, 0, 1),
             on_press=lambda a, i=match_info: self.show_dialog_saves(i, data))
         result.add_widget(tennis_icon)
         # Adds a button to delete the match
         result.add_widget(delete_save)
         # Gets the information of the match which is chosen by the user
         self.ids.match_list.add_widget(result)
     if self.empty:  # Writes a message if there is not match saved
         self.ids.empty_text.text = 'There are no saves! Create a game!'
     else:
         self.ids.empty_text.text = ''
     self.empty = True
Ejemplo n.º 3
0
    def __init__(self, **kwargs):
        super(inventoryList,self).__init__(**kwargs)

        self.focus_behavior = True
        self.bg_color = (1,0,1,0.5)
        self.height = 58
        
        self._backbutton = OneLineAvatarIconListItem( bg_color = (1,0,1,0.5),on_press = lambda s: Intphone().app.createMe()) # Had to make custom height adjustment formula because of FloatLayout in a MDlist in a ScrollView
        self.add_widget(self._backbutton)

        self._backbutton.add_widget(IconRightWidget(icon="file-edit", on_press = lambda q: [self.show_alert_dialog_def(True,self.my_id())],text_color= (.2,.2,.2,1),theme_text_color= "Custom")) # how to add multiple func to >>on_press = lambda x: [self.show_alert_dialog_def(), self.my_id()]
        self._description1 = MDLabel(text= self._header,markup = True)
        self._description1.font_size = 18
    
        self._backbutton.add_widget(self._description1,index = -1)
Ejemplo n.º 4
0
    def add_new_product(self, product, qty):
        result = self.db.set(product, qty)

        if result:
            self.products.update({product: qty})
            list_item = OneLineAvatarIconListItem(text=product)
            list_item.ids.qty.text = str(qty)
            self.root.ids.scroll.add_widget(list_item)
Ejemplo n.º 5
0
class inventoryList(FloatLayout, FocusBehavior): # CUSTOM WIDGET
    
    
    _header = StringProperty("") # To edit MBlabel
    _commandlist = StringProperty("")
    _color_f = ColorProperty([1.0, 1.0, 1.0, 0])

    
    def show_alert_dialog_def(self,x,a): # how to call function outside of a class
        callme = show_alert_dialog(self,x,a)

    def on_enter(self,*args):# how to detect mouse over on widget with the FocusBehavior inherit class
        global last_touch
        last_touch = self._header
        #print(self._header)    
    
        
    def my_id(self):# Return
        me1 = self._header
        print(me1)
        return me1     
    
    def __init__(self, **kwargs):
        super(inventoryList,self).__init__(**kwargs)

        self.focus_behavior = True
        self.bg_color = (1,0,1,0.5)
        self.height = 58
        
        self._backbutton = OneLineAvatarIconListItem( bg_color = (1,0,1,0.5),on_press = lambda s: Intphone().app.createMe()) # Had to make custom height adjustment formula because of FloatLayout in a MDlist in a ScrollView
        self.add_widget(self._backbutton)

        self._backbutton.add_widget(IconRightWidget(icon="file-edit", on_press = lambda q: [self.show_alert_dialog_def(True,self.my_id())],text_color= (.2,.2,.2,1),theme_text_color= "Custom")) # how to add multiple func to >>on_press = lambda x: [self.show_alert_dialog_def(), self.my_id()]
        self._description1 = MDLabel(text= self._header,markup = True)
        self._description1.font_size = 18
    
        self._backbutton.add_widget(self._description1,index = -1)
Ejemplo n.º 6
0
    def down_button(self, country, *args):
        try:
            self.clear_screen()
        except:
            pass
        self.phone_number_screen_manager.current = 'phone_number_list'
        numbers = self.pickle_list()[3][country]
        if len(numbers) == self.NORMAL:
            names = self.pickle_list()[0]
            self.container = SecondScreen()
            self.phone_container.add_widget(self.container)
            for i in range(self.NORMAL):
                self.container.add_widget(
                    MDExpansionPanel(
                        icon=f'images/emergency/{names[i]}.png',
                        content=PhoneContent(numbers[i]),
                        panel_cls=MDExpansionPanelOneLine(text=names[i])))

        elif len(numbers) == self.EXTENDED:
            names = self.pickle_list()[1]
            self.container = SecondScreen()
            self.phone_container.add_widget(self.container)
            self.prov_item = OneLineAvatarIconListItem(
                text='Numery ws. koronawirusa w Województwach',
                on_release=self.clear_add_provinces)
            prov_item_icon_left = IconLeftWidget(
                icon='images/emergency/mask.png', size_hint=(0.9, 0.9))
            prov_item_icon_right = IconRightWidget(icon='arrow-right')
            self.phone_list_container.add_widget(self.prov_item)
            self.prov_item.add_widget(prov_item_icon_left)
            self.prov_item.add_widget(prov_item_icon_right)
            for i in range(self.EXTENDED):
                self.container.add_widget(
                    MDExpansionPanel(
                        icon=f'images/emergency/{names[i]}.png',
                        content=PhoneContent(numbers[i]),
                        panel_cls=MDExpansionPanelOneLine(text=names[i])))
Ejemplo n.º 7
0
 def make_second_screen(self):
     self.screen.ids.active_reports.clear_widgets()
     active_reports = self.app.myfirebase.get_active_reports()
     if active_reports:
         for i, report in enumerate(active_reports):
             to_add = OneLineAvatarIconListItem(text=report)
             to_add.add_widget(IconLeftWidget(icon='file-edit', on_release=self.edit_report))
             to_add.add_widget(MDIconButton(icon="trash-can-outline", pos_hint={'center_x': .8, 'center_y': .5},
                                            on_release=self.remove_report_dialog))
             self.screen.ids.active_reports.add_widget(to_add)
Ejemplo n.º 8
0
 def render_products(self):
     if self.products:
         for name, qty in self.products.items():
             list_item = OneLineAvatarIconListItem(text=name)
             list_item.ids.qty.text = str(qty)
             self.root.ids.scroll.add_widget(list_item)
Ejemplo n.º 9
0
class Show(MDList):
    app = Zdrowie()
    NORMAL = 4
    EXTENDED = 16

    def __init__(self, **kwargs):
        super(Show, self).__init__(**kwargs)
        self.numbers = self.pickle_list()[3]
        self.countries = []
        self.container = None
        self.prov_item = None
        self.delete_container = None
        for self.key, self.value in self.numbers.items():
            icon = IconLeftWidget(icon=f'images/countries/{self.key}.png',
                                  size_hint=(0.9, 0.9))
            self.item = CountryOneLineIconListItem(text=str(self.key))
            self.add_widget(self.item)
            self.item.add_widget(icon)

    def down_button(self, country, *args):
        try:
            self.clear_screen()
        except:
            pass
        self.phone_number_screen_manager.current = 'phone_number_list'
        numbers = self.pickle_list()[3][country]
        if len(numbers) == self.NORMAL:
            names = self.pickle_list()[0]
            self.container = SecondScreen()
            self.phone_container.add_widget(self.container)
            for i in range(self.NORMAL):
                self.container.add_widget(
                    MDExpansionPanel(
                        icon=f'images/emergency/{names[i]}.png',
                        content=PhoneContent(numbers[i]),
                        panel_cls=MDExpansionPanelOneLine(text=names[i])))

        elif len(numbers) == self.EXTENDED:
            names = self.pickle_list()[1]
            self.container = SecondScreen()
            self.phone_container.add_widget(self.container)
            self.prov_item = OneLineAvatarIconListItem(
                text='Numery ws. koronawirusa w Województwach',
                on_release=self.clear_add_provinces)
            prov_item_icon_left = IconLeftWidget(
                icon='images/emergency/mask.png', size_hint=(0.9, 0.9))
            prov_item_icon_right = IconRightWidget(icon='arrow-right')
            self.phone_list_container.add_widget(self.prov_item)
            self.prov_item.add_widget(prov_item_icon_left)
            self.prov_item.add_widget(prov_item_icon_right)
            for i in range(self.EXTENDED):
                self.container.add_widget(
                    MDExpansionPanel(
                        icon=f'images/emergency/{names[i]}.png',
                        content=PhoneContent(numbers[i]),
                        panel_cls=MDExpansionPanelOneLine(text=names[i])))

    def provinces_list(self, *args):
        self.phone_number_screen_manager.current = 'phone_provinces'
        content = self.pickle_list()[4]
        self.delete_container = MDGridLayout(cols=1, adaptive_height=True)
        self.phone_provinces.add_widget(self.delete_container)
        for key, value in content.items():
            item = MDExpansionPanel(
                icon=f'images/provinces/{key}.png',
                content=ProvinceContent(content[key]),
                panel_cls=MDExpansionPanelOneLine(text=key))

            self.delete_container.add_widget(item)

    def pickle_list(self):
        load = []
        if self.app.language == 'pl':
            file = 'countries_data.dat'
        else:
            file = 'countries_data_eng.dat'

        with open(file, 'rb') as file:
            a = pickle.load(file)
            load.append(a)
            b = pickle.load(file)
            load.append(b)
            c = pickle.load(file)
            load.append(c)
            d = pickle.load(file)
            load.append(d)
            e = pickle.load(file)
            load.append(e)
            return load

    def clear_add_provinces(self, *args):
        self.clear_provinces()
        self.provinces_list()

    def clear_screen(self):
        self.phone_container.remove_widget(self.container)

    def clear_provinces(self):
        try:
            self.phone_list_container.remove_widget(self.prov_item)
        except:
            pass
        try:
            self.phone_provinces.remove_widget(self.delete_container)
        except:
            pass
Ejemplo n.º 10
0
    def build(self):
        app = MDApp.get_running_app()
        app.theme_cls = ThemeManager()
        app.theme_cls.primary_palette = "DeepPurple"
        app.theme_cls.accent_palette = "DeepPurple"
        app.theme_cls.theme_style = "Light"
        Window.borderless = False
        self.title = "Super Chat"
        Config.set('kivy', 'window_title', 'Super Chat')

        self.root_sm = ScreenManager()
        rscreen = Screen(name="Root")

        self.nav_layout = NavigationLayout()
        self.nl_sm = ScreenManager()
        nl_screen = Screen(name="nl")
        self.toolbar = MDToolbar(pos_hint={'top': 1},
                                 elevation=9, title=chat_app.title, md_bg_color=chat_app.theme_cls.primary_color)
        self.toolbar.left_action_items = [
            ["menu", lambda x: self.nav_drawer.toggle_nav_drawer()]]
        nl_screen.add_widget(self.toolbar)
        self.screen_manager = ScreenManager()

        self.connect_page = ConnectPage()
        screen = Screen(name="Connect")
        screen.add_widget(self.connect_page)
        self.screen_manager.add_widget(screen)

        self.info_page = InfoPage()
        screen = Screen(name="Info")
        screen.add_widget(self.info_page)
        self.screen_manager.add_widget(screen)
        nl_screen.add_widget(self.screen_manager)
        self.nl_sm.add_widget(nl_screen)

        self.nav_drawer = MDNavigationDrawer(elevation=0)

        self.ndbox = BoxLayout(orientation="vertical", spacing="8dp")

        self.avatar = Image(id="avatar", size_hint=(None, None), size=(
            Window.size[0]*0.65, Window.size[0]*0.55), source="icon.png")
        self.anchor = AnchorLayout(
            anchor_x="center", size_hint_y=None, height=self.avatar.height*1.3)
        self.anchor.add_widget(MDLabel())
        self.anchor.add_widget(self.avatar)
        self.ndbox.add_widget(self.anchor)

        self.fl = FloatLayout()
        self.fl.padding = 8
        self.sub_nav = OneLineAvatarIconListItem(text="Settings", theme_text_color="Primary", pos_hint={
                                                 'center_x': 0.5, 'center_y': 1}, font_style="Button")
        self.iconitem = IconLeftWidget(icon="settings", pos_hint={
                                       'center_x': 1, 'center_y': 0.55})
        self.sub_nav.add_widget(self.iconitem)
        self.fl.add_widget(self.sub_nav)
        self.settings_btn = OneLineAvatarIconListItem(
            text="Dark Mode", on_press=self.theme_change,on_release=lambda x: self.nav_drawer.toggle_nav_drawer(), pos_hint={'center_x': 0.5, 'center_y': 0.86})
        self.iconitem = IconLeftWidget(
            icon="theme-light-dark", pos_hint={'center_x': 1, 'center_y': 0.55})
        self.settings_btn.add_widget(self.iconitem)
        self.fl.add_widget(self.settings_btn)
        self.ndbox.add_widget(self.fl)
        self.toolbar = MDToolbar(
            elevation=8, title=chat_app.title, md_bg_color=chat_app.theme_cls.primary_color)
        self.toolbar.left_action_items = [
            ["close", sys.exit]]
        self.ndbox.add_widget(self.toolbar)
        self.nav_drawer.add_widget(self.ndbox)
        self.nav_layout.add_widget(self.nl_sm)
        self.nav_layout.add_widget(self.nav_drawer)

        rscreen.add_widget(self.nav_layout)
        self.root_sm.add_widget(rscreen)

        return self.root_sm