프로젝트

일반

사용자정보

개정판 e9d9cab4

IDe9d9cab41c999d654b14848430d0d134a9312754
상위 16598f76
하위 0d802026

백흠경이(가) 약 5년 전에 추가함

issue #1048: save and restore layout of application

Change-Id: I4863897daa1c4a65c3aabc2b17a6a3723a08ee3e

차이점 보기:

HYTOS/HYTOS/App.py
19 19
class App(QApplication):
20 20
    """ This is App class inherits from QApplication """
21 21

  
22
    COMPANY = 'SECL'
22 23
    NAME = 'HYTOS'  # program name
23 24

  
24 25
    def __init__(self, args):
HYTOS/HYTOS/MainWindow.py
101 101
            self._label_mouse.setText(self.tr('mouse pos : ({},{})'.format(0, 0)))
102 102
            self.statusbar.addWidget(self._label_mouse)
103 103
            self.addMessage.connect(self.onAddMessage)
104
            self.showMaximized()
105 104

  
106 105
            self.setMainWindowTitle()
107 106

  
......
160 159
            self.tabifyDockWidget(self.dockWidgetDrawingExplorer, self.dockWidgetSymbolExplorer)
161 160
            self.dockWidgetDrawingExplorer.raise_()
162 161

  
162
            self.read_settings()
163

  
163 164
            # ToDo..
164 165
            # Menu bar - Admin Hide
165 166
            # Loop Tab Hide
......
168 169
                                                           sys.exc_info()[-1].tb_lineno)
169 170
            self.addMessage.emit(MessageType.Error, message)
170 171

  
172
    def read_settings(self):
173
        """read geometry and state"""
174
        from App import App
175

  
176
        try:
177
            self.settings = QSettings(App.COMPANY, App.NAME)
178
            self.restoreGeometry(self.settings.value("geometry", ""))
179
            self.restoreState(self.settings.value("windowState", ""))
180
        except Exception as ex:
181
            message = 'error occurred({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename,
182
                                                           sys.exc_info()[-1].tb_lineno)
183
            self.addMessage.emit(MessageType.Error, message)
184

  
171 185
    def load_stylesheet_file(self):
172 186
        # load stylesheet file list
173 187
        stylesheet_name = QtWidgets.qApp.stylesheet_name
......
225 239
                self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabLogs), 'Logs')
226 240

  
227 241
    def closeEvent(self, a0: QCloseEvent) -> None:
228
        """ask user to save drawing which is modified"""
242
        """save geometry and state and then ask user to save drawing which is modified"""
243

  
244
        self.settings.setValue('geometry', self.saveGeometry())
245
        self.settings.setValue('windowState', self.saveState())
246

  
229 247
        self.save_drawing_if_necessary()
230 248
        a0.accept()
231 249

  

내보내기 Unified diff

클립보드 이미지 추가 (최대 크기: 500 MB)