diff --git a/.travis.yml b/.travis.yml
index dd3eb50..fcc6e8d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,23 +2,32 @@ language: cpp
compiler: gcc
sudo: require
dist: trusty
-
before_install:
- - sudo add-apt-repository ppa:beineri/opt-qt58-trusty -y
- - sudo apt-get update -qq
-
-install:
- - sudo apt-get -y install qt58base qt58webengine qt58quickcontrols
- - source /opt/qt58/bin/qt58-env.sh
-
+- sudo add-apt-repository ppa:beineri/opt-qt58-trusty -y
+- sudo apt-get update -qq
+install:
+- sudo apt-get -y install qt58base qt58webengine qt58quickcontrols
+- source /opt/qt58/bin/qt58-env.sh
script:
- - qmake PREFIX=/usr
- - make -j4
- - sudo make INSTALL_ROOT=appdir install ; sudo chown -R $USER appdir ; find appdir/
- - wget -c "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage"
- - chmod a+x linuxdeployqt*.AppImage
- - unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH
- - ./linuxdeployqt*.AppImage ./appdir/usr/share/applications/*.desktop -qmldir=./qml/ -bundle-non-qt-libs
- - ./linuxdeployqt*.AppImage ./appdir/usr/share/applications/*.desktop -qmldir=./qml/ -appimage
- - find ./appdir -executable -type f -exec ldd {} \; | grep " => /usr" | cut -d " " -f 2-3 | sort | uniq
- - curl --upload-file ./FeedTheMonkey*.AppImage https://transfer.sh/FeedTheMonkey-git.$(git rev-parse --short HEAD)-x86_64.AppImage
+- qmake PREFIX=/usr
+- make -j4
+- sudo make INSTALL_ROOT=appdir install ; sudo chown -R $USER appdir ; find appdir/
+- wget -c "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage"
+- chmod a+x linuxdeployqt*.AppImage
+- unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH
+- "./linuxdeployqt*.AppImage ./appdir/usr/share/applications/*.desktop -qmldir=./qml/
+ -bundle-non-qt-libs"
+- "./linuxdeployqt*.AppImage ./appdir/usr/share/applications/*.desktop -qmldir=./qml/
+ -appimage"
+- find ./appdir -executable -type f -exec ldd {} \; | grep " => /usr" | cut -d " "
+ -f 2-3 | sort | uniq
+- mv FeedTheMonkey*.AppImage FeedTheMonkey.AppImage
+deploy:
+ provider: releases
+ api_key:
+ secure: d+hHwOnmeLPVvuue6VDCs2LwLS+BFzJF/BB5iObtkCYBwQ8ybnVzUcgnjJKOt37SHI0T9kLegI+Lq/843ECYiGiDjQg4PvCF69V8ODgHv3v1qiN5oG/eroBXd83a0+xhi4BuJt0SwcV9mcv4uD9bCPhj944rmMLH+3qD4ysgImBmbYSbbLecE9+QAs7bfrCwQRfdCePBORX3FHa/p12NEtln7xv6ZRyku9LdJSzAcdgm4zc95ggTAVC1+aQB6J0q2QzWPlQcOkLx+ZYmOqClhbSMFpIyPXP8UpXjYyvUlTAd0+wH8BGf0O3lpOqACc7IKIbj9d5oPmghVZo55SyW+RR77G+az+IbGJ7iXZsMfQZsMvtB7hNYhNvUUxQrAau7Y/ve+6sMQmvA7aMHV8kDUvnNW/c2r2jAWwk+N8QzGcP/rclDCKeOWZqZABmrzTViXZVAeXh4hJ8r6mbq8iwagBUPCsVYhVuerQt/KIoWxyn6/1GmMfKGi3dA/v3u1qU61vzrz3yLlJBmUAVPxZdVmqfRweh4BXjImxFMFmf5PYm5FnDg1gmw8rWsgii7+IPYw7DjTAHpjYbtXvDwDgG1nRXiRp2TGtPPgKW1/Uk8r/j5vfB5WcEZ7exLUgsPPjny5MGvzjqOxeLvwK1Pg9jFBFXIx7l1tNMJQxQU0r3DmBg=
+ file: FeedTheMonkey.AppImage
+ on:
+ repo: jeena/FeedTheMonkey
+ skip_cleanup: true
+ draft: true
diff --git a/README.md b/README.md
index 8819b8e..155358a 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# FeedTheMonkey
-
+
FeedTheMonkey is a desktop client for [TinyTinyRSS](http://tt-rss.org). That means that
it doesn't work as a standalone feed reader but only as a client for the TinyTinyRSS API
@@ -43,7 +43,7 @@ the use on a desktop computer but I'd like to see it on a mobile device too.
## Screenshot
-
+
## License
diff --git a/html/content.css b/html/content.css
index afcb4e4..2b1d0b3 100644
--- a/html/content.css
+++ b/html/content.css
@@ -25,14 +25,12 @@ html, body {
body {
background: #eee;
font-family: sans-serif;
- padding: 2em;
- font-weight: lighter;
word-wrap: break-word;
}
.nightmode {
- background: #111;
- color: #aaa;
+ background: #353535;
+ color: #ddd;
}
.nightmode::-webkit-scrollbar {
@@ -51,32 +49,28 @@ body {
}
h1 {
- font-weight: lighter;
font-size: 1.4em;
margin: 0;
padding: 0;
}
-#date {
- border-bottom: 1px solid #aaa;
- margin-bottom: 1em;
- padding-bottom: 1em;
- display: block;
-}
-
-.nightmode #date {
- border-bottom-color: #333;
-}
-
.starred:after {
content: "*";
}
+header {
+ padding: 2em;
+ border-bottom: 1px solid #aaa;
+}
+
+.nightmode header {
+ border-bottom-color: #222;
+}
+
header p {
- color: #aaa;
+ color: #666;
margin: 0;
padding: 0;
- font-size: 0.8em;
}
.nightmode header p {
@@ -90,6 +84,7 @@ a {
article {
line-height: 1.6;
+ margin: 2em;
}
article a {
diff --git a/html/content.html b/html/content.html
index 9a1c3ec..87d53aa 100644
--- a/html/content.html
+++ b/html/content.html
@@ -81,11 +81,13 @@
function checkKey(e) {
e = e || window.event;
+
if (e.keyCode === 37) {
window.location.href = "feedthemonkey:previous";
- }
- else if (e.keyCode === 39) {
+ } else if (e.keyCode === 39) {
window.location.href = "feedthemonkey:next";
+ } else if(e.keyCode == 13) {
+ window.location.href = "feedthemonkey:open";
}
}
diff --git a/qml/Content.qml b/qml/Content.qml
index 73885f1..07440be 100644
--- a/qml/Content.qml
+++ b/qml/Content.qml
@@ -17,12 +17,11 @@
* along with FeedTheMonkey. If not, see .
*/
-import QtWebEngine 1.7
+import QtWebEngine 1.8
import QtQuick 2.0
import QtQuick.Controls 1.3
import QtQuick.Layouts 1.1
import QtQuick.Controls.Styles 1.3
-import QtQuick.Controls 1.3
import TTRSS 1.0
Item {
@@ -87,13 +86,14 @@ Item {
onNavigationRequested: {
if (request.url == "feedthemonkey:previous") {
- // This is commented out because for some reason this reloads the page forever.
- // This will show the error that the feedthemonkey:previous location is not supported
- //request.action = WebEngineNavigationRequest.IgnoreRequest;
+ request.action = WebEngineView.IgnoreRequest;
app.showPreviousPost();
} else if (request.url == "feedthemonkey:next") {
- //request.action = WebEngineNavigationRequest.IgnoreRequest;
+ request.action = WebEngineView.IgnoreRequest;
app.showNextPost();
+ } else if (request.url == "feedthemonkey:open") {
+ request.action = WebEngineView.IgnoreRequest;
+ Qt.openUrlExternally(post.link)
} else if (request.navigationType !== WebEngineNavigationRequest.LinkClickedNavigation) {
request.action = WebEngineView.AcceptRequest;
} else {
diff --git a/qml/PostListItem.qml b/qml/PostListItem.qml
index e0c3d20..63bf813 100644
--- a/qml/PostListItem.qml
+++ b/qml/PostListItem.qml
@@ -33,7 +33,7 @@ Item {
}
id: item
- height: d.height + t.height + e.height + 20
+ height: d.height + t.height + e.height + 2
Item {
anchors.fill: parent
@@ -81,7 +81,7 @@ Item {
Label {
id: t
text: title
- color: nightmode ? (read ? "#555" : "#aaa") : (read ? "gray" : "black")
+ color: nightmode ? (read ? "#888" : "#ddd") : (read ? "gray" : "black")
font.pointSize: textFontSize
textFormat: Text.PlainText
wrapMode: Text.WrapAnywhere
diff --git a/qml/Sidebar.qml b/qml/Sidebar.qml
index bcb70ee..84de4cb 100644
--- a/qml/Sidebar.qml
+++ b/qml/Sidebar.qml
@@ -48,6 +48,21 @@ ScrollView {
}
}
+ onWidthChanged: {
+ // Hide sidebar if smaller than 200px wide
+ if(width < 200) {
+ width = 0;
+ }
+ }
+
+ Rectangle {
+ width: 1
+ color: app.nightmode ? "#111" : "lightgray"
+ anchors.right: parent.right
+ anchors.top: parent.top
+ height: parent.height
+ }
+
ListView {
id: listView
@@ -67,12 +82,12 @@ ScrollView {
highlightFollowsCurrentItem: false
highlight: Component {
Rectangle {
- width: listView.currentItem.width
+ width: listView.currentItem.width -1
height: listView.currentItem.height
- color: nightmode ? "#444" : "lightblue"
- opacity: 0.5
+ color: nightmode ? "#15539e" : "lightblue"
y: listView.currentItem.y
}
+
}
onCurrentItemChanged: {
@@ -85,8 +100,6 @@ ScrollView {
}
item.content.post = server.posts[currentIndex]
- //content.flickableItem.contentY = 0
-
previousPost = item.content.post
}
}
diff --git a/qml/TheMenuBar.qml b/qml/TheMenuBar.qml
index ae2eb70..34c0310 100644
--- a/qml/TheMenuBar.qml
+++ b/qml/TheMenuBar.qml
@@ -35,6 +35,11 @@ MenuBar {
Menu {
visible: menuBar.visible
title: qsTr("File")
+ MenuItem {
+ text: qsTr("Close &Window")
+ shortcut: "Ctrl+W"
+ onTriggered: Qt.quit()
+ }
MenuItem {
text: qsTr("Exit")
shortcut: "Ctrl+Q"
@@ -132,7 +137,7 @@ MenuBar {
title: qsTr("Help")
MenuItem {
text: qsTr("About")
- onTriggered: Qt.openUrlExternally("http://jabs.nu/feedthemonkey");
+ onTriggered: Qt.openUrlExternally("http://jeena.net/feedthemonkey/index.html");
}
}
diff --git a/qml/main.qml b/qml/main.qml
index a5fcbcb..0b6074b 100644
--- a/qml/main.qml
+++ b/qml/main.qml
@@ -29,7 +29,7 @@ ApplicationWindow {
id: app
title: "FeedTheMonkey"
visible: true
- color: nightmode ? "#111" : "#eee"
+ color: nightmode ? "#2d2d2d" : "#eee"
minimumWidth: 480
minimumHeight: 320
@@ -159,10 +159,6 @@ ApplicationWindow {
case Qt.Key_Return:
Qt.openUrlExternally(content.post.link)
break
- case Qt.Key_S: {
- console.log(Qt.openUrlExternally("speaker:"+ removeHTML(content.post.content)))
- break
- }
default:
break
}
@@ -184,7 +180,6 @@ ApplicationWindow {
content: content
server: server
- Layout.minimumWidth: 200
implicitWidth: 300
textFontSize: app.textFontSize
nightmode: app.nightmode
diff --git a/src/main.cpp b/src/main.cpp
index 48475bb..95f351e 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -31,6 +31,7 @@
int main(int argc, char *argv[])
{
+ QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QGuiApplication app(argc, argv);
app.setOrganizationName("Jeena");
app.setOrganizationDomain("jeena.net");