diff options
| author | Mason Reed <mason@vector35.com> | 2025-10-07 14:30:37 -0400 |
|---|---|---|
| committer | Mason Reed <mason@vector35.com> | 2025-10-07 14:30:37 -0400 |
| commit | 3e24f6ab0b373d8718e26a19ac296044cc0d19c6 (patch) | |
| tree | b87481dbe7895c2b14761193fce8a6422e452b75 /plugins/warp/ui/shared/misc.h | |
| parent | aafb1e7a4ce244b3f0aa25ac201dfbeeff2110e8 (diff) | |
[WARP] Improved fetch dialog UX
- Respects views fetch batch size and allowed tags
- Saves and loads from the view settings instead of qt settings
Diffstat (limited to 'plugins/warp/ui/shared/misc.h')
| -rw-r--r-- | plugins/warp/ui/shared/misc.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/plugins/warp/ui/shared/misc.h b/plugins/warp/ui/shared/misc.h index 35f640f5..57d71070 100644 --- a/plugins/warp/ui/shared/misc.h +++ b/plugins/warp/ui/shared/misc.h @@ -112,3 +112,30 @@ struct ParsedQuery return it.value(); } }; + +constexpr const char* ALLOWED_TAGS_SETTING = "warp.fetcher.allowedSourceTags"; +constexpr const char* BATCH_SIZE_SETTING = "warp.fetcher.fetchBatchSize"; + +inline std::vector<Warp::SourceTag> GetAllowedTagsFromView(const BinaryViewRef& view) +{ + auto settings = BinaryNinja::Settings::Instance(); + if (!settings->Contains(ALLOWED_TAGS_SETTING)) + return {}; + return settings->Get<std::vector<std::string>>(ALLOWED_TAGS_SETTING, view); +} + +inline void SetTagsToView(const BinaryViewRef& view, const std::vector<Warp::SourceTag>& tags) +{ + auto settings = BinaryNinja::Settings::Instance(); + if (!settings->Contains(ALLOWED_TAGS_SETTING)) + return; + settings->Set(ALLOWED_TAGS_SETTING, tags, view); +} + +inline int GetBatchSizeFromView(const BinaryViewRef& view) +{ + auto settings = BinaryNinja::Settings::Instance(); + if (!settings->Contains(BATCH_SIZE_SETTING)) + return 100; + return settings->Get<uint64_t>(BATCH_SIZE_SETTING, view); +}
\ No newline at end of file |
