Merge branch 'fixShowAll' of git://github.com/michael-k/ttrss into michael-k-fixShowAll

This commit is contained in:
Hauke Schade 2014-11-24 23:09:17 +01:00
commit c1eb0ea087
8 changed files with 106 additions and 29 deletions

View file

@ -35,9 +35,15 @@ MenuItem {
ttrss.setShowAll(newValue)
// update settings
settings.showAll = showAll
settings.showAll = newValue
}
// inform about change
updateView()
Connections {
target: settings
onShowAllChanged: {
// Inform view as soon as settings.showAll changes,
// regardless of whoever changed it.
updateView()
}
}
}

View file

@ -26,6 +26,14 @@ import "../components" 1.0
Page {
id: categoriesPage
tools: categoriesTools
property bool needsUpdate: false
onVisibleChanged: {
if (visible && categoriesPage.needsUpdate) {
categoriesPage.needsUpdate = false
categories.update()
}
}
Item {
anchors {
@ -92,7 +100,11 @@ Page {
MenuLayout {
ToggleShowAllItem {
onUpdateView: {
categories.update()
if (categoriesPage.visible) {
categories.update()
} else {
categoriesPage.needsUpdate = true
}
}
}
SettingsItem {}

View file

@ -27,6 +27,7 @@ Page {
id: itemListPage
tools: feedItemsTools
property variant feed
property bool needsUpdate: false
Component.onCompleted: {
feedItems.feed = itemListPage.feed
@ -36,6 +37,16 @@ Page {
feedItems.update()
}
onVisibleChanged: {
if (visible && itemListPage.needsUpdate) {
itemListPage.needsUpdate = false
feedItems.continuation = 0
feedItems.hasMoreItems = false
feedItems.clear()
feedItems.update()
}
}
Item {
anchors {
top: pageHeader.bottom
@ -120,10 +131,14 @@ Page {
MenuLayout {
ToggleShowAllItem {
onUpdateView: {
feedItems.continuation = 0
feedItems.hasMoreItems = false
feedItems.clear()
feedItems.update()
if (itemListPage.visible) {
feedItems.continuation = 0
feedItems.hasMoreItems = false
feedItems.clear()
feedItems.update()
} else {
itemListPage.needsUpdate = true
}
}
}
MenuItem {

View file

@ -27,6 +27,7 @@ Page {
id: feedsPage
tools: feedsTools
property variant category
property bool needsUpdate: false
Component.onCompleted: {
feeds.category = feedsPage.category
@ -34,6 +35,13 @@ Page {
feeds.update()
}
onVisibleChanged: {
if (visible && feedsPage.needsUpdate) {
feedsPage.needsUpdate = false
feedModel.update()
}
}
Item {
anchors {
top: pageHeader.bottom
@ -110,7 +118,11 @@ Page {
} }
ToggleShowAllItem {
onUpdateView: {
feeds.update()
if (feedsPage.visible) {
feeds.update()
} else {
feedsPage.needsUpdate = true
}
}
}
SettingsItem {}

View file

@ -36,8 +36,14 @@ MenuItem {
// update settings
settings.showAll = newValue
}
// inform about change
updateView()
Connections {
target: settings
onShowAllChanged: {
// Inform view as soon as settings.showAll changes,
// regardless of whoever changed it.
updateView()
}
}
}

View file

@ -25,6 +25,7 @@ import "../items"
Page {
id: categoriesPage
property bool needsUpdate: false
SilicaListView {
id: listView
@ -51,7 +52,11 @@ Page {
}
ToggleShowAllItem {
onUpdateView: {
categoryModel.update()
if (categoriesPage.visible) {
categoryModel.update()
} else {
categoriesPage.needsUpdate = true
}
}
}
}
@ -93,6 +98,10 @@ Page {
onVisibleChanged: {
if (visible) {
cover = Qt.resolvedUrl("../cover/CategoriesCover.qml")
if (categoriesPage.needsUpdate) {
categoriesPage.needsUpdate = false
categoryModel.update()
}
}
}
}

View file

@ -26,6 +26,7 @@ import "../items"
Page {
id: feeditemsPage
property var feed
property bool needsUpdate: false
property int remorseCounter: 0
onRemorseCounterChanged: {
@ -36,10 +37,7 @@ Page {
Component.onCompleted: {
feedItemModel.feed = feeditemsPage.feed
feedItemModel.hasMoreItems = false
feedItemModel.continuation = 0
feedItemModel.clear()
feedItemModel.update()
feeditemsPage.update()
}
RemorsePopup { id: remorse }
@ -55,18 +53,16 @@ Page {
text: qsTr("Update")
enabled: !network.loading
onClicked: {
feedItemModel.continuation = 0
feedItemModel.hasMoreItems = false
feedItemModel.clear()
feedItemModel.update()
feeditemsPage.update()
}
}
ToggleShowAllItem {
onUpdateView: {
feedItemModel.continuation = 0
feedItemModel.hasMoreItems = false
feedItemModel.clear()
feedItemModel.update()
if (feeditemsPage.visible) {
feeditemsPage.update()
} else {
feeditemsPage.needsUpdate = true
}
}
}
MenuItem {
@ -83,10 +79,11 @@ Page {
}
ToggleShowAllItem {
onUpdateView: {
feedItemModel.continuation = 0
feedItemModel.hasMoreItems = false
feedItemModel.clear()
feedItemModel.update()
if (feeditemsPage.visible) {
feeditemsPage.update()
} else {
feeditemsPage.needsUpdate = true
}
}
}
}
@ -165,6 +162,10 @@ Page {
onVisibleChanged: {
if (visible) {
cover = Qt.resolvedUrl("../cover/FeedItemsCover.qml")
if (feeditemsPage.needsUpdate) {
feeditemsPage.needsUpdate = false
feeditemsPage.update()
}
}
}
@ -174,4 +175,11 @@ Page {
feedItemModel.markAllLoadedAsRead()
})
}
function update() {
feedItemModel.continuation = 0
feedItemModel.hasMoreItems = false
feedItemModel.clear()
feedItemModel.update()
}
}

View file

@ -26,6 +26,7 @@ import "../items"
Page {
id: feedsPage
property var category
property bool needsUpdate: false
Component.onCompleted: {
feedModel.category = feedsPage.category
@ -61,7 +62,11 @@ Page {
}
ToggleShowAllItem {
onUpdateView: {
feedModel.update()
if (feedsPage.visible) {
feedModel.update()
} else {
feedsPage.needsUpdate = true
}
}
}
}
@ -101,6 +106,10 @@ Page {
onVisibleChanged: {
if (visible) {
cover = Qt.resolvedUrl("../cover/FeedsCover.qml")
if (feedsPage.needsUpdate) {
feedsPage.needsUpdate = false
feedModel.update()
}
}
}