mirror of
https://github.com/EDCD/EDMarketConnector.git
synced 2025-04-17 17:42:20 +03:00
Fix for preferences windows on macOS Mojave
This commit is contained in:
parent
efdade508d
commit
aac2f838f3
17
prefs.py
17
prefs.py
@ -92,7 +92,7 @@ class PreferencesDialog(tk.Toplevel):
|
|||||||
frame.grid(sticky=tk.NSEW)
|
frame.grid(sticky=tk.NSEW)
|
||||||
|
|
||||||
notebook = nb.Notebook(frame)
|
notebook = nb.Notebook(frame)
|
||||||
notebook.bind('<<NotebookTabChanged>>', self.outvarchanged) # Recompute on tab change
|
notebook.bind('<<NotebookTabChanged>>', self.tabchanged) # Recompute on tab change
|
||||||
|
|
||||||
PADX = 10
|
PADX = 10
|
||||||
BUTTONX = 12 # indent Checkbuttons and Radiobuttons
|
BUTTONX = 12 # indent Checkbuttons and Radiobuttons
|
||||||
@ -279,7 +279,6 @@ class PreferencesDialog(tk.Toplevel):
|
|||||||
|
|
||||||
notebook.add(plugsframe, text=_('Plugins')) # Tab heading in settings
|
notebook.add(plugsframe, text=_('Plugins')) # Tab heading in settings
|
||||||
|
|
||||||
|
|
||||||
if platform=='darwin':
|
if platform=='darwin':
|
||||||
self.protocol("WM_DELETE_WINDOW", self.apply) # close button applies changes
|
self.protocol("WM_DELETE_WINDOW", self.apply) # close button applies changes
|
||||||
else:
|
else:
|
||||||
@ -300,6 +299,7 @@ class PreferencesDialog(tk.Toplevel):
|
|||||||
hotkeymgr.unregister()
|
hotkeymgr.unregister()
|
||||||
|
|
||||||
# wait for window to appear on screen before calling grab_set
|
# wait for window to appear on screen before calling grab_set
|
||||||
|
self.parent.update_idletasks()
|
||||||
self.parent.wm_attributes('-topmost', 0) # needed for dialog to appear ontop of parent on OSX & Linux
|
self.parent.wm_attributes('-topmost', 0) # needed for dialog to appear ontop of parent on OSX & Linux
|
||||||
self.wait_visibility()
|
self.wait_visibility()
|
||||||
self.grab_set()
|
self.grab_set()
|
||||||
@ -324,14 +324,23 @@ class PreferencesDialog(tk.Toplevel):
|
|||||||
# Poll
|
# Poll
|
||||||
self.cmdrchanged_alarm = self.after(1000, self.cmdrchanged)
|
self.cmdrchanged_alarm = self.after(1000, self.cmdrchanged)
|
||||||
|
|
||||||
|
def tabchanged(self, event):
|
||||||
|
self.outvarchanged()
|
||||||
|
if platform == 'darwin':
|
||||||
|
# Hack to recompute size so that buttons show up under Mojave
|
||||||
|
notebook = event.widget
|
||||||
|
frame = self.nametowidget(notebook.winfo_parent())
|
||||||
|
temp = nb.Label(frame)
|
||||||
|
temp.grid()
|
||||||
|
temp.update_idletasks()
|
||||||
|
temp.destroy()
|
||||||
|
|
||||||
def outvarchanged(self, event=None):
|
def outvarchanged(self, event=None):
|
||||||
self.displaypath(self.outdir, self.outdir_entry)
|
self.displaypath(self.outdir, self.outdir_entry)
|
||||||
self.displaypath(self.logdir, self.logdir_entry)
|
self.displaypath(self.logdir, self.logdir_entry)
|
||||||
|
|
||||||
logdir = self.logdir.get()
|
logdir = self.logdir.get()
|
||||||
logvalid = logdir and exists(logdir)
|
logvalid = logdir and exists(logdir)
|
||||||
if not logvalid:
|
|
||||||
self.cred_label['text'] = 'Check %s' % _('E:D journal file location') # Location of the new Journal file in E:D 2.2
|
|
||||||
|
|
||||||
self.out_label['state'] = self.out_csv_button['state'] = self.out_td_button['state'] = self.out_ship_button['state'] = tk.NORMAL or tk.DISABLED
|
self.out_label['state'] = self.out_csv_button['state'] = self.out_td_button['state'] = self.out_ship_button['state'] = tk.NORMAL or tk.DISABLED
|
||||||
local = self.out_td.get() or self.out_csv.get() or self.out_ship.get()
|
local = self.out_td.get() or self.out_csv.get() or self.out_ship.get()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user