GoodGame/main.py
nadeemsadiq 16fa81d5af feat: Intial POC of GoodGames
Includes basic Video editing, OBS intergration, game detecting and clip editor
2023-07-20 19:41:09 +01:00

87 lines
2.4 KiB
Python

import sys
from video_editor import MainWindow
from obs_recorder_and_game_dector import run_bg_app
from PySide6.QtCore import QStandardPaths, Qt, Slot, QThread, QTimer, QObject, Signal
from PySide6.QtGui import QAction, QIcon, QKeySequence, QScreen
from PySide6.QtWidgets import QApplication, QSystemTrayIcon, QMenu, QMainWindow, QLabel, QVBoxLayout, QWidget, QPushButton
from PySide6.QtMultimediaWidgets import QVideoWidget
page_url = None
class BackgroundThread(QThread):
def __init__(self,):
super().__init__()
def run(self):
global page_url
# Implement your background service logic here
while True:
new_video = run_bg_app()
if new_video is not None:
self.sleep(3)
page_url = new_video
self.open_main_page.emit()
self.sleep(1) # Sleep for 1 second
# Define a signal for opening a new main page
open_main_page = Signal()
class MainPage(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Main Page")
self.resize(300, 200)
# Create a label and a button
label = QLabel("Hello, World!")
button = QPushButton("Open New Page")
# Create a layout and set it on a central widget
layout = QVBoxLayout()
layout.addWidget(label)
layout.addWidget(button)
central_widget = QWidget()
central_widget.setLayout(layout)
self.setCentralWidget(central_widget)
self.new_page = None
def open_new_page(self):
global page_url
self.new_page = MainWindow(page_url)
self.new_page.show()
def closeEvent(self, event):
event.ignore()
def main():
app = QApplication(sys.argv)
tray_icon = QSystemTrayIcon(app)
menu = QMenu()
# Create the main page
main_page = MainPage()
open_main_window = QAction("Open", app)
open_main_window.triggered.connect(main_page.open_new_page)
menu.addAction(open_main_window)
exit_action = QAction("Exit", app)
exit_action.triggered.connect(app.quit)
menu.addAction(exit_action)
tray_icon.setContextMenu(menu)
tray_icon.show()
# Start the background thread
background_thread = BackgroundThread()
background_thread.open_main_page.connect(main_page.open_new_page)
background_thread.start()
sys.exit(app.exec())
if __name__ == '__main__':
main()