[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r22306 - in gnunet-gtk: contrib src/setup
From: |
gnunet |
Subject: |
[GNUnet-SVN] r22306 - in gnunet-gtk: contrib src/setup |
Date: |
Tue, 26 Jun 2012 17:28:30 +0200 |
Author: grothoff
Date: 2012-06-26 17:28:30 +0200 (Tue, 26 Jun 2012)
New Revision: 22306
Modified:
gnunet-gtk/contrib/gnunet_setup_gtk_main_window.glade
gnunet-gtk/src/setup/gnunet-setup-gns.c
Log:
-more cleanup
Modified: gnunet-gtk/contrib/gnunet_setup_gtk_main_window.glade
===================================================================
--- gnunet-gtk/contrib/gnunet_setup_gtk_main_window.glade 2012-06-26
15:00:50 UTC (rev 22305)
+++ gnunet-gtk/contrib/gnunet_setup_gtk_main_window.glade 2012-06-26
15:28:30 UTC (rev 22306)
@@ -4620,7 +4620,7 @@
<property name="editable">True</property>
<property
name="model">GNUNET_setup_gns_type_liststore</property>
<property name="text_column">1</property>
- <signal name="changed"
handler="GNUNET_setup_gns_type_cellrenderercombo_changed_cb" swapped="no"/>
+ <signal name="edited"
handler="GNUNET_setup_gns_type_cellrenderercombo_edited_cb" swapped="no"/>
</object>
<attributes>
<attribute name="visible">10</attribute>
Modified: gnunet-gtk/src/setup/gnunet-setup-gns.c
===================================================================
--- gnunet-gtk/src/setup/gnunet-setup-gns.c 2012-06-26 15:00:50 UTC (rev
22305)
+++ gnunet-gtk/src/setup/gnunet-setup-gns.c 2012-06-26 15:28:30 UTC (rev
22306)
@@ -182,22 +182,17 @@
static struct GNUNET_NAMESTORE_Handle *namestore;
/**
- * FIXME...
+ * Tree store with all of the values we're modifying for GNS.
*/
static GtkTreeStore *ts;
/**
- * FIXME...
+ * Tree model (same object as 'ts', just different type).
*/
-static GtkListStore *ls;
-
-/**
- * FIXME...
- */
static GtkTreeModel *tm;
/**
- * FIXME...
+ * The main tree view for 'gns' that shows the records.
*/
static GtkTreeView *tv;
@@ -648,26 +643,32 @@
* @param user_data unused
*/
void
-GNUNET_setup_gns_type_cellrenderercombo_changed_cb (GtkCellRendererCombo
*combo,
- gchar *path,
- GtkTreeIter *new_iter,
- gpointer user_data)
+GNUNET_setup_gns_type_cellrenderercombo_edited_cb (GtkCellRendererCombo *combo,
+ gchar *path,
+ gchar *new_text,
+ gpointer user_data)
{
+ GtkTreeSelection *sel;
GtkTreeIter it;
GtkTreeIter child;
guint type;
- char *type_str;
gboolean not_dummy_row;
char *name_str;
char *value_str;
int is_valid;
void *data;
size_t data_size;
+ GtkTreePath *tp;
+ GtkTreeViewColumn *value_column;
- gtk_tree_model_get (GTK_TREE_MODEL(ls), new_iter,
- GNS_TYPE_TO_NAME_LISTSTORE_COLUMN_TYPE, &type,
- GNS_TYPE_TO_NAME_LISTSTORE_COLUMN_TYPENAME, &type_str,
- -1);
+ type = GNUNET_NAMESTORE_typename_to_number (new_text);
+ if (UINT32_MAX == type)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Invalid or unsupported record type `%s'\n",
+ new_text);
+ return;
+ }
/* check if this is a new record */
gtk_tree_model_get_iter_from_string(tm, &it, path);
gtk_tree_model_get(tm, &it,
@@ -690,18 +691,18 @@
/* Updating an existing record */
gtk_tree_store_set(ts, &it,
GNS_TREESTORE_COL_RECORD_TYPE, type,
- GNS_TREESTORE_COL_RECORD_TYPE_AS_STR, type_str,
+ GNS_TREESTORE_COL_RECORD_TYPE_AS_STR, new_text,
GNS_TREESTORE_COL_VAL_COLOR, (GNUNET_NO == is_valid) ?
"red" : NULL,
-1);
}
else if ((NULL != name_str) && (0 != strcmp (NEW_NAME_STR, name_str)))
{
/* Adding a new record */
- gtk_tree_store_insert_with_values(ts, &child , &it, 0,
+ gtk_tree_store_insert_with_values(ts, &child , &it, -1,
GNS_TREESTORE_COL_NAME, name_str,
GNS_TREESTORE_COL_NAME_IS_VISIBLE, FALSE,
GNS_TREESTORE_COL_RECORD_TYPE, type,
- GNS_TREESTORE_COL_RECORD_TYPE_AS_STR,
type_str,
+ GNS_TREESTORE_COL_RECORD_TYPE_AS_STR,
new_text,
GNS_TREESTORE_COL_EXP_TIME_AS_STR,
EXPIRE_NEVER_STRING,
GNS_TREESTORE_COL_EXP_TIME,
GNUNET_TIME_UNIT_FOREVER_ABS,
GNS_TREESTORE_COL_EXP_TIME_IS_REL, FALSE,
@@ -709,14 +710,23 @@
GNS_TREESTORE_COL_NOT_DUMMY_ROW, TRUE,
GNS_TREESTORE_COL_VAL_COLOR, "red",
-1);
+ /* select new row and start editing 'value' */
gtk_tree_view_expand_row (tv, gtk_tree_model_get_path(tm, &it), 0);
+ sel = gtk_tree_view_get_selection (tv);
+ gtk_tree_selection_select_iter (sel, &child);
+ value_column = GTK_TREE_VIEW_COLUMN (GNUNET_SETUP_get_object
("GNUNET_setup_gns_value_treeviewcolumn"));
+ tp = gtk_tree_model_get_path (tm, &child);
+ gtk_tree_view_set_cursor (tv,
+ tp,
+ value_column,
+ TRUE);
+ gtk_tree_path_free (tp);
}
else
{
/* type should not have been editable! */
GNUNET_break (0);
}
- GNUNET_free (type_str);
GNUNET_free_non_null (value_str);
GNUNET_free_non_null (name_str);
check_name_validity_and_commit (path, NULL);
@@ -1602,7 +1612,6 @@
return;
}
ts = GTK_TREE_STORE (GNUNET_SETUP_get_object
("GNUNET_setup_gns_treestore"));
- ls = GTK_LIST_STORE (GNUNET_SETUP_get_object
("GNUNET_setup_gns_type_liststore"));
tv = GTK_TREE_VIEW (GNUNET_SETUP_get_object
("GNUNET_setup_gns_main_treeview"));
tm = GTK_TREE_MODEL(ts);
zone_as_string = GNUNET_strdup ((char *) &shenc);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r22306 - in gnunet-gtk: contrib src/setup,
gnunet <=