diff --git a/StartUI.py b/StartUI.py
index d83ffa2..61c89b9 100644
--- a/StartUI.py
+++ b/StartUI.py
@@ -73,6 +73,41 @@ class MainWindow(QMainWindow):
def init_ui(self):
self.setWindowTitle('StartUI for oobabooga webui')
+ # Menu Bar
+ menu = self.menuBar()
+
+ # Main menu
+ main_menu = menu.addMenu("StartUI")
+ main_menu.addAction("Exit", self.close)
+
+ # help menu
+ help_menu = menu.addMenu("Help")
+
+ # Help menu actions
+ # About Action
+ about_action = QAction("About", self)
+ about_action.setToolTip("Opens the About Page")
+ about_action.triggered.connect(self.show_about_window)
+ help_menu.addAction(about_action)
+
+ # Github action
+ github_action = QAction("Github", self)
+ github_action.setStatusTip("Opens the Github Page")
+ github_action.triggered.connect(self.on_Github_clicked)
+ help_menu.addAction(github_action)
+
+ # Oobabooga action
+ oobabooga_action = QAction("oobabooga", self)
+ oobabooga_action.setStatusTip("Opens the oobabooga Github Page")
+ oobabooga_action.triggered.connect(self.on_oobabooga_clicked)
+ help_menu.addAction(oobabooga_action)
+
+ # Version action
+ version_action = QAction(f"Version: {version}", self)
+ version_action.setStatusTip("Shows the Version of StartUI")
+ help_menu.addAction(version_action)
+ version_action.triggered.connect(self.show_version_window)
+
layout = QGridLayout()
layout.setColumnMinimumWidth(3, 30)
@@ -448,6 +483,26 @@ class MainWindow(QMainWindow):
except OSError:
self.show_error_message("Error", f"Could not open the link. Please open it manually.\n{release_url}")
+ def on_Github_clicked(self):
+ startui_url = "https://github.com/Pakobbix/StartUI-oobabooga-webui/"
+ if sys.platform == "win32":
+ os.startfile(startui_url)
+ else:
+ try:
+ subprocess.Popen(["xdg-open", startui_url])
+ except OSError:
+ self.show_error_message("Error", f"Could not open the link. Please open it manually.\n{startui_url}")
+
+ def on_oobabooga_clicked(self):
+ oobabooga_url = "https://github.com/oobabooga/text-generation-webui"
+ if sys.platform == "win32":
+ os.startfile(oobabooga_url)
+ else:
+ try:
+ subprocess.Popen(["xdg-open", oobabooga_url])
+ except OSError:
+ self.show_error_message("Error", f"Could not open the link. Please open it manually.\n{oobabooga_url}")
+
def get_latest_version(self):
try:
url = "https://api.github.com/repos/Pakobbix/StartUI-oobabooga-webui/releases/latest"
@@ -476,6 +531,15 @@ class MainWindow(QMainWindow):
print(f"Error fetching release notes: {str(e)}")
return None
+ def show_about_window(self, action):
+ latest_version = self.get_latest_version()
+ release_url = f"https://github.com/Pakobbix/StartUI-oobabooga-webui/releases/tag/{latest_version}"
+ if latest_version and latest_version > version:
+ about_text = f"A new version ({latest_version}) is available! Please update.
StartUI for oobabooga's webui.
Current Version: {version}
This is an GUI (Graphical User Interface), to set flags depending on the user selection."
+ else:
+ about_text = f"StartUI for oobabooga's webui.\n\nVersion: {version}\n\nThis is an GUI (Graphical User Interface), to set flags depending on the user selection."
+ QMessageBox.about(self, "About", about_text)
+
def on_use_extensions_checkbox_changed(self, state):
self.extensions_list.setVisible(state == Qt.Checked)