feat(app): tombol Donasi + GitHub (jendela & tray), label versi v1.1.0

docs: bagian Support dengan tautan donasi
This commit is contained in:
oxpoe committed 2026-10-13 07:09:58 +07:00
1 parent 42c8d94977
commit 657a8d10dc
2 files changed
+47 -3

No files matched your search

+37 -3
View File
@@ -18,19 +18,23 @@ import threading
import time
import traceback
from PySide6.QtCore import QPointF, QRectF, Qt, QThread, QTimer, Signal
from PySide6.QtGui import (QAction, QColor, QConicalGradient, QFont, QIcon,
QPainter, QPen, QPixmap)
from PySide6.QtCore import QPointF, QRectF, Qt, QThread, QTimer, QUrl, Signal
from PySide6.QtGui import (QAction, QColor, QConicalGradient, QDesktopServices, QFont,
QIcon, QPainter, QPen, QPixmap)
from PySide6.QtWidgets import (
QApplication, QCheckBox, QComboBox, QFormLayout, QGroupBox, QHBoxLayout, QLabel,
QMenu, QPlainTextEdit, QProgressBar, QPushButton, QSystemTrayIcon, QVBoxLayout, QWidget,
)
from PySide6.QtNetwork import QLocalServer, QLocalSocket
APP_VERSION = "1.1.0"
HERE = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, HERE)
import gamemax_report as gr # noqa: E402
DONATE_URL = "https://donasi.oxpoe.qzz.io/"
GITHUB_URL = "https://github.com/oxpoe/Gamemax-linux-apps"
SERVICE = "gamemax-report.service"
CONFIG_PATH = gr.CONFIG_PATH
INSTALL_DIR = os.path.expanduser("~/.local/share/gamemax-report")
@@ -69,6 +73,13 @@ def crash_log(text):
pass
def open_link(url, parent=None):
"""Buka tautan di peramban; kalau gagal, tampilkan pesannya di log."""
if not QDesktopServices.openUrl(QUrl(url)):
if parent is not None:
parent.log(f"tidak bisa membuka tautan: {url}")
def systemctl(*args):
return subprocess.run(["systemctl", "--user", *args], capture_output=True, text=True)
@@ -336,6 +347,22 @@ class Window(QWidget):
form.addRow("", row)
root.addWidget(settings)
# ---- tautan
links = QHBoxLayout()
donate = QPushButton("❤ Donasi")
donate.setToolTip(DONATE_URL)
donate.clicked.connect(lambda: open_link(DONATE_URL, self))
github = QPushButton("GitHub")
github.setToolTip(GITHUB_URL)
github.clicked.connect(lambda: open_link(GITHUB_URL, self))
links.addWidget(donate)
links.addWidget(github)
links.addStretch(1)
self.version_label = QLabel(f"v{APP_VERSION}")
self.version_label.setStyleSheet("color:#8a8f8a;")
links.addWidget(self.version_label)
root.addLayout(links)
# ---- detail + log
self.detail = QPlainTextEdit()
self.detail.setReadOnly(True)
@@ -662,12 +689,19 @@ class Tray:
toggle = QAction("Aktifkan / matikan", menu)
toggle.triggered.connect(lambda: self.window.on_toggle())
self.blank_action.triggered.connect(lambda checked: self.window.blank.setChecked(checked))
donate_action = QAction("❤ Donasi", menu)
donate_action.triggered.connect(lambda: open_link(DONATE_URL, self.window))
github_action = QAction("GitHub", menu)
github_action.triggered.connect(lambda: open_link(GITHUB_URL, self.window))
quit_action = QAction("Keluar", menu)
quit_action.triggered.connect(app.quit)
menu.addAction(show)
menu.addAction(toggle)
menu.addAction(self.blank_action)
menu.addSeparator()
menu.addAction(donate_action)
menu.addAction(github_action)
menu.addSeparator()
menu.addAction(quit_action)
self.icon.setContextMenu(menu)
self.icon.activated.connect(