1
0
Fork 0
mirror of https://github.com/shlomif/PySolFC.git synced 2025-04-15 02:54:09 -04:00

finish removing dependency on six (#403)

* finish removing dependency on six

* fix tkinter.FileDialog

* fix filedialog <> FileDialog
This commit is contained in:
Alexandre Detiste 2024-10-23 00:11:32 +02:00 committed by GitHub
parent b3cdb7e4b8
commit f360600fcd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
32 changed files with 64 additions and 89 deletions

View file

@ -118,19 +118,18 @@ per the instructions above.
At the moment, this only works on POSIX (Linux, FreeBSD and similar) systems. At the moment, this only works on POSIX (Linux, FreeBSD and similar) systems.
Windows and Mac users - you'll need to chip in with a script for your system. Windows and Mac users - you'll need to chip in with a script for your system.
#### 1 - Install build prerequisites: six and pysol-cards #### 1 - Install build prerequisite: pysol-cards
This is kind of stupid and maybe it can be fixed in the future, but for now: This is kind of stupid and maybe it can be fixed in the future, but for now:
``` ```
pip install six
pip install pysol-cards pip install pysol-cards
``` ```
You may want to use your OS distribution package system instead, for example: You may want to use your OS distribution package system instead, for example:
``` ```
sudo apt-get install python3-six sudo apt-get install python3-pysol-cards
``` ```
For Pillow compilation, libjpeg headers and libraries need to be available: For Pillow compilation, libjpeg headers and libraries need to be available:

View file

@ -3,11 +3,10 @@
See the HTML 2.0 specification: See the HTML 2.0 specification:
http://www.w3.org/hypertext/WWW/MarkUp/html-spec/html-spec_toc.html http://www.w3.org/hypertext/WWW/MarkUp/html-spec/html-spec_toc.html
""" """
import html.parser as html_parser
from pysollib.formatter import AS_IS from pysollib.formatter import AS_IS
from six.moves import html_parser
class HTMLParseError(RuntimeError): class HTMLParseError(RuntimeError):
"""Error raised when an HTML document can't be parsed.""" """Error raised when an HTML document can't be parsed."""

View file

@ -2092,7 +2092,7 @@ class PysolMenubarTk:
idir, ifile = "", "" idir, ifile = "", ""
if not idir: if not idir:
idir = self.app.dn.savegames idir = self.app.dn.savegames
# d = tkFileDialog.Open() # d = tkinter.filedialog.Open()
# filename = d.show(filetypes=self.FILETYPES, # filename = d.show(filetypes=self.FILETYPES,
# defaultextension=self.DEFAULTEXTENSION, # defaultextension=self.DEFAULTEXTENSION,
# initialdir=idir, initialfile=ifile) # initialdir=idir, initialfile=ifile)

View file

@ -1,4 +1,4 @@
from six.moves import tkinter_ttk as ttk import tkinter.ttk as ttk
from .tkwidget import MfxDialog from .tkwidget import MfxDialog

View file

@ -22,14 +22,13 @@
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
import tkinter import tkinter
import tkinter.font
import tkinter.ttk as ttk
from pysollib.mfxutil import KwStruct from pysollib.mfxutil import KwStruct
from pysollib.mygettext import _ from pysollib.mygettext import _
from pysollib.ui.tktile.tkutil import bind from pysollib.ui.tktile.tkutil import bind
from six.moves import tkinter_font
from six.moves import tkinter_ttk as ttk
from .tkwidget import MfxDialog from .tkwidget import MfxDialog
from .tkwidget import PysolScale from .tkwidget import PysolScale
@ -109,7 +108,7 @@ class FontChooserDialog(MfxDialog):
command=self.fontupdate, variable=self.size_var) command=self.fontupdate, variable=self.size_var)
sc.grid(row=4, column=0, columnspan=2, sticky='news') sc.grid(row=4, column=0, columnspan=2, sticky='news')
# #
font_families = list(tkinter_font.families()) font_families = list(tkinter.font.families())
font_families.sort() font_families.sort()
selected = -1 selected = -1
n = 0 n = 0

View file

@ -21,6 +21,8 @@
# #
# ---------------------------------------------------------------------------## # ---------------------------------------------------------------------------##
import tkinter.ttk as ttk
from pysollib.mygettext import _, n_ from pysollib.mygettext import _, n_
from pysollib.settings import TITLE from pysollib.settings import TITLE
from pysollib.ui.tktile.findcarddialog import connect_game_find_card_dialog from pysollib.ui.tktile.findcarddialog import connect_game_find_card_dialog
@ -32,8 +34,6 @@ from pysollib.ui.tktile.menubar import MfxMenu, PysolMenubarTkCommon
from pysollib.ui.tktile.solverdialog import connect_game_solver_dialog from pysollib.ui.tktile.solverdialog import connect_game_solver_dialog
from pysollib.util import CARDSET from pysollib.util import CARDSET
from six.moves import tkinter_ttk as ttk
from .selectgame import SelectGameDialog, SelectGameDialogWithPreview from .selectgame import SelectGameDialog, SelectGameDialogWithPreview
from .selecttile import SelectTileDialogWithPreview from .selecttile import SelectTileDialogWithPreview
from .soundoptionsdialog import SoundOptionsDialog from .soundoptionsdialog import SoundOptionsDialog

View file

@ -22,12 +22,11 @@
# ---------------------------------------------------------------------------## # ---------------------------------------------------------------------------##
import tkinter import tkinter
import tkinter.ttk as ttk
from pysollib.mfxutil import KwStruct from pysollib.mfxutil import KwStruct
from pysollib.mygettext import _ from pysollib.mygettext import _
from six.moves import tkinter_ttk as ttk
from .tkwidget import MfxDialog from .tkwidget import MfxDialog

View file

@ -22,12 +22,11 @@
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
import tkinter import tkinter
import tkinter.ttk as ttk
from pysollib.ui.tktile.tkconst import EVENT_HANDLED from pysollib.ui.tktile.tkconst import EVENT_HANDLED
from pysollib.ui.tktile.tkutil import makeToplevel, setTransient from pysollib.ui.tktile.tkutil import makeToplevel, setTransient
from six.moves import tkinter_ttk as ttk
# ************************************************************************ # ************************************************************************
# * a simple progress bar # * a simple progress bar
# ************************************************************************ # ************************************************************************

View file

@ -23,6 +23,7 @@
import os import os
import tkinter import tkinter
import tkinter.ttk as ttk
from pysollib.mfxutil import KwStruct, USE_PIL from pysollib.mfxutil import KwStruct, USE_PIL
from pysollib.mygettext import _ from pysollib.mygettext import _
@ -32,8 +33,6 @@ from pysollib.ui.tktile.tkcanvas import MfxCanvasImage
from pysollib.ui.tktile.tkutil import bind, loadImage from pysollib.ui.tktile.tkutil import bind, loadImage
from pysollib.util import CARDSET from pysollib.util import CARDSET
from six.moves import tkinter_ttk as ttk
from .selecttree import SelectDialogTreeCanvas from .selecttree import SelectDialogTreeCanvas
from .selecttree import SelectDialogTreeLeaf, SelectDialogTreeNode from .selecttree import SelectDialogTreeLeaf, SelectDialogTreeNode
from .tkwidget import MfxDialog, MfxScrolledCanvas, PysolCombo, PysolScale from .tkwidget import MfxDialog, MfxScrolledCanvas, PysolCombo, PysolScale

View file

@ -23,6 +23,7 @@
import os import os
import tkinter import tkinter
import tkinter.ttk as ttk
from collections import UserList from collections import UserList
from pysollib.gamedb import GI from pysollib.gamedb import GI
@ -33,8 +34,6 @@ from pysollib.resource import CSI
from pysollib.ui.tktile.selecttree import SelectDialogTreeData from pysollib.ui.tktile.selecttree import SelectDialogTreeData
from pysollib.ui.tktile.tkutil import bind, unbind_destroy from pysollib.ui.tktile.tkutil import bind, unbind_destroy
from six.moves import tkinter_ttk as ttk
from .selecttree import SelectDialogTreeCanvas from .selecttree import SelectDialogTreeCanvas
from .selecttree import SelectDialogTreeLeaf, SelectDialogTreeNode from .selecttree import SelectDialogTreeLeaf, SelectDialogTreeNode
from .tkwidget import MfxDialog, MfxScrolledCanvas, PysolCombo from .tkwidget import MfxDialog, MfxScrolledCanvas, PysolCombo

View file

@ -23,6 +23,8 @@
import os import os
import tkinter import tkinter
import tkinter.colorchooser
import tkinter.ttk as ttk
from pysollib.mfxutil import KwStruct, USE_PIL from pysollib.mfxutil import KwStruct, USE_PIL
from pysollib.mygettext import _ from pysollib.mygettext import _
@ -30,9 +32,6 @@ from pysollib.resource import TTI
from pysollib.ui.tktile.selecttree import SelectDialogTreeData from pysollib.ui.tktile.selecttree import SelectDialogTreeData
from pysollib.ui.tktile.tkutil import bind from pysollib.ui.tktile.tkutil import bind
from six.moves import tkinter_colorchooser
from six.moves import tkinter_ttk as ttk
from .selecttree import SelectDialogTreeCanvas from .selecttree import SelectDialogTreeCanvas
from .selecttree import SelectDialogTreeLeaf, SelectDialogTreeNode from .selecttree import SelectDialogTreeLeaf, SelectDialogTreeNode
from .tkwidget import MfxDialog, MfxScrolledCanvas, PysolCombo from .tkwidget import MfxDialog, MfxScrolledCanvas, PysolCombo
@ -282,7 +281,7 @@ class SelectTileDialogWithPreview(MfxDialog):
self.tree.n_expansions = 1 # save xyview in any case self.tree.n_expansions = 1 # save xyview in any case
if button == 10: # "Solid color..." if button == 10: # "Solid color..."
try: try:
c = tkinter_colorchooser.askcolor( c = tkinter.colorchooser.askcolor(
master=self.top, master=self.top,
initialcolor=self.table_color, initialcolor=self.table_color,
title=_("Select table color")) title=_("Select table color"))

View file

@ -23,6 +23,7 @@
import os import os
import tkinter import tkinter
import tkinter.ttk as ttk
from pysollib.mfxutil import KwStruct from pysollib.mfxutil import KwStruct
from pysollib.mygettext import _ from pysollib.mygettext import _
@ -30,8 +31,6 @@ from pysollib.pysolaudio import pysolsoundserver
from pysollib.settings import TITLE from pysollib.settings import TITLE
from pysollib.ui.tktile.tkconst import EVENT_HANDLED from pysollib.ui.tktile.tkconst import EVENT_HANDLED
from six.moves import tkinter_ttk as ttk
from .tkwidget import MfxDialog, MfxMessageDialog from .tkwidget import MfxDialog, MfxMessageDialog
from .tkwidget import PysolScale from .tkwidget import PysolScale

View file

@ -25,11 +25,10 @@
import os import os
import sys import sys
import tkinter import tkinter
import tkinter.ttk as ttk
from pysollib.mygettext import _ from pysollib.mygettext import _
from six.moves import tkinter_ttk as ttk
from .tkwidget import MfxTooltip from .tkwidget import MfxTooltip
if __name__ == '__main__': if __name__ == '__main__':

View file

@ -22,12 +22,11 @@
# ---------------------------------------------------------------------------## # ---------------------------------------------------------------------------##
import tkinter import tkinter
import tkinter.ttk as ttk
from pysollib.mfxutil import KwStruct from pysollib.mfxutil import KwStruct
from pysollib.mygettext import _ from pysollib.mygettext import _
from six.moves import tkinter_ttk as ttk
from .tkwidget import MfxDialog, PysolScale from .tkwidget import MfxDialog, PysolScale

View file

@ -24,13 +24,12 @@
import os import os
import sys import sys
import tkinter import tkinter
import tkinter.ttk as ttk
from pysollib.mfxutil import Struct from pysollib.mfxutil import Struct
from pysollib.mygettext import _ from pysollib.mygettext import _
from pysollib.ui.tktile.tkhtml import Base_HTMLViewer from pysollib.ui.tktile.tkhtml import Base_HTMLViewer
from six.moves import tkinter_ttk as ttk
from .statusbar import HtmlStatusbar from .statusbar import HtmlStatusbar
from .tkwidget import MfxMessageDialog from .tkwidget import MfxMessageDialog

View file

@ -24,6 +24,8 @@
import os import os
import time import time
import tkinter import tkinter
import tkinter.font
import tkinter.ttk as ttk
from pysollib.mfxutil import KwStruct from pysollib.mfxutil import KwStruct
from pysollib.mfxutil import format_time from pysollib.mfxutil import format_time
@ -32,9 +34,6 @@ from pysollib.settings import TOP_TITLE
from pysollib.stats import ProgressionFormatter, PysolStatsFormatter from pysollib.stats import ProgressionFormatter, PysolStatsFormatter
from pysollib.ui.tktile.tkutil import bind, loadImage from pysollib.ui.tktile.tkutil import bind, loadImage
from six.moves import tkinter_font
from six.moves import tkinter_ttk as ttk
from .tkwidget import MfxDialog, MfxMessageDialog from .tkwidget import MfxDialog, MfxMessageDialog
@ -54,11 +53,11 @@ class StatsDialog(MfxDialog):
MfxDialog.__init__(self, parent, title, kw.resizable, kw.default) MfxDialog.__init__(self, parent, title, kw.resizable, kw.default)
self.font = app.getFont('default') self.font = app.getFont('default')
self.tkfont = tkinter_font.Font(parent, self.font) self.tkfont = tkinter.font.Font(parent, self.font)
self.font_metrics = self.tkfont.metrics() self.font_metrics = self.tkfont.metrics()
style = ttk.Style(parent) style = ttk.Style(parent)
heading_font = style.lookup('Heading', 'font') # treeview heading heading_font = style.lookup('Heading', 'font') # treeview heading
self.heading_tkfont = tkinter_font.Font(parent, heading_font) self.heading_tkfont = tkinter.font.Font(parent, heading_font)
self.selected_game = None self.selected_game = None
@ -502,10 +501,10 @@ class LogDialog(MfxDialog):
def __init__(self, parent, title, app, player, **kw): def __init__(self, parent, title, app, player, **kw):
self.font = app.getFont('default') self.font = app.getFont('default')
self.tkfont = tkinter_font.Font(parent, self.font) self.tkfont = tkinter.font.Font(parent, self.font)
style = ttk.Style(parent) style = ttk.Style(parent)
heading_font = style.lookup('Heading', 'font') # treeview heading heading_font = style.lookup('Heading', 'font') # treeview heading
self.heading_tkfont = tkinter_font.Font(parent, heading_font) self.heading_tkfont = tkinter.font.Font(parent, heading_font)
self.font_metrics = self.tkfont.metrics() self.font_metrics = self.tkfont.metrics()
self.CHAR_H = self.font_metrics['linespace'] self.CHAR_H = self.font_metrics['linespace']

View file

@ -25,6 +25,8 @@ import locale
import os import os
import time import time
import tkinter import tkinter
import tkinter.font
import tkinter.ttk as ttk
import traceback import traceback
from pysollib.mfxutil import KwStruct, destruct, kwdefault, openURL from pysollib.mfxutil import KwStruct, destruct, kwdefault, openURL
@ -35,9 +37,6 @@ from pysollib.ui.tktile.tkutil import after, after_cancel
from pysollib.ui.tktile.tkutil import bind, unbind_destroy from pysollib.ui.tktile.tkutil import bind, unbind_destroy
from pysollib.ui.tktile.tkutil import makeToplevel, setTransient from pysollib.ui.tktile.tkutil import makeToplevel, setTransient
from six.moves import tkinter_font
from six.moves import tkinter_ttk as ttk
# ************************************************************************ # ************************************************************************
# * abstract base class for the dialogs in this module # * abstract base class for the dialogs in this module
# ************************************************************************ # ************************************************************************
@ -313,7 +312,7 @@ class PysolAboutDialog(MfxMessageDialog):
# font_name = msg.lookup('TLabel', 'font') # font_name = msg.lookup('TLabel', 'font')
font_name = 'TkDefaultFont' font_name = 'TkDefaultFont'
font = tkinter_font.Font(parent, name=font_name, exists=True) font = tkinter.font.Font(parent, name=font_name, exists=True)
font = font.copy() font = font.copy()
font.configure(underline=True) font.configure(underline=True)
url_label = ttk.Label(frame, text=kw.url, font=font, url_label = ttk.Label(frame, text=kw.url, font=font,

View file

@ -23,6 +23,7 @@
import os import os
import tkinter import tkinter
import tkinter.ttk as ttk
from pysollib.mfxutil import Image, ImageOps, ImageTk from pysollib.mfxutil import Image, ImageOps, ImageTk
from pysollib.mygettext import _, n_ from pysollib.mygettext import _, n_
@ -33,8 +34,6 @@ from pysollib.ui.tktile.tkutil import loadImage
from pysollib.util import IMAGE_EXTENSIONS from pysollib.util import IMAGE_EXTENSIONS
from pysollib.winsystems import TkSettings from pysollib.winsystems import TkSettings
from six.moves import tkinter_ttk as ttk
from .tkwidget import MfxTooltip from .tkwidget import MfxTooltip

View file

@ -22,14 +22,13 @@
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
import tkinter import tkinter
import tkinter.ttk as ttk
from pysollib.mfxutil import KwStruct from pysollib.mfxutil import KwStruct
from pysollib.mygettext import _ from pysollib.mygettext import _
from pysollib.wizardpresets import presets from pysollib.wizardpresets import presets
from pysollib.wizardutil import WizardWidgets from pysollib.wizardutil import WizardWidgets
from six.moves import tkinter_ttk as ttk
from .tkwidget import MfxDialog from .tkwidget import MfxDialog
from .tkwidget import PysolCombo, PysolScale from .tkwidget import PysolCombo, PysolScale

View file

@ -22,14 +22,13 @@
# ---------------------------------------------------------------------------## # ---------------------------------------------------------------------------##
import tkinter import tkinter
import tkinter.font
from pysollib.mfxutil import KwStruct from pysollib.mfxutil import KwStruct
from pysollib.mygettext import _ from pysollib.mygettext import _
from pysollib.tk.tkwidget import MfxDialog from pysollib.tk.tkwidget import MfxDialog
from pysollib.ui.tktile.tkutil import bind from pysollib.ui.tktile.tkutil import bind
from six.moves import tkinter_font
class FontChooserDialog(MfxDialog): class FontChooserDialog(MfxDialog):
def __init__(self, parent, title, init_font, **kw): def __init__(self, parent, title, init_font, **kw):
@ -101,7 +100,7 @@ class FontChooserDialog(MfxDialog):
self.size_var.set(self.font_size) self.size_var.set(self.font_size)
self.weight_var.set(self.font_weight == 'bold') self.weight_var.set(self.font_weight == 'bold')
self.slant_var.set(self.font_slant == 'italic') self.slant_var.set(self.font_slant == 'italic')
font_families = list(tkinter_font.families()) font_families = list(tkinter.font.families())
font_families.sort() font_families.sort()
selected = -1 selected = -1
n = 0 n = 0

View file

@ -22,13 +22,12 @@
# ---------------------------------------------------------------------------## # ---------------------------------------------------------------------------##
import tkinter import tkinter
import tkinter.colorchooser
from pysollib.mfxutil import KwStruct from pysollib.mfxutil import KwStruct
from pysollib.mygettext import _ from pysollib.mygettext import _
from pysollib.ui.tktile.selecttree import SelectDialogTreeData from pysollib.ui.tktile.selecttree import SelectDialogTreeData
from six.moves import tkinter_colorchooser
from .selecttree import SelectDialogTreeCanvas from .selecttree import SelectDialogTreeCanvas
from .selecttree import SelectDialogTreeLeaf, SelectDialogTreeNode from .selecttree import SelectDialogTreeLeaf, SelectDialogTreeNode
from .tkwidget import MfxDialog, MfxScrolledCanvas from .tkwidget import MfxDialog, MfxScrolledCanvas
@ -176,7 +175,7 @@ class SelectTileDialogWithPreview(MfxDialog):
self.tree.n_expansions = 1 # save xyview in any case self.tree.n_expansions = 1 # save xyview in any case
if button == 1: # "Solid color..." if button == 1: # "Solid color..."
try: try:
c = tkinter_colorchooser.askcolor( c = tkinter.colorchooser.askcolor(
master=self.top, master=self.top,
initialcolor=self.table_color, initialcolor=self.table_color,
title=_("Select table color")) title=_("Select table color"))

View file

@ -24,6 +24,7 @@
import os import os
import time import time
import tkinter import tkinter
import tkinter.font
from pysollib.mfxutil import KwStruct, kwdefault from pysollib.mfxutil import KwStruct, kwdefault
from pysollib.mfxutil import format_time from pysollib.mfxutil import format_time
@ -32,8 +33,6 @@ from pysollib.settings import TOP_TITLE
from pysollib.stats import ProgressionFormatter, PysolStatsFormatter from pysollib.stats import ProgressionFormatter, PysolStatsFormatter
from pysollib.ui.tktile.tkutil import bind, loadImage from pysollib.ui.tktile.tkutil import bind, loadImage
from six.moves import tkinter_font
from .tkwidget import MfxDialog, MfxMessageDialog from .tkwidget import MfxDialog, MfxMessageDialog
from .tkwidget import MfxScrolledCanvas from .tkwidget import MfxScrolledCanvas
@ -63,7 +62,7 @@ class SingleGame_StatsDialog(MfxDialog):
# createChart = self.createSimpleChart # createChart = self.createSimpleChart
# #
self.font = self.app.getFont("default") self.font = self.app.getFont("default")
self.tk_font = tkinter_font.Font(self.top, self.font) self.tk_font = tkinter.font.Font(self.top, self.font)
self.font_metrics = self.tk_font.metrics() self.font_metrics = self.tk_font.metrics()
self._calc_tabs() self._calc_tabs()
# #
@ -313,7 +312,7 @@ class CanvasFormatter(PysolStatsFormatter):
tw = 15*self.w tw = 15*self.w
# tw = 160 # tw = 160
self._tabs = [tw] self._tabs = [tw]
font = tkinter_font.Font(self.canvas, self.font) font = tkinter.font.Font(self.canvas, self.font)
for t in arg[1:]: for t in arg[1:]:
tw = font.measure(t)+20 tw = font.measure(t)+20
self._tabs.append(tw) self._tabs.append(tw)
@ -460,7 +459,7 @@ class AllGames_StatsDialog(MfxDialog):
# lines = 20 # lines = 20
# #
self.font = app.getFont(self.FONT_TYPE) self.font = app.getFont(self.FONT_TYPE)
font = tkinter_font.Font(parent, self.font) font = tkinter.font.Font(parent, self.font)
self.font_metrics = font.metrics() self.font_metrics = font.metrics()
self.CHAR_H = self.font_metrics['linespace'] self.CHAR_H = self.font_metrics['linespace']
self.CHAR_W = font.measure('M') self.CHAR_W = font.measure('M')
@ -816,8 +815,8 @@ class ProgressionDialog(MfxDialog):
def __init__(self, parent, title, app, player, gameid, **kw): def __init__(self, parent, title, app, player, gameid, **kw):
font_name = app.getFont('default') font_name = app.getFont('default')
font = tkinter_font.Font(parent, font_name) font = tkinter.font.Font(parent, font_name)
tkfont = tkinter_font.Font(parent, font) tkfont = tkinter.font.Font(parent, font)
font_metrics = font.metrics() font_metrics = font.metrics()
measure = tkfont.measure measure = tkfont.measure
self.text_height = font_metrics['linespace'] self.text_height = font_metrics['linespace']

View file

@ -23,6 +23,7 @@
import time import time
import tkinter import tkinter
import tkinter.font
import traceback import traceback
from pysollib.mfxutil import KwStruct, destruct, kwdefault, openURL from pysollib.mfxutil import KwStruct, destruct, kwdefault, openURL
@ -33,8 +34,6 @@ from pysollib.ui.tktile.tkutil import after, after_cancel
from pysollib.ui.tktile.tkutil import bind, unbind_destroy from pysollib.ui.tktile.tkutil import bind, unbind_destroy
from pysollib.ui.tktile.tkutil import makeToplevel, setTransient from pysollib.ui.tktile.tkutil import makeToplevel, setTransient
from six.moves import tkinter_font
# ************************************************************************ # ************************************************************************
# * abstract base class for the dialogs in this module # * abstract base class for the dialogs in this module
# ************************************************************************ # ************************************************************************
@ -307,7 +306,7 @@ class PysolAboutDialog(MfxMessageDialog):
width=kw.width) width=kw.width)
msg.pack(fill='both', expand=True) msg.pack(fill='both', expand=True)
font = tkinter_font.Font(parent, app.getFont('default')) font = tkinter.font.Font(parent, app.getFont('default'))
font.configure(underline=True) font.configure(underline=True)
url_label = tkinter.Label(frame, text=kw.url, font=font, url_label = tkinter.Label(frame, text=kw.url, font=font,
foreground='blue', cursor='hand2') foreground='blue', cursor='hand2')

View file

@ -22,12 +22,11 @@
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
import tkinter import tkinter
from tkinter.colorchooser import askcolor
from pysollib.mfxutil import KwStruct from pysollib.mfxutil import KwStruct
from pysollib.mygettext import _ from pysollib.mygettext import _
from six.moves.tkinter_colorchooser import askcolor
class BaseColorsDialog: class BaseColorsDialog:
def _calcFrame(self): def _calcFrame(self):

View file

@ -4,6 +4,7 @@ import platform
import re import re
import sys import sys
import tkinter import tkinter
import tkinter.filedialog
from pysollib.gamedb import GI from pysollib.gamedb import GI
from pysollib.hint import PySolHintLayoutImportError from pysollib.hint import PySolHintLayoutImportError
@ -18,8 +19,6 @@ from pysollib.ui.tktile.tkconst import EVENT_PROPAGATE
from pysollib.ui.tktile.tkconst import STATUSBAR_ITEMS, TOOLBAR_BUTTONS from pysollib.ui.tktile.tkconst import STATUSBAR_ITEMS, TOOLBAR_BUTTONS
from pysollib.ui.tktile.tkutil import after_idle, bind from pysollib.ui.tktile.tkutil import after_idle, bind
from six.moves import tkinter_tkfiledialog
def createToolbarMenu(menubar, menu): def createToolbarMenu(menubar, menu):
tearoff = menu.cget('tearoff') tearoff = menu.cget('tearoff')
@ -1440,7 +1439,7 @@ class PysolMenubarTkCommon:
idir, ifile = "", "" idir, ifile = "", ""
if not idir: if not idir:
idir = self.app.dn.savegames idir = self.app.dn.savegames
d = tkinter_tkfiledialog.Open() d = tkinter.filedialog.Open()
filename = d.show(filetypes=self.FILETYPES, filename = d.show(filetypes=self.FILETYPES,
defaultextension=self.DEFAULTEXTENSION, defaultextension=self.DEFAULTEXTENSION,
initialdir=idir, initialfile=ifile) initialdir=idir, initialfile=ifile)
@ -1477,7 +1476,7 @@ Unsupported game for export.
if not idir: if not idir:
idir = self.app.dn.boards idir = self.app.dn.boards
# print self.game.filename, ifile # print self.game.filename, ifile
d = tkinter_tkfiledialog.SaveAs() d = tkinter.filedialog.SaveAs()
filename = d.show(filetypes=self.FILETYPES, filename = d.show(filetypes=self.FILETYPES,
defaultextension=self.DEFAULTEXTENSION, defaultextension=self.DEFAULTEXTENSION,
initialdir=idir, initialfile=ifile) initialdir=idir, initialfile=ifile)
@ -1509,7 +1508,7 @@ Unsupported game for import.
idir, ifile = "", "" idir, ifile = "", ""
if not idir: if not idir:
idir = self.app.dn.boards idir = self.app.dn.boards
d = tkinter_tkfiledialog.Open() d = tkinter.filedialog.Open()
key = 'PYSOL_DEBUG_IMPORT' key = 'PYSOL_DEBUG_IMPORT'
if key not in os.environ: if key not in os.environ:
filename = d.show(filetypes=self.FILETYPES, filename = d.show(filetypes=self.FILETYPES,
@ -1556,7 +1555,7 @@ Unsupported game for import.
if not idir: if not idir:
idir = self.app.dn.savegames idir = self.app.dn.savegames
# print self.game.filename, ifile # print self.game.filename, ifile
d = tkinter_tkfiledialog.SaveAs() d = tkinter.filedialog.SaveAs()
filename = d.show(filetypes=self.FILETYPES, filename = d.show(filetypes=self.FILETYPES,
defaultextension=self.DEFAULTEXTENSION, defaultextension=self.DEFAULTEXTENSION,
initialdir=idir, initialfile=ifile) initialdir=idir, initialfile=ifile)

View file

@ -26,7 +26,7 @@
# ************************************************************************ # ************************************************************************
# imports # imports
from six.moves import tkinter_font import tkinter.font
class BaseSelectDialogTreeLeaf: class BaseSelectDialogTreeLeaf:
@ -111,7 +111,7 @@ class BaseSelectDialogTreeCanvas:
self.style.height = 14 # height of symbol self.style.height = 14 # height of symbol
if font: if font:
self.style.font = font self.style.font = font
f = tkinter_font.Font(parent, font) f = tkinter.font.Font(parent, font)
h = f.metrics()["linespace"] h = f.metrics()["linespace"]
self.style.disty = max(self.style.width, h) self.style.disty = max(self.style.width, h)

View file

@ -24,13 +24,12 @@
import os import os
import re import re
import tkinter import tkinter
import tkinter.font
from pysollib.mfxutil import Image, ImageDraw, ImageOps, ImageTk, \ from pysollib.mfxutil import Image, ImageDraw, ImageOps, ImageTk, \
get_default_resampling get_default_resampling
from pysollib.settings import TITLE, WIN_SYSTEM from pysollib.settings import TITLE, WIN_SYSTEM
from six.moves import tkinter_font
# ************************************************************************ # ************************************************************************
# * window manager util # * window manager util
@ -498,4 +497,4 @@ def resizeBottom(image, maskimage, color='white', backfile=None):
# ************************************************************************ # ************************************************************************
def get_text_width(text, font, root=None): def get_text_width(text, font, root=None):
return tkinter_font.Font(root=root, font=font).measure(text) return tkinter.font.Font(root=root, font=font).measure(text)

View file

@ -34,7 +34,7 @@ from pysollib.settings import VERSION
if TOOLKIT == 'tk': if TOOLKIT == 'tk':
from pysollib.ui.tktile.tkutil import loadImage from pysollib.ui.tktile.tkutil import loadImage
if USE_TILE: if USE_TILE:
from six.moves import tkinter_ttk as ttk import tkinter.ttk as ttk
def init_tile(app, top): def init_tile(app, top):
@ -74,7 +74,7 @@ def get_font_name(font):
if (TOOLKIT == 'kivy'): if (TOOLKIT == 'kivy'):
return "helvetica 12" return "helvetica 12"
from six.moves.tkinter_font import Font from tkinter.font import Font
font_name = None font_name = None
try: try:
f = Font(font=font) f = Font(font=font)

View file

@ -25,7 +25,7 @@ from pysollib.settings import TOOLKIT, USE_TILE
from pysollib.winsystems.common import BaseTkSettings, base_init_root_window from pysollib.winsystems.common import BaseTkSettings, base_init_root_window
if USE_TILE: if USE_TILE:
from six.moves import tkinter_ttk as ttk import tkinter.ttk as ttk
def init_root_window(root, app): def init_root_window(root, app):

View file

@ -33,7 +33,7 @@ from pysollib.winsystems.common import \
if TOOLKIT == 'tk': if TOOLKIT == 'tk':
if USE_TILE: if USE_TILE:
from six.moves import tkinter_ttk as ttk import tkinter.ttk as ttk
# ************************************************************************ # ************************************************************************
@ -71,10 +71,10 @@ def init_root_window(root, app):
except Exception: except Exception:
traceback.print_exc() traceback.print_exc()
else: else:
from six.moves import tkinter_tkfiledialog import tkinter.filedialog
tkinter_tkfiledialog.Open.command = 'ttk::getOpenFile' tkinter.filedialog.Open.command = 'ttk::getOpenFile'
tkinter_tkfiledialog.SaveAs.command = 'ttk::getSaveFile' tkinter.filedialog.SaveAs.command = 'ttk::getSaveFile'
tkinter_tkfiledialog.Directory.command = 'ttk::chooseDirectory' tkinter.filedialog.Directory.command = 'ttk::chooseDirectory'
style = ttk.Style(root) style = ttk.Style(root)
color = style.lookup('.', 'background') color = style.lookup('.', 'background')

View file

@ -9,12 +9,11 @@
import os import os
import tkinter import tkinter
import tkinter.filedialog
from glob import glob from glob import glob
from PIL import Image, ImageTk from PIL import Image, ImageTk
from six.moves import tkinter_tkfiledialog as filedialog # messagebox
cardset_type = { cardset_type = {
'1': 'French', '1': 'French',
@ -175,7 +174,7 @@ def on_mousewheel(event):
def select_dir(): def select_dir():
global data_dir global data_dir
dialog = filedialog.Directory(root) dialog = tkinter.filedialog.Directory(root)
directory = dialog.show() directory = dialog.show()
if directory: if directory:
data_dir = os.path.normpath(directory) data_dir = os.path.normpath(directory)

View file

@ -78,7 +78,6 @@ kw = {
'attrs>=18.2.0', 'attrs>=18.2.0',
'configobj', 'configobj',
'pysol_cards', 'pysol_cards',
'six',
], ],
'long_description': long_description, 'long_description': long_description,
'license': 'GPL', 'license': 'GPL',