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 #include "lib/prop.h"
00032
00033 #define GUI_PROPERTY_MIN (1000)
00034 #define GUI_PROPERTY_MAX (1000+GUI_PROPERTY_END-1)
00035 #define GUI_PROPERTY_NUM (GUI_PROPERTY_END-1000)
00036
00037 typedef enum {
00038 PROP_MONITOR_ENABLED=1000,
00039 PROP_MONITOR_MAX_ITEMS,
00040 PROP_QUEUE_REGEX_CASE,
00041 PROP_FI_REGEX_CASE,
00042 PROP_SEARCH_HIDE_DOWNLOADED,
00043 PROP_NODES_COL_WIDTHS,
00044 PROP_NODES_COL_VISIBLE,
00045 PROP_DL_ACTIVE_COL_WIDTHS,
00046 PROP_DL_ACTIVE_COL_VISIBLE,
00047 PROP_DL_QUEUED_COL_WIDTHS,
00048 PROP_DL_QUEUED_COL_VISIBLE,
00049 PROP_FILE_INFO_COL_WIDTHS,
00050 PROP_SEARCH_LIST_COL_WIDTHS,
00051 PROP_SEARCH_RESULTS_COL_VISIBLE,
00052 PROP_SEARCH_RESULTS_COL_WIDTHS,
00053 PROP_SEARCH_STATS_COL_WIDTHS,
00054 PROP_UL_STATS_COL_WIDTHS,
00055 PROP_UL_STATS_COL_VISIBLE,
00056 PROP_UPLOADS_COL_WIDTHS,
00057 PROP_UPLOADS_COL_VISIBLE,
00058 PROP_FILTER_RULES_COL_WIDTHS,
00059 PROP_FILTER_FILTERS_COL_WIDTHS,
00060 PROP_GNET_STATS_MSG_COL_WIDTHS,
00061 PROP_GNET_STATS_FC_TTL_COL_WIDTHS,
00062 PROP_GNET_STATS_FC_HOPS_COL_WIDTHS,
00063 PROP_GNET_STATS_FC_COL_WIDTHS,
00064 PROP_GNET_STATS_HORIZON_COL_WIDTHS,
00065 PROP_GNET_STATS_DROP_REASONS_COL_WIDTHS,
00066 PROP_GNET_STATS_RECV_COL_WIDTHS,
00067 PROP_HCACHE_COL_WIDTHS,
00068 PROP_WINDOW_COORDS,
00069 PROP_FILTER_DLG_COORDS,
00070 PROP_PREFS_DLG_COORDS,
00071 PROP_FILEINFO_DIVIDER_POS,
00072 PROP_MAIN_DIVIDER_POS,
00073 PROP_GNET_STATS_DIVIDER_POS,
00074 PROP_SIDE_DIVIDER_POS,
00075 PROP_RESULTS_DIVIDER_POS,
00076 PROP_SEARCH_MAX_RESULTS,
00077 PROP_BROWSE_HOST_MAX_RESULTS,
00078 PROP_GUI_DEBUG,
00079 PROP_FILTER_MAIN_DIVIDER_POS,
00080 PROP_SEARCH_RESULTS_SHOW_TABS,
00081 PROP_SIDEBAR_VISIBLE,
00082 PROP_NAVTREE_VISIBLE,
00083 PROP_TOOLBAR_VISIBLE,
00084 PROP_STATUSBAR_VISIBLE,
00085 PROP_PROGRESSBAR_UPLOADS_VISIBLE,
00086 PROP_PROGRESSBAR_DOWNLOADS_VISIBLE,
00087 PROP_PROGRESSBAR_CONNECTIONS_VISIBLE,
00088 PROP_PROGRESSBAR_BWS_IN_VISIBLE,
00089 PROP_PROGRESSBAR_BWS_OUT_VISIBLE,
00090 PROP_PROGRESSBAR_BWS_GIN_VISIBLE,
00091 PROP_PROGRESSBAR_BWS_GOUT_VISIBLE,
00092 PROP_PROGRESSBAR_BWS_GLIN_VISIBLE,
00093 PROP_PROGRESSBAR_BWS_GLOUT_VISIBLE,
00094 PROP_AUTOHIDE_BWS_GLEAF,
00095 PROP_PROGRESSBAR_BWS_IN_AVG,
00096 PROP_PROGRESSBAR_BWS_OUT_AVG,
00097 PROP_PROGRESSBAR_BWS_GIN_AVG,
00098 PROP_PROGRESSBAR_BWS_GOUT_AVG,
00099 PROP_PROGRESSBAR_BWS_GLIN_AVG,
00100 PROP_PROGRESSBAR_BWS_GLOUT_AVG,
00101 PROP_SEARCH_SORT_CASESENSE,
00102 PROP_SEARCH_SORT_DEFAULT_ORDER,
00103 PROP_SEARCH_SORT_DEFAULT_COLUMN,
00104 PROP_SHOW_SEARCH_RESULTS_SETTINGS,
00105 PROP_SHOW_DL_SETTINGS,
00106 PROP_SEARCH_STATS_MODE,
00107 PROP_SEARCH_STATS_UPDATE_INTERVAL,
00108 PROP_SEARCH_STATS_DELCOEF,
00109 PROP_CONFIRM_QUIT,
00110 PROP_SHOW_TOOLTIPS,
00111 PROP_EXPERT_MODE,
00112 PROP_GNET_STATS_PERC,
00113 PROP_GNET_STATS_BYTES,
00114 PROP_GNET_STATS_HOPS,
00115 PROP_GNET_STATS_SOURCE,
00116 PROP_GNET_STATS_DROP_REASONS_TYPE,
00117 PROP_GNET_STATS_WITH_HEADERS,
00118 PROP_GNET_STATS_DROP_PERC,
00119 PROP_GNET_STATS_GENERAL_COL_WIDTHS,
00120 PROP_AUTOCLEAR_COMPLETED_UPLOADS,
00121 PROP_AUTOCLEAR_FAILED_UPLOADS,
00122 PROP_NODE_SHOW_UPTIME,
00123 PROP_NODE_SHOW_HANDSHAKE_VERSION,
00124 PROP_NODE_SHOW_DETAILED_INFO,
00125 PROP_SHOW_GNET_INFO_TXC,
00126 PROP_SHOW_GNET_INFO_RXC,
00127 PROP_SHOW_GNET_INFO_TX_WIRE,
00128 PROP_SHOW_GNET_INFO_RX_WIRE,
00129 PROP_SHOW_GNET_INFO_TX_SPEED,
00130 PROP_SHOW_GNET_INFO_RX_SPEED,
00131 PROP_SHOW_GNET_INFO_TX_QUERIES,
00132 PROP_SHOW_GNET_INFO_RX_QUERIES,
00133 PROP_SHOW_GNET_INFO_TX_HITS,
00134 PROP_SHOW_GNET_INFO_RX_HITS,
00135 PROP_SHOW_GNET_INFO_GEN_QUERIES,
00136 PROP_SHOW_GNET_INFO_SQ_QUERIES,
00137 PROP_SHOW_GNET_INFO_TX_DROPPED,
00138 PROP_SHOW_GNET_INFO_RX_DROPPED,
00139 PROP_SHOW_GNET_INFO_QRP_STATS,
00140 PROP_SHOW_GNET_INFO_DBW,
00141 PROP_SHOW_GNET_INFO_RT,
00142 PROP_SHOW_GNET_INFO_SHARED_SIZE,
00143 PROP_SHOW_GNET_INFO_SHARED_FILES,
00144 PROP_SEARCH_ACCUMULATION_PERIOD,
00145 PROP_TREEMENU_NODES_EXPANDED,
00146 PROP_GNET_STATS_PKG_COL_WIDTHS,
00147 PROP_GNET_STATS_BYTE_COL_WIDTHS,
00148 PROP_CONFIG_TOOLBAR_STYLE,
00149 PROP_SEARCH_LIFETIME,
00150 GUI_PROPERTY_END
00151 } gui_property_t;
00152
00153
00154
00155
00156 prop_set_stub_t *gui_prop_get_stub(void);
00157
00158
00159
00160
00161 prop_def_t *gui_prop_get_def(property_t);
00162 property_t gui_prop_get_by_name(const gchar *);
00163 GSList *gui_prop_get_by_regex(const gchar *, gint *);
00164 const gchar *gui_prop_name(property_t);
00165 const gchar *gui_prop_type_to_string(property_t);
00166 const gchar *gui_prop_to_string(property_t prop);
00167 const gchar *gui_prop_default_to_string(property_t);
00168 const gchar *gui_prop_description(property_t);
00169 gboolean gui_prop_is_saved(property_t);
00170 void gui_prop_set_from_string(property_t, const gchar *);
00171
00172
00173
00174
00175 void gui_prop_add_prop_changed_listener(
00176 property_t, prop_changed_listener_t, gboolean);
00177 void gui_prop_remove_prop_changed_listener(
00178 property_t, prop_changed_listener_t);
00179
00180
00181
00182
00183
00184
00185 void gui_prop_set_boolean(
00186 property_t, const gboolean *, size_t, size_t);
00187 gboolean *gui_prop_get_boolean(
00188 property_t, gboolean *, size_t, size_t);
00189
00190 #define gui_prop_set_boolean_val(p, v) do { \
00191 gboolean value = v; \
00192 gui_prop_set_boolean(p, &value, 0, 1); \
00193 } while (0)
00194
00195 #define gui_prop_get_boolean_val(p, v) do { \
00196 gui_prop_get_boolean(p, v, 0, 1); \
00197 } while (0)
00198
00199
00200 void gui_prop_set_string(property_t, const gchar *);
00201 gchar *gui_prop_get_string(property_t, gchar *, size_t);
00202
00203 void gui_prop_set_guint32(
00204 property_t, const guint32 *, size_t, size_t);
00205 guint32 *gui_prop_get_guint32(
00206 property_t, guint32 *, size_t, size_t);
00207
00208 #define gui_prop_set_guint32_val(p, v) do { \
00209 guint32 value = v; \
00210 gui_prop_set_guint32(p, &value, 0, 1); \
00211 } while (0)
00212
00213 #define gui_prop_get_guint32_val(p, v) do { \
00214 gui_prop_get_guint32(p, v, 0, 1); \
00215 } while (0)
00216
00217 void gui_prop_set_guint64(
00218 property_t, const guint64 *, size_t, size_t);
00219 guint64 *gui_prop_get_guint64(
00220 property_t, guint64 *, size_t, size_t);
00221
00222 #define gui_prop_set_guint64_val(p, v) do { \
00223 guint64 value = v; \
00224 gui_prop_set_guint64(p, &value, 0, 1); \
00225 } while (0)
00226
00227 #define gui_prop_get_guint64_val(p, v) do { \
00228 gui_prop_get_guint64(p, v, 0, 1); \
00229 } while (0)
00230
00231 void gui_prop_set_timestamp(
00232 property_t, const time_t *, size_t, size_t);
00233 time_t *gui_prop_get_timestamp(
00234 property_t, time_t *, size_t, size_t);
00235
00236 #define gui_prop_set_timestamp_val(p, v) do { \
00237 time_t value = v; \
00238 gui_prop_set_timestamp(p, &value, 0, 1); \
00239 } while (0)
00240
00241 #define gui_prop_get_timestamp_val(p, v) do { \
00242 gui_prop_get_timestamp(p, v, 0, 1); \
00243 } while (0)
00244 void gui_prop_set_storage(property_t, const gchar *, size_t);
00245 gchar *gui_prop_get_storage(property_t, gchar *, size_t);
00246
00247 #endif
00248