2#include "canvas/appearance.hpp"
3#include "canvas3d/spacenav_prefs.hpp"
4#include "canvas/input_devices_prefs.hpp"
5#include "nlohmann/json_fwd.hpp"
6#include <sigc++/sigc++.h>
8#include "imp/action_catalog.hpp"
13enum class InToolActionID;
18 void load_from_json(
const json &j);
19 void load_colors_from_json(
const json &j);
20 json serialize()
const;
21 json serialize_colors()
const;
26 bool show_all_junctions =
false;
27 bool drag_start_net_line =
true;
28 bool bend_non_ortho =
true;
30 void load_from_json(
const json &j);
31 json serialize()
const;
36 bool drag_start_track =
true;
37 bool highlight_on_top =
true;
38 bool show_text_in_tracks =
true;
39 bool show_text_in_vias =
true;
40 bool move_using_router =
true;
42 void load_from_json(
const json &j);
43 json serialize()
const;
48 std::map<ActionToolID, std::map<ActionCatalogItem::Availability, std::vector<KeySequence>>> keys;
50 void load_from_json(
const json &j);
51 void append_from_json(
const json &j);
52 json serialize()
const;
57 std::map<InToolActionID, std::vector<KeySequence>> keys;
59 void load_from_json(
const json &j);
60 void append_from_json(
const json &j);
61 json serialize()
const;
66 bool smooth_zoom_2d =
true;
67 bool smooth_zoom_3d =
false;
68 bool touchpad_pan =
false;
69 float zoom_factor = 50;
70 bool keyboard_zoom_to_cursor =
false;
72 void load_from_json(
const json &j);
73 json serialize()
const;
78 bool show_hints =
true;
79 unsigned int max_depth = 50;
81 void load_from_json(
const json &j);
82 json serialize()
const;
87 std::string url =
"https://dev-partinfo.kitspace.org/graphql";
88 std::string preferred_distributor;
89 bool ignore_moq_gt_1 =
true;
90 unsigned int max_price_breaks = 3;
91 unsigned int cache_days = 5;
93 void load_from_json(
const json &j);
94 json serialize()
const;
99 std::string client_id;
100 std::string client_secret;
101 std::string site =
"DE";
102 std::string currency =
"EUR";
103 unsigned int max_price_breaks = 3;
105 void load_from_json(
const json &j);
106 json serialize()
const;
112 bool remember =
true;
113 bool show_in_tool =
true;
115 void load_from_json(
const json &j);
116 json serialize()
const;
121 bool switch_layers =
true;
122 bool switch_sheets =
true;
123 bool drag_polygon_edges =
true;
124 bool drag_to_move =
true;
126 void load_from_json(
const json &j);
127 json serialize()
const;
132 bool vertical_layout =
false;
134 void load_from_json(
const json &j);
135 json serialize()
const;
140 bool dark_theme =
false;
142 void load_from_json(
const json &j);
143 json serialize()
const;
150 std::vector<ActionID> buttons;
152 void load_from_json(
const json &j);
153 json serialize()
const;
160 void load_from_json(
const json &j);
161 json serialize()
const;
167 void set_filename(
const std::string &filename);
170 void load_from_json(
const json &j);
172 static std::string get_preferences_filename();
173 json serialize()
const;
181 bool capture_output =
false;
183 enum class StockInfoProviderSel { NONE, PARTINFO, DIGIKEY };
184 StockInfoProviderSel stock_info_provider = StockInfoProviderSel::NONE;
197 bool show_pull_request_tools =
false;
198 bool hud_debug =
false;
200 typedef sigc::signal<void> type_signal_changed;
201 type_signal_changed signal_changed()
203 return s_signal_changed;
207 std::string filename;
208 type_signal_changed s_signal_changed;
Definition preferences.hpp:109
Definition preferences.hpp:138
Definition appearance.hpp:7
Definition preferences.hpp:34
Definition preferences.hpp:15
Definition preferences.hpp:97
Definition preferences.hpp:46
Definition preferences.hpp:119
Definition preferences.hpp:85
Definition preferences.hpp:164
Definition preferences.hpp:24
Definition preferences.hpp:146
Definition preferences.hpp:76
Definition preferences.hpp:64
a class to store JSON values
Definition json.hpp:177
basic_json<> json
default JSON class
Definition json_fwd.hpp:62
Definition spacenav_prefs.hpp:4