Fix new project info not showing after error

Julien LepillerWed Dec 08 23:46:51+0100 2021

4056cb0

Fix new project info not showing after error

offlate/ui/new.py

2525
2626
from ..core.config import *
2727
from ..systems.list import *
28-
from .multiplelineedit import MultipleLineEdit
2928
3029
class PredefinedProjectWidget(QWidget):
3130
    currentItemChanged = pyqtSignal()

116115
117116
        self.setLayout(contentbox)
118117
119-
        self.othersystem()
118+
        self.othersystem(init = True)
120119
121120
    def fill(self, data):
122121
        self.nameWidget.setText(data['name'])

160159
                    if spec.placeholder is not None and spec.placeholder != '':
161160
                        widget.setPlaceholderText(spec.placeholder)
162161
                    label = QLabel(spec.name)
163-
                    fields.append({'label': label, 'widget': widget})
162+
                    fields.append({'label': label, 'widget': widget, 'key': spec.key})
164163
                else:
165164
                    raise Exception("Unknown spec type: " + spec)
166165
            self.additionalFields.append(fields)

184183
            i = i + 1
185184
        return ans
186185
187-
    def othersystem(self):
186+
    def othersystem(self, init = False):
188187
        for system in self.additionalFields:
189188
            for widget in system:
190189
                self.formLayout.takeRow(widget['widget'])

201200
        for widget in self.followupWidgets:
202201
            self.setTabOrder(oldwidget, widget)
203202
            oldwidget = widget
203+
        if init and self.info is not None:
204+
            for widget in self.additionalFields[self.combo.currentIndex()]:
205+
                widget['widget'].setText(self.info[widget['key']])
204206
        self.modify()
205207
206208
    def modify(self):