This commit is contained in:
NN 2013-02-10 16:35:23 -08:00
commit eddb62d83f
39 changed files with 859 additions and 860 deletions

View file

@ -15,7 +15,7 @@ class Bungloo:
self.preferences = Windows.Preferences(self)
self.preferences.show()
self.oauth_implementation = Windows.Oauth(self)
self.oauth_implementation = Windows.Oauth(self)
if self.controller.stringForKey("user_access_token") != "":
self.authentification_succeded()
@ -196,7 +196,7 @@ class Controller(QtCore.QObject):
msgBox = QtGui.QMessageBox()
msgBox.setText(errorMessage)
msgBox.exec_()
@QtCore.pyqtSlot(str, str)
def alertTitleWithMessage(self, title, message):
msgBox = QtGui.QMessageBox()
@ -230,6 +230,6 @@ class Console(QtCore.QObject):
def debug(self, string):
print "<js DEBUG>: " + string
if __name__ == "__main__":
Bungloo()

View file

@ -10,119 +10,119 @@ import os
import array
class WebPage(QtWebKit.QWebPage):
def __init__(self, parent=0, app=None):
super(QtWebKit.QWebPage, self).__init__(parent)
self.setLinkDelegationPolicy(QtWebKit.QWebPage.DelegateExternalLinks)
self.app = app
def __init__(self, parent=0, app=None):
super(QtWebKit.QWebPage, self).__init__(parent)
self.setLinkDelegationPolicy(QtWebKit.QWebPage.DelegateExternalLinks)
self.app = app
def javaScriptConsoleMessage(self, message, lineNumber, sourceId):
print str(message) + " on line: " + str(lineNumber) + " Source: " + str(sourceId)
def javaScriptConsoleMessage(self, message, lineNumber, sourceId):
print str(message) + " on line: " + str(lineNumber) + " Source: " + str(sourceId)
def checkRequest(self, request):
print request
def checkRequest(self, request):
print request
class WebViewCreator(QtWebKit.QWebView):
def __init__(self, app, local=True, parent=None):
if parent != None:
QtGui.QWidget.__init__(self)
else:
QtGui.QWidget.__init__(self)
def __init__(self, app, local=True, parent=None):
if parent != None:
QtGui.QWidget.__init__(self)
else:
QtGui.QWidget.__init__(self)
self.app = app
self.is_local = local
self.connect(self, SIGNAL("linkClicked (const QUrl&)"), self.app.controller.openQURL)
self.setPage(WebPage(self, self.app))
def load_local(self, callback=None):
self.page().settings().setAttribute(QtWebKit.QWebSettings.LocalContentCanAccessRemoteUrls, True)
self.page().settings().setAttribute(QtWebKit.QWebSettings.LocalStorageEnabled, True)
self.loadFinished.connect(lambda ok: self.load_finished(ok, callback))
self.app = app
self.is_local = local
self.connect(self, SIGNAL("linkClicked (const QUrl&)"), self.app.controller.openQURL)
self.setPage(WebPage(self, self.app))
frame = self.page().mainFrame()
frame.addToJavaScriptWindowObject("controller", self.app.controller)
frame.addToJavaScriptWindowObject("__console", self.app.console)
def load_local(self, callback=None):
self.page().settings().setAttribute(QtWebKit.QWebSettings.LocalContentCanAccessRemoteUrls, True)
self.page().settings().setAttribute(QtWebKit.QWebSettings.LocalStorageEnabled, True)
self.loadFinished.connect(lambda ok: self.load_finished(ok, callback))
url = self.app.resources_uri() + "/index.html"
self.load(QtCore.QUrl(url))
frame = self.page().mainFrame()
frame.addToJavaScriptWindowObject("controller", self.app.controller)
frame.addToJavaScriptWindowObject("__console", self.app.console)
def load_url(self, url, callback=None):
self.loadFinished.connect(lambda ok: self.load_finished(ok, callback))
self.load(QtCore.QUrl(url))
url = self.app.resources_uri() + "/index.html"
self.load(QtCore.QUrl(url))
def load_finished(self, ok, callback=None):
frame = self.page().mainFrame()
if self.is_local:
frame.evaluateJavaScript("var OS_TYPE = 'linux';")
def load_url(self, url, callback=None):
self.loadFinished.connect(lambda ok: self.load_finished(ok, callback))
self.load(QtCore.QUrl(url))
js_plugin_path = os.path.expanduser('~/.bungloo/Plugin.js')
if os.access(js_plugin_path, os.R_OK):
func = "setTimeout(function() { loadJsPlugin('file://localhost" + js_plugin_path + "') }, 1000);"
frame.evaluateJavaScript(func)
def load_finished(self, ok, callback=None):
frame = self.page().mainFrame()
if self.is_local:
frame.evaluateJavaScript("var OS_TYPE = 'linux';")
css_plugin_path = os.path.expanduser('~/.bungloo/Plugin.css')
if os.access(css_plugin_path, os.R_OK):
func = "setTimeout(function() { loadCssPlugin('file://localhost" + css_plugin_path + "') }, 1000);"
frame.evaluateJavaScript(func)
js_plugin_path = os.path.expanduser('~/.bungloo/Plugin.js')
if os.access(js_plugin_path, os.R_OK):
func = "setTimeout(function() { loadJsPlugin('file://localhost" + js_plugin_path + "') }, 1000);"
frame.evaluateJavaScript(func)
if callback:
callback(ok)
css_plugin_path = os.path.expanduser('~/.bungloo/Plugin.css')
if os.access(css_plugin_path, os.R_OK):
func = "setTimeout(function() { loadCssPlugin('file://localhost" + css_plugin_path + "') }, 1000);"
frame.evaluateJavaScript(func)
if callback:
callback(ok)
class NetworkAccessManager(QNetworkAccessManager):
def __init__(self, old_manager, bungloo_callback):
QNetworkAccessManager.__init__(self)
def __init__(self, old_manager, bungloo_callback):
QNetworkAccessManager.__init__(self)
self.bungloo_callback = bungloo_callback
self.bungloo_callback = bungloo_callback
self.old_manager = old_manager
self.setCache(old_manager.cache())
self.setCookieJar(old_manager.cookieJar())
self.setProxy(old_manager.proxy())
self.setProxyFactory(old_manager.proxyFactory())
def createRequest(self, operation, request, data):
if request.url().scheme() != "bungloo":
return QNetworkAccessManager.createRequest(self, operation, request, data)
else:
self.bungloo_callback(request.url())
return QNetworkAccessManager.createRequest(self, QNetworkAccessManager.GetOperation, QNetworkRequest(QtCore.QUrl()))
self.old_manager = old_manager
self.setCache(old_manager.cache())
self.setCookieJar(old_manager.cookieJar())
self.setProxy(old_manager.proxy())
self.setProxyFactory(old_manager.proxyFactory())
def createRequest(self, operation, request, data):
if request.url().scheme() != "bungloo":
return QNetworkAccessManager.createRequest(self, operation, request, data)
else:
self.bungloo_callback(request.url())
return QNetworkAccessManager.createRequest(self, QNetworkAccessManager.GetOperation, QNetworkRequest(QtCore.QUrl()))
class PostModel:
def __init__(self):
self.text = None
self.inReplyTostatusId = None
self.inReplyToEntity = None
self.location = None
self.imageFilePath = None
self.isPrivate = False
def __init__(self):
self.text = None
self.inReplyTostatusId = None
self.inReplyToEntity = None
self.location = None
self.imageFilePath = None
self.isPrivate = False
class RestorableWindow(QtGui.QMainWindow):
def __init__(self, action, app):
self.action = action
self.app = app
QtGui.QMainWindow.__init__(self)
self.restoreGeometry(QtCore.QByteArray.fromRawData(self.app.controller.stringForKey("mainWindowGeometry-" + self.action)))
self.restoreState(QtCore.QByteArray.fromRawData(self.app.controller.stringForKey("mainWindowState-" + self.action)))
def __init__(self, action, app):
self.action = action
self.app = app
QtGui.QMainWindow.__init__(self)
self.restoreGeometry(QtCore.QByteArray.fromRawData(self.app.controller.stringForKey("mainWindowGeometry-" + self.action)))
self.restoreState(QtCore.QByteArray.fromRawData(self.app.controller.stringForKey("mainWindowState-" + self.action)))
def closeEvent(self, event):
self._saveGeometry()
def closeEvent(self, event):
self._saveGeometry()
def _saveGeometry(self):
self.app.controller.setStringForKey(self.saveGeometry(), "mainWindowGeometry-" + self.action)
self.app.controller.setStringForKey(self.saveState(), "mainWindowState-" + self.action)
def _saveGeometry(self):
self.app.controller.setStringForKey(self.saveGeometry(), "mainWindowGeometry-" + self.action)
self.app.controller.setStringForKey(self.saveState(), "mainWindowState-" + self.action)
def hide(self):
self._saveGeometry()
QtGui.QMainWindow.close(self)
def hide(self):
self._saveGeometry()
QtGui.QMainWindow.close(self)
def sizeHint(self):
return QtCore.QSize(300, 500)
def sizeHint(self):
return QtCore.QSize(300, 500)
def show(self):
QtGui.QMainWindow.show(self)
self.activateWindow()
self.raise_()
def show(self):
QtGui.QMainWindow.show(self)
self.activateWindow()
self.raise_()

View file

@ -99,7 +99,7 @@ class Timeline:
def initUI(self):
newPostAction = QtGui.QAction("&New Post", self.window)
newPostAction = QtGui.QAction("&New Post", self.window)
newPostAction.setShortcut("Ctrl+N")
newPostAction.setStatusTip("Open new post window")
newPostAction.triggered.connect(self.app.controller.openNewMessageWidow)
@ -215,7 +215,7 @@ class Login(QtGui.QDialog):
self.textPass = QtGui.QLineEdit(self)
self.textPass.setEchoMode(QtGui.QLineEdit.Password);
#self.textPass.setInputMethodHints(Qt.ImhHiddenText | Qt.ImhNoPredictiveText | Qt.ImhNoAutoUppercase)
#self.textPass.setInputMethodHints(Qt.ImhHiddenText | Qt.ImhNoPredictiveText | Qt.ImhNoAutoUppercase)
self.buttons = QtGui.QDialogButtonBox(QtGui.QDialogButtonBox.Ok)
self.buttons.accepted.connect(self.accept)
@ -253,12 +253,12 @@ class NewPost(Helper.RestorableWindow):
self.imageFilePath = None
def initUI(self):
newPostAction = QtGui.QAction("&New Post", self)
newPostAction = QtGui.QAction("&New Post", self)
newPostAction.setShortcut("Ctrl+N")
newPostAction.setStatusTip("Open new post window")
newPostAction.triggered.connect(self.app.controller.openNewMessageWidow)
sendPostAction = QtGui.QAction("&Send Post", self)
sendPostAction = QtGui.QAction("&Send Post", self)
sendPostAction.setShortcut("Ctrl+Return")
sendPostAction.setStatusTip("Send post")
sendPostAction.triggered.connect(self.sendMessage)