Compare commits
3 Commits
ec130fcee9
...
alpha7
| Author | SHA1 | Date | |
|---|---|---|---|
| 2d840d6ad4 | |||
| 0ae2c7e559 | |||
| 96995f1e80 |
@@ -1,5 +1,5 @@
|
|||||||
Package: brovski-adressetiketten
|
Package: brovski-adressetiketten
|
||||||
Version: 0.6a
|
Version: 0.7a
|
||||||
Maintainer: Ovski
|
Maintainer: Ovski
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Description: manage csv files for glables address labels
|
Description: manage csv files for glables address labels
|
||||||
|
|||||||
@@ -5,11 +5,10 @@ import tkinter as tk
|
|||||||
from configparser import NoSectionError, NoOptionError
|
from configparser import NoSectionError, NoOptionError
|
||||||
from tkinter import messagebox
|
from tkinter import messagebox
|
||||||
from tkinter import ttk
|
from tkinter import ttk
|
||||||
import json
|
|
||||||
|
|
||||||
from config import Config
|
from config import Config
|
||||||
from connector import JSONConnector
|
from connector import JSONConnector
|
||||||
from windows import SettingsWindow, EditRecord, Window, show_error
|
from windows import SettingsWindow, EditRecord, show_error
|
||||||
|
|
||||||
|
|
||||||
class Application:
|
class Application:
|
||||||
@@ -19,7 +18,7 @@ class Application:
|
|||||||
y_offset = 200
|
y_offset = 200
|
||||||
width = 1050
|
width = 1050
|
||||||
height = 700
|
height = 700
|
||||||
VERSION = '0.6a'
|
VERSION = '0.7a'
|
||||||
title = f"Brovski Adress-Etiketten Verwaltung {VERSION}"
|
title = f"Brovski Adress-Etiketten Verwaltung {VERSION}"
|
||||||
|
|
||||||
self.root = tk.Tk(className="BrovskiAdressEtiketten")
|
self.root = tk.Tk(className="BrovskiAdressEtiketten")
|
||||||
@@ -93,8 +92,10 @@ class Application:
|
|||||||
scrollbar.pack(side=tk.LEFT, fill=tk.Y)
|
scrollbar.pack(side=tk.LEFT, fill=tk.Y)
|
||||||
|
|
||||||
self.table.bind("<ButtonRelease-1>", self.mouse_click)
|
self.table.bind("<ButtonRelease-1>", self.mouse_click)
|
||||||
self.table.bind("<Return>", self.mouse_click_double)
|
self.table.bind("<Return>", self.enter_button)
|
||||||
self.table.bind("<Double-1>", self.mouse_click_double)
|
self.table.bind("<Double-1>", self.mouse_click_double)
|
||||||
|
self.root.bind("<Up>", self.focus_table)
|
||||||
|
self.root.bind("<Down>", self.focus_table)
|
||||||
|
|
||||||
# bottom status bar
|
# bottom status bar
|
||||||
tk.Label(bottom_frame, textvariable=self.statusbar).pack(side=tk.LEFT)
|
tk.Label(bottom_frame, textvariable=self.statusbar).pack(side=tk.LEFT)
|
||||||
@@ -202,7 +203,10 @@ class Application:
|
|||||||
region = self.table.identify("region", event.x, event.y)
|
region = self.table.identify("region", event.x, event.y)
|
||||||
match region:
|
match region:
|
||||||
case "cell":
|
case "cell":
|
||||||
self.click_on_cell()
|
self.edit_selected_record()
|
||||||
|
|
||||||
|
def enter_button(self, event):
|
||||||
|
self.edit_selected_record()
|
||||||
|
|
||||||
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)
|
||||||
@@ -229,7 +233,9 @@ class Application:
|
|||||||
self.address_list = self.model.get_all_sorted_by(field, self.sort_order)
|
self.address_list = self.model.get_all_sorted_by(field, self.sort_order)
|
||||||
self.populate_table(reload=False)
|
self.populate_table(reload=False)
|
||||||
|
|
||||||
def click_on_cell(self):
|
def edit_selected_record(self):
|
||||||
|
if self.table.focus() is None or self.table.focus() == "":
|
||||||
|
return
|
||||||
self.current_record = int(self.table.focus())
|
self.current_record = int(self.table.focus())
|
||||||
self.open_window_edit_records(self.current_record)
|
self.open_window_edit_records(self.current_record)
|
||||||
|
|
||||||
@@ -311,6 +317,16 @@ class Application:
|
|||||||
self.address_list.sort(key=lambda x: (x["firma"], x["name"]))
|
self.address_list.sort(key=lambda x: (x["firma"], x["name"]))
|
||||||
self.populate_table()
|
self.populate_table()
|
||||||
|
|
||||||
|
def focus_table(self, event):
|
||||||
|
first = self.table.get_children()[0]
|
||||||
|
last = self.table.get_children()[-1]
|
||||||
|
goto = last if event.keysym == "Up" else first
|
||||||
|
if self.table.focus() == "":
|
||||||
|
self.table.selection_set(goto)
|
||||||
|
self.table.focus(goto)
|
||||||
|
self.table.see(goto)
|
||||||
|
self.table.focus_force()
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
Application()
|
Application()
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ class JSONConnector(Connector):
|
|||||||
super().__init__()
|
super().__init__()
|
||||||
self.config = config.Config()
|
self.config = config.Config()
|
||||||
self.json_path = self.config.get("json", "path")
|
self.json_path = self.config.get("json", "path")
|
||||||
self.json_file = os.path.join(self.json_path, "brovski-adress-etiketten-verwaltung.json")
|
self.json_file = os.path.join(self.json_path, "brovski-adress-etiketten-verwaltung-v7.json")
|
||||||
|
|
||||||
def get_all(self) -> list:
|
def get_all(self) -> list:
|
||||||
with open(self.json_file, "r") as f:
|
with open(self.json_file, "r") as f:
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
0.6a
|
0.7a
|
||||||
|
|||||||
Reference in New Issue
Block a user