gui: add scrolling

This commit is contained in:
2019-06-25 17:22:52 +02:00
parent a5c63938cd
commit bb2c71e10f

View File

@@ -9,6 +9,7 @@ from PyQt5 import QtWidgets, QtGui, QtCore
ALACRITTY_CONFIG = os.path.expanduser("~/.config/alacritty/alacritty.yml")
NAME = 'Alacritty Config'
class ColorSelect(QtWidgets.QPushButton):
@@ -93,7 +94,7 @@ class ConfigWidget(QtWidgets.QWidget):
self.widgets = {}
def prettify(self, s):
return ' '.join(x.capitalize() for x in s.split('_') if x)
return ' '.join(x.capitalize() for x in s.split('_'))
def render_item(self, layout, name, widget):
sub_layout = QtWidgets.QHBoxLayout()
@@ -350,6 +351,26 @@ class Window(ConfigWidget):
self.render_state()
class Scrolling(ConfigWidget):
def __init__(self, config):
super().__init__()
history = QtWidgets.QSpinBox(config.get('history'))
multiplier = QtWidgets.QSpinBox(config.get('multiplier'))
faux_multiplier = QtWidgets.QSpinBox(config.get('faux_multiplier'))
autoscroll = QtWidgets.QCheckBox()
autoscroll.setChecked(config.get('autoscroll', False))
self.widgets = {
'history': history,
'multiplier': multiplier,
'faux_multiplier': faux_multiplier,
'faux_multiplier': faux_multiplier,
'autoscroll': autoscroll,
}
self.render_state()
class Config(QtWidgets.QWidget):
def __init__(self, config):
super().__init__()
@@ -357,18 +378,20 @@ class Config(QtWidgets.QWidget):
self.config = config
self.add_tabs(config)
self.add_buttons()
self.setWindowTitle(NAME)
self.setLayout(self.layout)
def add_tabs(self, config):
self.tabs = QtWidgets.QTabWidget()
self.tabs.addTab(Window(config.get('window')), "Window")
self.tabs.addTab(Font(config.get('font')), "Font")
self.tabs.addTab(Debug(config.get('debug')), "Debug")
self.tabs.addTab(Env(config.get('env')), "Env")
self.tabs.addTab(Selection(config.get('selection')), "Selection")
self.tabs.addTab(Shell(config.get('shell')), "Shell")
self.tabs.addTab(Colors(config.get('colors')), "Colors")
self.tabs.addTab(Window(config.get('window', {})), "Window")
self.tabs.addTab(Font(config.get('font', {})), "Font")
self.tabs.addTab(Debug(config.get('debug', {})), "Debug")
self.tabs.addTab(Env(config.get('env', {})), "Env")
self.tabs.addTab(Selection(config.get('selection', {})), "Selection")
self.tabs.addTab(Shell(config.get('shell', {})), "Shell")
self.tabs.addTab(Colors(config.get('colors', {})), "Colors")
self.tabs.addTab(Scrolling(config.get('scrolling', {})), "Scrolling")
self.layout.addWidget(self.tabs)
@@ -402,7 +425,8 @@ class Config(QtWidgets.QWidget):
if __name__ == '__main__':
app = QtWidgets.QApplication([])
app = QtWidgets.QApplication([NAME])
app.setApplicationName(NAME)
with open(ALACRITTY_CONFIG) as f:
config = yaml.safe_load(f.read())
conf = Config(config)