Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
c0b388c
Initial Commit of "The Old Feeder"
Jul 5, 2013
90ed8f1
Added new sharing option: Project Macaw, fixed bug re: pulling "feeds…
Aressel Jul 8, 2013
f53d847
Disabled search feature as it is not supported by The Old Reader's API
Aressel Jul 8, 2013
796db43
Version 0.8.3 - Name change and fixed missing icon on phones
Aressel Jul 11, 2013
9b6869a
Build 0.8.4 - New dark theme, removed metrix tracking
Aressel Jul 16, 2013
44b7b96
Version 0.8.5 - Added new sharing options, new icon
Aressel Aug 1, 2013
74cb14c
Added underlying support for additional web applications.
Aressel Aug 7, 2013
5b271f8
Build 0.9.1 - Bugfixes. Handle staring/sharing better.
Aressel Aug 12, 2013
ecb3f61
Version 0.9.2
Aressel Aug 19, 2013
215f279
Build 0.9.3
Aressel Oct 29, 2013
1f56ff4
Version 0.9.5
Aressel Dec 18, 2013
9cd57ae
Build 1.0.0
Aressel Dec 19, 2013
59a963f
Build 1.0.1
Aressel Dec 19, 2013
688cd3c
1.0.2 - Version bump for App Catalog
Aressel Dec 21, 2013
d7462ab
1.0.3 - Fixed bug related to how Javascript handles dates in 1.4.5.
Aressel Dec 21, 2013
834cc9c
1.0.3 - forgot to update help scene
Aressel Dec 21, 2013
a9f605f
1.1.0 - Added Tiny Tiny RSS Support
Aressel Dec 24, 2013
b7e2122
1.1.1 Fixed ttrss bugs:
Aressel Dec 26, 2013
abb9d83
1.1.2 - Streamlined apis to handle post processing instead of pushing…
Aressel Dec 28, 2013
d2ebd24
1.1.3
Aressel Jan 4, 2014
71b185c
1.2.0
Aressel Jan 24, 2014
10c1f35
Build 1.2.1 Added support for OwnCloud News
Aressel Feb 27, 2014
589d154
Typo in help scene
Aressel Feb 27, 2014
d69034e
Version 1.2.2 added support for "Tiny" font
Aressel Mar 11, 2014
4f582ba
Version 1.2.3 - Fixed incorrect oauth provider URLs
Aressel Mar 12, 2014
771443e
Version 1.2.3 - Added support for shortening URLs, re-added support f…
Aressel Mar 17, 2014
1263416
1.2.3 -Fixed function names
Aressel Mar 17, 2014
80ae6b4
1.2.4 fixed issue with preferences cleanup method not being called co…
Aressel Mar 29, 2014
9ba9e1f
added support for sharing to MoboReader
Garfonso Jul 11, 2014
b0fa78a
fixed sharing id clash.
Garfonso Nov 14, 2014
5657a8a
bumped version
Garfonso Nov 14, 2014
eada5d2
Merge pull request #1 from Garfonso/master
OthelloVentures Feb 20, 2015
ea4acf8
Updated help scene
Aressel Feb 20, 2015
1aa06cb
Updated InoReader api with support for new application authentication…
Aressel Feb 24, 2015
df53a86
Updated version info.
Aressel Feb 24, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file modified LICENSE
100644 → 100755
Empty file.
Empty file modified Rakefile
100644 → 100755
Empty file.
4 changes: 2 additions & 2 deletions app/assistants/add-assistant.js
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,8 @@ var AddAssistant = Class.create(BaseAssistant, {
},

subscriptionSearchFailure: function() {
this.controller.get("search").mojo.disabled = false
this.controller.get("search").mojo.deactivate()
this.controller.get("search-submit").mojo.disabled = false
this.controller.get("search-submit").mojo.deactivate()
this.controller.modelChanged(this.searchButton)
this.menuPanelOff()
this.controller.get("error-message").update($L("Unable to add subscription"))
Expand Down
Empty file modified app/assistants/add-detail-assistant.js
100644 → 100755
Empty file.
Empty file modified app/assistants/app-assistant.js
100644 → 100755
Empty file.
1 change: 1 addition & 0 deletions app/assistants/article-assistant.js
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ var ArticleAssistant = Class.create(BaseAssistant, {

setFontSize: function() {
var summary = this.controller.get("summary")
summary.removeClassName("tiny")
summary.removeClassName("small")
summary.removeClassName("medium")
summary.removeClassName("large")
Expand Down
12 changes: 10 additions & 2 deletions app/assistants/articles-assistant.js
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
var ArticlesAssistant = Class.create(BaseAssistant, {
initialize: function($super, subscription) {
initialize: function($super, api, subscription) {
$super()
this.api = api
this.subscription = subscription
this.subscription.reset()
},
Expand Down Expand Up @@ -315,7 +316,14 @@ var ArticlesAssistant = Class.create(BaseAssistant, {
},

doSearch: function(query) {
this.controller.stageController.pushScene("articles", new Search(this.subscription.api, query, this.subscription.id))
if(this.api.supportsSearch())
{
this.controller.stageController.pushScene("articles", this.api, new Search(this.subscription.api, query, this.subscription.id))
}
else
{
Feeder.notify($L("Search Not Available"))
}
},

handleCommand: function($super, event) {
Expand Down
25 changes: 19 additions & 6 deletions app/assistants/base-assistant.js
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -269,12 +269,18 @@ var BaseAssistant = Class.create({
},

listenForSearch: function() {
$(this.controller.document).observe("keypress", this.startSearch)
this.controller.get("search-text").mojo.setConsumesEnterKey(false)
if(this.api.supportsSearch())
{
$(this.controller.document).observe("keypress", this.startSearch)
this.controller.get("search-text").mojo.setConsumesEnterKey(false)
}
},

stopListeningForSearch: function() {
$(this.controller.document).stopObserving("keypress", this.startSearch)
if(this.api.supportsSearch())
{
$(this.controller.document).stopObserving("keypress", this.startSearch)
}
},

scrollToTop: function() {
Expand Down Expand Up @@ -317,8 +323,11 @@ var BaseAssistant = Class.create({
items.push({label: $L("Hide read feeds"), command: "hide-read-feeds"});
}

items.push({label: $L("Search"), command: "search"});

if(this.api.supportsSearch())
{
items.push({label: $L("Search"), command: "search"});
}

this.controller.popupSubmenu({
placeNear: this.controller.get("header-text"),
items: items,
Expand Down Expand Up @@ -351,8 +360,12 @@ var BaseAssistant = Class.create({
}

items.push({label: $L("Refresh"), command: "refresh"});
items.push({label: $L("Search"), command: "search"});

if(this.api.supportsSearch())
{
items.push({label: $L("Search"), command: "search"});
}

this.controller.popupSubmenu({
placeNear: this.controller.get("header-text"),
items: items,
Expand Down
Empty file modified app/assistants/configure-sharing-assistant.js
100644 → 100755
Empty file.
60 changes: 54 additions & 6 deletions app/assistants/credentials-assistant.js
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,37 @@ var CredentialsAssistant = Class.create(BaseAssistant, {
this.showMessage = showMessage
this.button = {buttonLabel: $L("Login")}
this.hideLogout = true

this.serviceChoices = [
{label: $L("AOL Reader"), value: "aol"},
{label: $L("BazQux"), value: "bq"},
{label: $L("Feedly"), value: "feedly"},
{label: $L("InoReader"), value: "ino"},
{label: $L("OwnCloud News"), value: "oc"},
{label: $L("The Old Reader"), value: "tor"},
{label: $L("Tiny Tiny RSS"), value: "ttrss"}
]
},

setup: function($super) {
$super()
this.setupWidgets()
this.setupListeners()

this.controller.update("email-label", $L("Email"))
this.controller.update("email-label", $L("Username"))
this.controller.update("password-label", $L("Password"))
this.controller.update("service-label", $L("Service"))
this.controller.update("server-label", $L("Server URL"))
this.controller.update("error-message", $L("Login failed. Try again."))
},

activate: function($super, changes) {
$super(changes)
$super(changes)
this.controller.get("password").mojo.setConsumesEnterKey(false)
this.controller.get("server").mojo.setConsumesEnterKey(false)
this.controller.get("login-failure")[this.showMessage ? "show" : "hide"]()
var initializeFields = {value: this.credentials.service}
this.setService(initializeFields)
},

cleanup: function($super) {
Expand All @@ -30,31 +45,64 @@ var CredentialsAssistant = Class.create(BaseAssistant, {
},

setupWidgets: function() {
this.controller.setupWidget("service", {modelProperty: "service", choices: this.serviceChoices}, this.credentials)
this.controller.setupWidget("email", {modelProperty: "email", changeOnKeyPress: true, autoFocus: true, textCase: Mojo.Widget.steModeLowerCase}, this.credentials)
this.controller.setupWidget("password", {modelProperty: "password", changeOnKeyPress: true}, this.credentials)
this.controller.setupWidget("server", {modelProperty: "server", changeOnKeyPress: true, textCase: Mojo.Widget.steModeLowerCase}, this.credentials)
this.controller.setupWidget("login", {type: Mojo.Widget.activityButton}, this.button)
},

setupListeners: function() {
this.propertyChanged = this.propertyChanged.bind(this)
this.login = this.login.bind(this)

this.controller.listen("password", Mojo.Event.propertyChange, this.propertyChanged)
this.controller.listen("password", Mojo.Event.propertyChange, this.propertyChanged)
this.controller.listen("server", Mojo.Event.propertyChange, this.propertyChanged)
this.controller.listen("service", Mojo.Event.propertyChange, this.setService = this.setService.bind(this))
this.controller.listen("login", Mojo.Event.tap, this.login)
},

cleanupListeners: function() {
this.controller.stopListening("password", Mojo.Event.propertyChange, this.propertyChanged)
this.controller.stopListening("password", Mojo.Event.propertyChange, this.propertyChanged)
this.controller.stopListening("server", Mojo.Event.propertyChange, this.propertyChanged)
this.controller.stopListening("login", Mojo.Event.tap, this.login)
this.controller.stopListening("service", Mojo.Event.propertyChange, this.setService)
},

propertyChanged: function(event) {
if(Mojo.Char.enter === event.originalEvent.keyCode) {
this.login()
if ((event.property === "password" && this.controller.get("server-group").style.display === "none") || event.property === "server")
{
this.login()
}
else if ((event.property === "password" && this.controller.get("server-group").style.display !== "none")) {
this.controller.get("server").mojo.focus()
}
}
},

login: function() {
this.controller.stageController.swapScene("login", this.credentials)
}
},

setService: function(propertyChangeEvent) {
if (propertyChangeEvent.value == "feedly" || propertyChangeEvent.value == "aol")
{
this.controller.get("email-group")["hide"]()
this.controller.get("password-group")["hide"]()
this.controller.get("server-group")["hide"]()
}
else if (propertyChangeEvent.value == "ttrss" || propertyChangeEvent.value == "oc")
{
this.controller.get("email-group")["show"]()
this.controller.get("password-group")["show"]()
this.controller.get("server-group")["show"]()
}
else
{
this.controller.get("email-group")["show"]()
this.controller.get("password-group")["show"]()
this.controller.get("server-group")["hide"]()
}
},
})
Empty file modified app/assistants/dashboard-assistant.js
100644 → 100755
Empty file.
Empty file modified app/assistants/debug-assistant.js
100644 → 100755
Empty file.
Empty file modified app/assistants/expired-assistant.js
100644 → 100755
Empty file.
14 changes: 11 additions & 3 deletions app/assistants/folder-assistant.js
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
var FolderAssistant = Class.create(BaseAssistant, {
initialize: function($super, folder) {
initialize: function($super, api, folder) {
$super()
this.api = api
this.folder = folder
this.subscriptions = {items: []}
},
Expand Down Expand Up @@ -74,7 +75,7 @@ var FolderAssistant = Class.create(BaseAssistant, {
},

folderTapped: function(event) {
this.controller.stageController.pushScene("articles", event.item)
this.controller.stageController.pushScene("articles", this.api, event.item)
},

folderRendered: function(listWidget, itemModel, itemNode) {
Expand Down Expand Up @@ -108,7 +109,14 @@ var FolderAssistant = Class.create(BaseAssistant, {
},

doSearch: function(query) {
this.controller.stageController.pushScene("articles", new Search(this.folder.api, query, this.folder.id))
if(this.api.supportsSearch())
{
this.controller.stageController.pushScene("articles", this.api, new Search(this.folder.api, query, this.folder.id))
}
else
{
Feeder.notify($L("Search Not Available"))
}
},

handleCommand: function($super, event) {
Expand Down
Empty file modified app/assistants/help-assistant.js
100644 → 100755
Empty file.
24 changes: 18 additions & 6 deletions app/assistants/home-assistant.js
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ var HomeAssistant = Class.create(BaseAssistant, {

setup: function($super) {
$super()
Feeder.Metrix.checkBulletinBoard(this.controller, 20);
this.setupLists()
this.setupListeners()
this.setupSearch()
Expand Down Expand Up @@ -122,8 +121,14 @@ var HomeAssistant = Class.create(BaseAssistant, {

if("logout" == command) {
var creds = new Credentials()
creds.password = false
creds.save()
creds.password = null
creds.server = null
creds.id = null
creds.refreshToken = null
creds.accessToken = null
creds.tokenType = null
creds.plan = null
creds.clear()
this.controller.stageController.swapScene("credentials", creds)
}
else if(command && command.feedAdded) {
Expand Down Expand Up @@ -165,10 +170,10 @@ var HomeAssistant = Class.create(BaseAssistant, {

sourceTapped: function(event) {
if(event.item.isFolder && !Preferences.combineFolders()) {
this.controller.stageController.pushScene("folder", event.item)
this.controller.stageController.pushScene("folder", this.api, event.item)
}
else {
this.controller.stageController.pushScene("articles", event.item)
this.controller.stageController.pushScene("articles", this.api, event.item)
}
},

Expand Down Expand Up @@ -248,6 +253,13 @@ var HomeAssistant = Class.create(BaseAssistant, {
},

doSearch: function(query) {
this.controller.stageController.pushScene("articles", new Search(this.api, query))
if(this.api.supportsSearch())
{
this.controller.stageController.pushScene("articles", this.api, new Search(this.api, query))
}
else
{
Feeder.notify($L("Search Not Available"))
}
}
})
Empty file modified app/assistants/instapaper-credentials-assistant.js
100644 → 100755
Empty file.
9 changes: 3 additions & 6 deletions app/assistants/login-assistant.js
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,11 @@ var LoginAssistant = Class.create(BaseAssistant, {
this.credentials = credentials || new Credentials()
this.api = new Api()
this.triedLogin = false
this.hideLogout = true
this.hideLogout = true
},

setup: function($super) {
$super()

Log.debug("sending metrix data")
Feeder.Metrix.postDeviceData()
},

activate: function($super, changes) {
Expand All @@ -23,15 +20,15 @@ var LoginAssistant = Class.create(BaseAssistant, {
parameters: {},

onSuccess: function(response) {
if(this.credentials.email && this.credentials.password) {
if(((this.credentials.service !== "ttrss" || this.credentials.service !== "oc") && this.credentials.email && this.credentials.password) || ((this.credentials.service === "ttrss" || this.credentials.service === "oc") && this.credentials.email && this.credentials.password && this.credentials.server) || this.credentials.service === "feedly" || this.credentials.service === "aol" ) {
if(this.triedLogin) {
Log.debug("ALREADY TRIED LOGGING IN, WHAT MAKES YOU THINK ITS GOING TO WORK NOW")
}
else {
this.triedLogin = true
Log.debug("logging in as " + this.credentials.email)
this.spinnerOn($L("logging in..."))
this.api.login(this.credentials, this.loginSuccess.bind(this), this.loginFailure.bind(this))
this.api.login(this.credentials, this.loginSuccess.bind(this), this.loginFailure.bind(this), this.controller)
}
}
else {
Expand Down
Empty file modified app/assistants/notification-feeds-assistant.js
100644 → 100755
Empty file.
Loading