anjuta r3792 - in trunk: libanjuta libegg libegg/treeviewutils



Author: naba
Date: Tue Mar 25 20:52:10 2008
New Revision: 3792
URL: http://svn.gnome.org/viewvc/anjuta?rev=3792&view=rev

Log:
	* libanjuta/Makefile.am:
	* libanjuta/anjuta-ui.c (sensitivity_toggled),
	(visibility_toggled), (accel_edited_callback),
	(accel_cleared_callback), (iter_compare_func), (accel_set_func),
	(anjuta_ui_instance_init), (anjuta_ui_add_action_group),
	(anjuta_ui_get_accel_editor):
	* libegg/Makefile.am:
	* libegg/eggaccelerators.c (removed):
	* libegg/eggcellrendererkeys.c (removed):
	* libegg/eggtreeviewstate.c (removed):
	* libegg/test-tree-utils.c (removed):
	* libegg/treeviewutils/Makefile.am:
	* libegg/treeviewutils/eggaccelerators.h (removed):
	* libegg/treeviewutils/eggcellrendererkeys.h (removed):
	* libegg/treeviewutils/eggtreeviewstate.h (removed):

	Ports anjuta-ui to gtk_cell_renderer_accel


Removed:
   trunk/libegg/eggaccelerators.c
   trunk/libegg/eggcellrendererkeys.c
   trunk/libegg/eggtreeviewstate.c
   trunk/libegg/test-tree-utils.c
   trunk/libegg/treeviewutils/eggaccelerators.h
   trunk/libegg/treeviewutils/eggcellrendererkeys.h
   trunk/libegg/treeviewutils/eggtreeviewstate.h
Modified:
   trunk/libanjuta/Makefile.am
   trunk/libanjuta/anjuta-ui.c
   trunk/libegg/Makefile.am
   trunk/libegg/treeviewutils/Makefile.am

Modified: trunk/libanjuta/Makefile.am
==============================================================================
--- trunk/libanjuta/Makefile.am	(original)
+++ trunk/libanjuta/Makefile.am	Tue Mar 25 20:52:10 2008
@@ -19,7 +19,6 @@
 lib_LTLIBRARIES=libanjuta.la 
 libanjuta_la_LDFLAGS = $(ANJUTA_LDFLAGS) 
 libanjuta_la_LIBADD = \
-	$(top_builddir)/libegg/libanjuta-egg.la \
 	$(top_builddir)/libanjuta/interfaces/libanjuta-interfaces.la \
 	$(GNOME_UI_LIBS) \
 	$(GLADE_LIBS)

Modified: trunk/libanjuta/anjuta-ui.c
==============================================================================
--- trunk/libanjuta/anjuta-ui.c	(original)
+++ trunk/libanjuta/anjuta-ui.c	Tue Mar 25 20:52:10 2008
@@ -75,11 +75,10 @@
 #include <gtk/gtkcellrendererpixbuf.h>
 #include <gtk/gtkimage.h>
 #include <gtk/gtklabel.h>
+#include <gtk/gtkcellrendereraccel.h>
 
 #include <libgnome/gnome-macros.h>
 
-#include <libegg/treeviewutils/eggcellrendererkeys.h>
-
 #include "resources.h"
 #include "anjuta-ui.h"
 #include "anjuta-debug.h"
@@ -93,10 +92,10 @@
 
 enum {
 	COLUMN_PIXBUF,
-	COLUMN_ACTION,
+	COLUMN_ACTION_LABEL,
 	COLUMN_VISIBLE,
 	COLUMN_SENSITIVE,
-	COLUMN_DATA,
+	COLUMN_ACTION,
 	COLUMN_GROUP,
 	N_COLUMNS
 };
@@ -116,7 +115,7 @@
 	
 	gtk_tree_model_get (model, &iter,
 						COLUMN_SENSITIVE, &sensitive,
-						COLUMN_DATA, &action, -1);
+						COLUMN_ACTION, &action, -1);
 	g_object_set (G_OBJECT (action), "sensitive", !sensitive, NULL);
 	gtk_tree_store_set (GTK_TREE_STORE (model), &iter,
 						COLUMN_SENSITIVE, !sensitive, -1);
@@ -138,7 +137,7 @@
 	
 	gtk_tree_model_get (model, &iter,
 						COLUMN_VISIBLE, &visible,
-						COLUMN_DATA, &action, -1);
+						COLUMN_ACTION, &action, -1);
 	g_object_set (G_OBJECT (action), "visible", !visible, NULL);
 	gtk_tree_store_set (GTK_TREE_STORE (model), &iter,
 						COLUMN_VISIBLE, !visible, -1);
@@ -169,33 +168,8 @@
 	return action_label;
 }
 
-static gchar*
-get_action_accel_path (GtkAction *action, const gchar *group_name)
-{
-	gchar *accel_path;
-	accel_path = g_strconcat ("<Actions>/", group_name,
-							  "/", gtk_action_get_name (action), NULL);
-	return accel_path;
-}
-
-static gchar*
-get_action_accel (GtkAction *action, const gchar *group_name)
-{
-	gchar *accel_path;
-	gchar *accel_name;
-	GtkAccelKey key;
-	
-	accel_path = get_action_accel_path (action, group_name);
-	if ( gtk_accel_map_lookup_entry (accel_path, &key))
-		accel_name = gtk_accelerator_name (key.accel_key, key.accel_mods);
-	else
-		accel_name = strdup ("");
-	g_free (accel_path);
-	return accel_name;
-}
-
 static void
-accel_edited_callback (GtkCellRendererText *cell,
+accel_edited_callback (GtkCellRendererAccel *cell,
                        const char          *path_string,
                        guint                keyval,
                        GdkModifierType      mask,
@@ -206,26 +180,54 @@
 	GtkTreePath *path = gtk_tree_path_new_from_string (path_string);
 	GtkTreeIter iter;
 	GtkAction *action;
-	gchar *accel_path, *action_group;
+	const gchar *accel_path;
 	
 	gtk_tree_model_get_iter (model, &iter, path);
 	gtk_tree_model_get (model, &iter,
-						COLUMN_DATA, &action,
-						COLUMN_GROUP, &action_group, -1);
+						COLUMN_ACTION, &action, -1);
 	
 	/* sanity check */
-	if (action == NULL || action_group == NULL)
+	if (action == NULL)
 		return;
 	
-	accel_path = get_action_accel_path (action, action_group);
+	accel_path = gtk_action_get_accel_path (action);
 	if (accel_path) {
 		gtk_accel_map_change_entry (accel_path, keyval, mask, TRUE);
-		g_free (accel_path);
 	}
 	
 	gtk_tree_path_free (path);
 }
 
+static void
+accel_cleared_callback (GtkCellRendererAccel *cell,
+						const char *path_string,
+						gpointer data)
+{
+	GtkTreeModel *model = (GtkTreeModel *)data;
+	GtkTreePath *path = gtk_tree_path_new_from_string (path_string);
+	GtkTreeIter iter;
+	GtkAction *action;
+	const gchar *accel_path;
+	
+	
+	gtk_tree_model_get_iter (model, &iter, path);
+	gtk_tree_model_get (model, &iter,
+						COLUMN_ACTION, &action, -1);
+	
+	/* sanity check */
+	if (action == NULL)
+		return;
+	
+	accel_path = gtk_action_get_accel_path (action);
+	if (accel_path) {
+		gtk_accel_map_change_entry (accel_path, 0, 0, TRUE);
+	}
+	
+	gtk_tree_path_free (path);
+}
+	
+	
+
 static gint
 iter_compare_func (GtkTreeModel *model, GtkTreeIter *a,
 				   GtkTreeIter *b, gpointer user_data)
@@ -234,8 +236,8 @@
 	gchar *text_b;
 	gint retval = 0;
 	
-	gtk_tree_model_get (model, a, COLUMN_ACTION, &text_a, -1);
-	gtk_tree_model_get (model, b, COLUMN_ACTION, &text_b, -1);
+	gtk_tree_model_get (model, a, COLUMN_ACTION_LABEL, &text_a, -1);
+	gtk_tree_model_get (model, b, COLUMN_ACTION_LABEL, &text_b, -1);
 	if (text_a == NULL && text_b == NULL) retval = 0;
 	else if (text_a == NULL) retval = -1;
 	else if (text_b == NULL) retval = 1;
@@ -247,42 +249,6 @@
 	return retval;
 }
 
-static gboolean
-binding_from_string (const char      *str,
-                     guint           *accelerator_key,
-                     GdkModifierType *accelerator_mods)
-{
-	EggVirtualModifierType virtual;
-	
-	g_return_val_if_fail (accelerator_key != NULL, FALSE);
-	
-	if (str == NULL || (str && strcmp (str, "disabled") == 0))
-	{
-		*accelerator_key = 0;
-		*accelerator_mods = 0;
-		return TRUE;
-	}
-	
-	if (!egg_accelerator_parse_virtual (str, accelerator_key, &virtual))
-		return FALSE;
-	
-	egg_keymap_resolve_virtual_modifiers (gdk_keymap_get_default (),
-										  virtual,
-										  accelerator_mods);
-	
-	/* Be sure the GTK accelerator system will be able to handle this
-	* accelerator. Be sure to allow no-accelerator accels like F1.
-	*/
-	if ((*accelerator_mods & gtk_accelerator_get_default_mod_mask ()) == 0 &&
-		*accelerator_mods != 0)
-		return FALSE;
-	
-	if (*accelerator_key == 0)
-		return FALSE;
-	else
-		return TRUE;
-}
-
 static void
 accel_set_func (GtkTreeViewColumn *tree_column,
                 GtkCellRenderer   *cell,
@@ -291,30 +257,28 @@
                 gpointer           data)
 {
 	GtkAction *action;
-	gchar *accel_name;
-	gchar *group_name;
-	guint keyval;
-	GdkModifierType keymods;
+	const gchar *accel_path;
+	GtkAccelKey key;
 	
 	gtk_tree_model_get (model, iter,
-						COLUMN_DATA, &action,
-						COLUMN_GROUP, &group_name, -1);
+						COLUMN_ACTION, &action, -1);
 	if (action == NULL)
 		g_object_set (G_OBJECT (cell), "visible", FALSE, NULL);
 	else
 	{
-		accel_name = get_action_accel (action, group_name);
-		if (binding_from_string (accel_name, &keyval, &keymods))
+		if ((accel_path = gtk_action_get_accel_path (action)))
 		{
-			g_object_set (G_OBJECT (cell), "visible", TRUE,
-						  "accel_key", keyval,
-						  "accel_mask", keymods, NULL);
+			if (gtk_accel_map_lookup_entry (accel_path, &key))
+			{
+				g_object_set (G_OBJECT (cell), "visible", TRUE,
+							  "accel-key", key.accel_key,
+							  "accel-mods", key.accel_mods, NULL);
+			}
+			else
+				g_object_set (G_OBJECT (cell), "visible", TRUE,
+							  "accel-key", 0,
+							  "accel-mods", 0, NULL);	
 		}
-		else
-			g_object_set (G_OBJECT (cell), "visible", TRUE,
-						  "accel_key", 0,
-						  "accel_mask", 0, NULL);
-		g_free (accel_name);	
 	}
 }
 
@@ -408,10 +372,10 @@
 								G_TYPE_BOOLEAN,
 								G_TYPE_OBJECT,
 								G_TYPE_STRING);
-	gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE(store), COLUMN_ACTION,
+	gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE(store), COLUMN_ACTION_LABEL,
 									 iter_compare_func, NULL, NULL);
 	gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE(store),
-										  COLUMN_ACTION, GTK_SORT_ASCENDING);
+										  COLUMN_ACTION_LABEL, GTK_SORT_ASCENDING);
 	
 	/* unreferenced in dispose() method. */
 	ui->priv->model = GTK_TREE_MODEL (store);
@@ -574,7 +538,7 @@
 	pixbuf = NULL;
 	gtk_tree_store_set (GTK_TREE_STORE (ui->priv->model), &parent,
 						COLUMN_PIXBUF, pixbuf,
-						COLUMN_ACTION, action_group_label,
+						COLUMN_ACTION_LABEL, action_group_label,
 						COLUMN_GROUP, action_group_name,
 						-1);
 	for (l = actions; l; l = l->next)
@@ -611,10 +575,10 @@
 			{
 				gtk_tree_store_set (GTK_TREE_STORE (ui->priv->model), &iter,
 									COLUMN_PIXBUF, pixbuf,
-									COLUMN_ACTION, action_label,
+									COLUMN_ACTION_LABEL, action_label,
 									COLUMN_VISIBLE, gtk_action_get_visible (action),
 									COLUMN_SENSITIVE, gtk_action_get_sensitive(action),
-									COLUMN_DATA, action,
+									COLUMN_ACTION, action,
 									COLUMN_GROUP, action_group_name,
 									-1);
 				g_object_unref (G_OBJECT (pixbuf));
@@ -625,10 +589,10 @@
 		else
 		{
 			gtk_tree_store_set (GTK_TREE_STORE (ui->priv->model), &iter,
-								COLUMN_ACTION, action_label,
+								COLUMN_ACTION_LABEL, action_label,
 								COLUMN_VISIBLE, gtk_action_get_visible (action),
 								COLUMN_SENSITIVE, gtk_action_get_sensitive (action),
-								COLUMN_DATA, action,
+								COLUMN_ACTION, action,
 								COLUMN_GROUP, action_group_name,
 								-1);
 		}
@@ -898,7 +862,7 @@
 	renderer = gtk_cell_renderer_text_new ();
 	gtk_tree_view_column_pack_start (column, renderer, TRUE);
 	gtk_tree_view_column_add_attribute (column, renderer, "text",
-										COLUMN_ACTION);
+										COLUMN_ACTION_LABEL);
 	gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
 	gtk_tree_view_set_expander_column (GTK_TREE_VIEW (tree_view), column);
 	gtk_tree_view_column_set_sort_column_id (column, 0);
@@ -928,17 +892,19 @@
 	column = gtk_tree_view_column_new ();
 	gtk_tree_view_column_set_title (column, _("Shortcut"));
 	/* gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);	*/
-	renderer = g_object_new (EGG_TYPE_CELL_RENDERER_KEYS,
+	renderer = g_object_new (GTK_TYPE_CELL_RENDERER_ACCEL,
 							"editable", TRUE,
-							"accel_mode", EGG_CELL_RENDERER_KEYS_MODE_GTK,
 							NULL);
-	g_signal_connect (G_OBJECT (renderer), "keys_edited",
+	g_signal_connect (G_OBJECT (renderer), "accel-edited",
 					  G_CALLBACK (accel_edited_callback),
 					  store);
+	g_signal_connect (G_OBJECT (renderer), "accel-cleared",
+					  G_CALLBACK (accel_cleared_callback),
+					  store);
 	g_object_set (G_OBJECT (renderer), "editable", TRUE, NULL);
 	gtk_tree_view_column_pack_start (column, renderer, TRUE);
 	gtk_tree_view_column_set_cell_data_func (column, renderer, accel_set_func, NULL, NULL);
-	gtk_tree_view_column_set_sort_column_id (column, COLUMN_DATA);
+	gtk_tree_view_column_set_sort_column_id (column, COLUMN_ACTION);
 	gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
 	
 	sw = gtk_scrolled_window_new (NULL, NULL);

Modified: trunk/libegg/Makefile.am
==============================================================================
--- trunk/libegg/Makefile.am	(original)
+++ trunk/libegg/Makefile.am	Tue Mar 25 20:52:10 2008
@@ -36,14 +36,11 @@
 	egg-entry-action.c \
 	egg-combo-action.c \
 	egg-recent-action.c \
-	eggaccelerators.c \
-	eggcellrendererkeys.c \
 	eggcellrendererpopup.c \
 	egg-cell-renderer-text.c \
 	eggtreemodelfilter.c \
 	eggtreemodelunion.c \
 	eggtreemultidnd.c \
-	eggtreeviewstate.c \
 	egg-recent-files-module.c \
 	egg-recent-model.c \
 	egg-recent-view-gtk.c \
@@ -61,15 +58,10 @@
 	$(GCONF_LIBS)
 
 noinst_PROGRAMS = \
-	test-tree-utils \
 	test-multi-drag \
 	test-union \
 	test-actions
 
-test_tree_utils_SOURCES = test-tree-utils.c
-test_tree_utils_LDADD = libanjuta-egg.la
-test_tree_utils_DEPENDENCIES = libanjuta-egg.la
-
 test_multi_drag_SOURCES = test-multi-drag.c
 test_multi_drag_LDADD = libanjuta-egg.la
 test_multi_drag_DEPENDENCIES = libanjuta-egg.la

Modified: trunk/libegg/treeviewutils/Makefile.am
==============================================================================
--- trunk/libegg/treeviewutils/Makefile.am	(original)
+++ trunk/libegg/treeviewutils/Makefile.am	Tue Mar 25 20:52:10 2008
@@ -1,11 +1,8 @@
 
 noinst_HEADERS = \
-  eggaccelerators.h	\
-  eggcellrendererkeys.h \
   eggcellrendererpopup.h \
   egg-cell-renderer-text.h \
   eggtreemodelfilter.h \
   eggtreemodelunion.h \
-  eggtreemultidnd.h \
-  eggtreeviewstate.h
+  eggtreemultidnd.h
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]