diff --git a/Mac/deploy.sh b/Mac/deploy.sh index 7fd3563..44841e9 100755 --- a/Mac/deploy.sh +++ b/Mac/deploy.sh @@ -1,16 +1,20 @@ #!/bin/bash +HERE=`pwd` +TMP="/tmp" + rm -rf Bungloo.app -rm -rf bungloo -mkdir bungloo -cp -r ../Qt/* bungloo -cp -r ../WebKit bungloo -cp -r ../images bungloo -cp Icon.icns bungloo/images -cp setup.py bungloo -cp Info.plist bungloo -cd bungloo +rm -rf $TMP/bungloo +mkdir $TMP/bungloo +cp -r ../Qt/* $TMP/bungloo +cp -r ../WebKit $TMP/bungloo +cp -r ../images $TMP/bungloo +cp Icon.icns $TMP/bungloo/images +cp setup.py $TMP/bungloo +cp Info.plist $TMP/bungloo +cd $TMP/bungloo python setup.py py2app -mv dist/Bungloo.app .. -cd .. -rm -rf bungloo \ No newline at end of file +mv $TMP/bungloo/dist/Bungloo.app $HERE +cd $HERE +rm -rf $TMP/bungloo +Bungloo.app/Contents/MacOS/Bungloo \ No newline at end of file diff --git a/Qt/Bungloo.py b/Qt/Bungloo.py index 8f599c8..e76061f 100755 --- a/Qt/Bungloo.py +++ b/Qt/Bungloo.py @@ -4,15 +4,9 @@ import os, sys, pickle, subprocess, shutil, json from PyQt4 import QtCore, QtGui, QtWebKit, QtNetwork from sys import platform as _platform -RUNNING_LOCAL = os.path.basename(sys.argv[0]) == "Bungloo.py" -RUNNING_ON_WINDOWS = os.name == "nt" -RUNNING_ON_OSX = _platform == "darwin" - -print sys.argv[0] - -if RUNNING_LOCAL or RUNNING_ON_WINDOWS: +try: import Windows, Helper, SingleApplication -else: +except: from bungloo import Windows, Helper, SingleApplication class Bungloo(): @@ -37,7 +31,7 @@ class Bungloo(): self.authentification_succeded() def resources_path(self): - if RUNNING_LOCAL and not RUNNING_ON_OSX: + if Helper.Helper.is_local() and not Helper.Helper.is_mac(): return os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), '..')) else: return Helper.Helper.get_resource_path() @@ -320,7 +314,7 @@ Options: """ sys.exit(1) - if RUNNING_ON_WINDOWS and not RUNNING_LOCAL: + if Helper.Helper.is_windows() and not Helper.Helper.is_local(): import sys from os import path, environ, makedirs appdata = path.join(environ["TMP"], key) diff --git a/Qt/Helper.py b/Qt/Helper.py index 02ff2b0..f60c4cc 100644 --- a/Qt/Helper.py +++ b/Qt/Helper.py @@ -6,21 +6,34 @@ from PyQt4.QtNetwork import QNetworkAccessManager, QNetworkRequest, QNetworkRepl from PyQt4.QtWebKit import QWebView from sys import platform as _platform -import os, sys - -import array +import os, sys, array class Helper: @classmethod def get_resource_path(cls): - - if os.name == "nt": + if Helper.is_windows(): return os.path.dirname(sys.argv[0]) - elif _platform == "darwin": + elif Helper.is_mac(): return os.path.dirname(sys.argv[0]) else: return os.path.dirname(__file__) + @classmethod + def is_local(cls): + return os.path.basename(sys.argv[0]) == "Bungloo.py" + + @classmethod + def is_mac(cls): + return _platform == "darwin" + + @classmethod + def is_windows(cls): + return os.name == "nt" + + @classmethod + def is_linux(cls): + return not (Helper.is_windows() or Helper.is_mac()) + class WebPage(QtWebKit.QWebPage): def __init__(self, parent=0, app=None): super(QtWebKit.QWebPage, self).__init__(parent) @@ -95,9 +108,9 @@ class WebViewCreator(QtWebKit.QWebView): frame = self.page().mainFrame() if self.is_local: os_type = "linux" - if os.name == "nt": + if Helper.is_windows: os_type = "windows" - elif _platform == "darwin": + elif Helper.is_mac: os_type = "osx" frame.evaluateJavaScript("var OS_TYPE = '" + os_type + "';") @@ -115,7 +128,7 @@ class WebViewCreator(QtWebKit.QWebView): callback(ok) def handleSslErrors(self, reply, errors): - if os.name == "nt": # ignore SSL errors on Windows (yes a uggly workaround, don't know how to fix it yet) + if Helper.is_windows: # ignore SSL errors on Windows (yes a uggly workaround, don't know how to fix it yet) for error in errors: print error.errorString() reply.ignoreSslErrors(errors) diff --git a/Qt/Windows.py b/Qt/Windows.py index c35339b..d18e5ca 100644 --- a/Qt/Windows.py +++ b/Qt/Windows.py @@ -16,13 +16,13 @@ class Preferences: # image view image = QtGui.QPixmap(self.app.resources_path() + "/images/Icon.png") - print self.app.resources_path() + "/images/Icon.png" image_view = QtGui.QLabel(self.window) image_view.setGeometry(20, 20, 146, 146) image_view.setPixmap(image) image_view.setScaledContents(True) - self.window.setWindowIcon(QtGui.QIcon(image)) + if not Helper.Helper.is_mac(): + self.window.setWindowIcon(QtGui.QIcon(image)) # info text info_text = QtGui.QLabel(self.window) @@ -85,7 +85,9 @@ class Timeline: self.window = Helper.RestorableWindow(action, self.app) self.window.setWindowTitle(title) - self.window.setWindowIcon(QtGui.QIcon(self.app.resources_path() + "/images/Icon.png")) + + if not Helper.Helper.is_mac(): + self.window.setWindowIcon(QtGui.QIcon(self.app.resources_path() + "/images/Icon.png")) self.webView = Helper.WebViewCreator(self.app, True, self.window) self.webView.load_local(self.load_finished) @@ -341,7 +343,8 @@ class NewPost(Helper.RestorableWindow): self.activateWindow() self.raise_() - self.setWindowIcon(QtGui.QIcon(self.app.resources_path() + "/images/Icon.png")) + if not Helper.Helper.is_mac(): + self.setWindowIcon(QtGui.QIcon(self.app.resources_path() + "/images/Icon.png")) self.webView = Helper.WebViewCreator(self.app, True, self) self.webView.load_local(self.load_finished) diff --git a/WebKit/css/default.css b/WebKit/css/default.css index 00947da..6c07961 100644 --- a/WebKit/css/default.css +++ b/WebKit/css/default.css @@ -403,6 +403,10 @@ li.mentioned .post { clear: right; } +.message a:not(.name) { + text-decoration: underline; +} + header.profile button { background: #09F; float: right;