#pragma once #include #include #include #include #include #include "uicontext.h" #include "viewframe.h" #include "warp.h" #include "fetcher.h" class WarpFetchDialog : public QDialog { Q_OBJECT QComboBox* m_containerCombo; QListWidget* m_tagsList; QPushButton* m_addTagBtn; QPushButton* m_removeTagBtn; QPushButton* m_resetTagBtn; QCheckBox* m_rerunMatcher; QCheckBox* m_clearProcessed; std::vector> m_containers; std::shared_ptr m_fetchProcessor; BinaryViewRef m_bv; public: explicit WarpFetchDialog(BinaryViewRef bv, std::shared_ptr fetchProcessor, QWidget* parent = nullptr); private slots: void onAddTag(); void onRemoveTag(); void onResetTags(); void onAccept(); void onReject(); private: void populateContainers(); std::vector collectTags() const; void runBatchedFetch(const std::optional& containerIndex, const std::vector& allowedTags, bool rerunMatcher); };