00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef _gui_property_h_
00029 #define _gui_property_h_
00030
00031
00032 #include "lib/prop.h"
00033
00034 #define GUI_PROPERTY_MIN (1000)
00035 #define GUI_PROPERTY_MAX (1000+GUI_PROPERTY_END-1)
00036 #define GUI_PROPERTY_NUM (GUI_PROPERTY_END-1000)
00037
00038 typedef enum {
00039 PROP_MONITOR_ENABLED=1000,
00040 PROP_MONITOR_MAX_ITEMS,
00041 PROP_QUEUE_REGEX_CASE,
00042 PROP_FI_REGEX_CASE,
00043 PROP_SEARCH_HIDE_DOWNLOADED,
00044 PROP_NODES_COL_WIDTHS,
00045 PROP_NODES_COL_VISIBLE,
00046 PROP_DL_ACTIVE_COL_WIDTHS,
00047 PROP_DL_ACTIVE_COL_VISIBLE,
00048 PROP_DL_QUEUED_COL_WIDTHS,
00049 PROP_DL_QUEUED_COL_VISIBLE,
00050 PROP_FILE_INFO_COL_WIDTHS,
00051 PROP_SEARCH_LIST_COL_WIDTHS,
00052 PROP_SEARCH_RESULTS_COL_VISIBLE,
00053 PROP_SEARCH_RESULTS_COL_WIDTHS,
00054 PROP_SEARCH_STATS_COL_WIDTHS,
00055 PROP_UL_STATS_COL_WIDTHS,
00056 PROP_UL_STATS_COL_VISIBLE,
00057 PROP_UPLOADS_COL_WIDTHS,
00058 PROP_UPLOADS_COL_VISIBLE,
00059 PROP_FILTER_RULES_COL_WIDTHS,
00060 PROP_FILTER_FILTERS_COL_WIDTHS,
00061 PROP_GNET_STATS_MSG_COL_WIDTHS,
00062 PROP_GNET_STATS_FC_TTL_COL_WIDTHS,
00063 PROP_GNET_STATS_FC_HOPS_COL_WIDTHS,
00064 PROP_GNET_STATS_FC_COL_WIDTHS,
00065 PROP_GNET_STATS_HORIZON_COL_WIDTHS,
00066 PROP_GNET_STATS_DROP_REASONS_COL_WIDTHS,
00067 PROP_GNET_STATS_RECV_COL_WIDTHS,
00068 PROP_HCACHE_COL_WIDTHS,
00069 PROP_WINDOW_COORDS,
00070 PROP_FILTER_DLG_COORDS,
00071 PROP_PREFS_DLG_COORDS,
00072 PROP_FILEINFO_DIVIDER_POS,
00073 PROP_MAIN_DIVIDER_POS,
00074 PROP_GNET_STATS_DIVIDER_POS,
00075 PROP_SIDE_DIVIDER_POS,
00076 PROP_RESULTS_DIVIDER_POS,
00077 PROP_SEARCH_MAX_RESULTS,
00078 PROP_BROWSE_HOST_MAX_RESULTS,
00079 PROP_GUI_DEBUG,
00080 PROP_FILTER_MAIN_DIVIDER_POS,
00081 PROP_SEARCH_RESULTS_SHOW_TABS,
00082 PROP_SEARCHBAR_VISIBLE,
00083 PROP_SIDEBAR_VISIBLE,
00084 PROP_NAVTREE_VISIBLE,
00085 PROP_TOOLBAR_VISIBLE,
00086 PROP_STATUSBAR_VISIBLE,
00087 PROP_PROGRESSBAR_UPLOADS_VISIBLE,
00088 PROP_PROGRESSBAR_DOWNLOADS_VISIBLE,
00089 PROP_PROGRESSBAR_CONNECTIONS_VISIBLE,
00090 PROP_PROGRESSBAR_BWS_IN_VISIBLE,
00091 PROP_PROGRESSBAR_BWS_OUT_VISIBLE,
00092 PROP_PROGRESSBAR_BWS_GIN_VISIBLE,
00093 PROP_PROGRESSBAR_BWS_GOUT_VISIBLE,
00094 PROP_PROGRESSBAR_BWS_GLIN_VISIBLE,
00095 PROP_PROGRESSBAR_BWS_GLOUT_VISIBLE,
00096 PROP_AUTOHIDE_BWS_GLEAF,
00097 PROP_PROGRESSBAR_BWS_IN_AVG,
00098 PROP_PROGRESSBAR_BWS_OUT_AVG,
00099 PROP_PROGRESSBAR_BWS_GIN_AVG,
00100 PROP_PROGRESSBAR_BWS_GOUT_AVG,
00101 PROP_PROGRESSBAR_BWS_GLIN_AVG,
00102 PROP_PROGRESSBAR_BWS_GLOUT_AVG,
00103 PROP_SEARCH_SORT_CASESENSE,
00104 PROP_SEARCH_SORT_DEFAULT_ORDER,
00105 PROP_SEARCH_SORT_DEFAULT_COLUMN,
00106 PROP_SEARCH_DISCARD_SPAM,
00107 PROP_SEARCH_DISCARD_HASHLESS,
00108 PROP_SEARCH_JUMP_TO_CREATED,
00109 PROP_SEARCH_STATS_MODE,
00110 PROP_SEARCH_STATS_UPDATE_INTERVAL,
00111 PROP_SEARCH_STATS_DELCOEF,
00112 PROP_CONFIRM_QUIT,
00113 PROP_SHOW_TOOLTIPS,
00114 PROP_EXPERT_MODE,
00115 PROP_GNET_STATS_PERC,
00116 PROP_GNET_STATS_BYTES,
00117 PROP_GNET_STATS_HOPS,
00118 PROP_GNET_STATS_SOURCE,
00119 PROP_GNET_STATS_DROP_REASONS_TYPE,
00120 PROP_GNET_STATS_WITH_HEADERS,
00121 PROP_GNET_STATS_DROP_PERC,
00122 PROP_GNET_STATS_GENERAL_COL_WIDTHS,
00123 PROP_AUTOCLEAR_COMPLETED_UPLOADS,
00124 PROP_AUTOCLEAR_FAILED_UPLOADS,
00125 PROP_NODE_SHOW_UPTIME,
00126 PROP_NODE_SHOW_HANDSHAKE_VERSION,
00127 PROP_NODE_SHOW_DETAILED_INFO,
00128 PROP_SHOW_GNET_INFO_TXC,
00129 PROP_SHOW_GNET_INFO_RXC,
00130 PROP_SHOW_GNET_INFO_TX_WIRE,
00131 PROP_SHOW_GNET_INFO_RX_WIRE,
00132 PROP_SHOW_GNET_INFO_TX_SPEED,
00133 PROP_SHOW_GNET_INFO_RX_SPEED,
00134 PROP_SHOW_GNET_INFO_TX_QUERIES,
00135 PROP_SHOW_GNET_INFO_RX_QUERIES,
00136 PROP_SHOW_GNET_INFO_TX_HITS,
00137 PROP_SHOW_GNET_INFO_RX_HITS,
00138 PROP_SHOW_GNET_INFO_GEN_QUERIES,
00139 PROP_SHOW_GNET_INFO_SQ_QUERIES,
00140 PROP_SHOW_GNET_INFO_TX_DROPPED,
00141 PROP_SHOW_GNET_INFO_RX_DROPPED,
00142 PROP_SHOW_GNET_INFO_QRP_STATS,
00143 PROP_SHOW_GNET_INFO_DBW,
00144 PROP_SHOW_GNET_INFO_RT,
00145 PROP_SHOW_GNET_INFO_SHARED_SIZE,
00146 PROP_SHOW_GNET_INFO_SHARED_FILES,
00147 PROP_SEARCH_ACCUMULATION_PERIOD,
00148 PROP_TREEMENU_NODES_EXPANDED,
00149 PROP_GNET_STATS_PKG_COL_WIDTHS,
00150 PROP_GNET_STATS_BYTE_COL_WIDTHS,
00151 PROP_CONFIG_TOOLBAR_STYLE,
00152 PROP_SEARCH_LIFETIME,
00153 GUI_PROPERTY_END
00154 } gui_property_t;
00155
00156
00157
00158
00159 prop_set_stub_t *gui_prop_get_stub(void);
00160
00161
00162
00163
00164 prop_def_t *gui_prop_get_def(property_t);
00165 property_t gui_prop_get_by_name(const gchar *);
00166 GSList *gui_prop_get_by_regex(const gchar *, gint *);
00167 const gchar *gui_prop_name(property_t);
00168 const gchar *gui_prop_type_to_string(property_t);
00169 const gchar *gui_prop_to_string(property_t prop);
00170 const gchar *gui_prop_default_to_string(property_t);
00171 const gchar *gui_prop_description(property_t);
00172 gboolean gui_prop_is_saved(property_t);
00173 void gui_prop_set_from_string(property_t, const gchar *);
00174
00175
00176
00177
00178 void gui_prop_add_prop_changed_listener(
00179 property_t, prop_changed_listener_t, gboolean);
00180 void gui_prop_remove_prop_changed_listener(
00181 property_t, prop_changed_listener_t);
00182
00183
00184
00185
00186
00187
00188 void gui_prop_set_boolean(
00189 property_t, const gboolean *, size_t, size_t);
00190 gboolean *gui_prop_get_boolean(
00191 property_t, gboolean *, size_t, size_t);
00192
00193 static inline void
00194 gui_prop_set_boolean_val(property_t p, gboolean value)
00195 {
00196 gui_prop_set_boolean(p, &value, 0, 1);
00197 }
00198
00199 static inline void
00200 gui_prop_get_boolean_val(property_t p, gboolean *value_ptr)
00201 {
00202 gui_prop_get_boolean(p, value_ptr, 0, 1);
00203 }
00204
00205
00206 void gui_prop_set_string(property_t, const gchar *);
00207 gchar *gui_prop_get_string(property_t, gchar *, size_t);
00208
00209 void gui_prop_set_guint32(
00210 property_t, const guint32 *, size_t, size_t);
00211 guint32 *gui_prop_get_guint32(
00212 property_t, guint32 *, size_t, size_t);
00213
00214 static inline void
00215 gui_prop_set_guint32_val(property_t p, guint32 value)
00216 {
00217 gui_prop_set_guint32(p, &value, 0, 1);
00218 }
00219
00220 static inline void
00221 gui_prop_get_guint32_val(property_t p, guint32 *value_ptr)
00222 {
00223 gui_prop_get_guint32(p, value_ptr, 0, 1);
00224 }
00225
00226 static inline void
00227 gui_prop_incr_guint32(property_t p)
00228 {
00229 guint32 value;
00230 gui_prop_get_guint32_val(p, &value);
00231 value++;
00232 gui_prop_set_guint32_val(p, value);
00233 }
00234
00235 static inline void
00236 gui_prop_decr_guint32(property_t p)
00237 {
00238 guint32 value;
00239 gui_prop_get_guint32_val(p, &value);
00240 value--;
00241 gui_prop_set_guint32_val(p, value);
00242 }
00243
00244 void gui_prop_set_guint64(
00245 property_t, const guint64 *, size_t, size_t);
00246 guint64 *gui_prop_get_guint64(
00247 property_t, guint64 *, size_t, size_t);
00248
00249 static inline void
00250 gui_prop_set_guint64_val(property_t p, guint64 value)
00251 {
00252 gui_prop_set_guint64(p, &value, 0, 1);
00253 }
00254
00255 static inline void
00256 gui_prop_get_guint64_val(property_t p, guint64 *value_ptr)
00257 {
00258 gui_prop_get_guint64(p, value_ptr, 0, 1);
00259 }
00260
00261 void gui_prop_set_timestamp(
00262 property_t, const time_t *, size_t, size_t);
00263 time_t *gui_prop_get_timestamp(
00264 property_t, time_t *, size_t, size_t);
00265
00266 static inline void
00267 gui_prop_set_timestamp_val(property_t p, time_t value)
00268 {
00269 gui_prop_set_timestamp(p, &value, 0, 1);
00270 }
00271
00272 static inline void
00273 gui_prop_get_timestamp_val(property_t p, time_t *value_ptr)
00274 {
00275 gui_prop_get_timestamp(p, value_ptr, 0, 1);
00276 }
00277
00278 void gui_prop_set_ip(
00279 property_t, const host_addr_t *, size_t, size_t);
00280 host_addr_t *gui_prop_get_ip(
00281 property_t, host_addr_t *, size_t, size_t);
00282
00283 static inline void
00284 gui_prop_set_ip_val(property_t p, host_addr_t value)
00285 {
00286 gui_prop_set_ip(p, &value, 0, 1);
00287 }
00288
00289 static inline void
00290 gui_prop_get_ip_val(property_t p, host_addr_t *value_ptr)
00291 {
00292 gui_prop_get_ip(p, value_ptr, 0, 1);
00293 }
00294
00295 void gui_prop_set_storage(property_t, gconstpointer, size_t);
00296 gpointer gui_prop_get_storage(property_t, gpointer, size_t);
00297
00298 #endif
00299