Skip to content

Commit

Permalink
Added settings
Browse files Browse the repository at this point in the history
  • Loading branch information
02bwilson committed Aug 4, 2023
1 parent e6ce3d3 commit b5eaba3
Showing 1 changed file with 64 additions and 0 deletions.
64 changes: 64 additions & 0 deletions Widgets/Settings.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
from PyQt6.QtCore import Qt, pyqtSignal as Signal
from PyQt6.QtGui import QDoubleValidator
from PyQt6.QtWidgets import QWidget, QGridLayout, QPushButton, QDialog, QFormLayout, QSlider, QLabel, QLineEdit


class SettingsDisplay(QDialog):
speedChanged = Signal(float)
modChanged = Signal(float)

def __init__(self):
super().__init__()

self.setWindowTitle("Settings")

self.setMinimumSize(300, 300)

self.mainGridLayout = QGridLayout()

self.setLayout(self.mainGridLayout)
self.formLayout = QFormLayout()
self.mainGridLayout.addLayout(self.formLayout, 0, 0)
self.setLayout(self.mainGridLayout)
self.oneTime = 1

self.speedLabel = QLabel("Speed Mult x1.0")
self.speedSlider = QSlider(Qt.Orientation.Horizontal)
self.speedSlider.setValue(25)
self.speedSlider.setMaximum(750)
self.speedSlider.setMinimum(-74)
self.speedSlider.valueChanged.connect(self.speedValChanged)

self.formLayout.addRow(self.speedLabel, self.speedSlider)

self.modLabel = QLabel("Time Modulus 12.566")
self.modEdit = QLineEdit()
self.modEdit.setValidator(QDoubleValidator())
self.formLayout.addRow(self.modLabel, self.modEdit)
self.modEdit.returnPressed.connect(self.modValueChanged)

def modValueChanged(self):
self.modChanged.emit(float(self.modEdit.text()))
def speedValChanged(self):
if self.speedSlider.value() >= .95 and self.speedSlider.value() <= 1.05:
self.speedSlider.setValue(1)
self.speedLabel.setText("Speed Mult x%s" % str(round(1.0 + ((-25 + (self.speedSlider.value())) / 100), 3)))
self.speedChanged.emit(round(1.0 + ((-25 + (self.speedSlider.value())) / 100), 3))


class Settings(QWidget):

def __init__(self):
super().__init__()

self.settingsDisplay = SettingsDisplay()

self.mainGridLayout = QGridLayout()

self.settingsButton = QPushButton("⚙️")

self.settingsButton.setStyleSheet("border:none; text-align:center; color: green; font-size: 12pt;")

self.settingsButton.pressed.connect(self.settingsDisplay.show)
self.mainGridLayout.addWidget(self.settingsButton, 0, 0)
self.setLayout(self.mainGridLayout)

0 comments on commit b5eaba3

Please sign in to comment.