3 Commits

4 changed files with 25 additions and 9 deletions

View File

@@ -1,5 +1,5 @@
Package: brovski-adressetiketten
Version: 0.6a
Version: 0.7a
Maintainer: Ovski
Architecture: all
Description: manage csv files for glables address labels

View File

@@ -5,11 +5,10 @@ import tkinter as tk
from configparser import NoSectionError, NoOptionError
from tkinter import messagebox
from tkinter import ttk
import json
from config import Config
from connector import JSONConnector
from windows import SettingsWindow, EditRecord, Window, show_error
from windows import SettingsWindow, EditRecord, show_error
class Application:
@@ -19,7 +18,7 @@ class Application:
y_offset = 200
width = 1050
height = 700
VERSION = '0.6a'
VERSION = '0.7a'
title = f"Brovski Adress-Etiketten Verwaltung {VERSION}"
self.root = tk.Tk(className="BrovskiAdressEtiketten")
@@ -93,8 +92,10 @@ class Application:
scrollbar.pack(side=tk.LEFT, fill=tk.Y)
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.root.bind("<Up>", self.focus_table)
self.root.bind("<Down>", self.focus_table)
# bottom status bar
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)
match region:
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):
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.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.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.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__':
Application()

View File

@@ -35,7 +35,7 @@ class JSONConnector(Connector):
super().__init__()
self.config = config.Config()
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:
with open(self.json_file, "r") as f:

View File

@@ -1 +1 @@
0.6a
0.7a