From d034426f109313a18f8ae135e9a6ad069c502579 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 27 Jun 2010 13:27:22 -0600 Subject: [PATCH] Speedup startup by loading icons for news sources on demand. Fixes #5974 (use HEAD for cover check, fix conversion tooltip display, disable sorting of metadata display, fix ratings display) --- src/calibre/web/feeds/recipes/model.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/calibre/web/feeds/recipes/model.py b/src/calibre/web/feeds/recipes/model.py index 7699640b3a..5c355806fa 100644 --- a/src/calibre/web/feeds/recipes/model.py +++ b/src/calibre/web/feeds/recipes/model.py @@ -96,19 +96,21 @@ class NewsItem(NewsTreeItem): builtin, custom, scheduler_config, parent): NewsTreeItem.__init__(self, builtin, custom, scheduler_config, parent) self.urn, self.title = urn, title + self.icon = self.default_icon = None + self.default_icon = default_icon if 'custom:' in self.urn: self.icon = custom_icon - else: - icon = I('news/%s.png'%self.urn[8:]) - if os.path.exists(icon): - self.icon = QVariant(QIcon(icon)) - else: - self.icon = default_icon def data(self, role): if role == Qt.DisplayRole: return QVariant(self.title) if role == Qt.DecorationRole: + if self.icon is None: + icon = I('news/%s.png'%self.urn[8:]) + if os.path.exists(icon): + self.icon = QVariant(QIcon(icon)) + else: + self.icon = self.default_icon return self.icon return NONE