SF.net SVN: fclient: [620] trunk/fclient/src/fclient/Ui_MainWindow.py
Status: Pre-Alpha
Brought to you by:
jurner
|
From: <jU...@us...> - 2008-07-13 14:18:40
|
Revision: 620
http://fclient.svn.sourceforge.net/fclient/?rev=620&view=rev
Author: jUrner
Date: 2008-07-13 07:18:49 -0700 (Sun, 13 Jul 2008)
Log Message:
-----------
continued impl main window
Modified Paths:
--------------
trunk/fclient/src/fclient/Ui_MainWindow.py
Modified: trunk/fclient/src/fclient/Ui_MainWindow.py
===================================================================
--- trunk/fclient/src/fclient/Ui_MainWindow.py 2008-07-13 14:18:11 UTC (rev 619)
+++ trunk/fclient/src/fclient/Ui_MainWindow.py 2008-07-13 14:18:49 UTC (rev 620)
@@ -8,9 +8,11 @@
from PyQt4 import QtCore, QtGui
-
+from . import __init__
from . import config
+from . import Ui_Prefs
from . import Ui_View
+from .lib.qt4ex import dlgabout
from .tpls.Ui_MainWindowTpl import Ui_MainWindow
#**********************************************************************************
@@ -18,40 +20,119 @@
#**********************************************************************************
class Settings(config.SettingsBase):
- _key_ = config.IdMainWindow
- _settings_ = (
- )
+ _key_ = config.IdMainWindow
+ _settings_ = (
+ ('Geometry', 'ByteArray', QtCore.QByteArray(), config.SettingScopePrivate),
+ )
#**********************************************************************************
#
#**********************************************************************************
+class MenuBarWrap(QtCore.QObject):
+
+ def __init__(self, parent):
+ QtCore.QObject.__init__(self, parent)
+ self.setObjectName(config.IdMainWindowMenuBarWrap)
+ config.ObjectRegistry.register(self)
+
+ def menuBar(self):
+ return self.parent()
+
+ def addViewMenu(self, menu):
+ menuBar = self.parent()
+ menuHelp = menuBar.parent().menuHelp
+ menuBar.insertMenu(menuHelp.children()[0], menu)
+ return menu
+
+
class StatusBar(QtGui.QStatusBar):
def __init__(self, parent):
QtGui.QStatusBar.__init__(self, parent)
self.setObjectName(config.IdMainWindowStatusBar)
+ config.ObjectRegistry.register(self)
+ parent.setStatusBar(self)
#**********************************************************************************
#
#**********************************************************************************
class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
- def __init__(self, parent, cfg=None):
+ def __init__(self, parent=None):
QtGui.QMainWindow.__init__(self, parent)
+ self._isCreated = False
self.settings = Settings()
self.setupUi(self)
+
config.ObjectRegistry.register(self)
+ self.settings.restore()
+ self.restoreGeometry(self.settings.value('Geometry'))
- # register menuBar
- menuBar = self.menuBar()
- menuBar.setObjectName(config.IdMainWindowMenuBar)
- config.ObjectRegistry.register(menuBar)
+ self.menuBarWrap = MenuBarWrap(self.menuBar())
+ self.statusBar = StatusBar(self)
- # register statusBar
- statusBar = StatusBar(self)
- self.setStatusBar(statusBar)
- config.ObjectRegistry.register(statusBar)
+ ##################################################
+ ## events
+ ##################################################
+ def closeEvent(self, event):
+ self.settings.setValues(Geometry=self.saveGeometry())
+ def showEvent(self, event):
+ if self._isCreated:
+ return
+ self._isCreated = True
+
+ self.connect(
+ self.actPreferences,
+ QtCore.SIGNAL('triggered()'),
+ self.handleActPreferencesTriggered
+ )
+ self.connect(
+ self.actExit,
+ QtCore.SIGNAL('triggered()'),
+ self.handleActExitTriggered
+ )
+ self.connect(
+ self.actHelp,
+ QtCore.SIGNAL('triggered()'),
+ self.handleActHelpTriggered
+ )
+ self.connect(
+ self.actAbout,
+ QtCore.SIGNAL('triggered()'),
+ self.handleActAboutTriggered
+ )
+
+ ##################################################
+ ## event handlers
+ ##################################################
+ def handleActPreferencesTriggered(self):
+ dlg = Ui_Prefs.PrefsDlg(self)
+ if dlg.exec_() == dlg.Accepted:
+ pass
+
+ def handleActExitTriggered(self):
+ self.close()
+
+ def handleActHelpTriggered(self):
+ pass
+
+ def handleActAboutTriggered(self):
+ dlg = dlgabout.DlgAbout(
+ self,
+ ##state=self.guiSettings['DlgAboutState'],
+ caption=config.FclientAppName + ' - ' + self.trUtf8('About'),
+ appName=config.FclientAppName,
+ description=self.trUtf8('a freenet client written in python and Qt4'),
+ version=config.FclientVersion,
+ author=config.FclientAuthor,
+ licence=config.FclientLicence,
+ copyright=config.FclientCopyright,
+ homepage=config.FclientHomepage
+ )
+ dlg.exec_()
+ #self.guiSettings['DlgAboutState'] = dlg.saveState()
+
#**********************************************************************************
#
#**********************************************************************************
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|