From bb2c71e10f10717dc38c38ba2cc361e4495f6202 Mon Sep 17 00:00:00 2001 From: hellerve Date: Tue, 25 Jun 2019 17:22:52 +0200 Subject: [PATCH] gui: add scrolling --- alacritty_config_gui.py | 42 ++++++++++++++++++++++++++++++++--------- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/alacritty_config_gui.py b/alacritty_config_gui.py index 3e88d69..9f0955d 100644 --- a/alacritty_config_gui.py +++ b/alacritty_config_gui.py @@ -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)