X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=psa_harmattan%2Ffeedingit%2Fpysrc%2Ffeedingit.py;h=546d0437f1a33ef4daa0e80c1b825f4cfd7318a0;hb=f3541d73c28437139901d46b80512719ee2eb3b6;hp=01c7b518cdcdf20f4f10cd5289f4f96b851da32c;hpb=a5126cf76febbb5359e976a6904c1f76993d99b2;p=feedingit diff --git a/psa_harmattan/feedingit/pysrc/feedingit.py b/psa_harmattan/feedingit/pysrc/feedingit.py index 01c7b51..546d043 100644 --- a/psa_harmattan/feedingit/pysrc/feedingit.py +++ b/psa_harmattan/feedingit/pysrc/feedingit.py @@ -24,99 +24,6 @@ debugging.init(dot_directory=".feedingit", program_name="feedingit-pyside") from cgi import escape from re import sub -class FeedWrapper(QtCore.QObject): - def __init__(self, key): - QtCore.QObject.__init__(self) - self._key = key - def _name(self): - return listing.getFeedTitle(self._key) - def _unread(self): - return listing.getFeedNumberOfUnreadItems(self._key) - def _updatedDate(self): - return listing.getFeedUpdateTime(self._key) - def _icon(self): - return listing.getFavicon(self._key) - def _feedid(self): - return self._key - def _updating(self): - return false - - changed = QtCore.Signal() - - title = QtCore.Property(unicode, _name, notify=changed) - feedid = QtCore.Property(unicode, _feedid, notify=changed) - unread = QtCore.Property(unicode, _unread, notify=changed) - updatedDate= QtCore.Property(unicode, _updatedDate, notify=changed) - icon = QtCore.Property(unicode, _icon, notify=changed) - updating = QtCore.Property(unicode, _icon, notify=changed) - -class FeedsModel(QtCore.QAbstractListModel): - COLUMNS = ('feed', ) - _category = None - - def __init__(self): - QtCore.QAbstractListModel.__init__(self) - self._feeds = listing.getListOfFeeds(self._category) - self.setRoleNames(dict(enumerate(FeedsModel.COLUMNS))) - - def rowCount(self, parent=QtCore.QModelIndex()): - return len(self._feeds) - - def data(self, index, role): - if index.isValid() and role == FeedsModel.COLUMNS.index('feed'): - print self._feeds[index.row()] - return FeedWrapper(self._feeds[index.row()]) - return None - -class ArticleWrapper(QtCore.QObject): - def __init__(self, feed, articleid): - QtCore.QObject.__init__(self) - self._feed = feed - self._articleid = articleid - def _name(self): - return self.fix_title(self._feed.getTitle(self._articleid)) - def _unread(self): - return str(self._feed.isEntryRead(self._articleid)) - def _getarticleid(self): - return self._articleid - def _updatedDate(self): - return self._feed.getDateStamp(self._articleid) - def _path(self): - return self._feed.getContentLink(self._articleid) - - changed = QtCore.Signal() - - title = QtCore.Property(unicode, _name, notify=changed) - articleid = QtCore.Property(unicode, _getarticleid, notify=changed) - unread = QtCore.Property(unicode, _unread, notify=changed) - updatedDate= QtCore.Property(unicode, _updatedDate, notify=changed) - path = QtCore.Property(unicode, _path, notify=changed) - -class ArticlesModel(QtCore.QAbstractListModel): - COLUMNS = ('article', ) - _articles = [] - _key = None - _feed = None - - def __init__(self,): - QtCore.QAbstractListModel.__init__(self) - self.setRoleNames(dict(enumerate(ArticlesModel.COLUMNS))) - - def updateModel(self, key): - self._key = key - self._feed = listing.getFeed(self._key) - self._articles = self._feed.getIds() - - def rowCount(self, parent=QtCore.QModelIndex()): - print "art " + str(len(self._articles)) - return len(self._articles) - - def data(self, index, role): - print "data" + str(index) + " " + str(role) - if index.isValid() and role == ArticlesModel.COLUMNS.index('article'): - return ArticleWrapper(self._articles[index.row()]) - return None - class Controller(QtCore.QObject): def __init__(self, listing): @@ -137,6 +44,7 @@ class Controller(QtCore.QObject): @QtCore.Slot(str, result=str) def getFeedsXml(self, catid): + print self._handler.generateFeedsXml(catid) return self._handler.generateFeedsXml(catid) @QtCore.Slot(str,result=str) @@ -156,7 +64,6 @@ class Controller(QtCore.QObject): @QtCore.Slot(str) def updateFeed(self, key): - print 'updating feed ', key listing.updateFeed(key) @QtCore.Slot() @@ -217,30 +124,28 @@ def main(): app = QtGui.QApplication(sys.argv) view = QtDeclarative.QDeclarativeView() - global articlesModel - feedsModel = FeedsModel() - articlesModel = ArticlesModel() - controller = Controller(listing) rc = view.rootContext() rc.setContextProperty('controller', controller) - rc.setContextProperty('feedsModel', feedsModel) - rc.setContextProperty('articlesModel', articlesModel) # Comment the two lines below if you don't want to use OpenGL for QML rendering or if it is not supported - glw = QtOpenGL.QGLWidget() - view.setViewport(glw) + #glw = QtOpenGL.QGLWidget() + #view.setViewport(glw) if os.path.exists('/usr/share/feedingit/qml'): + glw = QtOpenGL.QGLWidget() + view.setViewport(glw) view.setSource('/usr/share/feedingit/qml/main.qml') + view.showFullScreen() else: - #view.setSource(os.path.join('qml','main.qml')) - view.setSource(os.path.join('qml','FeedingIt.qml')) + view.setSource(os.path.join('qml','main.qml')) + view.show() + #view.setSource(os.path.join('qml','FeedingIt.qml')) #view.showFullScreen() - view.show() + #view.show() sys.exit(app.exec_()) if __name__ == "__main__":