diff --git a/alacritty_config_gui.py b/alacritty_config_gui.py index a358492..4944eaa 100644 --- a/alacritty_config_gui.py +++ b/alacritty_config_gui.py @@ -188,36 +188,27 @@ class KeyBindingDialog(QtWidgets.QDialog): def __init__(self): super().__init__() self.result = {} - self.layout = QtWidgets.QVBoxLayout() + self.layout = QtWidgets.QFormLayout() + self.layout.setFieldGrowthPolicy( + QtWidgets.QFormLayout.AllNonFixedFieldsGrow + ) - sub_layout = QtWidgets.QHBoxLayout() - sub_layout.addWidget(QtWidgets.QLabel('Key')) self.key = QtWidgets.QLineEdit() - sub_layout.addWidget(self.key) - self.layout.addLayout(sub_layout) + self.layout.addRow(QtWidgets.QLabel('Key'), self.key) - sub_layout = QtWidgets.QHBoxLayout() - sub_layout.addWidget(QtWidgets.QLabel('Mods')) self.mods = QtWidgets.QListWidget() for option in self.modifier_options: self.mods.addItem(option) self.mods.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection) - sub_layout.addWidget(self.mods) - self.layout.addLayout(sub_layout) + self.layout.addRow(QtWidgets.QLabel('Mods'), self.mods) - sub_layout = QtWidgets.QHBoxLayout() - sub_layout.addWidget(QtWidgets.QLabel('Action')) self.action = QtWidgets.QComboBox() for option in self.action_options: self.action.addItem(option) - sub_layout.addWidget(self.action) - self.layout.addLayout(sub_layout) + self.layout.addRow(QtWidgets.QLabel('Action'), self.action) - sub_layout = QtWidgets.QHBoxLayout() - sub_layout.addWidget(QtWidgets.QLabel('Chars')) self.chars = QtWidgets.QLineEdit() - sub_layout.addWidget(self.chars) - self.layout.addLayout(sub_layout) + self.layout.addRow(QtWidgets.QLabel('Chars'), self.chars) buttons = QtWidgets.QDialogButtonBox() buttons.addButton(buttons.Ok) @@ -258,6 +249,7 @@ class KeyBindingsWidget(QtWidgets.QWidget): def init(self): self.layout = QtWidgets.QVBoxLayout() + self.layout.setContentsMargins(0, 0, 0, 0) self.update() btn_group = QtWidgets.QHBoxLayout() btn_group.setAlignment(QtCore.Qt.AlignLeft) @@ -338,19 +330,15 @@ class ConfigWidget(QtWidgets.QWidget): def prettify(self, s): return ' '.join(x.capitalize() for x in s.split('_')) - def render_item(self, layout, name, widget): - sub_layout = QtWidgets.QHBoxLayout() - sub_layout.addWidget(QtWidgets.QLabel(self.prettify(name))) - sub_layout.addWidget(widget) - layout.addLayout(sub_layout) def render_section(self, widgets, sup=None, name=None): - layout = QtWidgets.QVBoxLayout() + layout = QtWidgets.QFormLayout() + layout.setFieldGrowthPolicy(QtWidgets.QFormLayout.AllNonFixedFieldsGrow) for wname, widget in widgets.items(): if type(widget) is dict: self.render_section(widget, layout, wname) else: - self.render_item(layout, wname, widget) + layout.addRow(QtWidgets.QLabel(self.prettify(wname)), widget) if name and sup is not None: layout.setContentsMargins(10, 0, 0, 0) @@ -706,7 +694,6 @@ class Config(QtWidgets.QWidget): self.config = config self.add_tabs() self.add_buttons() - self.setWindowTitle(NAME) self.setLayout(self.layout) def add_tabs(self): @@ -751,11 +738,27 @@ class Config(QtWidgets.QWidget): sys.exit() -if __name__ == '__main__': +def main(): app = QtWidgets.QApplication([NAME]) app.setApplicationName(NAME) with open(ALACRITTY_CONFIG) as f: config = yaml.safe_load(f.read()) - conf = Config(config) - conf.show() + window = QtWidgets.QMainWindow() + window.setCentralWidget(Config(config)) + window.setGeometry( + QtWidgets.QStyle.alignedRect( + QtCore.Qt.LeftToRight, + QtCore.Qt.AlignCenter, + QtCore.QSize(300, 400), + app.desktop().availableGeometry() + ) + ) + window.setWindowFlags(QtCore.Qt.FramelessWindowHint) + window.setWindowTitle(NAME) + window.setUnifiedTitleAndToolBarOnMac(True) + window.show() app.exec_() + + +if __name__ == '__main__': + main()