GameSentenceMiner 2.18.12__py3-none-any.whl → 2.18.14__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -46,28 +46,17 @@ class AnkiConfirmationDialog(tk.Toplevel):
46
46
  # --- Create and lay out widgets ---
47
47
  self._create_widgets(expression, sentence, screenshot_path, audio_path, translation)
48
48
 
49
- # --- Smarter Centering Logic ---
49
+ # --- Center the dialog on screen ---
50
50
  self.update_idletasks()
51
51
 
52
- if parent.state() == 'withdrawn':
53
- screen_width = self.winfo_screenwidth()
54
- screen_height = self.winfo_screenheight()
55
- dialog_width = self.winfo_width()
56
- dialog_height = self.winfo_height()
57
- x = (screen_width // 2) - (dialog_width // 2)
58
- y = (screen_height // 2) - (dialog_height // 2)
59
- self.geometry(f'+{x}+{y}')
60
- else:
61
- self.transient(parent)
62
- parent_x = parent.winfo_x()
63
- parent_y = parent.winfo_y()
64
- parent_width = parent.winfo_width()
65
- parent_height = parent.winfo_height()
66
- dialog_width = self.winfo_width()
67
- dialog_height = self.winfo_height()
68
- x = parent_x + (parent_width // 2) - (dialog_width // 2)
69
- y = parent_y + (parent_height // 2) - (dialog_height // 2)
70
- self.geometry(f'+{x}+{y}')
52
+ dialog_width = self.winfo_width()
53
+ dialog_height = self.winfo_height()
54
+ screen_width = self.winfo_screenwidth()
55
+ screen_height = self.winfo_screenheight()
56
+
57
+ x = (screen_width // 2) - (dialog_width // 2)
58
+ y = (screen_height // 2) - (dialog_height // 2)
59
+ self.geometry(f'+{x}+{y}')
71
60
 
72
61
  self.protocol("WM_DELETE_WINDOW", self._on_cancel)
73
62
  self.attributes('-topmost', True)
@@ -169,30 +169,17 @@ class ScreenshotSelectorDialog(tk.Toplevel):
169
169
 
170
170
  def _center_window(self):
171
171
  """
172
- Smarter centering logic. Centers on the parent if it's visible,
173
- otherwise centers on the screen.
172
+ Centers the dialog on the screen regardless of parent state.
174
173
  """
175
174
  self.update_idletasks()
176
175
 
177
- parent = self.parent_window
178
176
  dialog_width = self.winfo_width()
179
177
  dialog_height = self.winfo_height()
180
-
181
- if parent.state() == 'withdrawn':
182
- # PARENT IS HIDDEN: Center the dialog on the screen
183
- screen_width = self.winfo_screenwidth()
184
- screen_height = self.winfo_screenheight()
185
- x = (screen_width // 2) - (dialog_width // 2)
186
- y = (screen_height // 2) - (dialog_height // 2)
187
- else:
188
- # PARENT IS VISIBLE: Center relative to the parent window
189
- self.transient(parent) # Associate dialog with its parent
190
- parent_x = parent.winfo_x()
191
- parent_y = parent.winfo_y()
192
- parent_width = parent.winfo_width()
193
- parent_height = parent.winfo_height()
194
- x = parent_x + (parent_width // 2) - (dialog_width // 2)
195
- y = parent_y + (parent_height // 2) - (dialog_height // 2)
178
+ screen_width = self.winfo_screenwidth()
179
+ screen_height = self.winfo_screenheight()
180
+
181
+ x = (screen_width // 2) - (dialog_width // 2)
182
+ y = (screen_height // 2) - (dialog_height // 2)
196
183
 
197
184
  self.geometry(f'+{x}+{y}')
198
185
 
@@ -1089,7 +1089,7 @@ def register_database_api_routes(app):
1089
1089
  color = colors[i % len(colors)]
1090
1090
 
1091
1091
  datasets.append({
1092
- "label": f"{game} - Lines Received",
1092
+ "label": f"{game}",
1093
1093
  "data": final_data[game]['lines'],
1094
1094
  "borderColor": color,
1095
1095
  "backgroundColor": f"{color}33", # Semi-transparent for fill
@@ -1098,7 +1098,7 @@ def register_database_api_routes(app):
1098
1098
  "for": "Lines Received"
1099
1099
  })
1100
1100
  datasets.append({
1101
- "label": f"{game} - Characters Read",
1101
+ "label": f"{game}",
1102
1102
  "data": final_data[game]['chars'],
1103
1103
  "borderColor": color,
1104
1104
  "backgroundColor": f"{color}33",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: GameSentenceMiner
3
- Version: 2.18.12
3
+ Version: 2.18.14
4
4
  Summary: A tool for mining sentences from games. Update: Overlay?
5
5
  Author-email: Beangate <bpwhelan95@gmail.com>
6
6
  License: MIT License
@@ -36,10 +36,10 @@ GameSentenceMiner/tools/furigana_filter_preview.py,sha256=DAT2-j6vSDHr9ufk6PiaLi
36
36
  GameSentenceMiner/tools/ss_selector.py,sha256=ob2oJdiYreDMMau7CvsglpnhZ1CDnJqop3lV54-PjRo,4782
37
37
  GameSentenceMiner/tools/window_transparency.py,sha256=GtbxbmZg0-UYPXhfHff-7IKZyY2DKe4B9GdyovfmpeM,8166
38
38
  GameSentenceMiner/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
- GameSentenceMiner/ui/anki_confirmation.py,sha256=ohpWlPTvKn-_5_lpINdKZciR0k8RWRfnDrfuzyJgItc,15242
39
+ GameSentenceMiner/ui/anki_confirmation.py,sha256=GXNvujWSc3L8-tZ_93zdcEqJxAEBoh2oV5EP78Xcn7E,14685
40
40
  GameSentenceMiner/ui/config_gui.py,sha256=pCZK7-PyllrNc7QmnT4MQ2rADkSC8y7YJcwz8UqjP48,155072
41
41
  GameSentenceMiner/ui/furigana_filter_preview.py,sha256=DAT2-j6vSDHr9ufk6PiaLikEsbIp56B_OHIEeYLMwlk,17135
42
- GameSentenceMiner/ui/screenshot_selector.py,sha256=AKML87MpgYQeSuj1F10GngpNrn9qp06zLLzNRwrQWM8,8900
42
+ GameSentenceMiner/ui/screenshot_selector.py,sha256=7QvDhOMpA0ej8x_lYtu6fhmrWbM1GCg-dps3XVWwk1Q,8234
43
43
  GameSentenceMiner/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
44
  GameSentenceMiner/util/audio_player.py,sha256=-yFsf0qoTSS1ga5rCmEJZJGUSJzXCvfZHY3t0NxycDk,7896
45
45
  GameSentenceMiner/util/configuration.py,sha256=8cXpeUJ4hOr8Qd4JPAx1qn_phBIFuKR5D-PybThu-Qk,48233
@@ -61,7 +61,7 @@ GameSentenceMiner/util/downloader/oneocr_dl.py,sha256=l3s9Z-x1b57GX048o5h-MVv0UT
61
61
  GameSentenceMiner/util/win10toast/__init__.py,sha256=6TL2w6rzNmpJEp6_v2cAJP_7ExA3UsKzwdM08pNcVfE,5341
62
62
  GameSentenceMiner/util/win10toast/__main__.py,sha256=5MYnBcFj8y_6Dyc1kiPd0_FsUuh4yl1cv5wsleU6V4w,668
63
63
  GameSentenceMiner/web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
- GameSentenceMiner/web/database_api.py,sha256=Ph30uGAJFSxRkBdrZglXKsuwuKP46RxjzGODMO5aaLc,84827
64
+ GameSentenceMiner/web/database_api.py,sha256=wedzDy_zpeJG1XvUw2fDWQ6InwRu6WfuVRdKWYUfvbE,84792
65
65
  GameSentenceMiner/web/events.py,sha256=6Vyz5c9MdpMIa7Zqljqhap2XFQnAVYJ0CdQV64TSZsA,5119
66
66
  GameSentenceMiner/web/gsm_websocket.py,sha256=B0VKpxmsRu0WRh5nFWlpDPBQ6-K2ed7TEIa0O6YWeoo,4166
67
67
  GameSentenceMiner/web/service.py,sha256=6cgUmDgtp3ZKzuPFszowjPoq-BDtC1bS3ux6sykeaqo,6662
@@ -126,9 +126,9 @@ GameSentenceMiner/web/templates/components/kanji_grid/thousand_character_classic
126
126
  GameSentenceMiner/web/templates/components/kanji_grid/wanikani_levels.json,sha256=8wjnnaYQqmho6t5tMxrIAc03512A2tYhQh5dfsQnfAM,11372
127
127
  GameSentenceMiner/web/templates/components/kanji_grid/words_hk_frequency_list.json,sha256=wRkqZNPzz6DT9OTPHpXwfqW96Qb96stCQNNgOL-ZdKk,17535
128
128
  GameSentenceMiner/wip/__init___.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
129
- gamesentenceminer-2.18.12.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
130
- gamesentenceminer-2.18.12.dist-info/METADATA,sha256=wuk2yhVS3LypYYgcJ22JrywwXRBNzFWCcG1fHUj5MHQ,7488
131
- gamesentenceminer-2.18.12.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
132
- gamesentenceminer-2.18.12.dist-info/entry_points.txt,sha256=2APEP25DbfjSxGeHtwBstMH8mulVhLkqF_b9bqzU6vQ,65
133
- gamesentenceminer-2.18.12.dist-info/top_level.txt,sha256=V1hUY6xVSyUEohb0uDoN4UIE6rUZ_JYx8yMyPGX4PgQ,18
134
- gamesentenceminer-2.18.12.dist-info/RECORD,,
129
+ gamesentenceminer-2.18.14.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
130
+ gamesentenceminer-2.18.14.dist-info/METADATA,sha256=N8m_65tSgL6-jPIMS1pblttPwvsbu3sdNb-Uc6YDx5U,7488
131
+ gamesentenceminer-2.18.14.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
132
+ gamesentenceminer-2.18.14.dist-info/entry_points.txt,sha256=2APEP25DbfjSxGeHtwBstMH8mulVhLkqF_b9bqzU6vQ,65
133
+ gamesentenceminer-2.18.14.dist-info/top_level.txt,sha256=V1hUY6xVSyUEohb0uDoN4UIE6rUZ_JYx8yMyPGX4PgQ,18
134
+ gamesentenceminer-2.18.14.dist-info/RECORD,,