Added changelog viewing
Users can now see the latest changelog entry by hovering over the ERSCMU version text, or the 5 latest entries in the info section
This commit is contained in:
		
							parent
							
								
									5c5571047c
								
							
						
					
					
						commit
						3356565593
					
				
							
								
								
									
										25
									
								
								ERSCMU.py
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								ERSCMU.py
									
									
									
									
									
								
							@ -1,5 +1,5 @@
 | 
				
			|||||||
# Define version number
 | 
					# Define version number
 | 
				
			||||||
PROGRAM_VERSION = "1.7.0.5"
 | 
					PROGRAM_VERSION = "1.7.0.6"
 | 
				
			||||||
LAUNCHER_VERSION = "1.1.0.0"
 | 
					LAUNCHER_VERSION = "1.1.0.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Define a persistent path for the configuration files in the AppData folder
 | 
					# Define a persistent path for the configuration files in the AppData folder
 | 
				
			||||||
@ -53,6 +53,25 @@ def check_logo():
 | 
				
			|||||||
    else:
 | 
					    else:
 | 
				
			||||||
        print(f"Logo discovered locally at {LOGO_PATH}")
 | 
					        print(f"Logo discovered locally at {LOGO_PATH}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def get_changelog(num_entries=1):
 | 
				
			||||||
 | 
					    url = 'https://git.rolfsvaag.no/frarol96/ERSCMU/raw/branch/main/changelog.md'
 | 
				
			||||||
 | 
					    response = requests.get(url)
 | 
				
			||||||
 | 
					    if response.status_code != 200:
 | 
				
			||||||
 | 
					        raise Exception(f"Failed to fetch changelog. HTTP status code: {response.status_code}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    changelog = response.text.split('\n- ')
 | 
				
			||||||
 | 
					    latest_entries = changelog[:num_entries]
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    formatted_entries = []
 | 
				
			||||||
 | 
					    for entry in latest_entries:
 | 
				
			||||||
 | 
					        if entry.strip():
 | 
				
			||||||
 | 
					            lines = entry.split('\n')
 | 
				
			||||||
 | 
					            version = lines[0].strip()
 | 
				
			||||||
 | 
					            changes = '\n'.join([f"- {line.strip()}" for line in lines[1:] if line.strip()])
 | 
				
			||||||
 | 
					            formatted_entries.append(f"version {version}:\n{changes}")
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    return '\n\n'.join(formatted_entries)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def ensure_vocabulary(config):
 | 
					def ensure_vocabulary(config):
 | 
				
			||||||
    if "vocabulary" not in config:
 | 
					    if "vocabulary" not in config:
 | 
				
			||||||
        config["vocabulary"] = {
 | 
					        config["vocabulary"] = {
 | 
				
			||||||
@ -789,7 +808,7 @@ def show_info():
 | 
				
			|||||||
    last_updated = config.get('last_updated', 'Unknown')
 | 
					    last_updated = config.get('last_updated', 'Unknown')
 | 
				
			||||||
    launcher_path = os.path.join(os.path.dirname(config["mod_path"]), config['launcher_name'])
 | 
					    launcher_path = os.path.join(os.path.dirname(config["mod_path"]), config['launcher_name'])
 | 
				
			||||||
    wdir = PERSISTENT_DIR
 | 
					    wdir = PERSISTENT_DIR
 | 
				
			||||||
    QMessageBox.information(None, "Info", f"Current Version: {installed_version}\nLast Updated: {last_updated}\nLauncher Path: {launcher_path}\nWorking Directory: {wdir}\nERSCMU Version: {PROGRAM_VERSION}\nLauncher Version: {LAUNCHER_VERSION}")
 | 
					    QMessageBox.information(None, "Info", f"Current Version: {installed_version}\nLast Updated: {last_updated}\nLauncher Path: {launcher_path}\nWorking Directory: {wdir}\nERSCMU Version: {PROGRAM_VERSION}\nLauncher Version: {LAUNCHER_VERSION}\n\nChangelog (last 5 versions):\n{get_changelog(5)}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def show_about():
 | 
					def show_about():
 | 
				
			||||||
    about_text = f"""
 | 
					    about_text = f"""
 | 
				
			||||||
@ -856,7 +875,7 @@ def create_gui():
 | 
				
			|||||||
    version_label.setAlignment(Qt.AlignRight | Qt.AlignVCenter)
 | 
					    version_label.setAlignment(Qt.AlignRight | Qt.AlignVCenter)
 | 
				
			||||||
    version_label.setStyleSheet("padding-right: 10px;")  # Optional: add some padding to the right
 | 
					    version_label.setStyleSheet("padding-right: 10px;")  # Optional: add some padding to the right
 | 
				
			||||||
    menu_bar.setCornerWidget(version_label, Qt.TopRightCorner)
 | 
					    menu_bar.setCornerWidget(version_label, Qt.TopRightCorner)
 | 
				
			||||||
    version_label_tooltip_text = f"ERSCMU version.\nThis is the version of this program you're currently running.\nLauncher Version: {LAUNCHER_VERSION}"
 | 
					    version_label_tooltip_text = f"ERSCMU version.\nThis is the version of this program you're currently running.\nLauncher Version: {LAUNCHER_VERSION}\n\nChangelog:\n{get_changelog()}"
 | 
				
			||||||
    version_label.setToolTip(str(version_label_tooltip_text))
 | 
					    version_label.setToolTip(str(version_label_tooltip_text))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    mod_path_label = QLabel("Mod Folder:")
 | 
					    mod_path_label = QLabel("Mod Folder:")
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user