Includes basic Video editing, OBS intergration, game detecting and clip editor
87 lines
2.4 KiB
Python
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() |