Skip to content

Commit 3cb2aa6

Browse files
committed
Fix #114, try to load Start Image on browse & load settings, don't allow a start image to load if hotkeys are not set.
1 parent 0d6ccf6 commit 3cb2aa6

File tree

3 files changed

+15
-11
lines changed

3 files changed

+15
-11
lines changed

src/AutoSplit.py

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -207,13 +207,6 @@ def run(self):
207207
self.hwnd_title = ''
208208
self.rect = ctypes.wintypes.RECT()
209209

210-
# Last loaded settings and last successful loaded settings file path to None until we try to load them
211-
self.last_loaded_settings = None
212-
self.last_successfully_loaded_settings_file_path = None
213-
214-
if not self.is_auto_controlled:
215-
self.loadSettings(load_settings_on_open=True)
216-
217210
# Automatic timer start
218211
self.timerStartImage = QtCore.QTimer()
219212
self.timerStartImage.timeout.connect(self.startImageFunction)
@@ -222,8 +215,12 @@ def run(self):
222215
self.highest_similarity = 0.0
223216
self.check_start_image_timestamp = 0.0
224217

225-
# Try to load start image
226-
self.loadStartImage()
218+
# Last loaded settings and last successful loaded settings file path to None until we try to load them
219+
self.last_loaded_settings = None
220+
self.last_successfully_loaded_settings_file_path = None
221+
222+
if not self.is_auto_controlled:
223+
self.loadSettings(load_settings_on_open=True)
227224

228225
# FUNCTIONS
229226

@@ -243,6 +240,7 @@ def browse(self):
243240
# set the split image folder line to the directory text
244241
self.split_image_directory = new_split_image_directory
245242
self.splitimagefolderLineEdit.setText(f"{new_split_image_directory}/")
243+
self.loadStartImage()
246244

247245
def checkLiveImage(self):
248246
if self.liveimageCheckBox.isChecked():
@@ -302,6 +300,10 @@ def loadStartImage(self, started_by_button=False, wait_for_delay=True):
302300
error_messages.noKeywordImageError('start_auto_splitter')
303301
return
304302

303+
if self.start_image_name is not None and (not self.splitLineEdit.text() or not self.resetLineEdit.text() or not self.pausehotkeyLineEdit.text()) and not self.is_auto_controlled:
304+
error_messages.loadStartImageError()
305+
return
306+
305307
self.split_image_filenames = os.listdir(self.split_image_directory)
306308
self.split_image_number = 0
307309
self.start_image_mask = None
@@ -346,8 +348,7 @@ def loadStartImage(self, started_by_button=False, wait_for_delay=True):
346348
QtWidgets.QApplication.processEvents()
347349

348350
def startImageFunction(self):
349-
if time.time() < self.check_start_image_timestamp \
350-
or (not self.splitLineEdit.text() and not self.is_auto_controlled):
351+
if time.time() < self.check_start_image_timestamp:
351352
pause_time_left = "{:.1f}".format(self.check_start_image_timestamp - time.time())
352353
self.currentSplitImage.setText(f'None\n (Paused before loading Start Image).\n {pause_time_left} sec remaining')
353354
return

src/error_messages.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ def tooManySettingsFilesOnOpenError():
8888
def checkForUpdatesError():
8989
setTextMessage("An error occurred while attempting to check for updates. Please check your connection.")
9090

91+
def loadStartImageError():
92+
setTextMessage("Start Image found, but cannot be loaded unless Start, Reset, and Pause hotkeys are set. Please set these hotkeys, and then click the Reload Start Image button.")
9193

9294
def stdinLostError():
9395
setTextMessage("stdin not supported or lost, external control like LiveSplit integration will not work.")

src/settings_file.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,3 +303,4 @@ def loadSettings(self: AutoSplit, load_settings_on_open: bool = False, load_sett
303303

304304
self.last_successfully_loaded_settings_file_path = self.load_settings_file_path
305305
self.checkLiveImage()
306+
self.loadStartImage()

0 commit comments

Comments
 (0)