Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/jangernert/FeedReader.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Lukas Gernert <jangernert@gmail.com>2017-10-14 18:47:14 +0300
committerJan Lukas Gernert <jangernert@gmail.com>2017-10-14 18:47:14 +0300
commit35eed6e6dc3b6401f59ff29b950803f547788e20 (patch)
tree3b164873dd7fcdcdc2c78154708737c04eac6b31
parentee1bcc67d70f9e117b6e7a9e8eda2cdb7bef615c (diff)
use feed model to get icon from FavIconManager to have iconURL available in case it has to be downloaded
-rw-r--r--plugins/backend/local/SuggestedFeedRow.vala2
-rw-r--r--src/FavIconManager.vala20
-rw-r--r--src/Widgets/ArticleRow.vala3
-rw-r--r--src/Widgets/FeedRow.vala2
4 files changed, 14 insertions, 13 deletions
diff --git a/plugins/backend/local/SuggestedFeedRow.vala b/plugins/backend/local/SuggestedFeedRow.vala
index 28600f49..9e8f1e2d 100644
--- a/plugins/backend/local/SuggestedFeedRow.vala
+++ b/plugins/backend/local/SuggestedFeedRow.vala
@@ -75,7 +75,7 @@ public class FeedReader.SuggestedFeedRow : Gtk.ListBoxRow {
Gtk.Image? icon = null;
if(success)
{
- var pixBuf = yield FavIconManager.get_default().getIcon(feed.getFeedID());
+ var pixBuf = yield FavIconManager.get_default().getIcon(feed);
if(pixBuf != null)
icon = new Gtk.Image.from_pixbuf(pixBuf);
}
diff --git a/src/FavIconManager.vala b/src/FavIconManager.vala
index afcc55d6..2974fbe7 100644
--- a/src/FavIconManager.vala
+++ b/src/FavIconManager.vala
@@ -31,9 +31,9 @@ public class FeedReader.FavIconManager : GLib.Object {
m_map = new Gee.HashMap<string, Gdk.Pixbuf>();
}
- private async void load(string feedID)
+ private async void load(Feed feed)
{
- var fileName = GLib.Base64.encode(feedID.data) + ".ico";
+ var fileName = GLib.Base64.encode(feed.getFeedID().data) + ".ico";
try
{
var file = File.new_for_path(GLib.Environment.get_user_data_dir() + "/feedreader/data/feed_icons/" + fileName);
@@ -47,7 +47,7 @@ public class FeedReader.FavIconManager : GLib.Object {
}
pixbuf = pixbuf.scale_simple(24, 24, Gdk.InterpType.BILINEAR);
- m_map.set(feedID, pixbuf);
+ m_map.set(feed.getFeedID(), pixbuf);
}
catch (IOError.NOT_FOUND e)
{
@@ -63,7 +63,7 @@ public class FeedReader.FavIconManager : GLib.Object {
}
}
- private bool hasIcon(string iconName)
+ private bool hasIcon(Feed feed)
{
if(m_map == null)
{
@@ -71,19 +71,19 @@ public class FeedReader.FavIconManager : GLib.Object {
return false;
}
- return m_map.has_key(iconName);
+ return m_map.has_key(feed.getFeedID());
}
- public async Gdk.Pixbuf? getIcon(string name, bool firstTry = true)
+ public async Gdk.Pixbuf? getIcon(Feed feed, bool firstTry = true)
{
- if(hasIcon(name))
+ if(hasIcon(feed))
{
- return m_map.get(name).copy();
+ return m_map.get(feed.getFeedID()).copy();
}
else if(firstTry)
{
- yield load(name);
- return yield getIcon(name, false);
+ yield load(feed);
+ return yield getIcon(feed, false);
}
return null;
diff --git a/src/Widgets/ArticleRow.vala b/src/Widgets/ArticleRow.vala
index c7fbffed..6cdf9af9 100644
--- a/src/Widgets/ArticleRow.vala
+++ b/src/Widgets/ArticleRow.vala
@@ -242,7 +242,8 @@ public class FeedReader.ArticleRow : Gtk.ListBoxRow {
public async void reloadFavIcon(Gtk.Image? inIcon = null)
{
- var icon = yield FavIconManager.get_default().getIcon(m_article.getFeedID());
+ Feed feed = DataBase.readOnly().read_feed(m_article.getFeedID());
+ var icon = yield FavIconManager.get_default().getIcon(feed);
if(icon != null)
{
if(inIcon == null)
diff --git a/src/Widgets/FeedRow.vala b/src/Widgets/FeedRow.vala
index 3bca071c..0fb7c5de 100644
--- a/src/Widgets/FeedRow.vala
+++ b/src/Widgets/FeedRow.vala
@@ -144,7 +144,7 @@ public class FeedReader.FeedRow : Gtk.ListBoxRow {
public async void reloadFavIcon(Gtk.Image? inIcon = null)
{
- var icon = yield FavIconManager.get_default().getIcon(m_feed.getFeedID());
+ var icon = yield FavIconManager.get_default().getIcon(m_feed);
if(icon == null)
return;