Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 26 additions & 11 deletions screenprofiler.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,27 @@
import sys
import webbrowser
import json
from PyQt5.QtWidgets import (
QApplication, QWidget, QVBoxLayout, QLabel, QLineEdit, QCheckBox,
QPushButton, QDialog, QSystemTrayIcon, QMenu, QAction, QMessageBox,
QComboBox
)
from PyQt5.QtGui import QIcon, QCursor
try:
from PyQt6.QtWidgets import (
QApplication, QWidget, QVBoxLayout, QLabel, QLineEdit, QCheckBox,
QPushButton, QDialog, QSystemTrayIcon, QMenu, QMessageBox, QComboBox
)
from PyQt6.QtGui import QIcon, QCursor, QAction
TRAY_TRIGGER = QSystemTrayIcon.ActivationReason.Trigger
except ImportError:
from PyQt5.QtWidgets import (
QApplication, QWidget, QVBoxLayout, QLabel, QLineEdit, QCheckBox,
QPushButton, QDialog, QSystemTrayIcon, QMenu, QAction, QMessageBox,
QComboBox
)
from PyQt5.QtGui import QIcon, QCursor
TRAY_TRIGGER = QSystemTrayIcon.Trigger

def qt_exec(obj):
"""Compat helper: exec() in Qt6, exec_() in Qt5."""
if hasattr(obj, 'exec'):
return obj.exec()
return obj.exec_()

class MainWindow(QWidget):
def __init__(self):
Expand Down Expand Up @@ -62,7 +77,7 @@ def init_tray_icon(self):
self._tray_icon.activated.connect(self.on_tray_activated)

def on_tray_activated(self, reason):
if reason == QSystemTrayIcon.Trigger:
if reason == TRAY_TRIGGER:
if self._tray_icon.contextMenu():
self._tray_icon.contextMenu().popup(QCursor.pos())

Expand Down Expand Up @@ -201,7 +216,7 @@ def open_new_profile_window(self):
cancel_button.clicked.connect(dialog.hide)

dialog.setLayout(layout)
dialog.exec_()
qt_exec(dialog)

def open_settings_window(self):
dialog = QDialog(self)
Expand Down Expand Up @@ -237,7 +252,7 @@ def open_settings_window(self):
cancel_button.clicked.connect(dialog.hide)

dialog.setLayout(layout)
dialog.exec_()
qt_exec(dialog)

def handle_save_settings(self, selected_icon, dialog):
new_icon_path = os.path.join(self.resources_dir, selected_icon)
Expand Down Expand Up @@ -274,10 +289,10 @@ def open_about_window(self):
layout.addWidget(close_button)
close_button.clicked.connect(dialog.hide)
dialog.setLayout(layout)
dialog.exec_()
qt_exec(dialog)

if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
exit_code = app.exec_()
exit_code = qt_exec(app)
sys.exit(exit_code)