From 3a423f8a9296d71f38300ff9606cc8a9bc6e8c43 Mon Sep 17 00:00:00 2001 From: Jaidyn Ann Date: Sun, 21 Mar 2021 14:21:14 -0500 Subject: [PATCH] Save manually-written feed titles --- src/AtomFeed.cpp | 3 ++- src/Feed.cpp | 4 ++-- src/FeedEditWindow.cpp | 3 ++- src/FeedListItem.cpp | 2 ++ src/FeedsView.cpp | 7 +++++-- src/RssFeed.cpp | 3 ++- 6 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/AtomFeed.cpp b/src/AtomFeed.cpp index 8ea1622..c1ca0b6 100644 --- a/src/AtomFeed.cpp +++ b/src/AtomFeed.cpp @@ -16,7 +16,7 @@ AtomFeed::AtomFeed() { - fTitle = BString("Untitled Feed"); + fTitle = BString(""); fCachePath = BString(""); } @@ -24,6 +24,7 @@ AtomFeed::AtomFeed() AtomFeed::AtomFeed(Feed* feed) : AtomFeed::AtomFeed() { + SetTitle(feed->Title()); SetXmlUrl(feed->XmlUrl()); SetCachePath(feed->CachePath()); } diff --git a/src/Feed.cpp b/src/Feed.cpp index 0f35350..38d943b 100644 --- a/src/Feed.cpp +++ b/src/Feed.cpp @@ -90,7 +90,7 @@ Feed::Feed(Feed* feed) Feed::Feed() : - fTitle(BString("Untitled Feed")) + fTitle(BString("")) { fLastDate = BDateTime::CurrentDateTime(B_LOCAL_TIME); } @@ -243,7 +243,7 @@ Feed::SetTitle(const char* titleStr) bool Feed::_SetTitle(tinyxml2::XMLElement* elem) { - if (elem != NULL) + if (elem != NULL && fTitle.IsEmpty() == true) return SetTitle(elem->GetText()); else return false; } diff --git a/src/FeedEditWindow.cpp b/src/FeedEditWindow.cpp index ada6614..4127672 100644 --- a/src/FeedEditWindow.cpp +++ b/src/FeedEditWindow.cpp @@ -17,6 +17,7 @@ #include "FeedController.h" #include "FeedListItem.h" #include "FeedsView.h" +#include "Util.h" FeedEditWindow::FeedEditWindow() @@ -163,7 +164,7 @@ FeedEditWindow::_SaveFeed() BString filename; if (title.IsEmpty()) - filename = BString(urlString); + filename = BString(urlToFilename(BUrl(urlString))); else filename = BString(title); subPath.Append(filename); diff --git a/src/FeedListItem.cpp b/src/FeedListItem.cpp index 78800e2..3740d2c 100644 --- a/src/FeedListItem.cpp +++ b/src/FeedListItem.cpp @@ -18,6 +18,8 @@ FeedListItem::FeedListItem(Feed* feed) fFeedUrl(feed->XmlUrl()), fFeedPath(feed->CachePath()) { + if (feed->Title().IsEmpty() == true) + SetText("Untitled Feed"); } diff --git a/src/FeedsView.cpp b/src/FeedsView.cpp index a38d8b2..ba790e2 100644 --- a/src/FeedsView.cpp +++ b/src/FeedsView.cpp @@ -50,7 +50,8 @@ FeedsView::MessageReceived(BMessage* msg) } case kFeedsEditButton: { - _EditSelectedFeed(); + if (msg->GetInt32("index", -1) >= 0) + _EditSelectedFeed(); break; } case kFeedsSelected: @@ -92,8 +93,10 @@ FeedsView::MessageReceived(BMessage* msg) if (msg->FindInt32("total", &total) == B_OK && msg->FindInt32("current", ¤t) == B_OK) { - if (total == current) + if (total == current) { fProgressLabel->SetText(""); + _PopulateFeedList(); + } } break; } diff --git a/src/RssFeed.cpp b/src/RssFeed.cpp index 0b32cb6..fe937c0 100644 --- a/src/RssFeed.cpp +++ b/src/RssFeed.cpp @@ -14,7 +14,7 @@ RssFeed::RssFeed() { - fTitle = BString("Untitled Feed"); + fTitle = BString(""); fXmlUrl = BString(""); } @@ -22,6 +22,7 @@ RssFeed::RssFeed() RssFeed::RssFeed(Feed* feed) : RssFeed::RssFeed() { + SetTitle(feed->Title()); SetXmlUrl(feed->XmlUrl()); SetCachePath(feed->CachePath()); }