#ifndef NEWSBEUTER_FEEDLIST_FORMACTION__H #define NEWSBEUTER_FEEDLIST_FORMACTION__H #include #include #include namespace newsbeuter { typedef std::pair feedptr_pos_pair; class feedlist_formaction : public formaction { public: feedlist_formaction(view *, std::string formstr); virtual ~feedlist_formaction(); virtual void prepare(); virtual void init(); void set_feedlist(std::vector& feeds); void set_tags(const std::vector& t); virtual keymap_hint_entry * get_keymap_hint(); rss_feed * get_feed(); virtual std::string id() const { return "feedlist"; } bool jump_to_next_unread_feed(unsigned int& feedpos); bool jump_to_previous_unread_feed(unsigned int& feedpos); virtual void handle_cmdline(const std::string& cmd); virtual void finished_qna(operation op); private: int get_pos(unsigned int realidx); virtual void process_operation(operation op, bool automatic = false, std::vector * args = NULL); bool zero_feedpos; unsigned int feeds_shown; bool auto_open; bool quit; std::vector visible_feeds; std::string tag; std::vector tags; matcher m; bool apply_filter; history filterhistory; rss_feed search_dummy_feed; }; } #endif