summaryrefslogtreecommitdiff
path: root/plugins/warp/ui/shared/misc.h
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2025-10-07 14:30:37 -0400
committerMason Reed <mason@vector35.com>2025-10-07 14:30:37 -0400
commit3e24f6ab0b373d8718e26a19ac296044cc0d19c6 (patch)
treeb87481dbe7895c2b14761193fce8a6422e452b75 /plugins/warp/ui/shared/misc.h
parentaafb1e7a4ce244b3f0aa25ac201dfbeeff2110e8 (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.h27
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