From 82fb45bac50bd740ed4118621027ec63582a51fe Mon Sep 17 00:00:00 2001 From: emkael Date: Sun, 2 Jun 2019 21:01:41 +0200 Subject: Moving MySQL configuration frame to separate widget --- jfr_playoff/gui/tabs.py | 61 ++++--------------------------------------------- 1 file changed, 4 insertions(+), 57 deletions(-) (limited to 'jfr_playoff/gui/tabs.py') diff --git a/jfr_playoff/gui/tabs.py b/jfr_playoff/gui/tabs.py index ecb7ab8..62054bf 100644 --- a/jfr_playoff/gui/tabs.py +++ b/jfr_playoff/gui/tabs.py @@ -9,6 +9,7 @@ import tkMessageBox as tkmb from .frames import getIntVal from .frames.team import * +from .frames.network import * from ..data import PlayoffData from ..db import PlayoffDB @@ -165,65 +166,11 @@ class NetworkTab(PlayoffTab): return 'Sieć' def getDB(self): - if len(self.host.get().strip()): - return { - 'host': self.host.get().strip(), - 'port': getIntVal(self.port, default=3306), - 'user': self.user.get().strip(), - 'pass': self.pass_.get().strip() - } - return None - - def _testDB(self): - try: - dbConfig = self.getDB() - if dbConfig is None: - raise AttributeError('Database not configured') - db = PlayoffDB(dbConfig) - self.dbError = None - self.dbTestLabel.configure(text='✓') - self.dbTestLabel.configure(foreground='green') - except Exception as e: - self.dbError = unicode(e) - self.dbTestLabel.configure(text='✗') - self.dbTestLabel.configure(foreground='red') - - def _dbError(self, event): - if self.dbError is not None: - tkmb.showerror('Błąd połączenia z bazą danych', self.dbError) + return self.mysqlFrame.getConfig() def renderContent(self, container): - (ttk.Label(container, text='Ustawienia MySQL')).grid( - row=0, column=0, columnspan=4, sticky=tk.E+tk.W) - (ttk.Label(container, text='Host:')).grid( - row=1, column=0, sticky=tk.E) - self.host = tk.StringVar() - (ttk.Entry(container, textvariable=self.host)).grid( - row=1, column=1, sticky=tk.E+tk.W) - (ttk.Label(container, text='Port:')).grid( - row=1, column=2, sticky=tk.E) - self.port = tk.StringVar() - self.port.set(3306) - (tk.Spinbox( - container, textvariable=self.port, width=5, - from_=0, to=65535)).grid(row=1, column=3, sticky=tk.W) - (ttk.Label(container, text='Użytkownik:')).grid( - row=2, column=0, sticky=tk.E) - self.user = tk.StringVar() - (ttk.Entry(container, textvariable=self.user)).grid( - row=2, column=1, sticky=tk.E+tk.W) - (ttk.Button( - container, text='Testuj ustawienia', command=self._testDB)).grid( - row=2, column=3) - self.dbError = None - self.dbTestLabel = ttk.Label(container) - self.dbTestLabel.grid(row=2, column=4) - self.dbTestLabel.bind('', self._dbError) - (ttk.Label(container, text='Hasło:')).grid( - row=3, column=0, sticky=tk.E) - self.pass_ = tk.StringVar() - (ttk.Entry(container, textvariable=self.pass_, show='*')).grid( - row=3, column=1, sticky=tk.E+tk.W) + self.mysqlFrame = MySQLConfigurationFrame(container) + self.mysqlFrame.pack(side=tk.TOP, fill=tk.BOTH, expand=True) class VisualTab(PlayoffTab): @property -- cgit v1.2.3