diff options
Diffstat (limited to 'scudcloud-1.1/lib/leftpane.py')
-rw-r--r-- | scudcloud-1.1/lib/leftpane.py | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/scudcloud-1.1/lib/leftpane.py b/scudcloud-1.1/lib/leftpane.py new file mode 100644 index 0000000..b2986c8 --- /dev/null +++ b/scudcloud-1.1/lib/leftpane.py @@ -0,0 +1,60 @@ +from resources import Resources +from PyQt4 import QtCore +from PyQt4.QtCore import QUrl +from PyQt4.QtWebKit import QWebView, QWebSettings + +class LeftPane(QWebView): + + def __init__(self, window): + QWebView.__init__(self) + self.window = window + with open(Resources.get_path("leftpane.js"), "r") as f: + self.js = f.read() + # We don't want plugins for this simple pane + self.settings().setAttribute(QWebSettings.PluginsEnabled, False) + self.reset() + + def reset(self): + self.setFixedWidth(0) + self.setVisible(False) + self.setUrl(QUrl.fromLocalFile(Resources.get_path("leftpane.html"))) + self.page().currentFrame().addToJavaScriptWindowObject("leftPane", self) + self.page().currentFrame().evaluateJavaScript(self.js) + + def show(self): + self.setFixedWidth(65) + self.setVisible(True) + + def hide(self): + self.setFixedWidth(0) + self.setVisible(False) + + def addTeam(self, id, name, url, icon, active=False): + if active is True: + checked = "true" + else: + checked = "false" + self.page().currentFrame().evaluateJavaScript("LeftPane.addTeam('"+id+"','"+name+"','"+url+"','"+icon+"',"+checked+");") + + def click(self, i): + self.page().currentFrame().evaluateJavaScript("LeftPane.click("+str(i)+");") + + def alert(self, team): + if team is not None: + self.page().currentFrame().evaluateJavaScript("LeftPane.alert('"+team+"');") + + def stopAlert(self, team): + if team is not None: + self.page().currentFrame().evaluateJavaScript("LeftPane.stopAlert('"+team+"');") + + def clickNext(self, direction): + self.page().currentFrame().evaluateJavaScript("LeftPane.clickNext("+str(direction)+");") + + @QtCore.pyqtSlot(str) + def switchTo(self, url): + self.window.switchTo(url) + + def contextMenuEvent(self, event): + pass + + |