diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2012-03-16 12:18:43 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2012-03-16 12:18:43 +0000 |
commit | 2084b973467537c755b320a23c5f986c6da3c9c8 (patch) | |
tree | 769391f0f0c6236af813132099f4e11e9f80de56 | |
parent | d64b82dbfcd7d250a32568fc8808582717c42fdd (diff) | |
download | gnunet-gtk-2084b973467537c755b320a23c5f986c6da3c9c8.tar.gz gnunet-gtk-2084b973467537c755b320a23c5f986c6da3c9c8.zip |
- made colors!
-rw-r--r-- | src/gns/gnunet-gns-gtk_zone.c | 60 |
1 files changed, 51 insertions, 9 deletions
diff --git a/src/gns/gnunet-gns-gtk_zone.c b/src/gns/gnunet-gns-gtk_zone.c index df1676af..1fcdef24 100644 --- a/src/gns/gnunet-gns-gtk_zone.c +++ b/src/gns/gnunet-gns-gtk_zone.c | |||
@@ -121,7 +121,30 @@ GNUNET_GNS_GTK_value_cellrenderertext_edited_cb (GtkCellRendererText *renderer, | |||
121 | gchar *new_text, | 121 | gchar *new_text, |
122 | gpointer user_data) | 122 | gpointer user_data) |
123 | { | 123 | { |
124 | GNUNET_break (0); // FIXME, not implemented | 124 | struct GNUNET_GNS_Context *gns = user_data; |
125 | GtkTreeModel *tm = GTK_TREE_MODEL(gns->ts); | ||
126 | GtkTreeIter it; | ||
127 | size_t data_size; | ||
128 | void * data; | ||
129 | GNUNET_break (0); | ||
130 | |||
131 | if (0 != strcmp(new_text,"")) | ||
132 | { | ||
133 | if (GNUNET_OK == GNUNET_NAMESTORE_string_to_value (1, | ||
134 | new_text, | ||
135 | &data, | ||
136 | &data_size)) | ||
137 | { | ||
138 | gtk_tree_model_get_iter_from_string(tm, &it, path); | ||
139 | gtk_tree_store_set (gns->ts, &it, TREE_COL_VAL_AS_STR, new_text, -1); | ||
140 | } | ||
141 | else | ||
142 | { | ||
143 | gtk_tree_model_get_iter_from_string(tm, &it, path); | ||
144 | gtk_tree_store_set (gns->ts, &it, TREE_COL_VAL_COLOR, "red", -1); | ||
145 | gtk_tree_store_set (gns->ts, &it, TREE_COL_VAL_AS_STR, new_text, -1); | ||
146 | } | ||
147 | } | ||
125 | } | 148 | } |
126 | 149 | ||
127 | 150 | ||
@@ -214,9 +237,14 @@ void zone_iteration_proc (void *cls, | |||
214 | const struct GNUNET_CRYPTO_RsaSignature *signature) | 237 | const struct GNUNET_CRYPTO_RsaSignature *signature) |
215 | { | 238 | { |
216 | struct ZoneIteration_Context * zc_ctx = cls; | 239 | struct ZoneIteration_Context * zc_ctx = cls; |
217 | GtkTreeIter toplevel; | 240 | GtkTreeIter iter_name; |
218 | GtkTreeIter child; | 241 | GtkTreeIter iter_record; |
219 | int c; | 242 | int c; |
243 | int time_is_relative; | ||
244 | |||
245 | char *exp; | ||
246 | char *val; | ||
247 | int public; | ||
220 | 248 | ||
221 | GNUNET_assert (zc_ctx != NULL); | 249 | GNUNET_assert (zc_ctx != NULL); |
222 | if ((NULL == zone_key) && (NULL == name)) | 250 | if ((NULL == zone_key) && (NULL == name)) |
@@ -229,14 +257,14 @@ void zone_iteration_proc (void *cls, | |||
229 | GNUNET_h2s(&zc_ctx->zone), name, rd_count); | 257 | GNUNET_h2s(&zc_ctx->zone), name, rd_count); |
230 | 258 | ||
231 | GNUNET_assert(GTK_IS_TREE_STORE(zc_ctx->gns->ts)); | 259 | GNUNET_assert(GTK_IS_TREE_STORE(zc_ctx->gns->ts)); |
232 | gtk_tree_store_append(zc_ctx->gns->ts, &toplevel, NULL); | 260 | gtk_tree_store_append(zc_ctx->gns->ts, &iter_name, NULL); |
233 | /* | 261 | /* |
234 | GtkCellRenderer *renderer ; | 262 | GtkCellRenderer *renderer ; |
235 | g_object_set(renderer, | 263 | g_object_set(renderer, |
236 | "editable", FALSE, | 264 | "editable", FALSE, |
237 | NULL); | 265 | NULL); |
238 | */ | 266 | */ |
239 | gtk_tree_store_set(zc_ctx->gns->ts, &toplevel, | 267 | gtk_tree_store_set(zc_ctx->gns->ts, &iter_name, |
240 | TREE_COL_NAME, name, | 268 | TREE_COL_NAME, name, |
241 | -1); | 269 | -1); |
242 | 270 | ||
@@ -247,20 +275,34 @@ void zone_iteration_proc (void *cls, | |||
247 | c, rd[c].record_type, rd[c].flags, rd[c].expiration, rd[c].data_size); | 275 | c, rd[c].record_type, rd[c].flags, rd[c].expiration, rd[c].data_size); |
248 | 276 | ||
249 | /* Set public toggle */ | 277 | /* Set public toggle */ |
250 | int public; | ||
251 | if (rd[c].flags != GNUNET_NAMESTORE_RF_PRIVATE) | 278 | if (rd[c].flags != GNUNET_NAMESTORE_RF_PRIVATE) |
252 | public = GNUNET_YES; | 279 | public = GNUNET_YES; |
253 | else | 280 | else |
254 | public = GNUNET_NO; | 281 | public = GNUNET_NO; |
255 | 282 | ||
256 | /* Expiration time */ | 283 | /* Expiration time */ |
257 | char * exp = GNUNET_STRINGS_absolute_time_to_string (rd[c].expiration); | 284 | time_is_relative = GNUNET_NO; |
285 | |||
286 | if (GNUNET_YES == time_is_relative) | ||
287 | { | ||
288 | /* FIX THIS WHEN WE HAVE RELATIVE TIME */ | ||
289 | struct GNUNET_TIME_Relative rel_time = GNUNET_TIME_relative_get_zero(); | ||
290 | exp = GNUNET_STRINGS_absolute_time_to_string (GNUNET_TIME_absolute_add(GNUNET_TIME_absolute_get(), rel_time)); | ||
291 | } | ||
292 | else | ||
293 | exp = GNUNET_STRINGS_absolute_time_to_string (rd[c].expiration); | ||
294 | /* value */ | ||
295 | val = GNUNET_NAMESTORE_value_to_string (rd[c].record_type, | ||
296 | rd[c].data, | ||
297 | rd[c].data_size); | ||
258 | 298 | ||
259 | gtk_tree_store_insert_with_values(zc_ctx->gns->ts, &child , &toplevel, 0, | 299 | gtk_tree_store_insert_with_values(zc_ctx->gns->ts, &iter_record , &iter_name, 0, |
260 | TREE_COL_NAME, "", | 300 | TREE_COL_NAME, "", |
261 | TREE_COL_RECORD_TYPE, rd[c].record_type, | 301 | TREE_COL_RECORD_TYPE, 4, |
262 | TREE_COL_IS_PUBLIC, public, | 302 | TREE_COL_IS_PUBLIC, public, |
263 | TREE_COL_EXP_TIME_AS_STR, exp, | 303 | TREE_COL_EXP_TIME_AS_STR, exp, |
304 | TREE_COL_EXP_TIME_IS_REL, time_is_relative, | ||
305 | TREE_COL_VAL_AS_STR, val, | ||
264 | -1); | 306 | -1); |
265 | 307 | ||
266 | GNUNET_free (exp); | 308 | GNUNET_free (exp); |