SF.net SVN: fclient: [645] trunk/fclient/src/fclient/Ui_View.py
Status: Pre-Alpha
Brought to you by:
jurner
|
From: <jU...@us...> - 2008-07-15 23:56:42
|
Revision: 645
http://fclient.svn.sourceforge.net/fclient/?rev=645&view=rev
Author: jUrner
Date: 2008-07-15 16:56:30 -0700 (Tue, 15 Jul 2008)
Log Message:
-----------
this and that
Modified Paths:
--------------
trunk/fclient/src/fclient/Ui_View.py
Modified: trunk/fclient/src/fclient/Ui_View.py
===================================================================
--- trunk/fclient/src/fclient/Ui_View.py 2008-07-15 23:55:23 UTC (rev 644)
+++ trunk/fclient/src/fclient/Ui_View.py 2008-07-15 23:56:30 UTC (rev 645)
@@ -55,12 +55,11 @@
tabTop.removeTab(0)
tabBottom = self.controlById(self.IdTabBottom)
tabBottom.removeTab(0)
- self.connect(tabTop, QtCore.SIGNAL('currentChanged(int)'), self.handleTabTopCurrentChanged)
- self.connect(tabBottom, QtCore.SIGNAL('currentChanged(int)'), self.handleTabBottomCurrentChanged)
-
+
# setup splitter
splitter = self.controlById(self.IdSplitter)
splitter.restoreState(self.settings.value('SplitterPos'))
+ self.connect(splitter, QtCore.SIGNAL('splitterMoved(int, int)'), self.handleSplitterMoved)
def controlById(self, idControl):
@@ -78,7 +77,9 @@
view.setParent(tab)
i = tab.addTab(view, view.viewIcon(), view.viewDisplayName())
self.views[name] = (tab, view)
-
+
+ tab.tabBar().setVisible(tab.count() > 1)
+
def addBottomViews(self, *views):
return self._addViews(False, *views)
@@ -94,17 +95,19 @@
return result[1]
return None
- #TODO: ...
- #def setCurrentView(self, view):
- # index, tab, view = view
-
+ def setCurrentView(self, name):
+ result = self.views.get(name, None)
+ if result is not None:
+ tab, view = result
+ tab.setCurrentWidget(view)
+ return True
+ return False
+
#########################################################
##
#########################################################
def closeEvent(self, event):
- splitter = self.controlById(self.IdSplitter)
- self.settings.setValues(SplitterPos=splitter.saveState())
for tab, view in self.views.values():
view.viewClose()
@@ -115,24 +118,31 @@
self._isCreated = True
# restore current views
- tabs = (
- (self.controlById(self.IdTabTop), 'LastViewTop'),
- (self.controlById(self.IdTabBottom), 'LastViewBottom'),
- )
- for tab, nameSetting in tabs:
- lastName = self.settings.value(nameSetting)
- if lastName:
- lastView = self.viewFromName(lastName)
- if lastView is not None:
- tab.setCurrentWidget(lastView)
-
+ tabTop = self.controlById(self.IdTabTop)
+ lastName = self.settings.value('LastViewTop')
+ self.setCurrentView(lastName)
+
+ tabBottom = self.controlById(self.IdTabBottom)
+ lastName = self.settings.value('LastViewBottom')
+ self.setCurrentView(lastName)
+
# inform views about their current status
for tab, view in self.views.values():
view.viewHandleCurrentChanged(tab.currentWidget() == view)
+
+ # finally connect... not to overwrite settings
+ self.connect(tabTop, QtCore.SIGNAL('currentChanged(int)'), self.handleTabTopCurrentChanged)
+ self.connect(tabBottom, QtCore.SIGNAL('currentChanged(int)'), self.handleTabBottomCurrentChanged)
+
#########################################################
##
#########################################################
+ def handleSplitterMoved(self, pos, index):
+ splitter = self.controlById(self.IdSplitter)
+ self.settings.setValues(SplitterPos=splitter.saveState())
+
+
def _handleTabCurrentChanged(self, index, isTop=True):
lastName = self.settings.value('LastViewTop' if isTop else 'LastViewBottom')
if lastName:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|