Statuszeile und filtern von aktiven Adressen #9
@@ -32,6 +32,7 @@ class Application:
|
|||||||
self.address_list = []
|
self.address_list = []
|
||||||
self.current_record: int | None = None
|
self.current_record: int | None = None
|
||||||
self.sort_order = False
|
self.sort_order = False
|
||||||
|
self.last_sort_field = "#3"
|
||||||
|
|
||||||
# init paths to json and csv file
|
# init paths to json and csv file
|
||||||
self.json_file_name = "brovski-adress-etiketten-verwaltung.json"
|
self.json_file_name = "brovski-adress-etiketten-verwaltung.json"
|
||||||
@@ -95,6 +96,8 @@ class Application:
|
|||||||
|
|
||||||
self._load_json_file()
|
self._load_json_file()
|
||||||
|
|
||||||
|
self.first_sort_after_start()
|
||||||
|
|
||||||
self.root.mainloop()
|
self.root.mainloop()
|
||||||
|
|
||||||
def load_config(self):
|
def load_config(self):
|
||||||
@@ -197,25 +200,17 @@ class Application:
|
|||||||
|
|
||||||
def click_on_header(self, event):
|
def click_on_header(self, event):
|
||||||
column = self.table.identify_column(event.x)
|
column = self.table.identify_column(event.x)
|
||||||
match column:
|
if self.last_sort_field == column:
|
||||||
case "#1":
|
self.sort_order = False if self.sort_order else True
|
||||||
self.address_list.sort(key=lambda x: x[int(column[-1]) - 1], reverse=self.sort_order)
|
else:
|
||||||
self.populate_table()
|
self.sort_order = False
|
||||||
case "#2":
|
self.last_sort_field = column
|
||||||
self.address_list.sort(key=lambda x: x[int(column[-1]) - 1], reverse=self.sort_order)
|
self.address_list.sort(key=lambda x: (x[int(column[-1]) - 1]), reverse=self.sort_order)
|
||||||
self.populate_table()
|
|
||||||
case "#3":
|
# special case company sort
|
||||||
self.address_list.sort(key=lambda x: x[int(column[-1]) - 1], reverse=self.sort_order)
|
if column == "#2":
|
||||||
self.populate_table()
|
self.address_list.sort(key=lambda x: (x[1], x[2]), reverse=self.sort_order)
|
||||||
case "#4":
|
self.populate_table()
|
||||||
self.address_list.sort(key=lambda x: x[int(column[-1]) - 1], reverse=self.sort_order)
|
|
||||||
self.populate_table()
|
|
||||||
case "#5":
|
|
||||||
self.address_list.sort(key=lambda x: x[int(column[-1]) - 1], reverse=self.sort_order)
|
|
||||||
self.populate_table()
|
|
||||||
case _:
|
|
||||||
print(column)
|
|
||||||
self.sort_order = not self.sort_order
|
|
||||||
|
|
||||||
def click_on_cell(self):
|
def click_on_cell(self):
|
||||||
self.current_record = self.table.focus()
|
self.current_record = self.table.focus()
|
||||||
@@ -310,7 +305,9 @@ class Application:
|
|||||||
count += 1
|
count += 1
|
||||||
self.length_address_list_active = count
|
self.length_address_list_active = count
|
||||||
|
|
||||||
|
def first_sort_after_start(self):
|
||||||
|
self.address_list.sort(key=lambda x: (x[1], x[2]))
|
||||||
|
self.populate_table()
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|||||||
Reference in New Issue
Block a user