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

Add topmost logic to solver dialog

This commit is contained in:
Joe R 2024-12-24 22:39:45 -05:00
parent 911f83d249
commit cafdafe047
5 changed files with 24 additions and 0 deletions

View file

@ -47,6 +47,7 @@ from pysollib.pysoltk import create_full_picture_dialog
from pysollib.pysoltk import create_solver_dialog
from pysollib.pysoltk import raise_find_card_dialog
from pysollib.pysoltk import raise_full_picture_dialog
from pysollib.pysoltk import raise_solver_dialog
from pysollib.settings import DEBUG
from pysollib.settings import PACKAGE_URL, TITLE
from pysollib.settings import TOP_SIZE
@ -544,6 +545,7 @@ class PysolMenubar(PysolMenubarTk):
def mSolver(self, *args):
create_solver_dialog(self.game.top, self.app)
raise_solver_dialog(self.game)
def mEditGameComment(self, *args):
if self._cancelDrag(break_pause=False):
@ -835,6 +837,7 @@ class PysolMenubar(PysolMenubarTk):
def raiseAll(self):
raise_find_card_dialog(self.game)
raise_full_picture_dialog(self.game)
raise_solver_dialog(self.game)
#
# Help menu

View file

@ -57,6 +57,7 @@ from pysollib.pysoltk import destroy_full_picture_dialog
from pysollib.pysoltk import loadImage, wm_withdraw
from pysollib.pysoltk import raise_find_card_dialog
from pysollib.pysoltk import raise_full_picture_dialog
from pysollib.pysoltk import raise_solver_dialog
from pysollib.resource import CSI, CardsetManager
from pysollib.resource import Music, MusicManager
from pysollib.resource import Sample, SampleManager
@ -517,6 +518,7 @@ class Application:
# Topmost dialogs need to be reset when toggling fullscreen.
raise_find_card_dialog(self.game)
raise_full_picture_dialog(self.game)
raise_solver_dialog(self.game)
self.top.attributes('-topmost', False)
def loadImages1(self):

View file

@ -46,6 +46,10 @@ def connect_game_solver_dialog(game):
pass
def raise_solver_dialog(game):
pass
def destroy_solver_dialog():
global solver_dialog
solver_dialog = None

View file

@ -30,6 +30,10 @@ def connect_game_solver_dialog(game):
pass
def raise_solver_dialog(game):
pass
def destroy_solver_dialog():
pass
# solver_dialog = None

View file

@ -84,3 +84,14 @@ def create_solver_dialog(parent, game):
except Exception:
# traceback.print_exc()
solver_dialog = SolverDialog(parent, game)
def raise_solver_dialog(game):
try:
if game.app.opt.topmost_dialogs:
solver_dialog.top.tkraise()
solver_dialog.top.attributes("-topmost", True)
else:
solver_dialog.top.attributes("-topmost", False)
except Exception:
pass