Source code for lib_openmolar.common.qt4.widgets.restorable_app
#! /usr/bin/env python
# -*- coding: utf-8 -*-
###############################################################################
## ##
## Copyright 2010, Neil Wallace <rowinggolfer@googlemail.com> ##
## ##
## This program is free software: you can redistribute it and/or modify ##
## it under the terms of the GNU General Public License as published by ##
## the Free Software Foundation, either version 3 of the License, or ##
## (at your option) any later version. ##
## ##
## This program is distributed in the hope that it will be useful, ##
## but WITHOUT ANY WARRANTY; without even the implied warranty of ##
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ##
## GNU General Public License for more details. ##
## ##
## You should have received a copy of the GNU General Public License ##
## along with this program. If not, see <http://www.gnu.org/licenses/>. ##
## ##
###############################################################################
import sys
from PyQt4 import QtGui
[docs]class RestorableApplication(QtGui.QApplication):
'''
A subclass which play ball if app state is to be remembered by an X11
Session manager.
Will write settings to ~/.config/application_name on linux systems
'''
[docs] def __init__(self, name):
'''
the name given here is important as is used in saving the settings
'''
super(RestorableApplication, self).__init__(sys.argv)
self.setOrganizationName(name)
self.setApplicationName(name)
[docs] def commitData(self, session):
'''re-implement this method, called on quit'''
pass
[docs] def saveState(self, session):
'''re-implement this method, called on run'''
pass
if __name__ == "__main__":
app = RestorableApplication("test_organisation_name")
app.closeAllWindows()