mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
66 lines
2.0 KiB
Python
66 lines
2.0 KiB
Python
from PySide6.QtCore import QTimer
|
|
from PySide6.QtGui import QTextCursor
|
|
from PySide6.QtWidgets import (
|
|
QDialog,
|
|
QPlainTextEdit,
|
|
QVBoxLayout,
|
|
QHBoxLayout,
|
|
QPushButton,
|
|
QLabel,
|
|
)
|
|
|
|
import qt_ui.uiconstants as CONST
|
|
from game.game import Game
|
|
|
|
|
|
class QNotesWindow(QDialog):
|
|
def __init__(self, game: Game):
|
|
super(QNotesWindow, self).__init__()
|
|
|
|
self.game = game
|
|
self.setWindowTitle("Notes")
|
|
self.setWindowIcon(CONST.ICONS["Notes"])
|
|
self.setMinimumSize(400, 100)
|
|
self.resize(600, 450)
|
|
|
|
self.vbox = QVBoxLayout()
|
|
self.setLayout(self.vbox)
|
|
|
|
self.vbox.addWidget(
|
|
QLabel("Saved notes are available as a page in your kneeboard.")
|
|
)
|
|
|
|
self.textbox = QPlainTextEdit(self)
|
|
try:
|
|
self.textbox.setPlainText(self.game.notes)
|
|
self.textbox.moveCursor(QTextCursor.End)
|
|
except AttributeError: # old save may not have game.notes
|
|
pass
|
|
self.textbox.move(10, 10)
|
|
self.textbox.resize(600, 450)
|
|
self.textbox.setStyleSheet("background: #1D2731;")
|
|
self.vbox.addWidget(self.textbox)
|
|
|
|
self.button_row = QHBoxLayout()
|
|
self.vbox.addLayout(self.button_row)
|
|
|
|
self.clear_button = QPushButton(self)
|
|
self.clear_button.setText("CLEAR")
|
|
self.clear_button.setProperty("style", "btn-primary")
|
|
self.clear_button.clicked.connect(self.clearNotes)
|
|
self.button_row.addWidget(self.clear_button)
|
|
|
|
self.save_button = QPushButton(self)
|
|
self.save_button.setText("SAVE")
|
|
self.save_button.setProperty("style", "btn-success")
|
|
self.save_button.clicked.connect(self.saveNotes)
|
|
self.button_row.addWidget(self.save_button)
|
|
|
|
def clearNotes(self) -> None:
|
|
self.textbox.setPlainText("")
|
|
|
|
def saveNotes(self) -> None:
|
|
self.game.notes = self.textbox.toPlainText()
|
|
self.save_button.setText("SAVED")
|
|
QTimer.singleShot(5000, lambda: self.save_button.setText("SAVE"))
|