SF.net SVN: fclient:[713] trunk/fclient/src/fclient/Ui_ViewBrowser.py
Status: Pre-Alpha
Brought to you by:
jurner
|
From: <jU...@us...> - 2008-07-21 10:57:21
|
Revision: 713
http://fclient.svn.sourceforge.net/fclient/?rev=713&view=rev
Author: jUrner
Date: 2008-07-21 10:57:23 +0000 (Mon, 21 Jul 2008)
Log Message:
-----------
a few actions more and a props dialog
Modified Paths:
--------------
trunk/fclient/src/fclient/Ui_ViewBrowser.py
Modified: trunk/fclient/src/fclient/Ui_ViewBrowser.py
===================================================================
--- trunk/fclient/src/fclient/Ui_ViewBrowser.py 2008-07-21 10:54:28 UTC (rev 712)
+++ trunk/fclient/src/fclient/Ui_ViewBrowser.py 2008-07-21 10:57:23 UTC (rev 713)
@@ -31,6 +31,7 @@
from . import config
from .lib import fcp2
+from . import Ui_DlgPropsBrowserObject
from .tpls.Ui_ViewBrowserWidgetTpl import Ui_ViewBrowserWidget
#**********************************************************************************
#
@@ -75,6 +76,13 @@
isEnabled=True,
)
self.action(
+ name='ActionGoToHomePage',
+ text=self.trUtf8('Go to &homepage'),
+ trigger=parent.onActionGoToHomePage,
+ isEnabled=True,
+ )
+
+ self.action(
name='ActionCloseAllTabs',
text=self.trUtf8('Close &all tabs'),
trigger=parent.onActionCloseAllTabs,
@@ -107,6 +115,8 @@
class Settings(config.SettingsBase):
_key_ = config.IdViewBrowserWidget
_settings_ = (
+ ('HomePage', 'String', '', config.SettingScopeUser),
+ ('HomePageIsStartPage', 'Bool', False, config.SettingScopeUser),
)
@@ -152,6 +162,13 @@
def __init__(self, webView):
config.ActionsBase.__init__(self, webView)
+
+ self.action(
+ name='ActionObjectProperties',
+ text=self.trUtf8('Properties..'),
+ trigger=None,
+ isEnabled=True,
+ )
class BrowserGlobalFeedback(config.GlobalFeedbackBase):
@@ -329,7 +346,12 @@
menu.addSeparator()
menu.addAction(self.pageAction(page.Copy))
+
+ menu.addAction(self.fcActions['ActionObjectProperties'])
+ downloadsWidget = config.ObjectRegistry.get(config.IdViewCDownloadsWidget)
+ self.pageAction(page.DownloadImageToDisk).setEnabled(downloadsWidget is not None)
+
action = menu.exec_(event.globalPos())
if action in (self.pageAction(page.OpenLinkInNewWindow), self.pageAction(page.OpenImageInNewWindow), self.pageAction(page.OpenFrameInNewWindow)):
if self.tabWidget is not None:
@@ -347,9 +369,26 @@
elif action == self.pageAction(page.OpenFrameInNewWindow):
browser.load(hitTest.frame().url())
- elif self.pageAction(page.DownloadImageToDisk):
- #TODO: implement
- pass
+ elif action == self.pageAction(page.DownloadImageToDisk):
+ url = hitTest.imageUrl().toString()
+ try:
+ url = str(url)
+ except UnicodeEncodeError:
+ #TODO: handle
+ return
+ try:
+ key = fcp2.Key(url)
+ except ValueError:
+ #TODO: handle
+ return
+ requestIdentifier = config.fcpClient.getData(key)
+ downloadsWidget.addRequest(requestIdentifier)
+
+ elif action == self.fcActions['ActionObjectProperties']:
+ dlg = Ui_DlgPropsBrowserObject.PropsBrowserObjectDlg(self, hitTest=hitTest)
+ if dlg.exec_() == dlg.Accepted:
+ pass
+
def showEvent(self, event):
@@ -511,7 +550,7 @@
config.ObjectRegistry.register(self)
self.fcActions = Actions(self)
- self.fcSettings = Settings()
+ self.fcSettings = Settings().restore()
self.fcViewObject = BrowserViewObject(self)
self.fcGlobalFeedback = GlobalFeedback(self, idGlobalFeedback)
@@ -519,10 +558,10 @@
self.fproxyHost = None
self.fproxyPort = None
- self.fcpEventonrs = (
+ self.fcpEvents = (
(config.fcpClient.events.ConfigData, self.onFcpConfigData),
)
- config.fcpClient.events += self.fcpEventonrs
+ config.fcpClient.events += self.fcpEvents
navBar = self.controlById(self.IdEdNavBar)
self.connect(navBar, QtCore.SIGNAL('returnPressed()'), self.onNavBarReturnPressed)
@@ -593,6 +632,7 @@
#TODO: rework. we need more then one menu
def populateMenu(self, menu):
menu.addAction(self.fcActions['ActionGoToFProxy'])
+ menu.addAction(self.fcActions['ActionGoToHomePage'])
menu.addAction(self.fcActions['ActionCloseCurrentTab'])
menu.addAction(self.fcActions['ActionCloseAllTabs'])
return menu
@@ -615,6 +655,10 @@
def closeEvent(self):
self.viewClose()
+
+ def viewClose(self):
+ config.fcpClient.events -= self.fcpEvents
+
#########################################
## fcp event onrs
#########################################
@@ -651,7 +695,10 @@
navBar = self.controlById(self.IdEdNavBar)
text = navBar.text()
if text.isEmpty():
- self.fcActions['ActionGoToFProxy'].trigger()
+ if self.fcSettings.value('HomePageIsStartPage'):
+ self.fcActions['ActionGoToHomePage'].trigger()
+ else:
+ self.fcActions['ActionGoToFProxy'].trigger()
else:
self.load(text)
@@ -710,14 +757,21 @@
def onActionGoToFProxy(self, action):
if self.fproxyHost is None:
- #TODO: on
+ #TODO: handle
return
url = QtCore.QUrl()
tabWidget = self.controlById(self.IdTabBrowsers)
if not tabWidget.count():
self.newTab(tabText=self.trUtf8('Waiting for fproxy'))
+ self.load(url)
+ def onActionGoToHomePage(self, action):
+ home = self.fcSettings.value('HomePage')
+ url = QtCore.QUrl(home)
+ tabWidget = self.controlById(self.IdTabBrowsers)
+ if not tabWidget.count():
+ self.newTab(tabText=self.trUtf8('Waiting for fproxy'))
self.load(url)
#**********************************************************************************
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|