SF.net SVN: geany: [354] trunk

eht16 at users.sourceforge.net eht16 at xxxxx
Mon May 22 00:25:37 UTC 2006


Revision: 354
Author:   eht16
Date:     2006-05-21 17:25:19 -0700 (Sun, 21 May 2006)
ViewCVS:  http://svn.sourceforge.net/geany/?rev=354&view=rev

Log Message:
-----------
- do not create VTE settings in the preferences dialog if VTE is disabled at runtime
- added option to preferences dialog to disable load of VTE at startup

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/geany.glade
    trunk/src/callbacks.c
    trunk/src/dialogs.c
    trunk/src/geany.h
    trunk/src/interface.c
    trunk/src/keyfile.c
    trunk/src/main.c
    trunk/src/prefs.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2006-05-22 00:19:15 UTC (rev 353)
+++ trunk/ChangeLog	2006-05-22 00:25:19 UTC (rev 354)
@@ -6,6 +6,14 @@
    added option to disable styling within preprocessor directives
  * src/dialogs.c, src/about.c, src/callbacks.c, configure.in:
    rewrote about dialog to reduce code size, added subversion revision
+ * src/vte.c: declared some functions static
+ * src/dialogs.c: do not create VTE settings in the preferences dialog
+                  if VTE is disabled at runtime
+ * geany.glade, src/interface.c, src/callbacks.c, src/keyfile.c,
+   src/main.c, src/prefs.c:
+   added option to disable load of VTE at startup
+ * src/highlighting.c, src/utils.c: applied sanity check patch from
+                                    Pierre(posted on mailing list)
 
 
 2006-05-20  Nick Treleaven  <nick.treleaven at btinternet.com>

Modified: trunk/geany.glade
===================================================================
--- trunk/geany.glade	2006-05-22 00:19:15 UTC (rev 353)
+++ trunk/geany.glade	2006-05-22 00:25:19 UTC (rev 354)
@@ -2430,6 +2430,25 @@
 			  </child>
 
 			  <child>
+			    <widget class="GtkCheckButton" id="check_vte">
+			      <property name="tooltip" translatable="yes">Whether the virtual terminal emulation(VTE) should be loaded at startup. Disable it if you do not need it.</property>
+			      <property name="can_focus">True</property>
+			      <property name="label" translatable="yes">Load virtual terminal emulation at startup</property>
+			      <property name="use_underline">True</property>
+			      <property name="relief">GTK_RELIEF_NORMAL</property>
+			      <property name="focus_on_click">False</property>
+			      <property name="active">False</property>
+			      <property name="inconsistent">False</property>
+			      <property name="draw_indicator">True</property>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+
+			  <child>
 			    <widget class="GtkCheckButton" id="check_ask_for_quit">
 			      <property name="visible">True</property>
 			      <property name="tooltip" translatable="yes">Shows a confirmation dialog on exit.</property>
@@ -2547,8 +2566,8 @@
 			    </widget>
 			    <packing>
 			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
+			      <property name="expand">True</property>
+			      <property name="fill">True</property>
 			    </packing>
 			  </child>
 			</widget>

Modified: trunk/src/callbacks.c
===================================================================
--- trunk/src/callbacks.c	2006-05-22 00:19:15 UTC (rev 353)
+++ trunk/src/callbacks.c	2006-05-22 00:25:19 UTC (rev 354)
@@ -40,6 +40,7 @@
 #include "sci_cb.h"
 #include "utils.h"
 #include "dialogs.h"
+#include "about.h"
 #include "msgwindow.h"
 #include "build.h"
 #include "prefs.h"
@@ -111,9 +112,6 @@
 	templates_free_templates();
 	tm_workspace_free(TM_WORK_OBJECT(app->tm_workspace));
 	g_free(app->configdir);
-#ifdef HAVE_VTE
-	g_free(app->lib_vte);
-#endif
 	g_free(app->search_text);
 	g_free(app->editor_font);
 	g_free(app->tagbar_font);
@@ -146,7 +144,10 @@
 		gtk_widget_destroy(app->default_tag_tree);
 	}
 	scintilla_release_resources();
+#ifdef HAVE_VTE
 	if (app->have_vte) vte_close();
+	g_free(app->lib_vte);
+#endif
 	gtk_widget_destroy(app->window);
 
 	// destroy popup menus

Modified: trunk/src/dialogs.c
===================================================================
--- trunk/src/dialogs.c	2006-05-22 00:19:15 UTC (rev 353)
+++ trunk/src/dialogs.c	2006-05-22 00:25:19 UTC (rev 354)
@@ -40,7 +40,6 @@
 #include "callbacks.h"
 #include "document.h"
 #include "win32.h"
-#include "about.h"
 #include "sciwrappers.h"
 #include "support.h"
 #include "interface.h"
@@ -1649,140 +1648,136 @@
 		app->prefs_dialog = create_prefs_dialog();
 
 #ifdef HAVE_VTE
-		tooltips = GTK_TOOLTIPS(lookup_widget(app->prefs_dialog, "tooltips"));
-		notebook = lookup_widget(app->prefs_dialog, "notebook2");
-		vbox = gtk_vbox_new(FALSE, 0);
-		gtk_container_add(GTK_CONTAINER(notebook), vbox);
+		if (app->have_vte)
+		{
+			tooltips = GTK_TOOLTIPS(lookup_widget(app->prefs_dialog, "tooltips"));
+			notebook = lookup_widget(app->prefs_dialog, "notebook2");
+			vbox = gtk_vbox_new(FALSE, 0);
+			gtk_container_add(GTK_CONTAINER(notebook), vbox);
 
-		label = gtk_label_new(_("These are settings for the virtual terminal emulator widget (VTE). They only apply, if the VTE library could be loaded."));
-		gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
-		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.14, 0.19);
-		gtk_misc_set_padding(GTK_MISC(label), 0, 8);
+			label = gtk_label_new(_("These are settings for the virtual terminal emulator widget (VTE). They only apply, if the VTE library could be loaded."));
+			gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
+			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.14, 0.19);
+			gtk_misc_set_padding(GTK_MISC(label), 0, 8);
 
-		alignment = gtk_alignment_new(0.5, 0.5, 1, 1);
-		gtk_box_pack_start(GTK_BOX(vbox), alignment, FALSE, FALSE, 0);
-		gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 12, 6);
+			alignment = gtk_alignment_new(0.5, 0.5, 1, 1);
+			gtk_box_pack_start(GTK_BOX(vbox), alignment, FALSE, FALSE, 0);
+			gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 12, 6);
 
-		table = gtk_table_new(7, 2, FALSE);
-		gtk_container_add(GTK_CONTAINER(alignment), table);
-		gtk_table_set_row_spacings(GTK_TABLE(table), 3);
-		gtk_table_set_col_spacings(GTK_TABLE(table), 25);
+			table = gtk_table_new(7, 2, FALSE);
+			gtk_container_add(GTK_CONTAINER(alignment), table);
+			gtk_table_set_row_spacings(GTK_TABLE(table), 3);
+			gtk_table_set_col_spacings(GTK_TABLE(table), 25);
 
-		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);
+			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_widget_set_sensitive(font_term, FALSE);
-		gtk_tooltips_set_tip(tooltips, font_term, _("Sets the font for the terminal widget."), NULL);
+			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(_("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);
+			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_widget_set_sensitive(color_fore, FALSE);
-		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_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_widget_set_sensitive(color_back, FALSE);
-		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"));
+			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);
+			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_widget_set_sensitive(spin_scrollback, FALSE);
-		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);
+			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);
+			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_widget_set_sensitive(entry_emulation, FALSE);
-		gtk_tooltips_set_tip(tooltips, entry_emulation, _("Controls how the terminal emulator should behave. xterm is a good start."), NULL);
+			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);
 
-		check_scroll_key = gtk_check_button_new_with_mnemonic(_("Scroll on keystroke"));
-		gtk_table_attach(GTK_TABLE(table), check_scroll_key, 1, 2, 5, 6,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-		gtk_widget_set_sensitive(check_scroll_key, FALSE);
-		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);
+			check_scroll_key = gtk_check_button_new_with_mnemonic(_("Scroll on keystroke"));
+			gtk_table_attach(GTK_TABLE(table), check_scroll_key, 1, 2, 5, 6,
+						(GtkAttachOptions) (GTK_FILL),
+						(GtkAttachOptions) (0), 0, 0);
+			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);
 
-		check_scroll_out = gtk_check_button_new_with_mnemonic(_("Scroll on output"));
-		gtk_table_attach(GTK_TABLE(table), check_scroll_out, 1, 2, 6, 7,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-		gtk_widget_set_sensitive(check_scroll_out, FALSE);
-		gtk_tooltips_set_tip(tooltips, check_scroll_out, _("Whether to scroll to the bottom if an output was generated."), NULL);
-		gtk_button_set_focus_on_click(GTK_BUTTON(check_scroll_out), FALSE);
+			check_scroll_out = gtk_check_button_new_with_mnemonic(_("Scroll on output"));
+			gtk_table_attach(GTK_TABLE(table), check_scroll_out, 1, 2, 6, 7,
+						(GtkAttachOptions) (GTK_FILL),
+						(GtkAttachOptions) (0), 0, 0);
+			gtk_tooltips_set_tip(tooltips, check_scroll_out, _("Whether to scroll to the bottom if an output was generated."), NULL);
+			gtk_button_set_focus_on_click(GTK_BUTTON(check_scroll_out), FALSE);
 
-		label = gtk_label_new(_("Terminal"));
-		gtk_notebook_set_tab_label(GTK_NOTEBOOK(notebook), gtk_notebook_get_nth_page(
-					GTK_NOTEBOOK(notebook), 5), label);
+			label = gtk_label_new(_("Terminal"));
+			gtk_notebook_set_tab_label(GTK_NOTEBOOK(notebook), gtk_notebook_get_nth_page(
+						GTK_NOTEBOOK(notebook), 5), label);
 
-		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), "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), "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), "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);
 
-		gtk_widget_show_all(vbox);
+			gtk_widget_show_all(vbox);
 
-		g_signal_connect((gpointer) lookup_widget(app->prefs_dialog, "font_term"),
-				"font-set", G_CALLBACK(on_prefs_font_choosed), GINT_TO_POINTER(4));
-		g_signal_connect((gpointer) lookup_widget(app->prefs_dialog, "color_fore"),
-				"color-set", G_CALLBACK(on_prefs_color_choosed), GINT_TO_POINTER(2));
-		g_signal_connect((gpointer) lookup_widget(app->prefs_dialog, "color_back"),
-				"color-set", G_CALLBACK(on_prefs_color_choosed), GINT_TO_POINTER(3));
+			g_signal_connect((gpointer) lookup_widget(app->prefs_dialog, "font_term"),
+					"font-set", G_CALLBACK(on_prefs_font_choosed), GINT_TO_POINTER(4));
+			g_signal_connect((gpointer) lookup_widget(app->prefs_dialog, "color_fore"),
+					"color-set", G_CALLBACK(on_prefs_color_choosed), GINT_TO_POINTER(2));
+			g_signal_connect((gpointer) lookup_widget(app->prefs_dialog, "color_back"),
+					"color-set", G_CALLBACK(on_prefs_color_choosed), GINT_TO_POINTER(3));
+		}
 #endif
 		g_signal_connect((gpointer) app->prefs_dialog, "response", G_CALLBACK(on_prefs_button_clicked), NULL);
 		g_signal_connect((gpointer) app->prefs_dialog, "delete_event", G_CALLBACK(on_prefs_delete_event), NULL);

Modified: trunk/src/geany.h
===================================================================
--- trunk/src/geany.h	2006-05-22 00:19:15 UTC (rev 353)
+++ trunk/src/geany.h	2006-05-22 00:25:19 UTC (rev 354)
@@ -15,7 +15,7 @@
  *
  *      You should have received a copy of the GNU General Public License
  *      along with this program; if not, write to the Free Software
- *      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  *
  * $Id$
  */
@@ -122,7 +122,6 @@
 	gboolean			 opening_session_files;
 	// represents the state when Geany is quitting completely
 	gboolean			 quitting;
-	gboolean			 have_vte;
 	gboolean			 ignore_global_tags;
 	gboolean			 toolbar_visible;
 	gboolean			 treeview_symbol_visible;
@@ -162,6 +161,8 @@
 	gboolean			 ignore_fifo;
 #endif
 #ifdef HAVE_VTE
+	gboolean			 load_vte;
+	gboolean			 have_vte;
 	gchar				*lib_vte;
 #endif
 	gchar				*long_line_color;

Modified: trunk/src/interface.c
===================================================================
--- trunk/src/interface.c	2006-05-22 00:19:15 UTC (rev 353)
+++ trunk/src/interface.c	2006-05-22 00:25:19 UTC (rev 354)
@@ -1740,6 +1740,7 @@
   GtkWidget *check_save_win_pos;
   GtkWidget *check_beep;
   GtkWidget *check_switch_pages;
+  GtkWidget *check_vte;
   GtkWidget *check_ask_for_quit;
   GtkWidget *hbox3;
   GtkWidget *label150;
@@ -1927,6 +1928,11 @@
   gtk_tooltips_set_tip (tooltips, check_switch_pages, _("Switch to the status message tab(in the notebook window at the bottom) if a new status message arrive."), NULL);
   gtk_button_set_focus_on_click (GTK_BUTTON (check_switch_pages), FALSE);
 
+  check_vte = gtk_check_button_new_with_mnemonic (_("Load virtual terminal emulation at startup"));
+  gtk_box_pack_start (GTK_BOX (vbox4), check_vte, FALSE, FALSE, 0);
+  gtk_tooltips_set_tip (tooltips, check_vte, _("Whether the virtual terminal emulation(VTE) should be loaded at startup. Disable it if you do not need it."), NULL);
+  gtk_button_set_focus_on_click (GTK_BUTTON (check_vte), FALSE);
+
   check_ask_for_quit = gtk_check_button_new_with_mnemonic (_("Confirm exit"));
   gtk_widget_show (check_ask_for_quit);
   gtk_box_pack_start (GTK_BOX (vbox4), check_ask_for_quit, FALSE, FALSE, 0);
@@ -1936,7 +1942,7 @@
 
   hbox3 = gtk_hbox_new (FALSE, 0);
   gtk_widget_show (hbox3);
-  gtk_box_pack_start (GTK_BOX (vbox4), hbox3, FALSE, FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (vbox4), hbox3, TRUE, TRUE, 0);
 
   label150 = gtk_label_new (_("Placement of new file tabs: "));
   gtk_widget_show (label150);
@@ -2543,6 +2549,7 @@
   GLADE_HOOKUP_OBJECT (prefs_dialog, check_save_win_pos, "check_save_win_pos");
   GLADE_HOOKUP_OBJECT (prefs_dialog, check_beep, "check_beep");
   GLADE_HOOKUP_OBJECT (prefs_dialog, check_switch_pages, "check_switch_pages");
+  GLADE_HOOKUP_OBJECT (prefs_dialog, check_vte, "check_vte");
   GLADE_HOOKUP_OBJECT (prefs_dialog, check_ask_for_quit, "check_ask_for_quit");
   GLADE_HOOKUP_OBJECT (prefs_dialog, hbox3, "hbox3");
   GLADE_HOOKUP_OBJECT (prefs_dialog, label150, "label150");

Modified: trunk/src/keyfile.c
===================================================================
--- trunk/src/keyfile.c	2006-05-22 00:19:15 UTC (rev 353)
+++ trunk/src/keyfile.c	2006-05-22 00:25:19 UTC (rev 354)
@@ -99,6 +99,7 @@
 	g_key_file_set_boolean(config, PACKAGE, "auto_close_xml_tags", app->pref_editor_auto_close_xml_tags);
 	g_key_file_set_boolean(config, PACKAGE, "auto_complete_constructs", app->pref_editor_auto_complete_constructs);
 #ifdef HAVE_VTE
+	g_key_file_set_boolean(config, PACKAGE, "load_vte", app->load_vte);
 	g_key_file_set_comment(config, PACKAGE, "terminal_settings",
 			_(" VTE settings: FONT;FOREGROUND;BACKGROUND;scrollback;type;scroll on keystroke;scroll on output"), NULL);
 	g_key_file_set_string(config, PACKAGE, "terminal_settings", app->terminal_settings);
@@ -256,11 +257,12 @@
 	app->pref_main_save_winpos = utils_get_setting_boolean(config, PACKAGE, "pref_main_save_winpos", TRUE);
 	app->pref_main_show_search = utils_get_setting_boolean(config, PACKAGE, "pref_main_show_search", TRUE);
 	app->pref_main_show_goto = utils_get_setting_boolean(config, PACKAGE, "pref_main_show_goto", TRUE);
-	app->pref_template_developer = utils_get_setting_string(config, PACKAGE, "pref_template_developer", g_get_real_name());
-	app->pref_template_company = utils_get_setting_string(config, PACKAGE, "pref_template_company", "");
 #ifdef HAVE_VTE
+	app->load_vte = utils_get_setting_boolean(config, PACKAGE, "load_vte", TRUE);
 	app->terminal_settings = utils_get_setting_string(config, PACKAGE, "terminal_settings",	"");
 #endif
+	app->pref_template_developer = utils_get_setting_string(config, PACKAGE, "pref_template_developer", g_get_real_name());
+	app->pref_template_company = utils_get_setting_string(config, PACKAGE, "pref_template_company", "");
 	tmp_string = utils_get_initials(app->pref_template_developer);
 	app->pref_template_initial = utils_get_setting_string(config, PACKAGE, "pref_template_initial", tmp_string);
 	g_free(tmp_string);

Modified: trunk/src/main.c
===================================================================
--- trunk/src/main.c	2006-05-22 00:19:15 UTC (rev 353)
+++ trunk/src/main.c	2006-05-22 00:25:19 UTC (rev 354)
@@ -15,7 +15,7 @@
  *
  *      You should have received a copy of the GNU General Public License
  *      along with this program; if not, write to the Free Software
- *      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  *
  * $Id$
  */
@@ -58,10 +58,10 @@
 static gboolean debug_mode = FALSE;
 static gboolean ignore_global_tags = FALSE;
 static gboolean no_msgwin = FALSE;
-static gboolean no_vte = FALSE;
 static gboolean show_version = FALSE;
 static gchar *alternate_config = NULL;
 #ifdef HAVE_VTE
+static gboolean no_vte = FALSE;
 static gchar *lib_vte = NULL;
 #endif
 static GOptionEntry entries[] =
@@ -73,8 +73,8 @@
 #endif
 	{ "config", 'c', 0, G_OPTION_ARG_FILENAME, &alternate_config, "use an alternate configuration directory", NULL },
 	{ "no-msgwin", 'm', 0, G_OPTION_ARG_NONE, &no_msgwin, "don't show message window at startup", NULL },
+#ifdef HAVE_VTE
 	{ "no-terminal", 't', 0, G_OPTION_ARG_NONE, &no_vte, "don't load terminal support", NULL },
-#ifdef HAVE_VTE
 	{ "vte-lib", 'l', 0, G_OPTION_ARG_FILENAME, &lib_vte, "filename of libvte.so", NULL },
 #endif
 	{ "version", 'v', 0, G_OPTION_ARG_NONE, &show_version, "show version and exit", NULL },
@@ -216,9 +216,6 @@
 	}
 	else
 		app->configdir = g_strconcat(GEANY_HOME_DIR, G_DIR_SEPARATOR_S, ".", PACKAGE, NULL);
-#ifdef HAVE_VTE
-	app->lib_vte			= lib_vte;
-#endif
 	app->window				= NULL;
 	app->search_text		= NULL;
 	app->open_fontsel		= NULL;
@@ -236,9 +233,7 @@
 	app->ignore_fifo		= ignore_fifo;
 #endif
 #ifdef HAVE_VTE
-	app->have_vte 			= ! no_vte;
-#else
-	app->have_vte 			= FALSE;
+	app->lib_vte			= lib_vte;
 #endif
 	app->ignore_global_tags 					= ignore_global_tags;
 	app->tm_workspace							= tm_get_workspace();
@@ -474,6 +469,11 @@
 	templates_init();
 	encodings_init();
 	document_init_doclist();
+	// do this here to let cmdline options overwrite configuration settings
+#ifdef HAVE_VTE
+	app->have_vte = app->load_vte;
+	if (no_vte) app->have_vte = FALSE;
+#endif
 
 	filetypes_init_types();
 	configuration_read_filetype_extensions();

Modified: trunk/src/prefs.c
===================================================================
--- trunk/src/prefs.c	2006-05-22 00:19:15 UTC (rev 353)
+++ trunk/src/prefs.c	2006-05-22 00:25:19 UTC (rev 354)
@@ -21,6 +21,8 @@
  */
 
 
+#include <stdlib.h>
+
 #include "geany.h"
 
 #include "prefs.h"
@@ -213,6 +215,11 @@
 
 
 #ifdef HAVE_VTE
+	// make VTE switch visible only when VTE is compiled in, it is hidden by default
+	widget = lookup_widget(app->prefs_dialog, "check_vte");
+	gtk_widget_show(widget);
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), app->load_vte);
+
 	// VTE settings
 	if (app->have_vte)
 	{
@@ -236,14 +243,6 @@
 
 		widget = lookup_widget(app->prefs_dialog, "check_scroll_out");
 		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), vc->scroll_on_out);
-
-		gtk_widget_set_sensitive(lookup_widget(app->prefs_dialog, "font_term"), TRUE);
-		gtk_widget_set_sensitive(lookup_widget(app->prefs_dialog, "color_fore"), TRUE);
-		gtk_widget_set_sensitive(lookup_widget(app->prefs_dialog, "color_back"), TRUE);
-		gtk_widget_set_sensitive(lookup_widget(app->prefs_dialog, "spin_scrollback"), TRUE);
-		gtk_widget_set_sensitive(lookup_widget(app->prefs_dialog, "entry_emulation"), TRUE);
-		gtk_widget_set_sensitive(lookup_widget(app->prefs_dialog, "check_scroll_key"), TRUE);
-		gtk_widget_set_sensitive(lookup_widget(app->prefs_dialog, "check_scroll_out"), TRUE);
 	}
 #endif
 }
@@ -367,6 +366,9 @@
 		if (edited) keybindings_write_to_file();
 
 #ifdef HAVE_VTE
+		widget = lookup_widget(app->prefs_dialog, "check_vte");
+		app->load_vte = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
+
 		// VTE settings
 		if (app->have_vte)
 		{


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