[Cxplorer-cvs 00974] CVS update: cxplorer/src

Zurück zum Archiv-Index

Yasumichi Akahoshi yasum****@users*****
2005年 4月 8日 (金) 00:20:37 JST


Index: cxplorer/src/cxp-right-pane.c
diff -u cxplorer/src/cxp-right-pane.c:1.22 cxplorer/src/cxp-right-pane.c:1.23
--- cxplorer/src/cxp-right-pane.c:1.22	Thu Apr  7 23:11:43 2005
+++ cxplorer/src/cxp-right-pane.c	Fri Apr  8 00:20:37 2005
@@ -32,6 +32,8 @@
 	CxpHandler *handler;
 };
 
+#define CXP_RIGHT_PANE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CXP_TYPE_RIGHT_PANE, CxpRightPanePrivate))
+
 /**
  * This enumeration define property_id.
  */
@@ -158,6 +160,8 @@
 	gobject_class->set_property = cxp_right_pane_set_property;
 	gobject_class->get_property = cxp_right_pane_get_property;
 
+	g_type_class_add_private (klass, sizeof (CxpRightPanePrivate));
+
 	/* install properties. */
 	pspec = g_param_spec_string ("preview-dir",
 				     "Command to preview directory",
@@ -198,55 +202,55 @@
 
 static void cxp_right_pane_instance_init (CxpRightPane * self)
 {
+	CxpRightPanePrivate *priv = CXP_RIGHT_PANE_GET_PRIVATE(self);
 	GtkWidget *scrolled_window;
 	PangoFontDescription *font_desc;
 
-	self->priv = g_new (CxpRightPanePrivate, 1);
 	scrolled_window = gtk_scrolled_window_new (NULL, NULL);
 	gtk_paned_pack1 (GTK_PANED (self), scrolled_window, TRUE, FALSE);
 	gtk_widget_show (scrolled_window);
-	self->priv->file_list = cxp_right_pane_file_list_new ();
+	priv->file_list = cxp_right_pane_file_list_new ();
 	gtk_container_add (GTK_CONTAINER (scrolled_window),
-			   self->priv->file_list);
-	gtk_widget_show (self->priv->file_list);
+			   priv->file_list);
+	gtk_widget_show (priv->file_list);
 
 	scrolled_window = gtk_scrolled_window_new (NULL, NULL);
 	gtk_paned_pack2 (GTK_PANED (self), scrolled_window, FALSE, TRUE);
 	gtk_widget_show (scrolled_window);
-	self->priv->preview = gtk_text_view_new ();
+	priv->preview = gtk_text_view_new ();
 	font_desc = pango_font_description_new ();
 	pango_font_description_set_family (font_desc, "monospace");
-	gtk_widget_modify_font (GTK_WIDGET (self->priv->preview), font_desc);
+	gtk_widget_modify_font (GTK_WIDGET (priv->preview), font_desc);
 	pango_font_description_free (font_desc);
-	gtk_text_view_set_editable (GTK_TEXT_VIEW (self->priv->preview), FALSE);
+	gtk_text_view_set_editable (GTK_TEXT_VIEW (priv->preview), FALSE);
 	gtk_container_add (GTK_CONTAINER (scrolled_window),
-			   self->priv->preview);
-	gtk_widget_show (self->priv->preview);
-	self->priv->show_dot_file = FALSE;
-	self->priv->dispose_has_run = FALSE;
-	self->priv->cur_dir = NULL;
-	self->priv->preview_text = NULL;
-	self->priv->preview_binary = NULL;
-	self->priv->handler = cxp_handler_new();
+			   priv->preview);
+	gtk_widget_show (priv->preview);
+	priv->show_dot_file = FALSE;
+	priv->dispose_has_run = FALSE;
+	priv->cur_dir = NULL;
+	priv->preview_text = NULL;
+	priv->preview_binary = NULL;
+	priv->handler = cxp_handler_new();
 
-	g_signal_connect (self->priv->file_list, "cursor_changed",
+	g_signal_connect (priv->file_list, "cursor_changed",
 			  G_CALLBACK (cxp_right_pane_on_cursor_changed), self);
-	g_signal_connect (self->priv->file_list, "row_activated",
+	g_signal_connect (priv->file_list, "row_activated",
 			  G_CALLBACK (cxp_right_pane_on_row_activated), self);
 
 }
 
 static void cxp_right_pane_dispose (GObject * obj)
 {
-	CxpRightPane *self = (CxpRightPane *) obj;
+	CxpRightPanePrivate *priv = CXP_RIGHT_PANE_GET_PRIVATE(obj);
 
-	if (self->priv->dispose_has_run)
+	if (priv->dispose_has_run)
 	{
 		/* If dispose did already run, return. */
 		return;
 	}
 	/* Make sure dispose does not run twice. */
-	self->priv->dispose_has_run = TRUE;
+	priv->dispose_has_run = TRUE;
 
 	/* 
 	 * In dispose, you are supposed to free all types referenced from this
@@ -254,7 +258,7 @@
 	 * the most simple solution is to unref all members on which you own a 
 	 * reference.
 	 */
-	g_object_unref (self->priv->handler);
+	g_object_unref (priv->handler);
 
 	/* Chain up to the parent class */
 	G_OBJECT_CLASS (parent_class)->dispose (obj);
@@ -262,14 +266,6 @@
 
 static void cxp_right_pane_finalize (GObject * obj)
 {
-	CxpRightPane *self = (CxpRightPane *) obj;
-
-	/*
-	 * Here, complete object destruction.
-	 * You might not need to do much...
-	 */
-	g_free (self->priv);
-
 	/* Chain up to the parent class */
 	G_OBJECT_CLASS (parent_class)->finalize (obj);
 }
@@ -279,21 +275,21 @@
 					 const GValue * value,
 					 GParamSpec * pspec)
 {
-	CxpRightPane *self = CXP_RIGHT_PANE (object);
+	CxpRightPanePrivate *priv = CXP_RIGHT_PANE_GET_PRIVATE(object);
 
 	switch (property_id)
 	{
 	case CXP_RIGHT_PANE_PREVIEW_DIR:
-		g_free (self->priv->preview_dir);
-		self->priv->preview_dir = g_value_dup_string (value);
+		g_free (priv->preview_dir);
+		priv->preview_dir = g_value_dup_string (value);
 		break;
 	case CXP_RIGHT_PANE_PREVIEW_TEXT:
-		g_free (self->priv->preview_text);
-		self->priv->preview_text = g_value_dup_string (value);
+		g_free (priv->preview_text);
+		priv->preview_text = g_value_dup_string (value);
 		break;
 	case CXP_RIGHT_PANE_PREVIEW_BINARY:
-		g_free (self->priv->preview_binary);
-		self->priv->preview_binary = g_value_dup_string (value);
+		g_free (priv->preview_binary);
+		priv->preview_binary = g_value_dup_string (value);
 		break;
 	default:
 		/* We don't have any other property... */
@@ -306,18 +302,18 @@
 					 guint property_id,
 					 GValue * value, GParamSpec * pspec)
 {
-	CxpRightPane *self = CXP_RIGHT_PANE (object);
+	CxpRightPanePrivate *priv = CXP_RIGHT_PANE_GET_PRIVATE(object);
 
 	switch (property_id)
 	{
 	case CXP_RIGHT_PANE_PREVIEW_DIR:
-		g_value_set_string (value, self->priv->preview_dir);
+		g_value_set_string (value, priv->preview_dir);
 		break;
 	case CXP_RIGHT_PANE_PREVIEW_TEXT:
-		g_value_set_string (value, self->priv->preview_text);
+		g_value_set_string (value, priv->preview_text);
 		break;
 	case CXP_RIGHT_PANE_PREVIEW_BINARY:
-		g_value_set_string (value, self->priv->preview_binary);
+		g_value_set_string (value, priv->preview_binary);
 		break;
 	default:
 		/* We don't have any other property... */
@@ -412,6 +408,7 @@
 					      gpointer user_data)
 {
 	CxpRightPane *self = CXP_RIGHT_PANE (user_data);
+	CxpRightPanePrivate *priv = CXP_RIGHT_PANE_GET_PRIVATE(self);
 	GtkTextBuffer *text_buffer;
 	GtkTreePath *treepath;
 	GtkTreeViewColumn *column;
@@ -420,7 +417,7 @@
 	gchar *fullpath;
 
 	text_buffer =
-		gtk_text_view_get_buffer (GTK_TEXT_VIEW (self->priv->preview));
+		gtk_text_view_get_buffer (GTK_TEXT_VIEW (priv->preview));
 	gtk_text_buffer_set_text (text_buffer, "", -1);
 
 	gtk_tree_view_get_cursor (treeview, &treepath, &column);
@@ -454,11 +451,12 @@
 					     gpointer user_data)
 {
 	CxpRightPane *right_pane = CXP_RIGHT_PANE (user_data);
+	CxpRightPanePrivate *priv = CXP_RIGHT_PANE_GET_PRIVATE(right_pane);
 	gchar *fullpath;
 	GtkTreeModel *model;
 	GtkTreeIter iter;
 
-	if (right_pane->priv->dispose_has_run)
+	if (priv->dispose_has_run)
 	{
 		return;
 	}
@@ -476,7 +474,7 @@
 	}
 	else
 	{
-		cxp_handler_launch (right_pane->priv->handler, fullpath);
+		cxp_handler_launch (priv->handler, fullpath);
 	}
 
 	g_free (fullpath);
@@ -682,6 +680,7 @@
 					 GtkTextBuffer * text_buffer,
 					 const gchar * filename)
 {
+	CxpRightPanePrivate *priv = CXP_RIGHT_PANE_GET_PRIVATE(self);
 	gchar *cmd;
 	magic_t cookie;
 	gchar *filetype;
@@ -691,7 +690,7 @@
 
 	if (g_file_test (filename, G_FILE_TEST_IS_DIR))
 	{
-		cmd = g_strdup_printf ("%s '%s'", self->priv->preview_dir,
+		cmd = g_strdup_printf ("%s '%s'", priv->preview_dir,
 				       filename);
 	}
 	else
@@ -702,7 +701,7 @@
 		if (g_strrstr (filetype, "text") != NULL)
 		{
 			cmd = g_strdup_printf ("%s '%s'",
-					       self->priv->preview_text,
+					       priv->preview_text,
 					       filename);
 		}
 		else if (strstr (filetype, "fifo") != NULL)
@@ -713,7 +712,7 @@
 		else
 		{
 			cmd = g_strdup_printf ("%s '%s'",
-					       self->priv->preview_binary,
+					       priv->preview_binary,
 					       filename);
 		}
 		magic_close (cookie);
@@ -741,7 +740,7 @@
 
 GtkWidget *cxp_right_pane_new (void)
 {
-	return GTK_WIDGET (g_object_new (cxp_right_pane_get_type (), NULL));
+	return GTK_WIDGET (g_object_new (CXP_TYPE_RIGHT_PANE, NULL));
 }
 
 /**
@@ -751,6 +750,7 @@
 void cxp_right_pane_change_directory (CxpRightPane * self,
 				      const gchar * dirname)
 {
+	CxpRightPanePrivate *priv = CXP_RIGHT_PANE_GET_PRIVATE(self);
 	const gchar *filename;
 	gchar *fullpath;
 	GDir *dir;
@@ -759,10 +759,10 @@
 	GtkTextBuffer *text_buffer;
 
 	text_buffer =
-		gtk_text_view_get_buffer (GTK_TEXT_VIEW (self->priv->preview));
+		gtk_text_view_get_buffer (GTK_TEXT_VIEW (priv->preview));
 	gtk_text_buffer_set_text (text_buffer, "", -1);
 
-	file_list = GTK_TREE_VIEW (self->priv->file_list);
+	file_list = GTK_TREE_VIEW (priv->file_list);
 	model = gtk_tree_view_get_model (file_list);
 	g_object_ref (model);
 	gtk_tree_view_set_model (file_list, NULL);
@@ -773,7 +773,7 @@
 		while ((filename = g_dir_read_name (dir)) != NULL)
 		{
 			if ((filename[0] == '.')
-			    && (self->priv->show_dot_file == FALSE))
+			    && (priv->show_dot_file == FALSE))
 			{
 				continue;
 			}
@@ -788,12 +788,13 @@
 	gtk_tree_view_set_model (file_list, model);
 	g_object_unref (model);
 
-	g_free (self->priv->cur_dir);
-	self->priv->cur_dir = g_strdup (dirname);
+	g_free (priv->cur_dir);
+	priv->cur_dir = g_strdup (dirname);
 }
 
 gchar *cxp_right_pane_get_active_file_name (CxpRightPane * right_pane)
 {
+	CxpRightPanePrivate *priv = CXP_RIGHT_PANE_GET_PRIVATE(right_pane);
 	gchar *fullpath;
 	GtkTreePath *treepath;
 	GtkTreeView *treeview;
@@ -801,7 +802,7 @@
 	GtkTreeModel *model;
 	GtkTreeIter iter;
 
-	treeview = GTK_TREE_VIEW (right_pane->priv->file_list);
+	treeview = GTK_TREE_VIEW (priv->file_list);
 	gtk_tree_view_get_cursor (treeview, &treepath, &column);
 	if (treepath)
 	{
@@ -821,12 +822,14 @@
 void cxp_right_pane_set_show_dot_file (CxpRightPane * right_pane,
 				       gboolean show_dot_file)
 {
-	right_pane->priv->show_dot_file = show_dot_file;
+	CxpRightPanePrivate *priv = CXP_RIGHT_PANE_GET_PRIVATE(right_pane);
+	priv->show_dot_file = show_dot_file;
 }
 
 void cxp_right_pane_make_file (CxpRightPane * right_pane,
 			       const gchar * base_name)
 {
+	CxpRightPanePrivate *priv = CXP_RIGHT_PANE_GET_PRIVATE(right_pane);
 	gchar *fullpath;
 	gchar *basename_locale;
 	GtkTreeIter iter;
@@ -843,19 +846,19 @@
 	if (error == NULL)
 	{
 		fullpath =
-			g_build_filename (right_pane->priv->cur_dir,
+			g_build_filename (priv->cur_dir,
 					  basename_locale, NULL);
 		g_free (basename_locale);
 		if (mknod (fullpath, S_IFREG | 0666, 0) == 0)
 		{
 			model = gtk_tree_view_get_model (GTK_TREE_VIEW
-							 (right_pane->priv->
+							 (priv->
 							  file_list));
 			iter = cxp_right_pane_append_file (GTK_LIST_STORE
 							   (model), fullpath);
 			treepath = gtk_tree_model_get_path (model, &iter);
 			gtk_tree_view_set_cursor (GTK_TREE_VIEW
-						  (right_pane->priv->
+						  (priv->
 						   file_list), treepath, NULL,
 						  FALSE);
 			gtk_tree_path_free (treepath);
@@ -877,6 +880,7 @@
 
 void cxp_right_pane_delete_current_file (CxpRightPane * right_pane)
 {
+	CxpRightPanePrivate *priv = CXP_RIGHT_PANE_GET_PRIVATE(right_pane);
 	gchar *fullpath;
 	GtkTreeIter iter;
 	GtkTreeModel *model;
@@ -885,7 +889,7 @@
 
 	selection =
 		gtk_tree_view_get_selection (GTK_TREE_VIEW
-					     (right_pane->priv->file_list));
+					     (priv->file_list));
 	if (gtk_tree_selection_get_selected (selection, &model, &iter))
 	{
 		gtk_tree_model_get (model, &iter, COL_FILE_PATH, &fullpath,
@@ -918,6 +922,7 @@
 
 void cxp_right_pane_paste_from_clipboard (CxpRightPane * right_pane)
 {
+	CxpRightPanePrivate *priv = CXP_RIGHT_PANE_GET_PRIVATE(right_pane);
 	gchar *src;
 	gchar *cur_dir;
 	gchar *error_msg;
@@ -934,12 +939,12 @@
 		if (g_file_test (src, G_FILE_TEST_IS_REGULAR))
 		{
 			cmd = g_strdup_printf ("cp --backup=t '%s' '%s'", src,
-					       right_pane->priv->cur_dir);
+					       priv->cur_dir);
 			g_spawn_command_line_sync (cmd, NULL, &standard_error,
 						   &exit_status, NULL);
 			if (exit_status == 0)
 			{
-				cur_dir = g_strdup(right_pane->priv->cur_dir);
+				cur_dir = g_strdup(priv->cur_dir);
 				cxp_right_pane_change_directory (right_pane, cur_dir);
 				g_free (cur_dir);
 			}
@@ -966,6 +971,7 @@
 
 void cxp_right_pane_rename_file_request (CxpRightPane *right_pane)
 {
+	CxpRightPanePrivate *priv = CXP_RIGHT_PANE_GET_PRIVATE(right_pane);
 	gchar *dirname;
 	gchar *srcpath;
 	gchar *srcbase;
@@ -978,7 +984,7 @@
 	GtkTreeSelection *selection;
 	GtkWidget *dialog;
 
-	selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(right_pane->priv->file_list));
+	selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(priv->file_list));
 	if (gtk_tree_selection_get_selected (selection, &model, &iter))
 	{
 		gtk_tree_model_get (model, &iter, COL_FILE_PATH, &srcpath, COL_TERMINATOR);


Cxplorer-cvs メーリングリストの案内
Zurück zum Archiv-Index