#! /usr/bin/env python

import platform,         \
       sys
from PyQt4 import QtGui, \
                  QtCore
import my_application_ui

class MainWindow(QtGui.QMainWindow, my_application_ui.Ui_MainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        self.setupUi(self)
        self.statusBar().showMessage(self.tr('Ready'))

        settings = QtCore.QSettings()
        self.restoreGeometry(settings.value('Geometry').toByteArray())

    @QtCore.pyqtSignature('')
    def on_action_About_triggered(self):
        QtGui.QMessageBox.about(self, self.tr('About Application'),
                                      self.tr('My Application does something\n'
                                              'This software comes without warranty, liability or support!') +
                                              '\n\nPython %s - PyQt %s' %
                                              (platform.python_version(), QtCore.PYQT_VERSION_STR))

    def on_actionE_xit_triggered(self):
        settings = QtCore.QSettings()
        settings.setValue('Geometry', QtCore.QVariant(self.saveGeometry()))
        self.close()

    @QtCore.pyqtSignature('')
    def on_action_Help_triggered(self):
        helpDialog = QtGui.QDialog(self)

        browser = QtGui.QTextBrowser()
        browser.append(self.tr('Help'))

        layout = QtGui.QVBoxLayout()
        layout.addWidget(browser)

        helpDialog.setLayout(layout)
        helpDialog.setWindowTitle(self.tr('Help'))
        helpDialog.show()

app           = QtGui.QApplication(sys.argv)

# Internationalization
qtTranslator  = QtCore.QTranslator()
qtTranslator.load(':/qt.qm')
app.installTranslator(qtTranslator)

appTranslator = QtCore.QTranslator()
appTranslator.load(':/my_application.qm')
app.installTranslator(appTranslator)
#

app.setOrganizationName('Trolltech')
app.setApplicationName('My Application')

mainWin       = MainWindow()
mainWin.show()
app.exec_()
