aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2012-03-16 12:18:43 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2012-03-16 12:18:43 +0000
commit2084b973467537c755b320a23c5f986c6da3c9c8 (patch)
tree769391f0f0c6236af813132099f4e11e9f80de56
parentd64b82dbfcd7d250a32568fc8808582717c42fdd (diff)
downloadgnunet-gtk-2084b973467537c755b320a23c5f986c6da3c9c8.tar.gz
gnunet-gtk-2084b973467537c755b320a23c5f986c6da3c9c8.zip
- made colors!
-rw-r--r--src/gns/gnunet-gns-gtk_zone.c60
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);