diff --git a/TODO.txt b/TODO.txt index 9c4673b..13f9020 100644 --- a/TODO.txt +++ b/TODO.txt @@ -1,6 +1,5 @@ Important Features: * Show download progress/failures in FeedView's feedlist -* Update FeedView's feedlist when feeds added/removed * Show in desktray * Make archivable * Get menu working @@ -19,9 +18,14 @@ Important improvements: * Make UI friendly to whatever font-size you throw at it * Give a max size to the progress label in FeedsView * Make fancy Markdown README +* Make an icon, somehow (idk I'm not an artist) Nice Improvements: +* 'About' window +* Save window positions + * Main window + * Subscription-edit window * Proper scripting support * Store feeds in kEnqueueFeeds/etc messages as paths? hmm * This way, if the user edits the feed after it is enqueued but before diff --git a/src/FeedEditWindow.cpp b/src/FeedEditWindow.cpp index e831b4e..d2935b3 100644 --- a/src/FeedEditWindow.cpp +++ b/src/FeedEditWindow.cpp @@ -141,7 +141,7 @@ FeedEditWindow::_SaveFeed() enqueueUpdated->AddData("feeds", B_RAW_TYPE, (void*)fFeed, sizeof(Feed)); ((App*)be_app)->MessageReceived(enqueueUpdated); - ((App*)be_app)->MessageReceived(new BMessage(kFeedsEdited)); + ((App*)be_app)->PostMessage(new BMessage(kFeedsEdited)); Quit(); } @@ -150,7 +150,7 @@ void FeedEditWindow::_DeleteFeed() { fFeed->Unfiletize(); - ((App*)be_app)->MessageReceived(new BMessage(kFeedsEdited)); + ((App*)be_app)->PostMessage(new BMessage(kFeedsEdited)); Quit(); } diff --git a/src/FeedEditWindow.h b/src/FeedEditWindow.h index 9acea6b..9f1e1a7 100644 --- a/src/FeedEditWindow.h +++ b/src/FeedEditWindow.h @@ -45,7 +45,6 @@ private: BButton* fSaveButton; BButton* fDeleteButton; - }; diff --git a/src/FeedsView.cpp b/src/FeedsView.cpp index ae3ca58..ab532ff 100644 --- a/src/FeedsView.cpp +++ b/src/FeedsView.cpp @@ -64,7 +64,7 @@ FeedsView::MessageReceived(BMessage* msg) } case kFeedsEdited: { -// _PopulateFeedList(); + _PopulateFeedList(); } case kDownloadStart: { @@ -178,12 +178,17 @@ void FeedsView::_PopulateFeedList() { BList feeds = FeedController::SubscribedFeeds(); + int32 selected = fFeedsListView->CurrentSelection(); fFeedsListView->MakeEmpty(); for (int i = 0; i < feeds.CountItems(); i++) { FeedListItem* item = new FeedListItem((Feed*)feeds.ItemAt(i)); fFeedsListView->AddItem(item); } + + if (fFeedsListView->CountItems() < selected) + selected = fFeedsListView->CountItems(); + fFeedsListView->Select(selected); }