Exemple #1
0
 def get_recent(self, dt=0):
     logs = self.client.calls.list()
     for log in logs:
         self.ids.time.text = str(log.start_time)
         dc = log.date_created.strftime("%d:%m:%y")
         tm = log.end_time.strftime("%H:%M:%S")
         recent = TwoLineIconListItem(
             text=f"        [font=RobotoLight]{log.to}[/font]",
             text_color=[0, 0, 0, 1],
             secondary_text=
             f"         {log.duration}sec               {dc}      {tm}",
             secondary_text_color=[0, 1, 0, 1],
             bg_color=[1, 1, 1, 1],
             divider='Inset')
         im = IconLeftWidget(icon='account')
         recent.add_widget(im)
         recent.size_hint_max_y = 2
         self.ids.recent.add_widget(recent)
Exemple #2
0
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self.register_event_type("on_open")
        self.register_event_type("on_close")

        if self.panel_cls and isinstance(
            self.panel_cls,
            (
                MDExpansionPanelOneLine,
                MDExpansionPanelTwoLine,
                MDExpansionPanelThreeLine,
            ),
        ):
            self.panel_cls.pos_hint = {"top": 1}
            self.panel_cls._no_ripple_effect = True
            self.panel_cls.bind(
                on_release=lambda x: self.check_open_panel(self.panel_cls)
            )
            self.chevron = MDExpansionChevronRight()
            self.panel_cls.add_widget(self.chevron)
            if self.icon:
                if self.icon in md_icons.keys():
                    self.panel_cls.add_widget(
                        IconLeftWidget(
                            icon=self.icon, pos_hint={"center_y": 0.5}
                        )
                    )
                else:
                    self.panel_cls.add_widget(
                        ImageLeftWidget(
                            source=self.icon, pos_hint={"center_y": 0.5}
                        )
                    )
            else:
                # if no icon
                self.panel_cls._txt_left_pad = m_res.HORIZ_MARGINS
            self.add_widget(self.panel_cls)
        else:
            raise ValueError(
                "KivyMD: `panel_cls` object must be must be one of the "
                "objects from the list\n"
                "[MDExpansionPanelOneLine, MDExpansionPanelTwoLine, "
                "MDExpansionPanelThreeLine]"
            )
Exemple #3
0
 def load_list(self):
     c.execute("SELECT * FROM timer ORDER BY number DESC LIMIT 1 ")
     for i in c:
         self.load_name = i[0]
         self.load_hours = i[1]
         self.load_minutes = i[2]
         self.load_seconds = i[3] + self.load_minutes*60
         self.Limit_for = True
         for i in range(8):
             if self.Limit_for == True:
                 self.listit.append(self.lists)
                 self.help.ids.leep.add_widget(self.lists)
                 image = IconLeftWidget(icon="plus")
                 imageright = IconRightWidget(icon="minus")
                 self.lists.add_widget(image)
                 self.lists.add_widget(imageright)
                 imageright.bind(on_press=lambda x: self.delete_row((imageright.parent.parent)))
                 self.Limit_for = False
                 self.help.ids.frij.text = ""
 def load_activity_page(self):
     ContentNavigationDrawer.populateNavDrawerValues(self)
     self.ids['actscroll'].clear_widgets()
     query = f'''SELECT ACTIVITY_ID, ORG_ID, NAME, LOCATION, DISASTER, TARGET_AMT FROM ACTIVITY WHERE 
     ORG_ID = {globalvariables.var_org_id} AND STATUS='Y' '''
     # run direct SQL
     print(globalvariables.var_org_id)
     stmt = ibm_db.exec_immediate(connection.conn, query)
     actlist = ibm_db.fetch_both(stmt)
     item = TwoLineIconListItem()
     while (actlist):
         icon = IconLeftWidget(icon="bank")
         item = TwoLineIconListItem(text=str(actlist[2]),
                                    secondary_text=str(actlist[3]))
         item.add_widget(icon)
         item.bind(on_release=self.row_press)
         self.ids['actscroll'].add_widget(item)
         actlist = ibm_db.fetch_both(
             stmt)  #for incrementing rows inside while loop
Exemple #5
0
 def start_load_list(self):
     c.execute("SELECT * FROM timer ORDER BY number ASC")
     d = c.fetchall()
     for t in d:
         u = 0
         self.bar = MDProgressBar(id="counter",
                                  max=t[3],
                                  value=t[3],
                                  size_hint=(0.7, 0),
                                  pos_hint={
                                      "center_x": 0.5,
                                      "center_y": 0.3
                                  })
         lists = ProgressList(text=t[0],
                              secondary_text=str(t[2]) + ":" + str(t[3]),
                              tertiary_text=" ",
                              bar=self.bar)
         self.help.ids.leep.add_widget(lists)
         image = IconLeftWidget(icon="plus")
         self.listitdown.append(lists)
         lists.add_widget(image)
         u += 1
 def add_songs(self):
     url = 'https://spotifycharts.com/regional/in/daily/latest/download'
     with closing(requests.get(url, stream=True)) as r:
         f = (line.decode('utf-8') for line in r.iter_lines())
         reader = csv.reader(f, delimiter=',', quotechar='"')
         for row in reader:
             try:
                 pos = int(row[0])
                 song_name = row[1]
                 art_name = row[2]
                 lst = TwoLineAvatarListItem(
                     text="{}. {}".format(pos, song_name),
                     secondary_text=art_name,
                     on_press=lambda x, y=song_name: self.select_spotify(y))
                 lst.add_widget(IconLeftWidget(icon='music-note-outline'))
                 self.top_list.add_widget(lst)
             except:
                 continue
     try:
         self.dia.dismiss()
     except:
         pass
Exemple #7
0
    def __init__(self, **kwargs):
        super().__init__(**kwargs)

        des_n_loc = MainMenuScreen()
        print(des_n_loc.show_data())
        description = des_n_loc.show_data()[0]
        location = des_n_loc.show_data()[1]

        json_data = f'https://jobs.github.com/positions.json?description={description}&location={location}'
        print(json_data)

        response = requests.get(url=json_data)
        response.raise_for_status()
        data = response.json()

        md_list = MDList()
        scroll = ScrollView()
        scroll.add_widget(md_list)

        for i in range(0, len(data)):

            company_logo = data[i]['company_logo']
            company = data[i]['company']
            title = data[i]['title']
            location = data[i]['location']

            icon_left_widget = IconLeftWidget(icon=f'language-{description}')

            list_item = ThreeLineAvatarListItem(
                text=company,
                secondary_text=title,
                tertiary_text=location,
            )

            list_item.add_widget(icon_left_widget)
            md_list.add_widget(list_item)

        self.add_widget(scroll)
Exemple #8
0
    def build(self):
        screen = Screen()

        # Creating a Simple List
        scroll = ScrollView()

        list_view = MDList()
        for i in range(20):

            # items = ThreeLineListItem(text=str(i) + ' item',
            #                          secondary_text='This is ' + str(i) + 'th item',
            #                          tertiary_text='hello')

            icons = IconLeftWidget(icon="android")
            items = OneLineIconListItem(text=str(i) + ' item')
            items.add_widget(icons)
            list_view.add_widget(items)

        scroll.add_widget(list_view)
        # End List

        screen.add_widget(scroll)
        return screen
    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])))
Exemple #10
0
 def sendreq(self, key):
     lst = [str(x) for x in range(12)]
     for a in lst:
         if str(a) in key:
             i = int(a)
     icon = IconLeftWidget(icon='check-circle', )
     if key == 'list1' and self.n1 == 0:
         data = {'sent_requests': f'{self.keys_all[i-1]}'}
         db.child("Users").child(f"{EmailID}").child('Friends').child(
             f'f{self.FNumber}').set(data)
         self.FNumber += 1
         self.ids.list1.add_widget(icon)
         Snackbar(text='Request Sent', padding='80dp').show()
         self.n1 += 1
     else:
         Snackbar(text='Request Already Sent!', padding='80dp').show()
     if key == 'list2' and self.n2 == 0:
         self.ids.list2.add_widget(icon)
         data = {'sent_requests': f'{self.keys_all[i-1]}'}
         db.child("Users").child(f"{EmailID}").child('Friends').child(
             f'f{self.FNumber}').set(data)
         self.FNumber += 1
         Snackbar(text='Request Sent', padding='80dp').show()
         self.n2 += 1
     else:
         Snackbar(text='Request Already Sent!', padding='80dp')
     if key == 'list3' and self.n3 == 0:
         data = {'sent_requests': f'{self.keys_all[i-1]}'}
         db.child("Users").child(f"{EmailID}").child('Friends').child(
             f'f{self.FNumber}').set(data)
         self.FNumber += 1
         self.ids.list3.add_widget(icon)
         Snackbar(text='Request Sent', padding='80dp').show()
         self.n3 += 1
     else:
         Snackbar(text='Request Already Sent!', padding='80dp')
Exemple #11
0
 def new_message_private(self, name, message):
     new_message = TwoLineAvatarIconListItem(text=name, secondary_text=message)
     new_message.add_widget(IconLeftWidget(icon="message-outline"))
     self.chatscreen.ids.privatelist.add_widget(new_message)
    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
Exemple #13
0
    def pressed(self, instance):
        top3_rank = final_combiner.final_rank([
            int(self.left.two.input1.text),
            int(self.left.two.input3.text),
            int(self.left.two.input5.text)
        ], self.spinner.text)
        print("實際的前三名:", end="")
        print(top3_rank)
        if not self.acard:
            self.rank1 = ThreeLineIconListItem(
                text=top3_rank[0][0].split('區')[1],
                secondary_text='人口特性:' + str(top3_rank[0][1]),
                tertiary_text='新資所得:' + str(top3_rank[0][2]),
                text_color=[1, 1, 1, 1])
            self.rank1.add_widget(IconLeftWidget(icon='numeric-1-box'))
            self.rank1.bg_color = [0, 0, 0, 0]
            self.rank1.children[1].children[2].font_name = 'msjhbd.ttc'
            self.rank1.children[1].children[1].font_name = 'msjhbd.ttc'
            self.rank1.children[1].children[0].font_name = 'msjhbd.ttc'
            self.rank1.children[1].children[2].font_size = '18'

            more_rank1 = MDLabel(text='人口消長:' + str(top3_rank[0][3]))
            more_rank1.font_name = 'msjhbd.ttc'
            more_rank1.font_style = 'Body1'
            more_rank1.font_size = 16
            more_rank1.color = [0, 0, 0, 0.7]
            self.rank1.children[1].add_widget(more_rank1)
            self.rank1.children[1].size_hint = [1, None]
            self.rank1.children[1].children[3].pos = [56, 280]

            self.rank1.children[0].children[0].children[0].color = [1, 1, 1, 1]
            self.rank1.children[0].children[0].children[0].pos_hint = {
                'left': 0.1
            }
            self.rank1.children[0].padding = [-10, 0, 0, 0]
            self.rank1.children[1].children[3].theme_text_color = 'Custom'
            self.rank1.children[1].children[3].text_color = [1, 1, 1, 1]
            self.rank1.children[1].children[2].theme_text_color = 'Custom'
            self.rank1.children[1].children[2].text_color = [1, 1, 1, 1]
            self.rank1.children[1].children[1].theme_text_color = 'Custom'
            self.rank1.children[1].children[1].text_color = [1, 1, 1, 1]
            self.rank1.children[1].children[0].theme_text_color = 'Custom'
            self.rank1.children[1].children[0].text_color = [1, 1, 1, 1]
            self.rank1.children[1].height = 110
            # 從另一個預先寫好、計算各里指標分數的模組final_combiner引進final_rank函數,取得前三名的區域及其各項指標分數後用top3_rank變數紀錄起來
            # 接著改寫、擴充kivy套件內的工具(ThreeLineIconListItem),做成資訊卡,同時使其擁有按鈕的特性讓使用者做點選

            self.rank2 = ThreeLineIconListItem(
                text=top3_rank[1][0].split('區')[1],
                secondary_text='人口特性:' + str(top3_rank[1][1]),
                tertiary_text='新資所得:' + str(top3_rank[1][2]))
            self.rank2.add_widget(IconLeftWidget(icon='numeric-2-box'))
            self.rank2.bg_color = [0, 0, 0, 0]

            self.rank2.children[1].children[2].font_size = '18'
            self.rank2.children[1].children[2].font_name = 'msjhbd.ttc'
            self.rank2.children[1].children[1].font_name = 'msjhbd.ttc'
            self.rank2.children[1].children[0].font_name = 'msjhbd.ttc'

            more_rank2 = MDLabel(text='人口消長:' + str(top3_rank[1][3]))
            more_rank2.font_name = 'msjhbd.ttc'
            more_rank2.font_style = 'Body1'
            more_rank2.font_size = 16
            more_rank2.color = [0, 0, 0, 0.54]
            self.rank2.children[1].add_widget(more_rank2)
            self.rank2.children[1].size_hint = [1, None]

            self.rank2.children[0].children[0].children[0].color = [1, 1, 1, 1]
            self.rank2.children[0].children[0].children[0].pos_hint = {
                'left': 0.1
            }
            self.rank2.children[0].padding = [-10, 0, 0, 0]
            self.rank2.children[1].children[3].theme_text_color = 'Custom'
            self.rank2.children[1].children[3].text_color = [1, 1, 1, 1]
            self.rank2.children[1].children[2].theme_text_color = 'Custom'
            self.rank2.children[1].children[2].text_color = [1, 1, 1, 1]
            self.rank2.children[1].children[1].theme_text_color = 'Custom'
            self.rank2.children[1].children[1].text_color = [1, 1, 1, 1]
            self.rank2.children[1].children[0].theme_text_color = 'Custom'
            self.rank2.children[1].children[0].text_color = [1, 1, 1, 1]

            self.rank3 = ThreeLineIconListItem(
                text=top3_rank[2][0].split('區')[1],
                secondary_text='人口特性:' + str(top3_rank[2][1]),
                tertiary_text='新資所得:' + str(top3_rank[2][2]))
            self.rank3.add_widget(IconLeftWidget(icon='numeric-3-box'))
            self.rank3.bg_color = [0, 0, 0, 0]

            self.rank3.children[1].children[2].font_size = '18'
            self.rank3.children[1].children[2].font_name = 'msjhbd.ttc'
            self.rank3.children[1].children[1].font_name = 'msjhbd.ttc'
            self.rank3.children[1].children[0].font_name = 'msjhbd.ttc'

            more_rank3 = MDLabel(text='人口消長:' + str(top3_rank[2][3]))
            more_rank3.font_name = 'msjhbd.ttc'
            more_rank3.font_style = 'Body1'
            more_rank3.font_size = 16
            more_rank3.color = [0, 0, 0, 0.54]
            self.rank3.children[1].add_widget(more_rank3)
            self.rank3.children[1].size_hint = [1, None]

            self.rank3.children[0].children[0].children[0].color = [1, 1, 1, 1]
            self.rank3.children[0].children[0].children[0].pos_hint = {
                'left': 0.1
            }
            self.rank3.children[0].padding = [-10, 0, 0, 0]
            self.rank3.children[1].children[3].theme_text_color = 'Custom'
            self.rank3.children[1].children[3].text_color = [1, 1, 1, 1]
            self.rank3.children[1].children[2].theme_text_color = 'Custom'
            self.rank3.children[1].children[2].text_color = [1, 1, 1, 1]
            self.rank3.children[1].children[1].theme_text_color = 'Custom'
            self.rank3.children[1].children[1].text_color = [1, 1, 1, 1]
            self.rank3.children[1].children[0].theme_text_color = 'Custom'
            self.rank3.children[1].children[0].text_color = [1, 1, 1, 1]

            self.rank1.size = [352, 100]
            self.rank2.size = [352, 100]
            self.rank3.size = [352, 100]

            self.click += 1

            self.rank1.children[1].padding = [56, 16, 24, 7]
            self.rank2.children[1].padding = [56, 4, 24, 7]
            self.rank3.children[1].padding = [56, 4, 24, 7]

            self.rank1.children[1].children[0].adaptive_height = True
            self.rank1.children[1].pos = [0, 180]
            self.rank2.children[1].children[1].adaptive_height = True
            self.rank2.children[1].pos = [0, 130]
            self.rank3.children[1].children[1].adaptive_height = True

            self.lll = ScatterLayout(size_hint=[0.2, 0.6])
            self.myLast = MDGridLayout(cols=1,
                                       size_hint=[0.8, 0.85],
                                       md_bg_color=[0.39, 0.4, 0.8, 0.8])
            self.myLast.add_widget(self.rank1)  # 0.285,0.5
            self.myLast.add_widget(self.rank2)
            self.myLast.add_widget(self.rank3)
            self.lll.add_widget(self.myLast)
            from kivy.core.window import Window
            Window.add_widget(self.lll)
            self.lll.center = (640, 328)
            self.rank1.bind(on_release=self.add_renk1_marker)
            self.rank2.bind(on_release=self.add_renk2_marker)
            self.rank3.bind(on_release=self.add_renk3_marker)

            lat = 0
            lon = 0
            try:
                with open(os.path.realpath(sys.argv[0]).strip(sys.argv[0]) +
                          'district.json',
                          'r',
                          encoding='utf-8') as q:
                    q = json.load(q)
                    lat = q["臺中市" + self.spinner.text][0][0]
                    lon = q["臺中市" + self.spinner.text][0][1]

            except:
                print(self.spinner.text + "經緯度有問題")

            self.map.zoom = 12
            self.map.center_on(float(lat), float(lon))
    def refresh_data(self):
        print("data", self.data)
        self.now = datetime.now()
        tz = pytz.timezone("Etc/GMT+4")
        tz.localize(self.now)

        self.check_expired_alerts()

        hierarchy = []
        weekday = self.now.weekday()
        old_weekday = self.now.weekday()
        hour = self.now.hour
        today = False
        if hour < 14:
            today = True

        for i in range(6):
            if not today:
                i += 1
            i += weekday
            if i == 6:
                i = 0
            elif i > 6:
                i -= 6

            for j in SCHEDULE[i]:
                if j not in hierarchy:
                    hierarchy.append(j)

        self.algoritmus_data = {}
        self.algoritmus_header = ""
        for i in hierarchy:
            for j in self.data:
                if j.startswith(i):
                    self.algoritmus_data[j] = self.data[j]
                    self.algoritmus_header = i
            if self.algoritmus_data:
                break

        self.main_widget.ids.rasp_list.clear_widgets()

        today_list_item = ThreeLineIconListItem()
        today_list_item.text = "Сегодня ({})".format(DAYOFWEEK_DICT[weekday])
        today_list_item.secondary_text = ", ".join(
            SCHEDULE.get(weekday, DEFAULT_SCHED))

        self.main_widget.ids.rasp_list.add_widget(today_list_item)
        self.algoritmus_nextday = "На потом"
        if weekday in (5, 6):
            weekday = -1
        weekday += 1
        if self.algoritmus_header in SCHEDULE.get(weekday, []):
            self.algoritmus_nextday = "На завтра"
        if self.algoritmus_header in SCHEDULE.get(old_weekday, []) and today:
            self.algoritmus_nextday = "СДЕЛАТЬ СЕГОДНЯ!"

        today_list_item = ThreeLineIconListItem()
        today_list_item.text = "Завтра ({})".format(DAYOFWEEK_DICT[weekday])
        today_list_item.secondary_text = ", ".join(
            SCHEDULE.get(weekday, DEFAULT_SCHED))

        self.main_widget.ids.rasp_list.add_widget(today_list_item)

        if self.data:
            self.main_widget.ids.algoritmuscard.set_data(
                self.algoritmus_data, self.algoritmus_header,
                self.algoritmus_nextday)
        else:
            self.main_widget.ids.algoritmuscard.set_data(
                {
                    "Действия":
                    "Попробуй обновить данные. Если ничего не поменялось, отдыхай))"
                }, "Наверное, ты всё сделал", False, "База данных пуста :(")

        self.tasks_data = {}

        self.main_widget.ids.alerts_list.clear_widgets()
        if alerts['unreaded']:
            item = OneLineIconListItem()
            item.text = "Новые"
            item.add_widget(IconLeftWidget(icon="newspaper-plus"))
            self.main_widget.ids.alerts_list.add_widget(item)
            for i in alerts["unreaded"]:
                self.main_widget.ids.alerts_list.add_widget(
                    ThreeLineListItem(text=i[0]))

        if alerts['readed']:
            item = OneLineIconListItem()
            item.text = "Прочитанные"
            item.add_widget(IconLeftWidget(icon="newspaper"))
            self.main_widget.ids.alerts_list.add_widget(item)
            for i in alerts["readed"]:
                self.main_widget.ids.alerts_list.add_widget(
                    ThreeLineListItem(text=i[0]))

        for i in hierarchy:
            self.tasks_data[i] = {}
            for j in self.data:
                if j.startswith(i):
                    self.tasks_data[i][j] = self.data[j]
            if self.tasks_data[i] == {}:
                self.tasks_data[i] = {
                    "Не найдено записей в базе данных":
                    "Обновите базу данных. Если так и остаётся, значит, всё сделано!"
                }

        self.main_widget.ids.tasks_layout.clear_widgets()
        for i in self.tasks_data:
            item = ItemCard()
            nextday = "На потом"
            if i in SCHEDULE[weekday]:
                nextday = "На завтра"
            if today and i in SCHEDULE[old_weekday]:
                nextday = "СДЕЛАТЬ СЕГОДНЯ!!"
            item.set_data(self.tasks_data[i], i, nextday, from_tasks=True)
            self.main_widget.ids.tasks_layout.add_widget(item)
        self.update_db()
        self.refresh_alerts_navdrawer()
 def __init__(self, **kw):
     super().__init__()
     self.text = kw["text"]
     self.icon = IconLeftWidget(icon=kw["icon"])
     self.add_widget(self.icon)
     self.on_release = kw["on_release"]
    def pressed(self, instance):
        print(self.spinner.text)
        #print(self.spinner.text)
        top3_rank = final_combiner.final_rank([
            int(self.left.two.input1.text),
            int(self.left.two.input3.text),
            int(self.left.two.input5.text)
        ])
        if not self.acard:
            self.rank1 = ThreeLineIconListItem(
                text=top3_rank[0][0],
                secondary_text='人口特性:' + str(top3_rank[0][1]),
                tertiary_text='新資所得:' + str(top3_rank[0][2]),
                text_color=[1, 1, 1, 1])
            self.rank1.add_widget(IconLeftWidget(icon='numeric-1-box'))
            self.rank1.bg_color = [0, 0, 0, 0]
            self.rank1.children[1].children[2].font_name = 'msjhbd.ttc'
            self.rank1.children[1].children[1].font_name = 'msjhbd.ttc'
            self.rank1.children[1].children[0].font_name = 'msjhbd.ttc'
            self.rank1.children[1].children[2].font_size = '18'

            more_rank1 = MDLabel(text='人口消長:' + str(top3_rank[0][3]))
            more_rank1.font_name = 'msjhbd.ttc'
            more_rank1.font_style = 'Body1'
            more_rank1.font_size = 16
            more_rank1.color = [0, 0, 0, 0.7]
            self.rank1.children[1].add_widget(more_rank1)
            self.rank1.children[1].size_hint = [1, None]
            self.rank1.children[1].children[3].pos = [56, 280]

            self.rank1.children[0].children[0].children[0].color = [1, 1, 1, 1]
            self.rank1.children[0].children[0].children[0].pos_hint = {
                'left': 0.1
            }
            self.rank1.children[0].padding = [-10, 0, 0, 0]
            self.rank1.children[1].children[3].theme_text_color = 'Custom'
            self.rank1.children[1].children[3].text_color = [1, 1, 1, 1]
            self.rank1.children[1].children[2].theme_text_color = 'Custom'
            self.rank1.children[1].children[2].text_color = [1, 1, 1, 1]
            self.rank1.children[1].children[1].theme_text_color = 'Custom'
            self.rank1.children[1].children[1].text_color = [1, 1, 1, 1]
            self.rank1.children[1].children[0].theme_text_color = 'Custom'
            self.rank1.children[1].children[0].text_color = [1, 1, 1, 1]
            # 從另一個預先寫好、計算各里指標分數的模組final_combiner引進final_rank函數,取得前三名的區域及其各項指標分數後用top3_rank變數紀錄起來
            # 接著改寫、擴充kivy套件內的工具(ThreeLineIconListItem),做成資訊卡,同時使其擁有按鈕的特性讓使用者做點選

            self.rank2 = ThreeLineIconListItem(
                text=top3_rank[1][0],
                secondary_text='人口特性:' + str(top3_rank[1][1]),
                tertiary_text='新資所得:' + str(top3_rank[1][2]))
            self.rank2.add_widget(IconLeftWidget(icon='numeric-2-box'))
            self.rank2.bg_color = [0, 0, 0, 0]

            self.rank2.children[1].children[2].font_size = '18'
            self.rank2.children[1].children[2].font_name = 'msjhbd.ttc'
            self.rank2.children[1].children[1].font_name = 'msjhbd.ttc'
            self.rank2.children[1].children[0].font_name = 'msjhbd.ttc'

            more_rank2 = MDLabel(text='人口消長:' + str(top3_rank[1][3]))
            more_rank2.font_name = 'msjhbd.ttc'
            more_rank2.font_style = 'Body1'
            more_rank2.font_size = 16
            more_rank2.color = [0, 0, 0, 0.54]
            self.rank2.children[1].add_widget(more_rank2)
            self.rank2.children[1].size_hint = [1, None]

            self.rank2.children[0].children[0].children[0].color = [1, 1, 1, 1]
            self.rank2.children[0].children[0].children[0].pos_hint = {
                'left': 0.1
            }
            self.rank2.children[0].padding = [-10, 0, 0, 0]
            self.rank2.children[1].children[3].theme_text_color = 'Custom'
            self.rank2.children[1].children[3].text_color = [1, 1, 1, 1]
            self.rank2.children[1].children[2].theme_text_color = 'Custom'
            self.rank2.children[1].children[2].text_color = [1, 1, 1, 1]
            self.rank2.children[1].children[1].theme_text_color = 'Custom'
            self.rank2.children[1].children[1].text_color = [1, 1, 1, 1]
            self.rank2.children[1].children[0].theme_text_color = 'Custom'
            self.rank2.children[1].children[0].text_color = [1, 1, 1, 1]

            self.rank3 = ThreeLineIconListItem(
                text=top3_rank[2][0],
                secondary_text='人口特性:' + str(top3_rank[2][1]),
                tertiary_text='新資所得:' + str(top3_rank[2][2]))
            self.rank3.add_widget(IconLeftWidget(icon='numeric-3-box'))
            self.rank3.bg_color = [0, 0, 0, 0]

            self.rank3.children[1].children[2].font_size = '18'
            self.rank3.children[1].children[2].font_name = 'msjhbd.ttc'
            self.rank3.children[1].children[1].font_name = 'msjhbd.ttc'
            self.rank3.children[1].children[0].font_name = 'msjhbd.ttc'

            more_rank3 = MDLabel(text='人口消長:' + str(top3_rank[2][3]))
            more_rank3.font_name = 'msjhbd.ttc'
            more_rank3.font_style = 'Body1'
            more_rank3.font_size = 16
            more_rank3.color = [0, 0, 0, 0.54]
            self.rank3.children[1].add_widget(more_rank3)
            self.rank3.children[1].size_hint = [1, None]

            self.rank3.children[0].children[0].children[0].color = [1, 1, 1, 1]
            self.rank3.children[0].children[0].children[0].pos_hint = {
                'left': 0.1
            }
            self.rank3.children[0].padding = [-10, 0, 0, 0]
            self.rank3.children[1].children[3].theme_text_color = 'Custom'
            self.rank3.children[1].children[3].text_color = [1, 1, 1, 1]
            self.rank3.children[1].children[2].theme_text_color = 'Custom'
            self.rank3.children[1].children[2].text_color = [1, 1, 1, 1]
            self.rank3.children[1].children[1].theme_text_color = 'Custom'
            self.rank3.children[1].children[1].text_color = [1, 1, 1, 1]
            self.rank3.children[1].children[0].theme_text_color = 'Custom'
            self.rank3.children[1].children[0].text_color = [1, 1, 1, 1]

            self.rank1.size = [352, 100]
            self.rank2.size = [352, 100]
            self.rank3.size = [352, 100]

            self.click += 1

            self.rank1.children[1].padding = [56, 16, 24, 7]
            self.rank2.children[1].padding = [56, 4, 24, 7]
            self.rank3.children[1].padding = [56, 4, 24, 7]

            self.rank1.children[1].children[0].adaptive_height = True
            self.rank1.children[1].pos = [0, 180]
            self.rank2.children[1].children[1].adaptive_height = True
            self.rank2.children[1].pos = [0, 130]
            self.rank3.children[1].children[1].adaptive_height = True

            self.add_widget(
                MDGridLayout(cols=1,
                             size_hint=[0.285, 1],
                             md_bg_color=[0.39, 0.4, 0.72, 1]))
            self.children[0].add_widget(self.rank1)
            self.children[0].add_widget(self.rank2)
            self.children[0].add_widget(self.rank3)

            self.rank1.bind(on_release=self.add_renk1_marker)
            self.rank2.bind(on_release=self.add_renk2_marker)
            self.rank3.bind(on_release=self.add_renk3_marker)
 def __init__(self,**kw):
     super().__init__()
     self.text=kw['text']
     self.icon=IconLeftWidget(icon=kw['icon'])
     self.add_widget(self.icon)
     self.on_release=kw['on_release']
Exemple #18
0
    def __init__(self, Letter, **kwargs):
        super(Main_1, self).__init__(**kwargs)
        if line == False:
            lines = 1
            sp = 0.015
        elif line == True:
            lines = 3
            sp = 0.02
        view = ScrollView()
        layout = GridLayout(cols=1,
                            padding=Window.height * sp,
                            spacing=Window.height * sp,
                            size_hint_y=None)
        layout.bind(minimum_height=layout.setter("height"))

        for i in range(X[str(Letter)]):
            no = i
            letter = Letter + str(i + 1)
            if len(letter) == 2:
                z = str(letter[0]) + '.' + str(letter[1])
                y = str(letter[0]) + '.' + str(int(letter[1]) + 1)
            elif len(letter) == 3:
                z = str(letter[0]) + '.' + str(letter[1]) + str(letter[2])
                y = str(letter[0]) + '.' + str(
                    int(str(letter[1]) + str(letter[2])) + 1)
            string = A.split(z)[1].split(y)[0]
            string1 = []
            for i in string:
                if i != '\t':
                    string1.append(i)
            x = ''.join(string1)

            m = x.split('\n')
            x = '\n'.join(m[0:lines])
            m = x.split('\n')
            n = []
            j = 0
            for i in m:
                if len(i) >= j:
                    j = len(i)

            size_y = Window.height * 0.05 * (len(m))
            size_x = j * Window.height * 0.042 / 2.25
            if Window.width > size_x:
                size_x = Window.width
            btn = Cbutton(lts=letter,
                          font_name="kannada_mallige",
                          text="[font=Roboto-Bold][b][size=" +
                          str(int(Window.height * 0.05)) + ']' + str(letter) +
                          '. ' + '[/size][/b][/font]' + x +
                          "[font=Roboto-Bold][b][size=" +
                          str(int(Window.height * 0.05)) + ']' + ' ' +
                          '[/size][/b][/font]',
                          bold=True,
                          markup=True,
                          size=(size_x, size_y),
                          font_size=(Window.height * 0.04),
                          background_color=(1, 1, 1, 0),
                          size_hint=(None, None),
                          halign='left',
                          valign='center',
                          pos=(0, Window.height - 100),
                          color=(0, 0, 0, 1))
            btn.bind(on_release=self.Screens_2)

            layout.add_widget(btn)

        view.add_widget(layout)

        box = BoxLayout(orientation='vertical')
        toolbar = TwoLineIconListItem(bg_color=(0, .588, .533, 1))
        back_icon = IconLeftWidget(icon='arrow-left-thick')

        back_icon.bind(on_release=self.back)

        toolbar.add_widget(back_icon)

        box.add_widget(toolbar)

        box.add_widget(view)
        self.add_widget(box)
Exemple #19
0
    def __init__(self, **kwargs):
        super(Starred, self).__init__(**kwargs)

        view = ScrollView()
        layout = GridLayout(cols=1,
                            padding=Window.height * 0.01,
                            spacing=Window.height * 0.01,
                            size_hint_y=None)
        layout.bind(minimum_height=layout.setter("height"))

        for i in Star:
            letter = i
            if len(letter) == 2:
                z = str(letter[0]) + '.' + str(letter[1])
                y = str(letter[0]) + '.' + str(int(letter[1]) + 1)
            elif len(letter) == 3:
                z = str(letter[0]) + '.' + str(letter[1]) + str(letter[2])
                y = str(letter[0]) + '.' + str(
                    int(str(letter[1]) + str(letter[2])) + 1)
            string = A.split(z)[1].split(y)[0]
            string1 = []
            for i in string:
                if i != '\t':
                    string1.append(i)
            a = ''.join(string1)

            x = []
            for i in range(len(a)):
                if a[i].isdecimal() and a[i + 1] != ')':
                    x.append('\n' + a[i])
                else:
                    x.append(a[i])
            x = ''.join(x)

            m = x.split('\n')
            x = '\n'.join(m[0:6])
            m = x.split('\n')
            n = []
            j = 0
            for i in m:
                if len(i) >= j:
                    j = len(i)

            size_y = Window.height * 0.05 * (len(m))
            size_x = j * Window.height * 0.042 / 2.25
            if Window.width > size_x:
                size_x = Window.width
            btn = Button(id=letter,
                         font_name="kannada_mallige",
                         text="[font=Roboto-Bold][b][size=" +
                         str(int(Window.height * 0.05)) + ']' + str(letter) +
                         '. ' + '[/size][/b][/font]' + x,
                         size=(size_x, size_y),
                         font_size=(Window.height * 0.04),
                         text_size=(None, None),
                         markup=True,
                         background_color=(1, 1, 1, 0),
                         size_hint=(None, None),
                         halign='left',
                         valign='center',
                         pos=(0, Window.height - 100),
                         color=(0, 0, 0, 1))  # valign = 'top')
            btn.bind(on_release=self.Screens_2)

            layout.add_widget(btn)

        view.add_widget(layout)

        box = BoxLayout(orientation='vertical')
        toolbar = TwoLineIconListItem(bg_color=(0, .588, .533, 1))
        back_icon = IconLeftWidget(icon='arrow-left-thick')

        back_icon.bind(on_release=self.back)

        toolbar.add_widget(back_icon)

        box.add_widget(toolbar)

        box.add_widget(view)
        self.add_widget(box)
Exemple #20
0
    def __init__(self, letter, **kwargs):
        super(Main_2, self).__init__(**kwargs)

        if len(letter) == 2:
            z = str(letter[0]) + '.' + str(letter[1])
            y = str(letter[0]) + '.' + str(int(letter[1]) + 1)
        elif len(letter) == 3:
            z = str(letter[0]) + '.' + str(letter[1]) + str(letter[2])
            y = str(letter[0]) + '.' + str(
                int(str(letter[1]) + str(letter[2])) + 1)
        string = A.split(z)[1].split(y)[0]
        string1 = []
        for i in string:
            if i != '\t':
                string1.append(i)
        a = ''.join(string1)

        boldness = bold

        x = []
        for i in range(len(a)):
            if a[i].isdecimal() and a[i + 1] != ')':
                x.append('\n' + a[i])
            else:
                x.append(a[i])

        x = ''.join(x)

        m = x.split('\n')
        n = []
        j = 0
        for i in m:
            if len(i) >= j:
                j = len(i)
        size_y = Window.height * 0.043 * (len(m) + 5)
        size_x = j * Window.height * 0.045 / 2.25
        if Window.width > size_x:
            size_x = Window.width
        btn = Label(font_name="kannada_mallige",
                    text="[font=Roboto-Bold][b][size=" +
                    str(int(Window.height * 0.05)) + ']' + str(letter) + '. ' +
                    '[/size][/b][/font]' + x,
                    size=(size_x, size_y),
                    font_size=(Window.height * 0.04),
                    text_size=(None, None),
                    bold=boldness,
                    markup=True,
                    size_hint=(None, None),
                    halign='left',
                    valign='top',
                    color=(0, 0, 0, 1))

        root = ScrollView(size_hint=(1, 1))
        root.add_widget(btn)
        box = BoxLayout(orientation='vertical')
        toolbar = TwoLineIconListItem(bg_color=(0, .588, .533, 1))
        back_icon = IconLeftWidget(icon='arrow-left-thick')

        back_icon.bind(on_release=self.back)

        toolbar.add_widget(back_icon)

        box.add_widget(toolbar)
        box.add_widget(root)
        self.add_widget(box)

        star = MDIconButton(icon="star-outline",
                            pos_hint={
                                'right': 1,
                                'top': 1
                            })
        star.bind(on_release=self.bookmark)
        self.add_widget(star)
Exemple #21
0
    def pressed(self, instance):
        print([
            int(self.left.two.input1.text),
            int(self.left.two.input3.text),
            int(self.left.two.input5.text)
        ])
        a = final_combiner.final_rank([
            int(self.left.two.input1.text),
            int(self.left.two.input3.text),
            int(self.left.two.input5.text)
        ])
        print(a)
        if not self.acard:
            #bb = ThreeLineIconListItem(text=self.left.two.input1.text, secondary_text='22', tertiary_text='333')
            #bb.add_widget(IconLeftWidget(icon='language-python'))
            #bb.bg_color = [0.5,1,1,1]
            print(a)
            self.rank1 = ThreeLineIconListItem(
                text=a[0][0],
                secondary_text='人口特性:' + str(a[0][1]),
                tertiary_text='新資所得:' + str(a[0][2]))  # , size = [352, 100]
            self.rank1.add_widget(IconLeftWidget(icon='numeric-1-box'))
            self.rank1.bg_color = [0.5, 0.5, 0.5, 0.5]
            self.rank1.children[1].children[2].font_name = 'msjhbd.ttc'
            self.rank1.children[1].children[1].font_name = 'msjhbd.ttc'
            self.rank1.children[1].children[0].font_name = 'msjhbd.ttc'
            self.rank1.children[1].children[2].font_size = '18'

            more_rank1 = MDLabel(text='人口消長:' + str(a[0][3]))
            more_rank1.font_name = 'msjhbd.ttc'
            more_rank1.font_style = 'Body1'
            more_rank1.font_size = 16
            more_rank1.color = [0, 0, 0, 0.54]
            self.rank1.children[1].add_widget(more_rank1)
            self.rank1.children[1].size_hint = [1, None]
            self.rank1.children[1].children[3].pos = [56, 280]

            self.rank2 = ThreeLineIconListItem(
                text=a[1][0],
                secondary_text='人口特性:' + str(a[1][1]),
                tertiary_text='新資所得:' + str(a[1][2]))
            #rank2.children[1].add_widget(MDLabel(text='新資所得' + str(a[1][2]), font_name='msjhbd.ttc', font_size=16, font_style='Body1'))
            #rank2.add_widget(tertiary_text='新資所得' + str(a[1][2]))
            self.rank2.add_widget(IconLeftWidget(icon='numeric-2-box'))
            self.rank2.bg_color = [0.5, 0.5, 0.5, 0.5]

            self.rank2.children[1].children[2].font_size = '18'
            self.rank2.children[1].children[2].font_name = 'msjhbd.ttc'
            self.rank2.children[1].children[1].font_name = 'msjhbd.ttc'
            self.rank2.children[1].children[0].font_name = 'msjhbd.ttc'

            more_rank2 = MDLabel(text='人口消長:' + str(a[1][3]))
            more_rank2.font_name = 'msjhbd.ttc'
            more_rank2.font_style = 'Body1'
            more_rank2.font_size = 16
            more_rank2.color = [0, 0, 0, 0.54]
            self.rank2.children[1].add_widget(more_rank2)
            self.rank2.children[1].size_hint = [1, None]

            self.rank3 = ThreeLineIconListItem(
                text=a[2][0],
                secondary_text='人口特性:' + str(a[2][1]),
                tertiary_text='新資所得:' + str(a[2][2]))
            #rank2.children[1].add_widget(MDLabel(text='新資所得' + str(a[1][2]), font_name='msjhbd.ttc', font_size=16, font_style='Body1'))
            #rank2.add_widget(tertiary_text='新資所得' + str(a[1][2]))
            self.rank3.add_widget(IconLeftWidget(icon='numeric-3-box'))
            self.rank3.bg_color = [0.5, 0.5, 0.5, 0.5]

            self.rank3.children[1].children[2].font_size = '18'
            self.rank3.children[1].children[2].font_name = 'msjhbd.ttc'
            self.rank3.children[1].children[1].font_name = 'msjhbd.ttc'
            self.rank3.children[1].children[0].font_name = 'msjhbd.ttc'

            more_rank3 = MDLabel(text='人口消長:' + str(a[2][3]))
            more_rank3.font_name = 'msjhbd.ttc'
            more_rank3.font_style = 'Body1'
            more_rank3.font_size = 16
            more_rank3.color = [0, 0, 0, 0.54]
            self.rank3.children[1].add_widget(more_rank3)
            self.rank3.children[1].size_hint = [1, None]
            # rank2.children[1].(MDLabel(text='新資所得' + str(a[1][2])))
            # rank2.children[1].children[3].font_name = 'msjhbd.ttc'
            # rank2.children[1].children[3].font_size = 16
            # rank2.children[1].children[3].font_style = 'Body1'

            self.rank1.size = [352, 100]
            self.rank2.size = [352, 100]
            self.rank3.size = [352, 100]
            #rank1.children[1].pos_hint = {'y': 1}

            self.click += 1
            self.rank1.bind(on_release=self.add_renk1_marker)
            self.rank2.bind(on_release=self.add_renk2_marker)
            self.rank3.bind(on_release=self.add_renk3_marker)
            # self.acard = MDDialog(
            #     #title="Discard draft?",
            #     type="simple",
            #     items=[
            #         rank1,
            #         rank2,
            #         rank3
            #     ],
            #     buttons=[
            #         MDFlatButton(
            #             text="     ", text_color=self.theme_cls.primary_color
            #         ),
            #         MDRectangleFlatIconButton(
            #             text="I know!", text_color=self.theme_cls.primary_color, font_name='msjhbd.ttc', on_release=self.dialog_vanish

            #         )
            #     ],

            #     #center = [640, 480]
            # )

            # self.acard.center = [640, 480]
            # self.acard.background_color = [0,0,0,0]
            # self.acard.md_bg_color = [0.9607,0.9607,0.9607,0.6]
            # self.acard.auto_dismiss = False
            # #self.rank1 = TwoLineIconListItem(text=self.left.two.input1.text, icon='crown')
            # #self.rank1 = FourLineIconListItem(text=self.left.two.input1.text, text_color=[0,0,0,1])
            # #self.rank1.add_widget(IconLeftWidget(icon='language-python'))
            # #self.rank1.bg_color=[0.5,0.5,0.5,0.5]

            # self.acard.size_hint = [0.25, 0.5]
            # self.acard.children[0].size_hint = [1, 1.1]
            # self.acard.children[0].children[2].children[0].spacing = [0, 3]  # 這式調整各rank之間距離
            # self.acard.children[0].children[2].size_hint = [1,1]  # 這是調scrollview的size比例,不要有捲動行為
            # self.acard.children[0].children[2].bar_width = 5
            # self.acard.children[0].children[2].bar_color = [0.5, 0.5, 0.7, 1]
            #self.acard.children[0].children[2].children[0].children[2].size_hint = [1, 1]
            #self.acard.children[0].children[2].children[0].size_hint = [1,1]  # 這是調
            #self.acard.children[0].children[2].children[0].add_widget(self.rank1)

            self.rank1.children[1].padding = [56, 16, 24, 7]
            self.rank2.children[1].padding = [56, 4, 24, 7]
            self.rank3.children[1].padding = [56, 4, 24, 7]

            self.rank1.children[1].children[0].adaptive_height = True
            self.rank1.children[1].pos = [0, 180]
            self.rank2.children[1].children[1].adaptive_height = True
            self.rank2.children[1].pos = [0, 130]
            self.rank3.children[1].children[1].adaptive_height = True
            #rank1.children[1].children[0].valign = 'top'
            #rank1.children[1].children[0].y = 224
            #self.acard.
            # self.acard.center_y = 480
            # self.acard.pos_hint = {'top':0.99, 'right':1}
            # self.wid.add_widget(self.rank1)
            # self.wid.add_widget(self.rank2)
            # self.r.add_widget(self.rank3)
            self.add_widget(
                MDGridLayout(cols=1,
                             size_hint=[0.285, 1],
                             md_bg_color=[0.39, 0.4, 0.72, 1]))
            self.children[0].add_widget(self.rank1)
            self.children[0].add_widget(self.rank2)
            self.children[0].add_widget(self.rank3)
Exemple #22
0
 def __init__(self, **kwargs):
     super().__init__(**kwargs)
     self.add_widget(
         IconLeftWidget(icon=self.icon,
                        theme_text_color="Custom",
                        text_color=self.text_color))
Exemple #23
0
    def __init__(self, **kwargs):
        super(Index, self).__init__(**kwargs)

        view = ScrollView()
        layout = GridLayout(cols=1,
                            padding=Window.height * 0.01,
                            spacing=Window.height * 0.05,
                            size_hint_y=None)
        layout.bind(minimum_height=layout.setter("height"))

        for i in labels:
            s = i
            s_ = []
            for ss in range(len(s)):
                if ss == 1:

                    s_.append('.' + s[ss])
                else:
                    s_.append(s[ss])
            s_ = ''.join(s_)

            A_ = A.split('\n')

            for m in A_:
                if s_ in m:
                    m = m.split(s_)[1]
                    j = len(m)
                    size_x = j * Window.height * 0.042 / 2.25
                    if Window.width > size_x:
                        size_x = Window.width
                    btn = Cbutton(lts=i,
                                  font_name="kannada_mallige",
                                  text="[font=Roboto-Bold][b][size=" +
                                  str(int(Window.height * 0.05)) + ']' +
                                  str(i) + '. ' + '[/size][/b][/font]' + m +
                                  "[font=Roboto-Bold][b][size=" +
                                  str(int(Window.height * 0.05)) + ']' +
                                  '.... ' + '[/size][/b][/font]',
                                  markup=True,
                                  size=(size_x, Window.height * 0.06),
                                  font_size=(Window.height * 0.04),
                                  background_color=(1, 1, 1, 0),
                                  size_hint=(None, None),
                                  halign='left',
                                  valign='center',
                                  pos=(0, Window.height - 100),
                                  color=(0, 0, 0, 1))
                    btn.bind(on_release=self.Screens_2)
                    layout.add_widget(btn)
                    break

        view.add_widget(layout)

        box = BoxLayout(orientation='vertical')
        toolbar = TwoLineIconListItem(bg_color=(0, .588, .533, 1))
        back_icon = IconLeftWidget(icon='arrow-left-thick')

        back_icon.bind(on_release=self.back)

        toolbar.add_widget(back_icon)

        box.add_widget(toolbar)

        box.add_widget(view)
        self.add_widget(box)
Exemple #24
0
    def FileCart_Update(self):
        MainScreenvar = sm.get_screen('main_screen')
        #We then clear the container of all widgets for a frsh batch of list items
        MainScreenvar.ids.back_layer.ids.container.clear_widgets()
        #First we get the amount of rows in the selection tables to see how much times we must itterate
        mycursor.execute("SELECT COUNT(name) FROM selection")
        self.cart_icons_amount  = mycursor.fetchone()
        #Then we get the actual data that we must use to create the elements
        mycursor.execute("SELECT * FROM selection")
        self.filecart_data = mycursor.fetchall()
        for i in range (self.cart_icons_amount[0]):

            #Check to see if the current element is a file or a directory
            if self.filecart_data[i][2] == "File":

                #Check too see if a copy operation was executed on the file
                if self.filecart_data[i][3] == '1':
                    #Create the list item to be insert into scroll view
                    self.item = ThreeLineIconListItem(text = str(self.filecart_data[i][0]),
                                                   secondary_text = self.filecart_data[i][1],
                                                   tertiary_text = "Copied",
                                                   )
                    #Create the icon
                    self.item2 = IconLeftWidget(icon = 'file',
                                                pos= self.pos,
                                                size = self.size,
                                                )
                    self.item.bind(on_release = self.customcallback_function)
                    #Add icon to list item
                    self.item.add_widget(self.item2)
                    #Add total list item with icon to the scroll view
                    MainScreenvar.ids.back_layer.ids.container.add_widget(self.item)

                #Check too see if a cut operation was executed on the file
                elif self.filecart_data[i][3] == '2':
                    self.item = ThreeLineIconListItem(text = str(self.filecart_data[i][0]),
                                                      secondary_text = self.filecart_data[i][1],
                                                      tertiary_text = "Cut",
                                                      )
                    self.item2 = IconLeftWidget(icon = 'file',
                                                pos= self.pos,
                                                size = self.size
                                                )
                    self.item.bind(on_release = self.customcallback_function)
                    self.item.add_widget(self.item2)
                    MainScreenvar.ids.back_layer.ids.container.add_widget(self.item)

                #Check to see if a delete operation was executed on the file
                elif self.filecart_data[i][3] == '3':
                    self.item = ThreeLineIconListItem(text = str(self.filecart_data[i][0]),
                                                   secondary_text = self.filecart_data[i][1],
                                                   tertiary_text = "Recycled",
                                                   )
                    self.item2 = IconLeftWidget(icon = 'file',
                                                pos= self.pos,
                                                size = self.size
                                                )
                    self.item.bind(on_release = self.customcallback_function)
                    self.item.add_widget(self.item2)
                    MainScreenvar.ids.back_layer.ids.container.add_widget(self.item)


            else:

                if self.filecart_data[i][3] == '1':
                    self.item = ThreeLineIconListItem(text = str(self.filecart_data[i][0]),
                                                       secondary_text = self.filecart_data[i][1],
                                                       tertiary_text = "Copied",
                                                       )
                    self.item2 = IconLeftWidget(icon = 'folder',
                                                pos= self.pos,
                                                size = self.size
                                                )
                    self.item.bind(on_release = self.customcallback_function)
                    self.item.add_widget(self.item2)
                    MainScreenvar.ids.back_layer.ids.container.add_widget(self.item)

                elif self.filecart_data[i][3] == '2':
                    self.item = ThreeLineIconListItem(text = str(self.filecart_data[i][0]),
                                                      secondary_text = self.filecart_data[i][1],
                                                      tertiary_text = "Cut",
                                                      )
                    self.item2 = IconLeftWidget(icon = 'folder',
                                                pos= self.pos,
                                                size = self.size
                                               )
                    self.item.bind(on_release = self.customcallback_function)
                    self.item.add_widget(self.item2)
                    MainScreenvar.ids.back_layer.ids.container.add_widget(self.item)

                elif self.filecart_data[i][3] == '3':
                    self.item = ThreeLineIconListItem(text = str(self.filecart_data[i][0]),
                                                      secondary_text = self.filecart_data[i][1],
                                                      tertiary_text = "Recycled",
                                                      )
                    self.item.bind(on_release = self.customcallback_function)
                    self.item2 = IconLeftWidget(icon = 'folder',
                                                pos= self.pos,
                                                size = self.size
                                                )
                    self.item.bind(on_release = self.customcallback_function)
                    self.item.add_widget(self.item2)
                    MainScreenvar.ids.back_layer.ids.container.add_widget(self.item)
Exemple #25
0
    def on_enter(self, *args):
        global StudentName
        global StudentRollNo
        self.ids.student_name.text = StudentName
        query = "SELECT std.cs_code,stf.class,stf.subject,stft.name " \
                "FROM student_class std,staff_class stf,staff_table stft " \
                "where std.cs_code=stf.cs_code and stft.sid=stf.sid and std.roll_no=%s"
        val = (StudentRollNo, )
        tmp_cursor.execute(query, val)
        result = tmp_cursor.fetchall()

        class Content(BoxLayout):
            def __init__(self, *args, **kwargs):
                super().__init__(**kwargs)
                global StudentRollNo
                self.size_hint_y = None
                self.height = Window.height * 0.6
                self.clear_widgets()
                months = [
                    'JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG',
                    'SEP', 'OCT', 'NOV', 'DEC'
                ]
                query = "SELECT MONTH(date),count(distinct DAY(date)) from attendance where cs_code=%s group by MONTH(date)"
                val = (self.id, )
                tmp_cursor.execute(query, val)
                result = tmp_cursor.fetchall()
                table_rows = []
                for row in result:
                    q = "select count(*) from attendance where cs_code=%s and MONTH(date)=%s and roll_no=%s and report='P'"
                    v = (
                        self.id,
                        row[0],
                        StudentRollNo,
                    )
                    tmp_cursor.execute(q, v)
                    r = tmp_cursor.fetchall()
                    table_rows.append([months[row[0] - 1], row[1], r[0][0]])
                if len(table_rows) == 0:
                    lbl = MDLabel(text='No data found', halign='center')
                    self.add_widget(lbl)
                    return
                data_table = MDDataTable(rows_num=len(table_rows),
                                         column_data=[("Month", dp(12)),
                                                      (" Total Classes",
                                                       dp(13)),
                                                      ("  Presents", dp(18))],
                                         row_data=table_rows)
                self.add_widget(data_table)

        class ClassList(ThreeLineIconListItem):
            def setID(self, idd):
                self.id = idd

            def on_release(self):
                obj = Content(id=self.id)
                dialog = MDDialog(title="Attendance",
                                  size_hint=(0.9, 1),
                                  type="custom",
                                  content_cls=obj)
                dialog.open()

        scrollview = ScrollView()
        classes = MDList()
        for row in result:
            icon = IconLeftWidget(icon='account-group')
            cls = ClassList(text=row[1],
                            secondary_text=row[2],
                            tertiary_text='Faculty:' + row[3])
            cls.setID(row[0])
            cls.add_widget(icon)
            classes.add_widget(cls)
        scrollview.add_widget(classes)
        self.ids.dashboard.add_widget(scrollview)
Exemple #26
0
 def __init__(self, **kwargs):
     super(CustomList, self).__init__(**kwargs)
     self.add_widget(IconLeftWidget(icon='phone'))