forked from jeena/FeedTheMonkey
added reset to default window splitter
This commit is contained in:
parent
81675dec77
commit
aace0092fa
322 changed files with 21374 additions and 2 deletions
537
FeedTheMonkey.app/Contents/Frameworks/FeedTheMonkey
Executable file
537
FeedTheMonkey.app/Contents/Frameworks/FeedTheMonkey
Executable file
|
@ -0,0 +1,537 @@
|
|||
#!/usr/bin/env python2
|
||||
|
||||
import sys, os, json, tempfile, urllib2, urllib, json
|
||||
from PyQt4 import QtGui, QtCore, QtWebKit, QtNetwork
|
||||
from threading import Thread
|
||||
from sys import platform as _platform
|
||||
|
||||
settings = QtCore.QSettings("jabs.nu", "feedthemonkey")
|
||||
|
||||
class MainWindow(QtGui.QMainWindow):
|
||||
def __init__(self):
|
||||
QtGui.QMainWindow.__init__(self)
|
||||
self.setWindowIcon(QtGui.QIcon("feedmonkey"))
|
||||
self.addAction(QtGui.QAction("Full Screen", self, checkable=True, toggled=lambda v: self.showFullScreen() if v else self.showNormal(), shortcut="F11"))
|
||||
self.history = self.get("history", [])
|
||||
self.restoreGeometry(QtCore.QByteArray.fromRawData(settings.value("geometry").toByteArray()))
|
||||
self.restoreState(QtCore.QByteArray.fromRawData(settings.value("state").toByteArray()))
|
||||
|
||||
self.initUI()
|
||||
|
||||
session_id = self.get("session_id")
|
||||
server_url = self.get("server_url")
|
||||
|
||||
if not (session_id and server_url):
|
||||
self.authenticate()
|
||||
else:
|
||||
self.initApp()
|
||||
|
||||
|
||||
def initUI(self):
|
||||
self.list = List(self)
|
||||
self.content = Content(self)
|
||||
|
||||
self.splitter = QtGui.QSplitter(QtCore.Qt.Vertical, self)
|
||||
self.splitter.setHandleWidth(1)
|
||||
self.splitter.addWidget(self.list)
|
||||
self.splitter.addWidget(self.content)
|
||||
self.splitter.restoreState(settings.value("splitterSizes").toByteArray());
|
||||
self.splitter.splitterMoved.connect(self.splitterMoved)
|
||||
|
||||
self.setCentralWidget(self.splitter)
|
||||
|
||||
def mkAction(name, connect, shortcut=None):
|
||||
action = QtGui.QAction(name, self)
|
||||
action.triggered.connect(connect)
|
||||
if shortcut:
|
||||
action.setShortcut(shortcut)
|
||||
return action
|
||||
|
||||
mb = self.menuBar()
|
||||
|
||||
fileMenu = mb.addMenu("&File")
|
||||
fileMenu.addAction(mkAction("&Close", self.close, "Ctrl+W"))
|
||||
fileMenu.addAction(mkAction("&Log Out", self.logOut))
|
||||
fileMenu.addSeparator()
|
||||
fileMenu.addAction(mkAction("&Exit", self.close, "Ctrl+Q"))
|
||||
|
||||
actionMenu = mb.addMenu("&Action")
|
||||
actionMenu.addAction(mkAction("&Reload", self.content.reload, "R"))
|
||||
actionMenu.addAction(mkAction("Set &Unread", self.content.setUnread, "U"))
|
||||
actionMenu.addAction(mkAction("&Next", self.content.showNext, "J"))
|
||||
actionMenu.addAction(mkAction("&Previous", self.content.showPrevious, "K"))
|
||||
actionMenu.addAction(mkAction("&Open in Browser", self.content.openCurrent, "N"))
|
||||
|
||||
viewMenu = mb.addMenu("&View")
|
||||
viewMenu.addAction(mkAction("Zoom &In", lambda: self.content.wb.setZoomFactor(self.content.wb.zoomFactor() + 0.2), "Ctrl++"))
|
||||
viewMenu.addAction(mkAction("Zoom &Out", lambda: self.content.wb.setZoomFactor(self.content.wb.zoomFactor() - 0.2), "Ctrl+-"))
|
||||
viewMenu.addAction(mkAction("&Reset", lambda: self.content.wb.setZoomFactor(1), "Ctrl+0"))
|
||||
|
||||
windowMenu = mb.addMenu("&Window")
|
||||
windowMenu.addAction(mkAction("Default", self.resetSplitter, "Ctrl+D"))
|
||||
|
||||
helpMenu = mb.addMenu("&Help")
|
||||
helpMenu.addAction(mkAction("&About", lambda: QtGui.QDesktopServices.openUrl(QtCore.QUrl("http://jabs.nu/feedthemonkey", QtCore.QUrl.TolerantMode)) ))
|
||||
|
||||
def initApp(self):
|
||||
session_id = self.get("session_id")
|
||||
server_url = self.get("server_url")
|
||||
self.tinyTinyRSS = TinyTinyRSS(self, server_url, session_id)
|
||||
|
||||
self.content.evaluateJavaScript("setArticle('loading')")
|
||||
self.content.reload()
|
||||
self.show()
|
||||
|
||||
def closeEvent(self, ev):
|
||||
settings.setValue("geometry", self.saveGeometry())
|
||||
settings.setValue("state", self.saveState())
|
||||
return QtGui.QMainWindow.closeEvent(self, ev)
|
||||
|
||||
def put(self, key, value):
|
||||
"Persist an object somewhere under a given key"
|
||||
settings.setValue(key, json.dumps(value))
|
||||
settings.sync()
|
||||
|
||||
def get(self, key, default=None):
|
||||
"Get the object stored under 'key' in persistent storage, or the default value"
|
||||
v = settings.value(key)
|
||||
return json.loads(unicode(v.toString())) if v.isValid() else default
|
||||
|
||||
def setWindowTitle(self, t):
|
||||
super(QtGui.QMainWindow, self).setWindowTitle("Feed the Monkey" + t)
|
||||
|
||||
def splitterMoved(self, pos, index):
|
||||
settings.setValue("splitterSizes", self.splitter.saveState());
|
||||
|
||||
def resetSplitter(self):
|
||||
sizes = self.splitter.sizes()
|
||||
top = sizes[0]
|
||||
bottom = sizes[1]
|
||||
sizes[0] = 200
|
||||
sizes[1] = bottom + top - 200
|
||||
self.splitter.setSizes(sizes)
|
||||
|
||||
def authenticate(self):
|
||||
|
||||
dialog = Login()
|
||||
|
||||
def callback():
|
||||
|
||||
server_url = str(dialog.textServerUrl.text())
|
||||
user = str(dialog.textName.text())
|
||||
password = str(dialog.textPass.text())
|
||||
|
||||
session_id = TinyTinyRSS.login(server_url, user, password)
|
||||
if session_id:
|
||||
self.put("session_id", session_id)
|
||||
self.put("server_url", server_url)
|
||||
self.initApp()
|
||||
else:
|
||||
self.authenticate()
|
||||
|
||||
dialog.accepted.connect(callback)
|
||||
|
||||
dialog.exec_()
|
||||
|
||||
def logOut(self):
|
||||
self.hide()
|
||||
self.content.evaluateJavaScript("setArticle('logout')")
|
||||
self.tinyTinyRSS.logOut()
|
||||
self.tinyTinyRSS = None
|
||||
self.put("session_id", None)
|
||||
self.put("server_url", None)
|
||||
self.authenticate()
|
||||
|
||||
class List(QtGui.QTableWidget):
|
||||
def __init__(self, container):
|
||||
QtGui.QTableWidget.__init__(self)
|
||||
self.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
|
||||
self.app = container
|
||||
self.itemSelectionChanged.connect(self.rowSelected)
|
||||
self.setShowGrid(False)
|
||||
|
||||
def initHeader(self):
|
||||
self.clear()
|
||||
self.setColumnCount(3)
|
||||
self.setHorizontalHeaderLabels(("Feed", "Title", "Date"))
|
||||
self.horizontalHeader().setResizeMode(0, QtGui.QHeaderView.ResizeToContents)
|
||||
self.horizontalHeader().setResizeMode(1, QtGui.QHeaderView.Stretch)
|
||||
self.horizontalHeader().setResizeMode(2, QtGui.QHeaderView.ResizeToContents)
|
||||
self.verticalHeader().hide()
|
||||
|
||||
def setItems(self, articles):
|
||||
self.initHeader()
|
||||
self.setRowCount(len(articles))
|
||||
row = 0
|
||||
for article in articles:
|
||||
if "feed_title" in article:
|
||||
feed_title = QtGui.QTableWidgetItem(article["feed_title"])
|
||||
feed_title.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
||||
self.setItem(row, 0, feed_title)
|
||||
if "title" in article:
|
||||
title = QtGui.QTableWidgetItem(article["title"])
|
||||
title.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
||||
self.setItem(row, 1, title)
|
||||
if "updated" in article:
|
||||
date = QtCore.QDateTime.fromTime_t(article["updated"]).toString(QtCore.Qt.SystemLocaleShortDate)
|
||||
d = QtGui.QTableWidgetItem(date)
|
||||
d.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
||||
self.setItem(row, 2, d)
|
||||
if "author" in article:
|
||||
author = QtGui.QTableWidgetItem(article["author"])
|
||||
author.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
||||
self.setItem(row, 3, author)
|
||||
self.resizeRowToContents(row)
|
||||
row += 1
|
||||
self.selectRow(0)
|
||||
|
||||
def rowSelected(self):
|
||||
indexes = self.selectedIndexes()
|
||||
if len(indexes) > 0:
|
||||
row = indexes[0].row()
|
||||
self.app.content.showIndex(row)
|
||||
|
||||
def updateRead(self):
|
||||
for row, article in enumerate(self.app.content.unread_articles):
|
||||
for x in xrange(0,3):
|
||||
item = self.item(row, x)
|
||||
font = item.font()
|
||||
font.setBold(article["unread"])
|
||||
item.setFont(font)
|
||||
|
||||
|
||||
class Content(QtGui.QWidget):
|
||||
def __init__(self, container):
|
||||
QtGui.QWidget.__init__(self)
|
||||
|
||||
self.app = container
|
||||
self.index = 0
|
||||
|
||||
self.wb = QtWebKit.QWebView(titleChanged=lambda t: container.setWindowTitle(t))
|
||||
self.wb.page().setLinkDelegationPolicy(QtWebKit.QWebPage.DelegateAllLinks)
|
||||
self.wb.linkClicked.connect(lambda url: self.openLink(url))
|
||||
|
||||
self.setLayout(QtGui.QVBoxLayout(spacing=0))
|
||||
self.layout().setContentsMargins(0, 0, 0, 0)
|
||||
self.layout().addWidget(self.wb)
|
||||
|
||||
self.do_show_next = QtGui.QShortcut(QtCore.Qt.Key_Right, self, activated=self.showNext)
|
||||
self.do_show_previous = QtGui.QShortcut(QtCore.Qt.Key_Left, self, activated=self.showPrevious)
|
||||
self.do_open = QtGui.QShortcut("Return", self, activated=self.openCurrent)
|
||||
|
||||
self.wb.settings().setAttribute(QtWebKit.QWebSettings.PluginsEnabled, True)
|
||||
self.wb.settings().setIconDatabasePath(tempfile.mkdtemp())
|
||||
self.wb.setHtml(self.templateString())
|
||||
|
||||
self.unread_articles = []
|
||||
|
||||
def openLink(self, url):
|
||||
QtGui.QDesktopServices.openUrl(url)
|
||||
|
||||
def reload(self):
|
||||
w = WorkerThread(self.app, self._reload)
|
||||
self.connect(w, QtCore.SIGNAL("reload_done()"), self.reload_done)
|
||||
w.start()
|
||||
|
||||
def setUnread(self):
|
||||
article = self.unread_articles[self.index]
|
||||
article["unread"] = True
|
||||
article["set_unread"] = True
|
||||
self.app.list.updateRead()
|
||||
|
||||
def _reload(self):
|
||||
self.unread_articles = self.app.tinyTinyRSS.getUnreadFeeds()
|
||||
self.index = -1
|
||||
|
||||
def reload_done(self):
|
||||
self.setUnreadCount()
|
||||
if len(self.unread_articles) > 0:
|
||||
self.showNext()
|
||||
self.app.list.setItems(self.unread_articles)
|
||||
|
||||
def showIndex(self, index):
|
||||
previous = self.unread_articles[self.index]
|
||||
if not "set_unread" in previous or not previous["set_unread"]:
|
||||
self.app.tinyTinyRSS.setArticleRead(previous["id"])
|
||||
previous["unread"] = False
|
||||
self.app.list.updateRead()
|
||||
else:
|
||||
previous["set_unread"] = False
|
||||
self.index = index
|
||||
current = self.unread_articles[self.index]
|
||||
self.setArticle(current)
|
||||
self.setUnreadCount()
|
||||
|
||||
def showNext(self):
|
||||
if self.index >= 0 and self.index < len(self.unread_articles):
|
||||
previous = self.unread_articles[self.index]
|
||||
if not "set_unread" in previous or not previous["set_unread"]:
|
||||
self.app.tinyTinyRSS.setArticleRead(previous["id"])
|
||||
previous["unread"] = False
|
||||
self.app.list.updateRead()
|
||||
else:
|
||||
previous["set_unread"] = False
|
||||
|
||||
if len(self.unread_articles) > self.index + 1:
|
||||
self.index += 1
|
||||
current = self.unread_articles[self.index]
|
||||
self.setArticle(current)
|
||||
else:
|
||||
if self.index < len(self.unread_articles):
|
||||
self.index += 1
|
||||
|
||||
self.setUnreadCount()
|
||||
self.app.list.selectRow(self.index)
|
||||
|
||||
def showPrevious(self):
|
||||
if self.index > 0:
|
||||
self.index -= 1
|
||||
previous = self.unread_articles[self.index]
|
||||
self.setArticle(previous)
|
||||
self.setUnreadCount()
|
||||
self.app.list.selectRow(self.index)
|
||||
|
||||
def openCurrent(self):
|
||||
current = self.unread_articles[self.index]
|
||||
url = QtCore.QUrl(current["link"])
|
||||
self.openLink(url)
|
||||
|
||||
def setArticle(self, article):
|
||||
func = u"setArticle({});".format(json.dumps(article))
|
||||
self.evaluateJavaScript(func)
|
||||
|
||||
def evaluateJavaScript(self, func):
|
||||
return self.wb.page().mainFrame().evaluateJavaScript(func)
|
||||
|
||||
def setUnreadCount(self):
|
||||
length = len(self.unread_articles)
|
||||
i = 0
|
||||
if self.index > 0:
|
||||
i = self.index
|
||||
unread = length - i
|
||||
|
||||
self.app.setWindowTitle(" (" + str(unread) + "/" + str(length) + ")")
|
||||
if unread < 1:
|
||||
self.evaluateJavaScript("setArticle('empty')")
|
||||
|
||||
def templateString(self):
|
||||
html="""
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>ttrssl</title>
|
||||
<script type="text/javascript">
|
||||
function $(id) {
|
||||
return document.getElementById(id);
|
||||
}
|
||||
|
||||
function setArticle(article) {
|
||||
window.scrollTo(0, 0);
|
||||
|
||||
$("date").innerHTML = "";
|
||||
$("title").innerHTML = "";
|
||||
$("title").href = "";
|
||||
$("title").title = "";
|
||||
$("feed_title").innerHTML = "";
|
||||
$("author").innerHTML = "";
|
||||
$("article").innerHTML = "";
|
||||
|
||||
if(article == "empty") {
|
||||
|
||||
$("article").innerHTML = "No unread articles to display.";
|
||||
|
||||
} else if(article == "loading") {
|
||||
|
||||
$("article").innerHTML = "Loading <blink>…</blink>";
|
||||
|
||||
} else if (article == "logout") {
|
||||
|
||||
} else if(article) {
|
||||
|
||||
$("date").innerHTML = (new Date(parseInt(article.updated, 10) * 1000));
|
||||
$("title").innerHTML = article.title;
|
||||
$("title").href = article.link;
|
||||
$("title").title = article.link;
|
||||
$("feed_title").innerHTML = article.feed_title;
|
||||
$("author").innerHTML = "";
|
||||
if(article.author && article.author.length > 0)
|
||||
$("author").innerHTML = "– " + article.author
|
||||
$("article").innerHTML = article.content;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-family: "Ubuntu", "Lucida Grande", "Tahoma", sans-serif;
|
||||
padding: 1em 2em 1em 2em;
|
||||
}
|
||||
body.darwin {
|
||||
font-family: "LucidaGrande", sans-serif;
|
||||
}
|
||||
h1 {
|
||||
font-weight: normal;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
header {
|
||||
margin-bottom: 1em;
|
||||
border-bottom: 1px solid #aaa;
|
||||
padding-bottom: 1em;
|
||||
}
|
||||
header p {
|
||||
color: #aaa;
|
||||
margin: 0;
|
||||
padding: 0
|
||||
}
|
||||
a {
|
||||
color: #772953;
|
||||
text-decoration: none;
|
||||
}
|
||||
img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
article {
|
||||
line-height: 1.6;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class='""" + _platform + """''>
|
||||
<header>
|
||||
<p><span id="feed_title"></span> <span id="author"></span></p>
|
||||
<h1><a id="title" href=""></a></h1>
|
||||
<p><timedate id="date"></timedate></p>
|
||||
</header>
|
||||
<article id="article"></article>
|
||||
</body>
|
||||
</html>"""
|
||||
return html # string.replace(html, "<body", "<body class='" + _platform + "'")
|
||||
|
||||
|
||||
|
||||
class TinyTinyRSS:
|
||||
def __init__(self, app, server_url, session_id):
|
||||
self.app = app
|
||||
if server_url and session_id:
|
||||
self.server_url = server_url
|
||||
self.session_id = session_id
|
||||
else:
|
||||
self.app.authenticate()
|
||||
|
||||
def doOperation(self, operation, options=None):
|
||||
url = self.server_url + "/api/"
|
||||
default_options = {'sid': self.session_id, 'op': operation}
|
||||
if options:
|
||||
options = dict(default_options.items() + options.items())
|
||||
else:
|
||||
options = default_options
|
||||
json_string = json.dumps(options)
|
||||
req = urllib2.Request(url)
|
||||
fd = urllib2.urlopen(req, json_string)
|
||||
body = ""
|
||||
while True:
|
||||
data = fd.read(1024)
|
||||
if not len(data):
|
||||
break
|
||||
body += data
|
||||
|
||||
return json.loads(body)["content"]
|
||||
|
||||
def getUnreadFeeds(self):
|
||||
unread_articles = []
|
||||
def more(skip):
|
||||
return self.doOperation("getHeadlines", {"show_excerpt": False, "view_mode": "unread", "show_content": True, "feed_id": -4, "skip": skip})
|
||||
|
||||
skip = 0
|
||||
while True:
|
||||
new = more( skip)
|
||||
unread_articles += new
|
||||
length = len(new)
|
||||
|
||||
if length < 1:
|
||||
break
|
||||
skip += length
|
||||
|
||||
return unread_articles
|
||||
|
||||
def setArticleRead(self, article_id):
|
||||
l = lambda: self.doOperation("updateArticle", {'article_ids':article_id, 'mode': 0, 'field': 2})
|
||||
t = Thread(target=l)
|
||||
t.start()
|
||||
|
||||
def logOut(self):
|
||||
self.doOperation("logout")
|
||||
|
||||
@classmethod
|
||||
def login(self, server_url, user, password):
|
||||
url = server_url + "/api/"
|
||||
options = {"op": "login", "user": user, "password": password}
|
||||
json_string = json.dumps(options)
|
||||
req = urllib2.Request(url)
|
||||
fd = urllib2.urlopen(req, json_string)
|
||||
body = ""
|
||||
while 1:
|
||||
data = fd.read(1024)
|
||||
if not len(data):
|
||||
break
|
||||
body += data
|
||||
|
||||
body = json.loads(body)["content"]
|
||||
|
||||
if body.has_key("error"):
|
||||
msgBox = QtGui.QMessageBox()
|
||||
msgBox.setText(body["error"])
|
||||
msgBox.exec_()
|
||||
return None
|
||||
|
||||
return body["session_id"]
|
||||
|
||||
|
||||
class Login(QtGui.QDialog):
|
||||
def __init__(self):
|
||||
QtGui.QDialog.__init__(self)
|
||||
self.setWindowIcon(QtGui.QIcon("feedmonkey.png"))
|
||||
self.setWindowTitle("Feed the Monkey - Login")
|
||||
|
||||
self.label = QtGui.QLabel(self)
|
||||
self.label.setText("Please specify a server url, a username and a password.")
|
||||
|
||||
self.textServerUrl = QtGui.QLineEdit(self)
|
||||
self.textServerUrl.setPlaceholderText("http://example.com/ttrss/")
|
||||
self.textServerUrl.setText("http://")
|
||||
|
||||
self.textName = QtGui.QLineEdit(self)
|
||||
self.textName.setPlaceholderText("username")
|
||||
|
||||
self.textPass = QtGui.QLineEdit(self)
|
||||
self.textPass.setEchoMode(QtGui.QLineEdit.Password);
|
||||
self.textPass.setPlaceholderText("password")
|
||||
|
||||
self.buttons = QtGui.QDialogButtonBox(QtGui.QDialogButtonBox.Ok)
|
||||
self.buttons.accepted.connect(self.accept)
|
||||
|
||||
layout = QtGui.QVBoxLayout(self)
|
||||
layout.addWidget(self.label)
|
||||
layout.addWidget(self.textServerUrl)
|
||||
layout.addWidget(self.textName)
|
||||
layout.addWidget(self.textPass)
|
||||
layout.addWidget(self.buttons)
|
||||
|
||||
|
||||
class WorkerThread(QtCore.QThread):
|
||||
|
||||
def __init__(self, parent, do_reload):
|
||||
super(WorkerThread, self).__init__(parent)
|
||||
self.do_reload = do_reload
|
||||
|
||||
def run(self):
|
||||
self.do_reload()
|
||||
self.emit(QtCore.SIGNAL("reload_done()"))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
app = QtGui.QApplication(sys.argv)
|
||||
wb = MainWindow()
|
||||
wb.show()
|
||||
sys.exit(app.exec_())
|
BIN
FeedTheMonkey.app/Contents/Frameworks/Python.framework/Versions/2.7/Python
Executable file
BIN
FeedTheMonkey.app/Contents/Frameworks/Python.framework/Versions/2.7/Python
Executable file
Binary file not shown.
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
|
||||
<plist version="0.9">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>Python</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>Python Runtime and Library</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.python.python</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Python</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>2.7.5, (c) 2004-2013 Python Software Foundation.</string>
|
||||
<key>CFBundleLongVersionString</key>
|
||||
<string>2.7.5, (c) 2004-2013 Python Software Foundation.</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>2.7.5</string>
|
||||
</dict>
|
||||
</plist>
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1 @@
|
|||
2.7
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
|
||||
<plist version="0.9">
|
||||
<dict>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>4.8</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>Created by Qt/QMake</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>QtCore</string>
|
||||
<key>NOTE</key>
|
||||
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
||||
</dict>
|
||||
</plist>
|
1
FeedTheMonkey.app/Contents/Frameworks/QtCore.framework/QtCore
Symbolic link
1
FeedTheMonkey.app/Contents/Frameworks/QtCore.framework/QtCore
Symbolic link
|
@ -0,0 +1 @@
|
|||
Versions/4/QtCore
|
|
@ -0,0 +1,7 @@
|
|||
QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/corelib
|
||||
QMAKE_PRO_INPUT = corelib.pro
|
||||
QMAKE_PRL_TARGET = QtCore
|
||||
QMAKE_PRL_DEFINES = QT_SHARED
|
||||
QMAKE_PRL_CONFIG = lex yacc warn_on uic resources sdk rez release ReleaseBuild Release build_pass qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend release stl qt_framework x86_64 release largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build release ReleaseBuild Release build_pass qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib release ReleaseBuild Release build_pass objective_c x86_64 no_autoqmake moc thread dll shared
|
||||
QMAKE_PRL_VERSION = 4.8.5
|
||||
QMAKE_PRL_LIBS = -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib
|
|
@ -0,0 +1,7 @@
|
|||
QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/corelib
|
||||
QMAKE_PRO_INPUT = corelib.pro
|
||||
QMAKE_PRL_TARGET = QtCore_debug
|
||||
QMAKE_PRL_DEFINES = QT_SHARED
|
||||
QMAKE_PRL_CONFIG = lex yacc warn_on debug uic resources sdk rez debug DebugBuild Debug build_pass qt warn_on app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend stl qt_framework x86_64 largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass qt_install_headers qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dll shared
|
||||
QMAKE_PRL_VERSION = 4.8.5
|
||||
QMAKE_PRL_LIBS = -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
4
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
|
||||
<plist version="0.9">
|
||||
<dict>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>4.8</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>Created by Qt/QMake</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>QtDeclarative</string>
|
||||
<key>NOTE</key>
|
||||
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1 @@
|
|||
Versions/4/QtDeclarative
|
|
@ -0,0 +1,7 @@
|
|||
QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/src/declarative/
|
||||
QMAKE_PRO_INPUT = declarative.pro
|
||||
QMAKE_PRL_TARGET = QtDeclarative
|
||||
QMAKE_PRL_DEFINES = QT_SHARED
|
||||
QMAKE_PRL_CONFIG = lex yacc warn_on uic resources sdk rez release ReleaseBuild Release build_pass qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend release stl qt_framework x86_64 release largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build release ReleaseBuild Release build_pass qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib release ReleaseBuild Release build_pass objective_c x86_64 no_autoqmake moc thread dll shared
|
||||
QMAKE_PRL_VERSION = 4.8.5
|
||||
QMAKE_PRL_LIBS = -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtScript -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtCore -framework QtSvg -framework QtGui -framework QtSql -framework QtXmlPatterns -framework QtNetwork
|
|
@ -0,0 +1,7 @@
|
|||
QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/src/declarative/
|
||||
QMAKE_PRO_INPUT = declarative.pro
|
||||
QMAKE_PRL_TARGET = QtDeclarative_debug
|
||||
QMAKE_PRL_DEFINES = QT_SHARED
|
||||
QMAKE_PRL_CONFIG = lex yacc warn_on debug uic resources sdk rez debug DebugBuild Debug build_pass qt warn_on app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend stl qt_framework x86_64 largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass qt_install_headers qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dll shared
|
||||
QMAKE_PRL_VERSION = 4.8.5
|
||||
QMAKE_PRL_LIBS = -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtScript -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtCore -framework QtSvg -framework QtGui -framework QtSql -framework QtXmlPatterns -framework QtNetwork
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
4
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
|
||||
<plist version="0.9">
|
||||
<dict>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>4.8</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>Created by Qt/QMake</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>QtGui</string>
|
||||
<key>NOTE</key>
|
||||
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
||||
</dict>
|
||||
</plist>
|
1
FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/QtGui
Symbolic link
1
FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/QtGui
Symbolic link
|
@ -0,0 +1 @@
|
|||
Versions/4/QtGui
|
|
@ -0,0 +1,7 @@
|
|||
QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/gui
|
||||
QMAKE_PRO_INPUT = gui.pro
|
||||
QMAKE_PRL_TARGET = QtGui
|
||||
QMAKE_PRL_DEFINES = QT_SHARED
|
||||
QMAKE_PRL_CONFIG = lex yacc warn_on uic resources sdk rez release ReleaseBuild Release build_pass qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend release stl qt_framework x86_64 release largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build release ReleaseBuild Release build_pass qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib release ReleaseBuild Release build_pass objective_c x86_64 no_autoqmake moc thread dll shared
|
||||
QMAKE_PRL_VERSION = 4.8.5
|
||||
QMAKE_PRL_LIBS = -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtCore -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib
|
|
@ -0,0 +1,7 @@
|
|||
QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/gui
|
||||
QMAKE_PRO_INPUT = gui.pro
|
||||
QMAKE_PRL_TARGET = QtGui_debug
|
||||
QMAKE_PRL_DEFINES = QT_SHARED
|
||||
QMAKE_PRL_CONFIG = lex yacc warn_on debug uic resources sdk rez debug DebugBuild Debug build_pass qt warn_on app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend stl qt_framework x86_64 largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass qt_install_headers qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dll shared
|
||||
QMAKE_PRL_VERSION = 4.8.5
|
||||
QMAKE_PRL_LIBS = -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtCore -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib
|
1
FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Resources
Symbolic link
1
FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Resources
Symbolic link
|
@ -0,0 +1 @@
|
|||
Versions/4/Resources
|
Binary file not shown.
59
FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Versions/4/Resources/qt_menu.nib/classes.nib
generated
Normal file
59
FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Versions/4/Resources/qt_menu.nib/classes.nib
generated
Normal file
|
@ -0,0 +1,59 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IBClasses</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>ACTIONS</key>
|
||||
<dict>
|
||||
<key>hide</key>
|
||||
<string>id</string>
|
||||
<key>hideOtherApplications</key>
|
||||
<string>id</string>
|
||||
<key>orderFrontStandardAboutPanel</key>
|
||||
<string>id</string>
|
||||
<key>qtDispatcherToQAction</key>
|
||||
<string>id</string>
|
||||
<key>terminate</key>
|
||||
<string>id</string>
|
||||
<key>unhideAllApplications</key>
|
||||
<string>id</string>
|
||||
</dict>
|
||||
<key>CLASS</key>
|
||||
<string>QCocoaMenuLoader</string>
|
||||
<key>LANGUAGE</key>
|
||||
<string>ObjC</string>
|
||||
<key>OUTLETS</key>
|
||||
<dict>
|
||||
<key>aboutItem</key>
|
||||
<string>NSMenuItem</string>
|
||||
<key>aboutQtItem</key>
|
||||
<string>NSMenuItem</string>
|
||||
<key>appMenu</key>
|
||||
<string>NSMenu</string>
|
||||
<key>hideItem</key>
|
||||
<string>NSMenuItem</string>
|
||||
<key>preferencesItem</key>
|
||||
<string>NSMenuItem</string>
|
||||
<key>quitItem</key>
|
||||
<string>NSMenuItem</string>
|
||||
<key>theMenu</key>
|
||||
<string>NSMenu</string>
|
||||
</dict>
|
||||
<key>SUPERCLASS</key>
|
||||
<string>NSResponder</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CLASS</key>
|
||||
<string>FirstResponder</string>
|
||||
<key>LANGUAGE</key>
|
||||
<string>ObjC</string>
|
||||
<key>SUPERCLASS</key>
|
||||
<string>NSObject</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>IBVersion</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
</plist>
|
18
FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Versions/4/Resources/qt_menu.nib/info.nib
generated
Normal file
18
FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Versions/4/Resources/qt_menu.nib/info.nib
generated
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IBFramework Version</key>
|
||||
<string>672</string>
|
||||
<key>IBOldestOS</key>
|
||||
<integer>5</integer>
|
||||
<key>IBOpenObjects</key>
|
||||
<array>
|
||||
<integer>57</integer>
|
||||
</array>
|
||||
<key>IBSystem Version</key>
|
||||
<string>9L31a</string>
|
||||
<key>targetFramework</key>
|
||||
<string>IBCocoaFramework</string>
|
||||
</dict>
|
||||
</plist>
|
BIN
FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Versions/4/Resources/qt_menu.nib/keyedobjects.nib
generated
Normal file
BIN
FeedTheMonkey.app/Contents/Frameworks/QtGui.framework/Versions/4/Resources/qt_menu.nib/keyedobjects.nib
generated
Normal file
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
4
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
|
||||
<plist version="0.9">
|
||||
<dict>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>4.8</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>Created by Qt/QMake</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>QtHelp</string>
|
||||
<key>NOTE</key>
|
||||
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
||||
</dict>
|
||||
</plist>
|
1
FeedTheMonkey.app/Contents/Frameworks/QtHelp.framework/QtHelp
Symbolic link
1
FeedTheMonkey.app/Contents/Frameworks/QtHelp.framework/QtHelp
Symbolic link
|
@ -0,0 +1 @@
|
|||
Versions/4/QtHelp
|
|
@ -0,0 +1,7 @@
|
|||
QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./tools/assistant/lib
|
||||
QMAKE_PRO_INPUT = lib.pro
|
||||
QMAKE_PRL_TARGET = QtHelp
|
||||
QMAKE_PRL_DEFINES = QT_SHARED
|
||||
QMAKE_PRL_CONFIG = lex yacc warn_on uic resources sdk rez release ReleaseBuild Release build_pass qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend release stl qt_framework x86_64 release largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build release ReleaseBuild Release build_pass qt warn_on qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib release ReleaseBuild Release build_pass objective_c x86_64 no_autoqmake moc thread dll shared
|
||||
QMAKE_PRL_VERSION = 4.8.5
|
||||
QMAKE_PRL_LIBS = -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtSql -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtCore -framework QtGui -framework QtNetwork
|
|
@ -0,0 +1,7 @@
|
|||
QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./tools/assistant/lib
|
||||
QMAKE_PRO_INPUT = lib.pro
|
||||
QMAKE_PRL_TARGET = QtHelp_debug
|
||||
QMAKE_PRL_DEFINES = QT_SHARED
|
||||
QMAKE_PRL_CONFIG = lex yacc warn_on debug uic resources sdk rez debug DebugBuild Debug build_pass qt warn_on app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend stl qt_framework x86_64 largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass qt warn_on qt_install_headers qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dll shared
|
||||
QMAKE_PRL_VERSION = 4.8.5
|
||||
QMAKE_PRL_LIBS = -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtSql -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtCore -framework QtGui -framework QtNetwork
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
4
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
|
||||
<plist version="0.9">
|
||||
<dict>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>4.8</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>Created by Qt/QMake</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>QtMultimedia</string>
|
||||
<key>NOTE</key>
|
||||
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1 @@
|
|||
Versions/4/QtMultimedia
|
|
@ -0,0 +1,7 @@
|
|||
QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/multimedia
|
||||
QMAKE_PRO_INPUT = multimedia.pro
|
||||
QMAKE_PRL_TARGET = QtMultimedia
|
||||
QMAKE_PRL_DEFINES = QT_SHARED
|
||||
QMAKE_PRL_CONFIG = lex yacc warn_on uic resources sdk rez release ReleaseBuild Release build_pass qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend release stl qt_framework x86_64 release largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build release ReleaseBuild Release build_pass qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib release ReleaseBuild Release build_pass objective_c x86_64 no_autoqmake moc thread dll shared
|
||||
QMAKE_PRL_VERSION = 4.8.5
|
||||
QMAKE_PRL_LIBS = -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework ApplicationServices -framework CoreAudio -framework AudioUnit -framework AudioToolbox -framework QtGui -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtCore
|
|
@ -0,0 +1,7 @@
|
|||
QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/multimedia
|
||||
QMAKE_PRO_INPUT = multimedia.pro
|
||||
QMAKE_PRL_TARGET = QtMultimedia_debug
|
||||
QMAKE_PRL_DEFINES = QT_SHARED
|
||||
QMAKE_PRL_CONFIG = lex yacc warn_on debug uic resources sdk rez debug DebugBuild Debug build_pass qt warn_on app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend stl qt_framework x86_64 largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass qt_install_headers qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dll shared
|
||||
QMAKE_PRL_VERSION = 4.8.5
|
||||
QMAKE_PRL_LIBS = -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework ApplicationServices -framework CoreAudio -framework AudioUnit -framework AudioToolbox -framework QtGui -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtCore
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
4
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
|
||||
<plist version="0.9">
|
||||
<dict>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>4.8</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>Created by Qt/QMake</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>QtNetwork</string>
|
||||
<key>NOTE</key>
|
||||
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1 @@
|
|||
Versions/4/QtNetwork
|
|
@ -0,0 +1,7 @@
|
|||
QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/network
|
||||
QMAKE_PRO_INPUT = network.pro
|
||||
QMAKE_PRL_TARGET = QtNetwork
|
||||
QMAKE_PRL_DEFINES = QT_SHARED
|
||||
QMAKE_PRL_CONFIG = lex yacc warn_on uic resources sdk rez release ReleaseBuild Release build_pass qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend release stl qt_framework x86_64 release largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build release ReleaseBuild Release build_pass qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib release ReleaseBuild Release build_pass objective_c x86_64 no_autoqmake moc thread dll shared
|
||||
QMAKE_PRL_VERSION = 4.8.5
|
||||
QMAKE_PRL_LIBS = -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtCore -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib
|
|
@ -0,0 +1,7 @@
|
|||
QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/network
|
||||
QMAKE_PRO_INPUT = network.pro
|
||||
QMAKE_PRL_TARGET = QtNetwork_debug
|
||||
QMAKE_PRL_DEFINES = QT_SHARED
|
||||
QMAKE_PRL_CONFIG = lex yacc warn_on debug uic resources sdk rez debug DebugBuild Debug build_pass qt warn_on app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend stl qt_framework x86_64 largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass qt_install_headers qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dll shared
|
||||
QMAKE_PRL_VERSION = 4.8.5
|
||||
QMAKE_PRL_LIBS = -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtCore -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
4
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
|
||||
<plist version="0.9">
|
||||
<dict>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>4.8</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>Created by Qt/QMake</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>QtScript</string>
|
||||
<key>NOTE</key>
|
||||
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1 @@
|
|||
Versions/4/QtScript
|
|
@ -0,0 +1,7 @@
|
|||
QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/script
|
||||
QMAKE_PRO_INPUT = script.pro
|
||||
QMAKE_PRL_TARGET = QtScript
|
||||
QMAKE_PRL_DEFINES = QT_SHARED
|
||||
QMAKE_PRL_CONFIG = lex yacc uic resources sdk rez release ReleaseBuild Release build_pass qt release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend release stl qt_framework x86_64 release largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build release ReleaseBuild Release build_pass qt depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib building-libs standalone_package depend_includepath release ReleaseBuild Release build_pass objective_c x86_64 no_autoqmake moc thread dll shared
|
||||
QMAKE_PRL_VERSION = 4.8.5
|
||||
QMAKE_PRL_LIBS = -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtCore -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib
|
|
@ -0,0 +1,7 @@
|
|||
QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/script
|
||||
QMAKE_PRO_INPUT = script.pro
|
||||
QMAKE_PRL_TARGET = QtScript_debug
|
||||
QMAKE_PRL_DEFINES = QT_SHARED
|
||||
QMAKE_PRL_CONFIG = lex yacc debug uic resources sdk rez debug DebugBuild Debug build_pass qt app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend stl qt_framework x86_64 largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass qt_install_headers qt depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib building-libs standalone_package depend_includepath debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dll shared
|
||||
QMAKE_PRL_VERSION = 4.8.5
|
||||
QMAKE_PRL_LIBS = -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtCore -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
4
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
|
||||
<plist version="0.9">
|
||||
<dict>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>4.8</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>Created by Qt/QMake</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>QtScriptTools</string>
|
||||
<key>NOTE</key>
|
||||
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1 @@
|
|||
Versions/4/QtScriptTools
|
|
@ -0,0 +1,7 @@
|
|||
QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/scripttools
|
||||
QMAKE_PRO_INPUT = scripttools.pro
|
||||
QMAKE_PRL_TARGET = QtScriptTools
|
||||
QMAKE_PRL_DEFINES = QT_SHARED
|
||||
QMAKE_PRL_CONFIG = lex yacc warn_on uic resources sdk rez release ReleaseBuild Release build_pass qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend release stl qt_framework x86_64 release largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build release ReleaseBuild Release build_pass qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib release ReleaseBuild Release build_pass objective_c x86_64 no_autoqmake moc thread dll shared
|
||||
QMAKE_PRL_VERSION = 4.8.5
|
||||
QMAKE_PRL_LIBS = -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtScript -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtCore -framework QtGui
|
|
@ -0,0 +1,7 @@
|
|||
QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/scripttools
|
||||
QMAKE_PRO_INPUT = scripttools.pro
|
||||
QMAKE_PRL_TARGET = QtScriptTools_debug
|
||||
QMAKE_PRL_DEFINES = QT_SHARED
|
||||
QMAKE_PRL_CONFIG = lex yacc warn_on debug uic resources sdk rez debug DebugBuild Debug build_pass qt warn_on app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend stl qt_framework x86_64 largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass qt_install_headers qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dll shared
|
||||
QMAKE_PRL_VERSION = 4.8.5
|
||||
QMAKE_PRL_LIBS = -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtScript -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtCore -framework QtGui
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
4
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
|
||||
<plist version="0.9">
|
||||
<dict>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>4.8</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>Created by Qt/QMake</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>QtSql</string>
|
||||
<key>NOTE</key>
|
||||
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
||||
</dict>
|
||||
</plist>
|
1
FeedTheMonkey.app/Contents/Frameworks/QtSql.framework/QtSql
Symbolic link
1
FeedTheMonkey.app/Contents/Frameworks/QtSql.framework/QtSql
Symbolic link
|
@ -0,0 +1 @@
|
|||
Versions/4/QtSql
|
|
@ -0,0 +1,7 @@
|
|||
QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/sql
|
||||
QMAKE_PRO_INPUT = sql.pro
|
||||
QMAKE_PRL_TARGET = QtSql
|
||||
QMAKE_PRL_DEFINES = QT_SHARED
|
||||
QMAKE_PRL_CONFIG = lex yacc warn_on uic resources sdk rez release ReleaseBuild Release build_pass qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend release stl qt_framework x86_64 release largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build release ReleaseBuild Release build_pass qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib release ReleaseBuild Release build_pass objective_c x86_64 no_autoqmake moc thread dll shared
|
||||
QMAKE_PRL_VERSION = 4.8.5
|
||||
QMAKE_PRL_LIBS = -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtCore -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib
|
|
@ -0,0 +1,7 @@
|
|||
QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/sql
|
||||
QMAKE_PRO_INPUT = sql.pro
|
||||
QMAKE_PRL_TARGET = QtSql_debug
|
||||
QMAKE_PRL_DEFINES = QT_SHARED
|
||||
QMAKE_PRL_CONFIG = lex yacc warn_on debug uic resources sdk rez debug DebugBuild Debug build_pass qt warn_on app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend stl qt_framework x86_64 largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass qt_install_headers qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dll shared
|
||||
QMAKE_PRL_VERSION = 4.8.5
|
||||
QMAKE_PRL_LIBS = -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtCore -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
4
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
|
||||
<plist version="0.9">
|
||||
<dict>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>4.8</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>Created by Qt/QMake</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>QtSvg</string>
|
||||
<key>NOTE</key>
|
||||
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
||||
</dict>
|
||||
</plist>
|
1
FeedTheMonkey.app/Contents/Frameworks/QtSvg.framework/QtSvg
Symbolic link
1
FeedTheMonkey.app/Contents/Frameworks/QtSvg.framework/QtSvg
Symbolic link
|
@ -0,0 +1 @@
|
|||
Versions/4/QtSvg
|
|
@ -0,0 +1,7 @@
|
|||
QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/svg
|
||||
QMAKE_PRO_INPUT = svg.pro
|
||||
QMAKE_PRL_TARGET = QtSvg
|
||||
QMAKE_PRL_DEFINES = QT_SHARED
|
||||
QMAKE_PRL_CONFIG = lex yacc warn_on uic resources sdk rez release ReleaseBuild Release build_pass qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend release stl qt_framework x86_64 release largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build release ReleaseBuild Release build_pass qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib release ReleaseBuild Release build_pass objective_c x86_64 no_autoqmake moc thread dll shared
|
||||
QMAKE_PRL_VERSION = 4.8.5
|
||||
QMAKE_PRL_LIBS = -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtGui -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtCore
|
|
@ -0,0 +1,7 @@
|
|||
QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/svg
|
||||
QMAKE_PRO_INPUT = svg.pro
|
||||
QMAKE_PRL_TARGET = QtSvg_debug
|
||||
QMAKE_PRL_DEFINES = QT_SHARED
|
||||
QMAKE_PRL_CONFIG = lex yacc warn_on debug uic resources sdk rez debug DebugBuild Debug build_pass qt warn_on app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend stl qt_framework x86_64 largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass qt_install_headers qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dll shared
|
||||
QMAKE_PRL_VERSION = 4.8.5
|
||||
QMAKE_PRL_LIBS = -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtGui -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtCore
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
4
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
|
||||
<plist version="0.9">
|
||||
<dict>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>4.9</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>Created by Qt/QMake</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>QtWebKit</string>
|
||||
<key>NOTE</key>
|
||||
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1 @@
|
|||
Versions/4/QtWebKit
|
|
@ -0,0 +1,6 @@
|
|||
QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebKit/qt/
|
||||
QMAKE_PRO_INPUT = QtWebKit.pro
|
||||
QMAKE_PRL_TARGET = QtWebKit
|
||||
QMAKE_PRL_DEFINES = QT_SHARED
|
||||
QMAKE_PRL_CONFIG = lex yacc uic resources sdk rez release ReleaseBuild Release build_pass qt release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend release stl qt_framework x86_64 release largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build release ReleaseBuild Release build_pass building-libs depend_includepath standalone_package debug_and_release depend_includepath include_webinspector production production no_debug_info production qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework create_pc create_libtool release ReleaseBuild Release build_pass objective_c x86_64 no_autoqmake moc thread dll shared
|
||||
QMAKE_PRL_VERSION = 4.9.4
|
|
@ -0,0 +1,6 @@
|
|||
QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebKit/qt/
|
||||
QMAKE_PRO_INPUT = QtWebKit.pro
|
||||
QMAKE_PRL_TARGET = QtWebKit_debug
|
||||
QMAKE_PRL_DEFINES = QT_SHARED
|
||||
QMAKE_PRL_CONFIG = lex yacc debug uic resources sdk rez debug DebugBuild Debug build_pass qt app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend stl qt_framework x86_64 largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass building-libs depend_includepath standalone_package debug_and_release depend_includepath include_webinspector production production no_debug_info production qt_install_headers qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework create_pc create_libtool debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dll shared
|
||||
QMAKE_PRL_VERSION = 4.9.4
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
4
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
|
||||
<plist version="0.9">
|
||||
<dict>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>4.8</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>Created by Qt/QMake</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>QtXml</string>
|
||||
<key>NOTE</key>
|
||||
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
||||
</dict>
|
||||
</plist>
|
1
FeedTheMonkey.app/Contents/Frameworks/QtXml.framework/QtXml
Symbolic link
1
FeedTheMonkey.app/Contents/Frameworks/QtXml.framework/QtXml
Symbolic link
|
@ -0,0 +1 @@
|
|||
Versions/4/QtXml
|
|
@ -0,0 +1,7 @@
|
|||
QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/xml
|
||||
QMAKE_PRO_INPUT = xml.pro
|
||||
QMAKE_PRL_TARGET = QtXml
|
||||
QMAKE_PRL_DEFINES = QT_SHARED
|
||||
QMAKE_PRL_CONFIG = lex yacc warn_on uic resources sdk rez release ReleaseBuild Release build_pass qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend release stl qt_framework x86_64 release largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build release ReleaseBuild Release build_pass qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib release ReleaseBuild Release build_pass objective_c x86_64 no_autoqmake moc thread dll shared
|
||||
QMAKE_PRL_VERSION = 4.8.5
|
||||
QMAKE_PRL_LIBS = -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtCore -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib
|
|
@ -0,0 +1,7 @@
|
|||
QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/xml
|
||||
QMAKE_PRO_INPUT = xml.pro
|
||||
QMAKE_PRL_TARGET = QtXml_debug
|
||||
QMAKE_PRL_DEFINES = QT_SHARED
|
||||
QMAKE_PRL_CONFIG = lex yacc warn_on debug uic resources sdk rez debug DebugBuild Debug build_pass qt warn_on app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend stl qt_framework x86_64 largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass qt_install_headers qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dll shared
|
||||
QMAKE_PRL_VERSION = 4.8.5
|
||||
QMAKE_PRL_LIBS = -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtCore -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
4
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
|
||||
<plist version="0.9">
|
||||
<dict>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>4.8</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>Created by Qt/QMake</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>QtXmlPatterns</string>
|
||||
<key>NOTE</key>
|
||||
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1 @@
|
|||
Versions/4/QtXmlPatterns
|
|
@ -0,0 +1,7 @@
|
|||
QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/xmlpatterns
|
||||
QMAKE_PRO_INPUT = xmlpatterns.pro
|
||||
QMAKE_PRL_TARGET = QtXmlPatterns
|
||||
QMAKE_PRL_DEFINES = QT_SHARED
|
||||
QMAKE_PRL_CONFIG = lex yacc warn_on uic resources sdk rez release ReleaseBuild Release build_pass qt warn_on release app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend release stl qt_framework x86_64 release largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build release ReleaseBuild Release build_pass qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib release ReleaseBuild Release build_pass objective_c x86_64 no_autoqmake moc thread dll shared
|
||||
QMAKE_PRL_VERSION = 4.8.5
|
||||
QMAKE_PRL_LIBS = -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtNetwork -L/opt/X11/lib -L/usr/local/Cellar/qt/4.8.5/lib -F/usr/local/Cellar/qt/4.8.5/lib -framework QtCore
|
|
@ -0,0 +1,7 @@
|
|||
QMAKE_PRL_BUILD_DIR = /private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/./src/xmlpatterns
|
||||
QMAKE_PRO_INPUT = xmlpatterns.pro
|
||||
QMAKE_PRL_TARGET = QtXmlPatterns_debug
|
||||
QMAKE_PRL_DEFINES = QT_SHARED
|
||||
QMAKE_PRL_CONFIG = lex yacc warn_on debug uic resources sdk rez debug DebugBuild Debug build_pass qt warn_on app_bundle incremental global_init_link_order lib_version_first plugin_no_soname link_prl clang_pch_style shared def_files_disabled exceptions no_mocdepend stl qt_framework x86_64 largefile stl mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx x86_64 absolute_library_soname dylib create_prl link_prl depend_includepath QTDIR_build debug DebugBuild Debug build_pass qt_install_headers qt warn_on depend_includepath qmake_cache target_qt debug_and_release hide_symbols lib_bundle qt_no_framework_direct_includes qt_framework explicitlib create_pc create_libtool explicitlib debug DebugBuild Debug build_pass objective_c x86_64 no_autoqmake moc thread dll shared
|
||||
QMAKE_PRL_VERSION = 4.8.5
|
||||
QMAKE_PRL_LIBS = -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtNetwork -L/opt/X11/lib -L/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -F/private/tmp/qt-FECA/qt-everywhere-opensource-src-4.8.5/lib -framework QtCore
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
4
|
BIN
FeedTheMonkey.app/Contents/Frameworks/libQtCLucene.4.8.5.dylib
Normal file
BIN
FeedTheMonkey.app/Contents/Frameworks/libQtCLucene.4.8.5.dylib
Normal file
Binary file not shown.
1
FeedTheMonkey.app/Contents/Frameworks/libQtCLucene.4.dylib
Symbolic link
1
FeedTheMonkey.app/Contents/Frameworks/libQtCLucene.4.dylib
Symbolic link
|
@ -0,0 +1 @@
|
|||
libQtCLucene.4.8.5.dylib
|
98
FeedTheMonkey.app/Contents/Info.plist
Normal file
98
FeedTheMonkey.app/Contents/Info.plist
Normal file
|
@ -0,0 +1,98 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>FeedTheMonkey</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>FeedTheMonkey</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>Icon.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>nu.jabs.apps.feedthemonkey</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>FeedTheMonkey</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.1.1</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CFBundleURLName</key>
|
||||
<string>nu.jabs.apps.feedthemonkey.handler</string>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string>feedthemonkey</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>0.1.1</string>
|
||||
<key>LSHasLocalizedDisplayName</key>
|
||||
<false/>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>10.4</string>
|
||||
<key>NSAppleScriptEnabled</key>
|
||||
<false/>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright not specified</string>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>MainMenu</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>NSApplication</string>
|
||||
<key>PyMainFileNames</key>
|
||||
<array>
|
||||
<string>__boot__</string>
|
||||
</array>
|
||||
<key>PyOptions</key>
|
||||
<dict>
|
||||
<key>alias</key>
|
||||
<false/>
|
||||
<key>argv_emulation</key>
|
||||
<false/>
|
||||
<key>emulate_shell_environment</key>
|
||||
<false/>
|
||||
<key>no_chdir</key>
|
||||
<false/>
|
||||
<key>prefer_ppc</key>
|
||||
<false/>
|
||||
<key>site_packages</key>
|
||||
<false/>
|
||||
<key>use_pythonpath</key>
|
||||
<false/>
|
||||
</dict>
|
||||
<key>PyResourcePackages</key>
|
||||
<array>
|
||||
</array>
|
||||
<key>PyRuntimeLocations</key>
|
||||
<array>
|
||||
<string>@executable_path/../Frameworks/Python.framework/Versions/2.7/Python</string>
|
||||
</array>
|
||||
<key>PythonInfoDict</key>
|
||||
<dict>
|
||||
<key>PythonExecutable</key>
|
||||
<string>/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python</string>
|
||||
<key>PythonLongVersion</key>
|
||||
<string>2.7.5 (default, Sep 14 2013, 22:19:06)
|
||||
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)]</string>
|
||||
<key>PythonShortVersion</key>
|
||||
<string>2.7</string>
|
||||
<key>py2app</key>
|
||||
<dict>
|
||||
<key>alias</key>
|
||||
<false/>
|
||||
<key>template</key>
|
||||
<string>app</string>
|
||||
<key>version</key>
|
||||
<string>0.7.3</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
BIN
FeedTheMonkey.app/Contents/MacOS/FeedTheMonkey
Executable file
BIN
FeedTheMonkey.app/Contents/MacOS/FeedTheMonkey
Executable file
Binary file not shown.
BIN
FeedTheMonkey.app/Contents/MacOS/python
Executable file
BIN
FeedTheMonkey.app/Contents/MacOS/python
Executable file
Binary file not shown.
1
FeedTheMonkey.app/Contents/PkgInfo
Normal file
1
FeedTheMonkey.app/Contents/PkgInfo
Normal file
|
@ -0,0 +1 @@
|
|||
APPL????
|
BIN
FeedTheMonkey.app/Contents/Resources/Icon.icns
Normal file
BIN
FeedTheMonkey.app/Contents/Resources/Icon.icns
Normal file
Binary file not shown.
43
FeedTheMonkey.app/Contents/Resources/__boot__.py
Normal file
43
FeedTheMonkey.app/Contents/Resources/__boot__.py
Normal file
|
@ -0,0 +1,43 @@
|
|||
def _reset_sys_path():
|
||||
# Clear generic sys.path[0]
|
||||
import sys, os
|
||||
resources = os.environ['RESOURCEPATH']
|
||||
while sys.path[0] == resources:
|
||||
del sys.path[0]
|
||||
_reset_sys_path()
|
||||
|
||||
|
||||
def _chdir_resource():
|
||||
import os
|
||||
os.chdir(os.environ['RESOURCEPATH'])
|
||||
_chdir_resource()
|
||||
|
||||
|
||||
def _disable_linecache():
|
||||
import linecache
|
||||
def fake_getline(*args, **kwargs):
|
||||
return ''
|
||||
linecache.orig_getline = linecache.getline
|
||||
linecache.getline = fake_getline
|
||||
_disable_linecache()
|
||||
|
||||
|
||||
def _run():
|
||||
global __file__
|
||||
import os, sys, site
|
||||
sys.frozen = 'macosx_app'
|
||||
base = os.environ['RESOURCEPATH']
|
||||
|
||||
argv0 = os.path.basename(os.environ['ARGVZERO'])
|
||||
script = SCRIPT_MAP.get(argv0, DEFAULT_SCRIPT)
|
||||
|
||||
path = os.path.join(base, script)
|
||||
sys.argv[0] = __file__ = path
|
||||
with open(path, 'rU') as fp:
|
||||
source = fp.read() + "\n"
|
||||
exec(compile(source, path, 'exec'), globals(), globals())
|
||||
|
||||
|
||||
DEFAULT_SCRIPT='feedthemonkey'
|
||||
SCRIPT_MAP={}
|
||||
_run()
|
19
FeedTheMonkey.app/Contents/Resources/__error__.sh
Executable file
19
FeedTheMonkey.app/Contents/Resources/__error__.sh
Executable file
|
@ -0,0 +1,19 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# This is the default apptemplate error script
|
||||
#
|
||||
if ( test -n "$2" ) ; then
|
||||
echo "$1 Error"
|
||||
echo "An unexpected error has occurred during execution of the main script"
|
||||
echo ""
|
||||
echo "$2: $3"
|
||||
echo ""
|
||||
echo "See the Console for a detailed traceback."
|
||||
else
|
||||
echo "$1 Error"
|
||||
|
||||
# Usage: ERRORURL <anURL> <a button label>, this is used by the
|
||||
# bundle runner to put up a dialog.
|
||||
#echo "ERRORURL: http://www.python.org/ Visit the Python Website
|
||||
# echo "ERRORURL: http://homepages.cwi.nl/~jack/macpython/index.html Visit the MacPython Website"
|
||||
fi
|
537
FeedTheMonkey.app/Contents/Resources/feedthemonkey
Executable file
537
FeedTheMonkey.app/Contents/Resources/feedthemonkey
Executable file
|
@ -0,0 +1,537 @@
|
|||
#!/usr/bin/env python2
|
||||
|
||||
import sys, os, json, tempfile, urllib2, urllib, json
|
||||
from PyQt4 import QtGui, QtCore, QtWebKit, QtNetwork
|
||||
from threading import Thread
|
||||
from sys import platform as _platform
|
||||
|
||||
settings = QtCore.QSettings("jabs.nu", "feedthemonkey")
|
||||
|
||||
class MainWindow(QtGui.QMainWindow):
|
||||
def __init__(self):
|
||||
QtGui.QMainWindow.__init__(self)
|
||||
self.setWindowIcon(QtGui.QIcon("feedmonkey"))
|
||||
self.addAction(QtGui.QAction("Full Screen", self, checkable=True, toggled=lambda v: self.showFullScreen() if v else self.showNormal(), shortcut="F11"))
|
||||
self.history = self.get("history", [])
|
||||
self.restoreGeometry(QtCore.QByteArray.fromRawData(settings.value("geometry").toByteArray()))
|
||||
self.restoreState(QtCore.QByteArray.fromRawData(settings.value("state").toByteArray()))
|
||||
|
||||
self.initUI()
|
||||
|
||||
session_id = self.get("session_id")
|
||||
server_url = self.get("server_url")
|
||||
|
||||
if not (session_id and server_url):
|
||||
self.authenticate()
|
||||
else:
|
||||
self.initApp()
|
||||
|
||||
|
||||
def initUI(self):
|
||||
self.list = List(self)
|
||||
self.content = Content(self)
|
||||
|
||||
self.splitter = QtGui.QSplitter(QtCore.Qt.Vertical, self)
|
||||
self.splitter.setHandleWidth(1)
|
||||
self.splitter.addWidget(self.list)
|
||||
self.splitter.addWidget(self.content)
|
||||
self.splitter.restoreState(settings.value("splitterSizes").toByteArray());
|
||||
self.splitter.splitterMoved.connect(self.splitterMoved)
|
||||
|
||||
self.setCentralWidget(self.splitter)
|
||||
|
||||
def mkAction(name, connect, shortcut=None):
|
||||
action = QtGui.QAction(name, self)
|
||||
action.triggered.connect(connect)
|
||||
if shortcut:
|
||||
action.setShortcut(shortcut)
|
||||
return action
|
||||
|
||||
mb = self.menuBar()
|
||||
|
||||
fileMenu = mb.addMenu("&File")
|
||||
fileMenu.addAction(mkAction("&Close", self.close, "Ctrl+W"))
|
||||
fileMenu.addAction(mkAction("&Log Out", self.logOut))
|
||||
fileMenu.addSeparator()
|
||||
fileMenu.addAction(mkAction("&Exit", self.close, "Ctrl+Q"))
|
||||
|
||||
actionMenu = mb.addMenu("&Action")
|
||||
actionMenu.addAction(mkAction("&Reload", self.content.reload, "R"))
|
||||
actionMenu.addAction(mkAction("Set &Unread", self.content.setUnread, "U"))
|
||||
actionMenu.addAction(mkAction("&Next", self.content.showNext, "J"))
|
||||
actionMenu.addAction(mkAction("&Previous", self.content.showPrevious, "K"))
|
||||
actionMenu.addAction(mkAction("&Open in Browser", self.content.openCurrent, "N"))
|
||||
|
||||
viewMenu = mb.addMenu("&View")
|
||||
viewMenu.addAction(mkAction("Zoom &In", lambda: self.content.wb.setZoomFactor(self.content.wb.zoomFactor() + 0.2), "Ctrl++"))
|
||||
viewMenu.addAction(mkAction("Zoom &Out", lambda: self.content.wb.setZoomFactor(self.content.wb.zoomFactor() - 0.2), "Ctrl+-"))
|
||||
viewMenu.addAction(mkAction("&Reset", lambda: self.content.wb.setZoomFactor(1), "Ctrl+0"))
|
||||
|
||||
windowMenu = mb.addMenu("&Window")
|
||||
windowMenu.addAction(mkAction("Default", self.resetSplitter, "Ctrl+D"))
|
||||
|
||||
helpMenu = mb.addMenu("&Help")
|
||||
helpMenu.addAction(mkAction("&About", lambda: QtGui.QDesktopServices.openUrl(QtCore.QUrl("http://jabs.nu/feedthemonkey", QtCore.QUrl.TolerantMode)) ))
|
||||
|
||||
def initApp(self):
|
||||
session_id = self.get("session_id")
|
||||
server_url = self.get("server_url")
|
||||
self.tinyTinyRSS = TinyTinyRSS(self, server_url, session_id)
|
||||
|
||||
self.content.evaluateJavaScript("setArticle('loading')")
|
||||
self.content.reload()
|
||||
self.show()
|
||||
|
||||
def closeEvent(self, ev):
|
||||
settings.setValue("geometry", self.saveGeometry())
|
||||
settings.setValue("state", self.saveState())
|
||||
return QtGui.QMainWindow.closeEvent(self, ev)
|
||||
|
||||
def put(self, key, value):
|
||||
"Persist an object somewhere under a given key"
|
||||
settings.setValue(key, json.dumps(value))
|
||||
settings.sync()
|
||||
|
||||
def get(self, key, default=None):
|
||||
"Get the object stored under 'key' in persistent storage, or the default value"
|
||||
v = settings.value(key)
|
||||
return json.loads(unicode(v.toString())) if v.isValid() else default
|
||||
|
||||
def setWindowTitle(self, t):
|
||||
super(QtGui.QMainWindow, self).setWindowTitle("Feed the Monkey" + t)
|
||||
|
||||
def splitterMoved(self, pos, index):
|
||||
settings.setValue("splitterSizes", self.splitter.saveState());
|
||||
|
||||
def resetSplitter(self):
|
||||
sizes = self.splitter.sizes()
|
||||
top = sizes[0]
|
||||
bottom = sizes[1]
|
||||
sizes[0] = 200
|
||||
sizes[1] = bottom + top - 200
|
||||
self.splitter.setSizes(sizes)
|
||||
|
||||
def authenticate(self):
|
||||
|
||||
dialog = Login()
|
||||
|
||||
def callback():
|
||||
|
||||
server_url = str(dialog.textServerUrl.text())
|
||||
user = str(dialog.textName.text())
|
||||
password = str(dialog.textPass.text())
|
||||
|
||||
session_id = TinyTinyRSS.login(server_url, user, password)
|
||||
if session_id:
|
||||
self.put("session_id", session_id)
|
||||
self.put("server_url", server_url)
|
||||
self.initApp()
|
||||
else:
|
||||
self.authenticate()
|
||||
|
||||
dialog.accepted.connect(callback)
|
||||
|
||||
dialog.exec_()
|
||||
|
||||
def logOut(self):
|
||||
self.hide()
|
||||
self.content.evaluateJavaScript("setArticle('logout')")
|
||||
self.tinyTinyRSS.logOut()
|
||||
self.tinyTinyRSS = None
|
||||
self.put("session_id", None)
|
||||
self.put("server_url", None)
|
||||
self.authenticate()
|
||||
|
||||
class List(QtGui.QTableWidget):
|
||||
def __init__(self, container):
|
||||
QtGui.QTableWidget.__init__(self)
|
||||
self.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
|
||||
self.app = container
|
||||
self.itemSelectionChanged.connect(self.rowSelected)
|
||||
self.setShowGrid(False)
|
||||
|
||||
def initHeader(self):
|
||||
self.clear()
|
||||
self.setColumnCount(3)
|
||||
self.setHorizontalHeaderLabels(("Feed", "Title", "Date"))
|
||||
self.horizontalHeader().setResizeMode(0, QtGui.QHeaderView.ResizeToContents)
|
||||
self.horizontalHeader().setResizeMode(1, QtGui.QHeaderView.Stretch)
|
||||
self.horizontalHeader().setResizeMode(2, QtGui.QHeaderView.ResizeToContents)
|
||||
self.verticalHeader().hide()
|
||||
|
||||
def setItems(self, articles):
|
||||
self.initHeader()
|
||||
self.setRowCount(len(articles))
|
||||
row = 0
|
||||
for article in articles:
|
||||
if "feed_title" in article:
|
||||
feed_title = QtGui.QTableWidgetItem(article["feed_title"])
|
||||
feed_title.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
||||
self.setItem(row, 0, feed_title)
|
||||
if "title" in article:
|
||||
title = QtGui.QTableWidgetItem(article["title"])
|
||||
title.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
||||
self.setItem(row, 1, title)
|
||||
if "updated" in article:
|
||||
date = QtCore.QDateTime.fromTime_t(article["updated"]).toString(QtCore.Qt.SystemLocaleShortDate)
|
||||
d = QtGui.QTableWidgetItem(date)
|
||||
d.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
||||
self.setItem(row, 2, d)
|
||||
if "author" in article:
|
||||
author = QtGui.QTableWidgetItem(article["author"])
|
||||
author.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
||||
self.setItem(row, 3, author)
|
||||
self.resizeRowToContents(row)
|
||||
row += 1
|
||||
self.selectRow(0)
|
||||
|
||||
def rowSelected(self):
|
||||
indexes = self.selectedIndexes()
|
||||
if len(indexes) > 0:
|
||||
row = indexes[0].row()
|
||||
self.app.content.showIndex(row)
|
||||
|
||||
def updateRead(self):
|
||||
for row, article in enumerate(self.app.content.unread_articles):
|
||||
for x in xrange(0,3):
|
||||
item = self.item(row, x)
|
||||
font = item.font()
|
||||
font.setBold(article["unread"])
|
||||
item.setFont(font)
|
||||
|
||||
|
||||
class Content(QtGui.QWidget):
|
||||
def __init__(self, container):
|
||||
QtGui.QWidget.__init__(self)
|
||||
|
||||
self.app = container
|
||||
self.index = 0
|
||||
|
||||
self.wb = QtWebKit.QWebView(titleChanged=lambda t: container.setWindowTitle(t))
|
||||
self.wb.page().setLinkDelegationPolicy(QtWebKit.QWebPage.DelegateAllLinks)
|
||||
self.wb.linkClicked.connect(lambda url: self.openLink(url))
|
||||
|
||||
self.setLayout(QtGui.QVBoxLayout(spacing=0))
|
||||
self.layout().setContentsMargins(0, 0, 0, 0)
|
||||
self.layout().addWidget(self.wb)
|
||||
|
||||
self.do_show_next = QtGui.QShortcut(QtCore.Qt.Key_Right, self, activated=self.showNext)
|
||||
self.do_show_previous = QtGui.QShortcut(QtCore.Qt.Key_Left, self, activated=self.showPrevious)
|
||||
self.do_open = QtGui.QShortcut("Return", self, activated=self.openCurrent)
|
||||
|
||||
self.wb.settings().setAttribute(QtWebKit.QWebSettings.PluginsEnabled, True)
|
||||
self.wb.settings().setIconDatabasePath(tempfile.mkdtemp())
|
||||
self.wb.setHtml(self.templateString())
|
||||
|
||||
self.unread_articles = []
|
||||
|
||||
def openLink(self, url):
|
||||
QtGui.QDesktopServices.openUrl(url)
|
||||
|
||||
def reload(self):
|
||||
w = WorkerThread(self.app, self._reload)
|
||||
self.connect(w, QtCore.SIGNAL("reload_done()"), self.reload_done)
|
||||
w.start()
|
||||
|
||||
def setUnread(self):
|
||||
article = self.unread_articles[self.index]
|
||||
article["unread"] = True
|
||||
article["set_unread"] = True
|
||||
self.app.list.updateRead()
|
||||
|
||||
def _reload(self):
|
||||
self.unread_articles = self.app.tinyTinyRSS.getUnreadFeeds()
|
||||
self.index = -1
|
||||
|
||||
def reload_done(self):
|
||||
self.setUnreadCount()
|
||||
if len(self.unread_articles) > 0:
|
||||
self.showNext()
|
||||
self.app.list.setItems(self.unread_articles)
|
||||
|
||||
def showIndex(self, index):
|
||||
previous = self.unread_articles[self.index]
|
||||
if not "set_unread" in previous or not previous["set_unread"]:
|
||||
self.app.tinyTinyRSS.setArticleRead(previous["id"])
|
||||
previous["unread"] = False
|
||||
self.app.list.updateRead()
|
||||
else:
|
||||
previous["set_unread"] = False
|
||||
self.index = index
|
||||
current = self.unread_articles[self.index]
|
||||
self.setArticle(current)
|
||||
self.setUnreadCount()
|
||||
|
||||
def showNext(self):
|
||||
if self.index >= 0 and self.index < len(self.unread_articles):
|
||||
previous = self.unread_articles[self.index]
|
||||
if not "set_unread" in previous or not previous["set_unread"]:
|
||||
self.app.tinyTinyRSS.setArticleRead(previous["id"])
|
||||
previous["unread"] = False
|
||||
self.app.list.updateRead()
|
||||
else:
|
||||
previous["set_unread"] = False
|
||||
|
||||
if len(self.unread_articles) > self.index + 1:
|
||||
self.index += 1
|
||||
current = self.unread_articles[self.index]
|
||||
self.setArticle(current)
|
||||
else:
|
||||
if self.index < len(self.unread_articles):
|
||||
self.index += 1
|
||||
|
||||
self.setUnreadCount()
|
||||
self.app.list.selectRow(self.index)
|
||||
|
||||
def showPrevious(self):
|
||||
if self.index > 0:
|
||||
self.index -= 1
|
||||
previous = self.unread_articles[self.index]
|
||||
self.setArticle(previous)
|
||||
self.setUnreadCount()
|
||||
self.app.list.selectRow(self.index)
|
||||
|
||||
def openCurrent(self):
|
||||
current = self.unread_articles[self.index]
|
||||
url = QtCore.QUrl(current["link"])
|
||||
self.openLink(url)
|
||||
|
||||
def setArticle(self, article):
|
||||
func = u"setArticle({});".format(json.dumps(article))
|
||||
self.evaluateJavaScript(func)
|
||||
|
||||
def evaluateJavaScript(self, func):
|
||||
return self.wb.page().mainFrame().evaluateJavaScript(func)
|
||||
|
||||
def setUnreadCount(self):
|
||||
length = len(self.unread_articles)
|
||||
i = 0
|
||||
if self.index > 0:
|
||||
i = self.index
|
||||
unread = length - i
|
||||
|
||||
self.app.setWindowTitle(" (" + str(unread) + "/" + str(length) + ")")
|
||||
if unread < 1:
|
||||
self.evaluateJavaScript("setArticle('empty')")
|
||||
|
||||
def templateString(self):
|
||||
html="""
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>ttrssl</title>
|
||||
<script type="text/javascript">
|
||||
function $(id) {
|
||||
return document.getElementById(id);
|
||||
}
|
||||
|
||||
function setArticle(article) {
|
||||
window.scrollTo(0, 0);
|
||||
|
||||
$("date").innerHTML = "";
|
||||
$("title").innerHTML = "";
|
||||
$("title").href = "";
|
||||
$("title").title = "";
|
||||
$("feed_title").innerHTML = "";
|
||||
$("author").innerHTML = "";
|
||||
$("article").innerHTML = "";
|
||||
|
||||
if(article == "empty") {
|
||||
|
||||
$("article").innerHTML = "No unread articles to display.";
|
||||
|
||||
} else if(article == "loading") {
|
||||
|
||||
$("article").innerHTML = "Loading <blink>…</blink>";
|
||||
|
||||
} else if (article == "logout") {
|
||||
|
||||
} else if(article) {
|
||||
|
||||
$("date").innerHTML = (new Date(parseInt(article.updated, 10) * 1000));
|
||||
$("title").innerHTML = article.title;
|
||||
$("title").href = article.link;
|
||||
$("title").title = article.link;
|
||||
$("feed_title").innerHTML = article.feed_title;
|
||||
$("author").innerHTML = "";
|
||||
if(article.author && article.author.length > 0)
|
||||
$("author").innerHTML = "– " + article.author
|
||||
$("article").innerHTML = article.content;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-family: "Ubuntu", "Lucida Grande", "Tahoma", sans-serif;
|
||||
padding: 1em 2em 1em 2em;
|
||||
}
|
||||
body.darwin {
|
||||
font-family: "LucidaGrande", sans-serif;
|
||||
}
|
||||
h1 {
|
||||
font-weight: normal;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
header {
|
||||
margin-bottom: 1em;
|
||||
border-bottom: 1px solid #aaa;
|
||||
padding-bottom: 1em;
|
||||
}
|
||||
header p {
|
||||
color: #aaa;
|
||||
margin: 0;
|
||||
padding: 0
|
||||
}
|
||||
a {
|
||||
color: #772953;
|
||||
text-decoration: none;
|
||||
}
|
||||
img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
article {
|
||||
line-height: 1.6;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class='""" + _platform + """''>
|
||||
<header>
|
||||
<p><span id="feed_title"></span> <span id="author"></span></p>
|
||||
<h1><a id="title" href=""></a></h1>
|
||||
<p><timedate id="date"></timedate></p>
|
||||
</header>
|
||||
<article id="article"></article>
|
||||
</body>
|
||||
</html>"""
|
||||
return html # string.replace(html, "<body", "<body class='" + _platform + "'")
|
||||
|
||||
|
||||
|
||||
class TinyTinyRSS:
|
||||
def __init__(self, app, server_url, session_id):
|
||||
self.app = app
|
||||
if server_url and session_id:
|
||||
self.server_url = server_url
|
||||
self.session_id = session_id
|
||||
else:
|
||||
self.app.authenticate()
|
||||
|
||||
def doOperation(self, operation, options=None):
|
||||
url = self.server_url + "/api/"
|
||||
default_options = {'sid': self.session_id, 'op': operation}
|
||||
if options:
|
||||
options = dict(default_options.items() + options.items())
|
||||
else:
|
||||
options = default_options
|
||||
json_string = json.dumps(options)
|
||||
req = urllib2.Request(url)
|
||||
fd = urllib2.urlopen(req, json_string)
|
||||
body = ""
|
||||
while True:
|
||||
data = fd.read(1024)
|
||||
if not len(data):
|
||||
break
|
||||
body += data
|
||||
|
||||
return json.loads(body)["content"]
|
||||
|
||||
def getUnreadFeeds(self):
|
||||
unread_articles = []
|
||||
def more(skip):
|
||||
return self.doOperation("getHeadlines", {"show_excerpt": False, "view_mode": "unread", "show_content": True, "feed_id": -4, "skip": skip})
|
||||
|
||||
skip = 0
|
||||
while True:
|
||||
new = more( skip)
|
||||
unread_articles += new
|
||||
length = len(new)
|
||||
|
||||
if length < 1:
|
||||
break
|
||||
skip += length
|
||||
|
||||
return unread_articles
|
||||
|
||||
def setArticleRead(self, article_id):
|
||||
l = lambda: self.doOperation("updateArticle", {'article_ids':article_id, 'mode': 0, 'field': 2})
|
||||
t = Thread(target=l)
|
||||
t.start()
|
||||
|
||||
def logOut(self):
|
||||
self.doOperation("logout")
|
||||
|
||||
@classmethod
|
||||
def login(self, server_url, user, password):
|
||||
url = server_url + "/api/"
|
||||
options = {"op": "login", "user": user, "password": password}
|
||||
json_string = json.dumps(options)
|
||||
req = urllib2.Request(url)
|
||||
fd = urllib2.urlopen(req, json_string)
|
||||
body = ""
|
||||
while 1:
|
||||
data = fd.read(1024)
|
||||
if not len(data):
|
||||
break
|
||||
body += data
|
||||
|
||||
body = json.loads(body)["content"]
|
||||
|
||||
if body.has_key("error"):
|
||||
msgBox = QtGui.QMessageBox()
|
||||
msgBox.setText(body["error"])
|
||||
msgBox.exec_()
|
||||
return None
|
||||
|
||||
return body["session_id"]
|
||||
|
||||
|
||||
class Login(QtGui.QDialog):
|
||||
def __init__(self):
|
||||
QtGui.QDialog.__init__(self)
|
||||
self.setWindowIcon(QtGui.QIcon("feedmonkey.png"))
|
||||
self.setWindowTitle("Feed the Monkey - Login")
|
||||
|
||||
self.label = QtGui.QLabel(self)
|
||||
self.label.setText("Please specify a server url, a username and a password.")
|
||||
|
||||
self.textServerUrl = QtGui.QLineEdit(self)
|
||||
self.textServerUrl.setPlaceholderText("http://example.com/ttrss/")
|
||||
self.textServerUrl.setText("http://")
|
||||
|
||||
self.textName = QtGui.QLineEdit(self)
|
||||
self.textName.setPlaceholderText("username")
|
||||
|
||||
self.textPass = QtGui.QLineEdit(self)
|
||||
self.textPass.setEchoMode(QtGui.QLineEdit.Password);
|
||||
self.textPass.setPlaceholderText("password")
|
||||
|
||||
self.buttons = QtGui.QDialogButtonBox(QtGui.QDialogButtonBox.Ok)
|
||||
self.buttons.accepted.connect(self.accept)
|
||||
|
||||
layout = QtGui.QVBoxLayout(self)
|
||||
layout.addWidget(self.label)
|
||||
layout.addWidget(self.textServerUrl)
|
||||
layout.addWidget(self.textName)
|
||||
layout.addWidget(self.textPass)
|
||||
layout.addWidget(self.buttons)
|
||||
|
||||
|
||||
class WorkerThread(QtCore.QThread):
|
||||
|
||||
def __init__(self, parent, do_reload):
|
||||
super(WorkerThread, self).__init__(parent)
|
||||
self.do_reload = do_reload
|
||||
|
||||
def run(self):
|
||||
self.do_reload()
|
||||
self.emit(QtCore.SIGNAL("reload_done()"))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
app = QtGui.QApplication(sys.argv)
|
||||
wb = MainWindow()
|
||||
wb.show()
|
||||
sys.exit(app.exec_())
|
1267
FeedTheMonkey.app/Contents/Resources/include/python2.7/pyconfig.h
Normal file
1267
FeedTheMonkey.app/Contents/Resources/include/python2.7/pyconfig.h
Normal file
File diff suppressed because it is too large
Load diff
1397
FeedTheMonkey.app/Contents/Resources/lib/python2.7/config/Makefile
Normal file
1397
FeedTheMonkey.app/Contents/Resources/lib/python2.7/config/Makefile
Normal file
File diff suppressed because it is too large
Load diff
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue