summaryrefslogtreecommitdiff
path: root/jfr_playoff/gui/tabs.py
diff options
context:
space:
mode:
authoremkael <emkael@tlen.pl>2019-06-02 21:01:41 +0200
committeremkael <emkael@tlen.pl>2019-06-02 21:01:41 +0200
commit82fb45bac50bd740ed4118621027ec63582a51fe (patch)
tree3ef8627388821d3d6aac9fd27efbbd2cd6722b61 /jfr_playoff/gui/tabs.py
parentbec32a9f57abdf0ba20e2e64920648f2d7e993d4 (diff)
Moving MySQL configuration frame to separate widget
Diffstat (limited to 'jfr_playoff/gui/tabs.py')
-rw-r--r--jfr_playoff/gui/tabs.py61
1 files changed, 4 insertions, 57 deletions
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('<Button-1>', 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