SF.net SVN: geany: [1027] trunk

ntrel at users.sourceforge.net ntrel at xxxxx
Fri Nov 24 11:47:30 UTC 2006


Revision: 1027
          http://svn.sourceforge.net/geany/?rev=1027&view=rev
Author:   ntrel
Date:     2006-11-24 03:47:29 -0800 (Fri, 24 Nov 2006)

Log Message:
-----------
Move VTE preferences GUI code to vte.c.
Move on_pref_tools_button_clicked() to prefs.c.

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/src/callbacks.c
    trunk/src/callbacks.h
    trunk/src/prefs.c
    trunk/src/prefs.h
    trunk/src/vte.c
    trunk/src/vte.h

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2006-11-24 11:11:06 UTC (rev 1026)
+++ trunk/ChangeLog	2006-11-24 11:47:29 UTC (rev 1027)
@@ -3,6 +3,10 @@
  * src/ui_utils.h, src/prefs.c, src/dialogs.c, src/ui_utils.c:
    Add frame for VTE Preferences tab, update packing.
    Replace ui_frame_new() with ui_frame_new_with_alignment().
+ * src/callbacks.c, src/callbacks.h, src/vte.c, src/vte.h, src/prefs.c,
+   src/prefs.h:
+   Move VTE preferences GUI code to vte.c.
+   Move on_pref_tools_button_clicked() to prefs.c.
 
 
 2006-11-23  Enrico Tröger  <enrico.troeger at uvena.de>

Modified: trunk/src/callbacks.c
===================================================================
--- trunk/src/callbacks.c	2006-11-24 11:11:06 UTC (rev 1026)
+++ trunk/src/callbacks.c	2006-11-24 11:47:29 UTC (rev 1027)
@@ -52,10 +52,6 @@
 #include "main.h"
 #include "symbols.h"
 
-#ifdef G_OS_WIN32
-# include "win32.h"
-#endif
-
 #ifdef HAVE_VTE
 # include "vte.h"
 #endif
@@ -1440,55 +1436,6 @@
 
 
 void
-on_pref_tools_button_clicked           (GtkButton       *button,
-                                        gpointer         item)
-{
-#ifdef G_OS_WIN32
-	win32_show_pref_file_dialog(item);
-#else
-	GtkWidget *dialog;
-	gchar *filename, *tmp, **field;
-
-	// initialize the dialog
-	dialog = gtk_file_chooser_dialog_new(_("Open File"), GTK_WINDOW(app->prefs_dialog),
-					GTK_FILE_CHOOSER_ACTION_OPEN,
-					GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-					GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL);
-	// cut the options from the command line
-	field = g_strsplit(gtk_entry_get_text(GTK_ENTRY(item)), " ", 2);
-	if (field[0])
-	{
-		filename = g_find_program_in_path(field[0]);
-		if (filename)
-		{
-			gtk_file_chooser_select_filename(GTK_FILE_CHOOSER(dialog), filename);
-			g_free(filename);
-		}
-	}
-
-	// run it
-	if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT)
-	{
-		tmp = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
-		if (g_strv_length(field) > 1)
-			filename = g_strconcat(tmp, " ", field[1], NULL);
-		else
-		{
-			filename = tmp;
-			tmp = NULL;
-		}
-		gtk_entry_set_text(GTK_ENTRY(item), filename);
-		g_free(filename);
-		g_free(tmp);
-	}
-
-	g_strfreev(field);
-	gtk_widget_destroy(dialog);
-#endif
-}
-
-
-void
 on_comments_function_activate          (GtkMenuItem     *menuitem,
                                         gpointer         user_data)
 {

Modified: trunk/src/callbacks.h
===================================================================
--- trunk/src/callbacks.h	2006-11-24 11:11:06 UTC (rev 1026)
+++ trunk/src/callbacks.h	2006-11-24 11:47:29 UTC (rev 1027)
@@ -370,11 +370,6 @@
                                         gpointer         user_data);
 
 void
-on_pref_tools_button_clicked           (GtkButton       *button,
-                                        gpointer         user_data);
-
-
-void
 on_line_breaking1_toggled              (GtkCheckMenuItem *checkmenuitem,
                                         gpointer         user_data);
 

Modified: trunk/src/prefs.c
===================================================================
--- trunk/src/prefs.c	2006-11-24 11:11:06 UTC (rev 1026)
+++ trunk/src/prefs.c	2006-11-24 11:47:29 UTC (rev 1027)
@@ -44,7 +44,11 @@
 # include "vte.h"
 #endif
 
+#ifdef G_OS_WIN32
+# include "win32.h"
+#endif
 
+
 gchar *dialog_key_name;
 static GtkListStore *store = NULL;
 static GtkTreeView *tree = NULL;
@@ -927,186 +931,6 @@
 }
 
 
-#ifdef HAVE_VTE
-static void create_vte_settings()
-{
-	if (vte_info.have_vte)
-	{
-		GtkWidget *notebook, *vbox, *label, *alignment, *table, *frame, *box;
-		GtkWidget *font_term, *color_fore, *color_back, *spin_scrollback, *entry_emulation;
-		GtkWidget *check_scroll_key, *check_scroll_out, *check_follow_path, *check_ignore_menu_key;
-		GtkWidget *entry_shell, *button_shell, *image_shell;
-		GtkTooltips *tooltips;
-		GtkObject *spin_scrollback_adj;
-
-		tooltips = GTK_TOOLTIPS(lookup_widget(app->prefs_dialog, "tooltips"));
-		notebook = lookup_widget(app->prefs_dialog, "notebook2");
-
-		frame = ui_frame_new_with_alignment(_("Terminal plugin"), &alignment);
-		vbox = gtk_vbox_new(FALSE, 12);
-		gtk_container_add(GTK_CONTAINER(alignment), vbox);
-
-		label = gtk_label_new(_("Terminal"));
-		gtk_notebook_append_page(GTK_NOTEBOOK(notebook), frame, label);
-
-		label = gtk_label_new(_("These settings for the virtual terminal emulator widget (VTE) only apply if the VTE library could be loaded."));
-		gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 6);
-		gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_FILL);
-		gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
-		gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
-
-		table = gtk_table_new(6, 2, FALSE);
-		gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0);
-		gtk_table_set_row_spacings(GTK_TABLE(table), 3);
-		gtk_table_set_col_spacings(GTK_TABLE(table), 10);
-
-		label = gtk_label_new(_("Terminal font:"));
-		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1,
-					(GtkAttachOptions) (GTK_FILL),
-					(GtkAttachOptions) (0), 0, 0);
-		gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
-
-		font_term = gtk_font_button_new();
-		gtk_table_attach(GTK_TABLE(table), font_term, 1, 2, 0, 1,
-					(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-					(GtkAttachOptions) (0), 0, 0);
-		gtk_tooltips_set_tip(tooltips, font_term, _("Sets the font for the terminal widget."), NULL);
-
-		label = gtk_label_new(_("Foreground color:"));
-		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 1, 2,
-					(GtkAttachOptions) (GTK_FILL),
-					(GtkAttachOptions) (0), 0, 0);
-		gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
-
-		label = gtk_label_new(_("Background color:"));
-		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 2, 3,
-					(GtkAttachOptions) (GTK_FILL),
-					(GtkAttachOptions) (0), 0, 0);
-		gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
-
-		color_fore = gtk_color_button_new();
-		gtk_table_attach(GTK_TABLE(table), color_fore, 1, 2, 1, 2,
-					(GtkAttachOptions) (GTK_FILL),
-					(GtkAttachOptions) (0), 0, 0);
-		gtk_tooltips_set_tip(tooltips, color_fore, _("Sets the foreground color of the text in the terminal widget."), NULL);
-		gtk_color_button_set_title(GTK_COLOR_BUTTON(color_fore), _("Color Chooser"));
-
-		color_back = gtk_color_button_new();
-		gtk_table_attach(GTK_TABLE(table), color_back, 1, 2, 2, 3,
-					(GtkAttachOptions) (GTK_FILL),
-					(GtkAttachOptions) (0), 0, 0);
-		gtk_tooltips_set_tip(tooltips, color_back, _("Sets the background color of the text in the terminal widget."), NULL);
-		gtk_color_button_set_title(GTK_COLOR_BUTTON(color_back), _("Color Chooser"));
-
-		label = gtk_label_new(_("Scrollback lines:"));
-		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 3, 4,
-					(GtkAttachOptions) (GTK_FILL),
-					(GtkAttachOptions) (0), 0, 0);
-		gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
-
-		spin_scrollback_adj = gtk_adjustment_new(500, 0, 5000, 1, 10, 10);
-		spin_scrollback = gtk_spin_button_new(GTK_ADJUSTMENT(spin_scrollback_adj), 1, 0);
-		gtk_table_attach(GTK_TABLE(table), spin_scrollback, 1, 2, 3, 4,
-					(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-					(GtkAttachOptions) (0), 0, 0);
-		gtk_tooltips_set_tip(tooltips, spin_scrollback, _("Specifies the history in lines, which you can scroll back in the terminal widget."), NULL);
-		gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(spin_scrollback), TRUE);
-		gtk_spin_button_set_wrap(GTK_SPIN_BUTTON(spin_scrollback), TRUE);
-
-		label = gtk_label_new(_("Terminal emulation:"));
-		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 4, 5,
-					(GtkAttachOptions) (GTK_FILL),
-					(GtkAttachOptions) (0), 0, 0);
-		gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
-
-		entry_emulation = gtk_entry_new();
-		gtk_table_attach(GTK_TABLE(table), entry_emulation, 1, 2, 4, 5,
-					(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-					(GtkAttachOptions) (0), 0, 0);
-		gtk_tooltips_set_tip(tooltips, entry_emulation, _("Controls how the terminal emulator should behave. xterm is a good start."), NULL);
-
-		label = gtk_label_new(_("Shell:"));
-		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 5, 6,
-					(GtkAttachOptions) (GTK_FILL),
-					(GtkAttachOptions) (0), 0, 0);
-		gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
-
-		entry_shell = gtk_entry_new();
-		gtk_tooltips_set_tip(tooltips, entry_shell, _("Sets the path to the shell which should be started inside the terminal emulation."), NULL);
-
-		button_shell = gtk_button_new();
-		gtk_widget_show(button_shell);
-
-		box = gtk_hbox_new(FALSE, 6);
-		gtk_box_pack_start_defaults(GTK_BOX(box), entry_shell);
-		gtk_box_pack_start(GTK_BOX(box), button_shell, FALSE, FALSE, 0);
-		gtk_table_attach(GTK_TABLE(table), box, 1, 2, 5, 6,
-					(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-					(GtkAttachOptions) (0), 0, 0);
-
-		image_shell = gtk_image_new_from_stock("gtk-open", GTK_ICON_SIZE_BUTTON);
-		gtk_widget_show(image_shell);
-		gtk_container_add(GTK_CONTAINER(button_shell), image_shell);
-
-		box = gtk_vbox_new(FALSE, 3);
-		check_scroll_key = gtk_check_button_new_with_mnemonic(_("Scroll on keystroke"));
-		gtk_tooltips_set_tip(tooltips, check_scroll_key, _("Whether to scroll to the bottom if a key was pressed."), NULL);
-		gtk_button_set_focus_on_click(GTK_BUTTON(check_scroll_key), FALSE);
-		gtk_container_add(GTK_CONTAINER(box), check_scroll_key);
-
-		check_scroll_out = gtk_check_button_new_with_mnemonic(_("Scroll on output"));
-		gtk_tooltips_set_tip(tooltips, check_scroll_out, _("Whether to scroll to the bottom when output is generated."), NULL);
-		gtk_button_set_focus_on_click(GTK_BUTTON(check_scroll_out), FALSE);
-		gtk_container_add(GTK_CONTAINER(box), check_scroll_out);
-
-		check_ignore_menu_key = gtk_check_button_new_with_mnemonic(_("Disable menu shortcut key (F10 by default)"));
-		gtk_tooltips_set_tip(tooltips, check_ignore_menu_key, _("This option disables the keybinding to popup the menu bar (default is F10). Disabling it can be useful if you use, for example, Midnight Commander within the VTE."), NULL);
-		gtk_button_set_focus_on_click(GTK_BUTTON(check_ignore_menu_key), FALSE);
-		gtk_container_add(GTK_CONTAINER(box), check_ignore_menu_key);
-
-		check_follow_path = gtk_check_button_new_with_mnemonic(_("Follow the path of the current file"));
-		gtk_tooltips_set_tip(tooltips, check_follow_path, _("Whether to execute \"cd $path\" when you switch between opened files."), NULL);
-		gtk_button_set_focus_on_click(GTK_BUTTON(check_follow_path), FALSE);
-		gtk_container_add(GTK_CONTAINER(box), check_follow_path);
-
-		gtk_box_pack_start(GTK_BOX(vbox), box, FALSE, FALSE, 0);
-
-		g_object_set_data_full(G_OBJECT(app->prefs_dialog), "font_term",
-				gtk_widget_ref(font_term),	(GDestroyNotify) gtk_widget_unref);
-		g_object_set_data_full(G_OBJECT(app->prefs_dialog), "color_fore",
-				gtk_widget_ref(color_fore),	(GDestroyNotify) gtk_widget_unref);
-		g_object_set_data_full(G_OBJECT(app->prefs_dialog), "color_back",
-				gtk_widget_ref(color_back),	(GDestroyNotify) gtk_widget_unref);
-		g_object_set_data_full(G_OBJECT(app->prefs_dialog), "spin_scrollback",
-				gtk_widget_ref(spin_scrollback),	(GDestroyNotify) gtk_widget_unref);
-		g_object_set_data_full(G_OBJECT(app->prefs_dialog), "entry_emulation",
-				gtk_widget_ref(entry_emulation),	(GDestroyNotify) gtk_widget_unref);
-		g_object_set_data_full(G_OBJECT(app->prefs_dialog), "entry_shell",
-				gtk_widget_ref(entry_shell),	(GDestroyNotify) gtk_widget_unref);
-		g_object_set_data_full(G_OBJECT(app->prefs_dialog), "check_scroll_key",
-				gtk_widget_ref(check_scroll_key),	(GDestroyNotify) gtk_widget_unref);
-		g_object_set_data_full(G_OBJECT(app->prefs_dialog), "check_scroll_out",
-				gtk_widget_ref(check_scroll_out),	(GDestroyNotify) gtk_widget_unref);
-		g_object_set_data_full(G_OBJECT(app->prefs_dialog), "check_ignore_menu_key",
-				gtk_widget_ref(check_ignore_menu_key),	(GDestroyNotify) gtk_widget_unref);
-		g_object_set_data_full(G_OBJECT(app->prefs_dialog), "check_follow_path",
-				gtk_widget_ref(check_follow_path),	(GDestroyNotify) gtk_widget_unref);
-
-		gtk_widget_show_all(frame);
-
-		g_signal_connect((gpointer) font_term, "font-set", G_CALLBACK(on_prefs_font_choosed),
-														   GINT_TO_POINTER(4));
-		g_signal_connect((gpointer) color_fore, "color-set", G_CALLBACK(on_prefs_color_choosed),
-															 GINT_TO_POINTER(2));
-		g_signal_connect((gpointer) color_back, "color-set", G_CALLBACK(on_prefs_color_choosed),
-															 GINT_TO_POINTER(3));
-		g_signal_connect((gpointer) button_shell, "clicked",
-				G_CALLBACK(on_pref_tools_button_clicked), entry_shell);
-	}
-}
-#endif
-
-
 void dialogs_show_prefs_dialog(void)
 {
 	if (app->prefs_dialog == NULL)
@@ -1129,7 +953,7 @@
 		}
 
 #ifdef HAVE_VTE
-		create_vte_settings();
+		vte_append_preferences_tab();
 #endif
 
 		g_signal_connect((gpointer) app->prefs_dialog, "response", G_CALLBACK(on_prefs_button_clicked), NULL);
@@ -1144,15 +968,15 @@
 				"color-set", G_CALLBACK(on_prefs_color_choosed), GINT_TO_POINTER(1));
 		// file chooser buttons in the tools tab
 		g_signal_connect((gpointer) lookup_widget(app->prefs_dialog, "button_make"),
-				"clicked", G_CALLBACK(on_pref_tools_button_clicked), lookup_widget(app->prefs_dialog, "entry_com_make"));
+				"clicked", G_CALLBACK(on_prefs_tools_button_clicked), lookup_widget(app->prefs_dialog, "entry_com_make"));
 		g_signal_connect((gpointer) lookup_widget(app->prefs_dialog, "button_term"),
-				"clicked", G_CALLBACK(on_pref_tools_button_clicked), lookup_widget(app->prefs_dialog, "entry_com_term"));
+				"clicked", G_CALLBACK(on_prefs_tools_button_clicked), lookup_widget(app->prefs_dialog, "entry_com_term"));
 		g_signal_connect((gpointer) lookup_widget(app->prefs_dialog, "button_browser"),
-				"clicked", G_CALLBACK(on_pref_tools_button_clicked), lookup_widget(app->prefs_dialog, "entry_browser"));
+				"clicked", G_CALLBACK(on_prefs_tools_button_clicked), lookup_widget(app->prefs_dialog, "entry_browser"));
 		g_signal_connect((gpointer) lookup_widget(app->prefs_dialog, "button_print"),
-				"clicked", G_CALLBACK(on_pref_tools_button_clicked), lookup_widget(app->prefs_dialog, "entry_print"));
+				"clicked", G_CALLBACK(on_prefs_tools_button_clicked), lookup_widget(app->prefs_dialog, "entry_print"));
 		g_signal_connect((gpointer) lookup_widget(app->prefs_dialog, "button_grep"),
-				"clicked", G_CALLBACK(on_pref_tools_button_clicked), lookup_widget(app->prefs_dialog, "entry_grep"));
+				"clicked", G_CALLBACK(on_prefs_tools_button_clicked), lookup_widget(app->prefs_dialog, "entry_grep"));
 
 		g_signal_connect((gpointer) lookup_widget(app->prefs_dialog, "check_toolbar_show"),
 				"toggled", G_CALLBACK(on_pref_toolbar_show_toggled), NULL);
@@ -1164,3 +988,54 @@
 	prefs_init_dialog();
 	gtk_widget_show(app->prefs_dialog);
 }
+
+
+void
+on_prefs_tools_button_clicked           (GtkButton       *button,
+                                        gpointer         item)
+{
+#ifdef G_OS_WIN32
+	win32_show_pref_file_dialog(item);
+#else
+	GtkWidget *dialog;
+	gchar *filename, *tmp, **field;
+
+	// initialize the dialog
+	dialog = gtk_file_chooser_dialog_new(_("Open File"), GTK_WINDOW(app->prefs_dialog),
+					GTK_FILE_CHOOSER_ACTION_OPEN,
+					GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+					GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL);
+	// cut the options from the command line
+	field = g_strsplit(gtk_entry_get_text(GTK_ENTRY(item)), " ", 2);
+	if (field[0])
+	{
+		filename = g_find_program_in_path(field[0]);
+		if (filename)
+		{
+			gtk_file_chooser_select_filename(GTK_FILE_CHOOSER(dialog), filename);
+			g_free(filename);
+		}
+	}
+
+	// run it
+	if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT)
+	{
+		tmp = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
+		if (g_strv_length(field) > 1)
+			filename = g_strconcat(tmp, " ", field[1], NULL);
+		else
+		{
+			filename = tmp;
+			tmp = NULL;
+		}
+		gtk_entry_set_text(GTK_ENTRY(item), filename);
+		g_free(filename);
+		g_free(tmp);
+	}
+
+	g_strfreev(field);
+	gtk_widget_destroy(dialog);
+#endif
+}
+
+

Modified: trunk/src/prefs.h
===================================================================
--- trunk/src/prefs.h	2006-11-24 11:11:06 UTC (rev 1026)
+++ trunk/src/prefs.h	2006-11-24 11:47:29 UTC (rev 1027)
@@ -35,4 +35,6 @@
 
 void dialogs_show_prefs_dialog(void);
 
+void on_prefs_tools_button_clicked(GtkButton *button, gpointer user_data);
+
 #endif

Modified: trunk/src/vte.c
===================================================================
--- trunk/src/vte.c	2006-11-24 11:11:06 UTC (rev 1026)
+++ trunk/src/vte.c	2006-11-24 11:47:29 UTC (rev 1027)
@@ -32,6 +32,7 @@
 #include "msgwindow.h"
 #include "support.h"
 #include "prefs.h"
+#include "ui_utils.h"
 
 
 VteInfo vte_info;
@@ -42,7 +43,9 @@
 static struct VteFunctions *vf;
 static gboolean popup_menu_created = FALSE;
 static gchar *gtk_menu_key_accel = NULL;
+static gint vte_prefs_tab_num = -1;
 
+// use vte wordchars to select paths
 static const gchar VTE_WORDCHARS[] = "-A-Za-z0-9,./?%&#:_";
 
 
@@ -334,8 +337,7 @@
 
 			notebook = lookup_widget(app->prefs_dialog, "notebook2");
 
-			gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook),
-				gtk_notebook_get_n_pages(GTK_NOTEBOOK(notebook)) - 1);
+			gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), vte_prefs_tab_num);
 			break;
 		}
 	}
@@ -484,4 +486,182 @@
 */
 
 
+void vte_append_preferences_tab()
+{
+	if (vte_info.have_vte)
+	{
+		GtkWidget *notebook, *vbox, *label, *alignment, *table, *frame, *box;
+		GtkWidget *font_term, *color_fore, *color_back, *spin_scrollback, *entry_emulation;
+		GtkWidget *check_scroll_key, *check_scroll_out, *check_follow_path, *check_ignore_menu_key;
+		GtkWidget *entry_shell, *button_shell, *image_shell;
+		GtkTooltips *tooltips;
+		GtkObject *spin_scrollback_adj;
+
+		tooltips = GTK_TOOLTIPS(lookup_widget(app->prefs_dialog, "tooltips"));
+		notebook = lookup_widget(app->prefs_dialog, "notebook2");
+
+		frame = ui_frame_new_with_alignment(_("Terminal plugin"), &alignment);
+		vbox = gtk_vbox_new(FALSE, 12);
+		gtk_container_add(GTK_CONTAINER(alignment), vbox);
+
+		label = gtk_label_new(_("Terminal"));
+		vte_prefs_tab_num = gtk_notebook_append_page(GTK_NOTEBOOK(notebook), frame, label);
+
+		label = gtk_label_new(_("These settings for the virtual terminal emulator widget (VTE) only apply if the VTE library could be loaded."));
+		gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 6);
+		gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_FILL);
+		gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
+		gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
+
+		table = gtk_table_new(6, 2, FALSE);
+		gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0);
+		gtk_table_set_row_spacings(GTK_TABLE(table), 3);
+		gtk_table_set_col_spacings(GTK_TABLE(table), 10);
+
+		label = gtk_label_new(_("Terminal font:"));
+		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1,
+					(GtkAttachOptions) (GTK_FILL),
+					(GtkAttachOptions) (0), 0, 0);
+		gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
+
+		font_term = gtk_font_button_new();
+		gtk_table_attach(GTK_TABLE(table), font_term, 1, 2, 0, 1,
+					(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+					(GtkAttachOptions) (0), 0, 0);
+		gtk_tooltips_set_tip(tooltips, font_term, _("Sets the font for the terminal widget."), NULL);
+
+		label = gtk_label_new(_("Foreground color:"));
+		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 1, 2,
+					(GtkAttachOptions) (GTK_FILL),
+					(GtkAttachOptions) (0), 0, 0);
+		gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
+
+		label = gtk_label_new(_("Background color:"));
+		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 2, 3,
+					(GtkAttachOptions) (GTK_FILL),
+					(GtkAttachOptions) (0), 0, 0);
+		gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
+
+		color_fore = gtk_color_button_new();
+		gtk_table_attach(GTK_TABLE(table), color_fore, 1, 2, 1, 2,
+					(GtkAttachOptions) (GTK_FILL),
+					(GtkAttachOptions) (0), 0, 0);
+		gtk_tooltips_set_tip(tooltips, color_fore, _("Sets the foreground color of the text in the terminal widget."), NULL);
+		gtk_color_button_set_title(GTK_COLOR_BUTTON(color_fore), _("Color Chooser"));
+
+		color_back = gtk_color_button_new();
+		gtk_table_attach(GTK_TABLE(table), color_back, 1, 2, 2, 3,
+					(GtkAttachOptions) (GTK_FILL),
+					(GtkAttachOptions) (0), 0, 0);
+		gtk_tooltips_set_tip(tooltips, color_back, _("Sets the background color of the text in the terminal widget."), NULL);
+		gtk_color_button_set_title(GTK_COLOR_BUTTON(color_back), _("Color Chooser"));
+
+		label = gtk_label_new(_("Scrollback lines:"));
+		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 3, 4,
+					(GtkAttachOptions) (GTK_FILL),
+					(GtkAttachOptions) (0), 0, 0);
+		gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
+
+		spin_scrollback_adj = gtk_adjustment_new(500, 0, 5000, 1, 10, 10);
+		spin_scrollback = gtk_spin_button_new(GTK_ADJUSTMENT(spin_scrollback_adj), 1, 0);
+		gtk_table_attach(GTK_TABLE(table), spin_scrollback, 1, 2, 3, 4,
+					(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+					(GtkAttachOptions) (0), 0, 0);
+		gtk_tooltips_set_tip(tooltips, spin_scrollback, _("Specifies the history in lines, which you can scroll back in the terminal widget."), NULL);
+		gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(spin_scrollback), TRUE);
+		gtk_spin_button_set_wrap(GTK_SPIN_BUTTON(spin_scrollback), TRUE);
+
+		label = gtk_label_new(_("Terminal emulation:"));
+		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 4, 5,
+					(GtkAttachOptions) (GTK_FILL),
+					(GtkAttachOptions) (0), 0, 0);
+		gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
+
+		entry_emulation = gtk_entry_new();
+		gtk_table_attach(GTK_TABLE(table), entry_emulation, 1, 2, 4, 5,
+					(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+					(GtkAttachOptions) (0), 0, 0);
+		gtk_tooltips_set_tip(tooltips, entry_emulation, _("Controls how the terminal emulator should behave. xterm is a good start."), NULL);
+
+		label = gtk_label_new(_("Shell:"));
+		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 5, 6,
+					(GtkAttachOptions) (GTK_FILL),
+					(GtkAttachOptions) (0), 0, 0);
+		gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
+
+		entry_shell = gtk_entry_new();
+		gtk_tooltips_set_tip(tooltips, entry_shell, _("Sets the path to the shell which should be started inside the terminal emulation."), NULL);
+
+		button_shell = gtk_button_new();
+		gtk_widget_show(button_shell);
+
+		box = gtk_hbox_new(FALSE, 6);
+		gtk_box_pack_start_defaults(GTK_BOX(box), entry_shell);
+		gtk_box_pack_start(GTK_BOX(box), button_shell, FALSE, FALSE, 0);
+		gtk_table_attach(GTK_TABLE(table), box, 1, 2, 5, 6,
+					(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+					(GtkAttachOptions) (0), 0, 0);
+
+		image_shell = gtk_image_new_from_stock("gtk-open", GTK_ICON_SIZE_BUTTON);
+		gtk_widget_show(image_shell);
+		gtk_container_add(GTK_CONTAINER(button_shell), image_shell);
+
+		box = gtk_vbox_new(FALSE, 3);
+		check_scroll_key = gtk_check_button_new_with_mnemonic(_("Scroll on keystroke"));
+		gtk_tooltips_set_tip(tooltips, check_scroll_key, _("Whether to scroll to the bottom if a key was pressed."), NULL);
+		gtk_button_set_focus_on_click(GTK_BUTTON(check_scroll_key), FALSE);
+		gtk_container_add(GTK_CONTAINER(box), check_scroll_key);
+
+		check_scroll_out = gtk_check_button_new_with_mnemonic(_("Scroll on output"));
+		gtk_tooltips_set_tip(tooltips, check_scroll_out, _("Whether to scroll to the bottom when output is generated."), NULL);
+		gtk_button_set_focus_on_click(GTK_BUTTON(check_scroll_out), FALSE);
+		gtk_container_add(GTK_CONTAINER(box), check_scroll_out);
+
+		check_ignore_menu_key = gtk_check_button_new_with_mnemonic(_("Disable menu shortcut key (F10 by default)"));
+		gtk_tooltips_set_tip(tooltips, check_ignore_menu_key, _("This option disables the keybinding to popup the menu bar (default is F10). Disabling it can be useful if you use, for example, Midnight Commander within the VTE."), NULL);
+		gtk_button_set_focus_on_click(GTK_BUTTON(check_ignore_menu_key), FALSE);
+		gtk_container_add(GTK_CONTAINER(box), check_ignore_menu_key);
+
+		check_follow_path = gtk_check_button_new_with_mnemonic(_("Follow the path of the current file"));
+		gtk_tooltips_set_tip(tooltips, check_follow_path, _("Whether to execute \"cd $path\" when you switch between opened files."), NULL);
+		gtk_button_set_focus_on_click(GTK_BUTTON(check_follow_path), FALSE);
+		gtk_container_add(GTK_CONTAINER(box), check_follow_path);
+
+		gtk_box_pack_start(GTK_BOX(vbox), box, FALSE, FALSE, 0);
+
+		g_object_set_data_full(G_OBJECT(app->prefs_dialog), "font_term",
+				gtk_widget_ref(font_term),	(GDestroyNotify) gtk_widget_unref);
+		g_object_set_data_full(G_OBJECT(app->prefs_dialog), "color_fore",
+				gtk_widget_ref(color_fore),	(GDestroyNotify) gtk_widget_unref);
+		g_object_set_data_full(G_OBJECT(app->prefs_dialog), "color_back",
+				gtk_widget_ref(color_back),	(GDestroyNotify) gtk_widget_unref);
+		g_object_set_data_full(G_OBJECT(app->prefs_dialog), "spin_scrollback",
+				gtk_widget_ref(spin_scrollback),	(GDestroyNotify) gtk_widget_unref);
+		g_object_set_data_full(G_OBJECT(app->prefs_dialog), "entry_emulation",
+				gtk_widget_ref(entry_emulation),	(GDestroyNotify) gtk_widget_unref);
+		g_object_set_data_full(G_OBJECT(app->prefs_dialog), "entry_shell",
+				gtk_widget_ref(entry_shell),	(GDestroyNotify) gtk_widget_unref);
+		g_object_set_data_full(G_OBJECT(app->prefs_dialog), "check_scroll_key",
+				gtk_widget_ref(check_scroll_key),	(GDestroyNotify) gtk_widget_unref);
+		g_object_set_data_full(G_OBJECT(app->prefs_dialog), "check_scroll_out",
+				gtk_widget_ref(check_scroll_out),	(GDestroyNotify) gtk_widget_unref);
+		g_object_set_data_full(G_OBJECT(app->prefs_dialog), "check_ignore_menu_key",
+				gtk_widget_ref(check_ignore_menu_key),	(GDestroyNotify) gtk_widget_unref);
+		g_object_set_data_full(G_OBJECT(app->prefs_dialog), "check_follow_path",
+				gtk_widget_ref(check_follow_path),	(GDestroyNotify) gtk_widget_unref);
+
+		gtk_widget_show_all(frame);
+
+		g_signal_connect((gpointer) font_term, "font-set", G_CALLBACK(on_prefs_font_choosed),
+														   GINT_TO_POINTER(4));
+		g_signal_connect((gpointer) color_fore, "color-set", G_CALLBACK(on_prefs_color_choosed),
+															 GINT_TO_POINTER(2));
+		g_signal_connect((gpointer) color_back, "color-set", G_CALLBACK(on_prefs_color_choosed),
+															 GINT_TO_POINTER(3));
+		g_signal_connect((gpointer) button_shell, "clicked",
+				G_CALLBACK(on_prefs_tools_button_clicked), entry_shell);
+	}
+}
+
+
 #endif

Modified: trunk/src/vte.h
===================================================================
--- trunk/src/vte.h	2006-11-24 11:11:06 UTC (rev 1026)
+++ trunk/src/vte.h	2006-11-24 11:47:29 UTC (rev 1027)
@@ -24,13 +24,14 @@
 #ifndef GEANY_VTE_H
 #define GEANY_VTE_H 1
 
+#ifdef HAVE_VTE
+
 /* include stdlib.h AND unistd.h, because on GNU/Linux pid_t seems to be
  * in stdlib.h, on FreeBSD in unistd.h */
 #include <stdlib.h>
 #include <unistd.h>
 
 
-#ifdef HAVE_VTE
 typedef struct
 {
 	gboolean load_vte;
@@ -59,7 +60,6 @@
 	GdkColor *colour_back;
 } VteConfig;
 VteConfig *vc;
-#endif
 
 
 void vte_init(void);
@@ -74,6 +74,8 @@
 
 void vte_cwd(const gchar *filename);
 
+void vte_append_preferences_tab();
+
 /*
 void vte_drag_data_received(GtkWidget *widget, GdkDragContext  *drag_context, gint x, gint y,
 							GtkSelectionData *data, guint info, guint time);
@@ -129,5 +131,6 @@
 	void (*vte_terminal_im_append_menuitems) (VteTerminal *terminal, GtkMenuShell *menushell);
 };
 
+#endif
 
 #endif


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Commits mailing list