diff --git a/Content.qml b/Content.qml new file mode 100644 index 0000000..b26a350 --- /dev/null +++ b/Content.qml @@ -0,0 +1,14 @@ +import QtWebKit 3.0 + +WebView { + id: webview + url: "content.html" + onNavigationRequested: { + if (request.navigationType != WebView.LinkClickedNavigation) { + request.action = WebView.AcceptRequest; + } else { + request.action = WebView.IgnoreRequest; + Qt.openUrlExternally(request.url); + } + } +} diff --git a/FeedMonkey2.pro b/FeedMonkey2.pro new file mode 100644 index 0000000..d71c6f4 --- /dev/null +++ b/FeedMonkey2.pro @@ -0,0 +1,22 @@ +TEMPLATE = app + +QT += qml quick + +SOURCES += main.cpp + +RESOURCES += qml.qrc \ + html.qrc + +# Needed for bringing browser from background to foreground using QDesktopServices: http://bugreports.qt-project.org/browse/QTBUG-8336 +TARGET.CAPABILITY += SwEvent + +# Additional import path used to resolve QML modules in Qt Creator's code model +QML_IMPORT_PATH = + +# Default rules for deployment. +include(deployment.pri) + +OTHER_FILES += \ + content.html \ + content.css \ + content.js diff --git a/FeedMonkey2.pro.user b/FeedMonkey2.pro.user new file mode 100644 index 0000000..9267b6f --- /dev/null +++ b/FeedMonkey2.pro.user @@ -0,0 +1,267 @@ + + + + + + EnvironmentId + {95de59b0-92ad-4eae-b9f7-c51eac02755b} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.3 clang 64bit + Desktop Qt 5.3 clang 64bit + qt.53.clang_64_kit + 0 + 0 + 0 + + /Users/jeena/Desktop/build-FeedMonkey2-Desktop_Qt_5_3_clang_64bit-Debug + + + true + qmake + + QtProjectManager.QMakeBuildStep + false + true + + false + + + true + Make + + Qt4ProjectManager.MakeStep + + -w + -r + + false + + + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + -w + -r + + true + clean + + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + + Qt4ProjectManager.Qt4BuildConfiguration + 2 + true + + + /Users/jeena/Desktop/build-FeedMonkey2-Desktop_Qt_5_3_clang_64bit-Release + + + true + qmake + + QtProjectManager.QMakeBuildStep + false + true + + false + + + true + Make + + Qt4ProjectManager.MakeStep + + -w + -r + + false + + + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + -w + -r + + true + clean + + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + 2 + + + 0 + Deploy + + ProjectExplorer.BuildSteps.Deploy + + 1 + Deploy locally + + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + + false + false + false + false + true + 0.01 + 10 + true + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + FeedMonkey2 + FeedMonkey22 + Qt4ProjectManager.Qt4RunConfiguration:/Users/jeena/Projects/FeedMonkey2/FeedMonkey2.pro + + FeedMonkey2.pro + false + false + + 3768 + false + true + false + false + true + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 16 + + + Version + 16 + + diff --git a/TheMenuBar.qml b/TheMenuBar.qml new file mode 100644 index 0000000..d2bca2f --- /dev/null +++ b/TheMenuBar.qml @@ -0,0 +1,86 @@ +import QtQuick.Controls 1.2 + +MenuBar { + + Menu { + title: "File" + MenuItem { + text: "Close" + shortcut: "Ctrl+W" + } + MenuItem { + text: "Log Out" + } + MenuSeparator { } + MenuItem { + text: "Exit" + shortcut: "Ctrl+Q" + onTriggered: Qt.quit() + } + } + + Menu { + title: "Action" + MenuItem { + text: "Reload" + shortcut: "R" + } + MenuItem { + text: "Show &Starred" + shortcut: "Ctrl+S" + } + MenuItem { + text: "Set &Starred" + shortcut: "S" + } + MenuItem { + text: "Set &Unread" + shortcut: "U" + } + MenuItem { + text: "Next" + shortcut: "J" + } + MenuItem { + text: "Previous" + shortcut: "K" + } + MenuItem { + text: "Open in Browser" + shortcut: "N" + } + } + + Menu { + title: "View" + MenuItem { + text: "Zoom In" + shortcut: "Ctrl++" + } + MenuItem { + text: "Zoom Out" + shortcut: "Ctrl+-" + } + MenuItem { + text: "Reset" + shortcut: "Ctrl+0" + } + } + + Menu { + title: "Window" + MenuItem { + text: "Reset to default" + shortcut: "Ctrl+D" + } + } + + Menu { + title: "Help" + MenuItem { + text: "About" + onTriggered: Qt.openUrlExternally("http://jabs.nu/feedthemonkey"); + } + } + +} diff --git a/content.css b/content.css new file mode 100644 index 0000000..4c9a560 --- /dev/null +++ b/content.css @@ -0,0 +1,37 @@ +body { + font-family: "Ubuntu", "Lucida Grande", "Tahoma", sans-serif; + padding: 1em 2em 1em 2em; + background: red; +} +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; +} +.starred:after { + content: "*"; +} +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; +} diff --git a/content.html b/content.html new file mode 100644 index 0000000..f28fec8 --- /dev/null +++ b/content.html @@ -0,0 +1,17 @@ + + + + + TTRSS + + + + +
+

+

+

+
+
+ + diff --git a/content.js b/content.js new file mode 100644 index 0000000..8055858 --- /dev/null +++ b/content.js @@ -0,0 +1,39 @@ +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 "; + + } 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; + $("title").className = article.marked ? "starred" : ""; + $("author").innerHTML = ""; + if(article.author && article.author.length > 0) + $("author").innerHTML = "– " + article.author + $("article").innerHTML = article.content; + } +} diff --git a/deployment.pri b/deployment.pri new file mode 100644 index 0000000..5441b63 --- /dev/null +++ b/deployment.pri @@ -0,0 +1,27 @@ +android-no-sdk { + target.path = /data/user/qt + export(target.path) + INSTALLS += target +} else:android { + x86 { + target.path = /libs/x86 + } else: armeabi-v7a { + target.path = /libs/armeabi-v7a + } else { + target.path = /libs/armeabi + } + export(target.path) + INSTALLS += target +} else:unix { + isEmpty(target.path) { + qnx { + target.path = /tmp/$${TARGET}/bin + } else { + target.path = /opt/$${TARGET}/bin + } + export(target.path) + } + INSTALLS += target +} + +export(INSTALLS) diff --git a/html.qrc b/html.qrc new file mode 100644 index 0000000..8f02629 --- /dev/null +++ b/html.qrc @@ -0,0 +1,7 @@ + + + content.css + content.html + content.js + + diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..68bab45 --- /dev/null +++ b/main.cpp @@ -0,0 +1,13 @@ +#include +#include +#include + +int main(int argc, char *argv[]) +{ + QGuiApplication app(argc, argv); + + QQmlApplicationEngine engine; + engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); + + return app.exec(); +} diff --git a/main.qml b/main.qml new file mode 100644 index 0000000..7b4488a --- /dev/null +++ b/main.qml @@ -0,0 +1,15 @@ +import QtQuick 2.3 +import QtQuick.Controls 1.2 + +ApplicationWindow { + id: window + visible: true + width: 360 + height: 360 + + menuBar: TheMenuBar {} + + Content { + anchors.fill: parent + } +} diff --git a/qml.qrc b/qml.qrc new file mode 100644 index 0000000..2b1e823 --- /dev/null +++ b/qml.qrc @@ -0,0 +1,7 @@ + + + main.qml + TheMenuBar.qml + Content.qml + +