SF.net SVN: geany: [1232] trunk

eht16 at users.sourceforge.net eht16 at xxxxx
Fri Jan 26 10:43:25 UTC 2007


Revision: 1232
          http://svn.sourceforge.net/geany/?rev=1232&view=rev
Author:   eht16
Date:     2007-01-26 02:43:25 -0800 (Fri, 26 Jan 2007)

Log Message:
-----------
Added an option to disable auto completion of known symbols while typing (still can be forced by pressing the keybinding).

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/THANKS
    trunk/geany.glade
    trunk/src/geany.h
    trunk/src/interface.c
    trunk/src/keyfile.c
    trunk/src/prefs.c
    trunk/src/sci_cb.c

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2007-01-26 09:52:24 UTC (rev 1231)
+++ trunk/ChangeLog	2007-01-26 10:43:25 UTC (rev 1232)
@@ -2,6 +2,10 @@
 
  * src/document.c: Applied patch from Jeff Pohlmeyer to clear the line
                    marker when clearing the compile error markers.
+ * geany.glade, src/geany.h, src/interface.c, src/keyfile.c,
+   src/prefs.c, src/sci_cb.c:
+   Added an option to disable auto completion of known symbols while
+   typing (still can be forced by pressing the keybinding).
 
 
 2007-01-25  Enrico Tröger  <enrico.troeger at uvena.de>

Modified: trunk/THANKS
===================================================================
--- trunk/THANKS	2007-01-26 09:52:24 UTC (rev 1231)
+++ trunk/THANKS	2007-01-26 10:43:25 UTC (rev 1232)
@@ -21,7 +21,7 @@
 Bob Doan <bdoan(at)sicom(dot)com> - some patches
 Rob van der Linde <robvdl(at)paradise(dot)net(dot)nz> - fixed wrong vte height on some systems
 Josef Whiter <josef(at)toxicpanda(dot)com> - parse 'Entering directory' build messages.
-Jeff Pohlmeyer <yetanothergeek(at)gmail(dot)com> - "Allow DnD" and "Use tabs" patches
+Jeff Pohlmeyer <yetanothergeek(at)gmail(dot)com> - "Allow DnD", "Use tabs" and other great patches
 
 Translators:
 ----------------------------------

Modified: trunk/geany.glade
===================================================================
--- trunk/geany.glade	2007-01-26 09:52:24 UTC (rev 1231)
+++ trunk/geany.glade	2007-01-26 10:43:25 UTC (rev 1232)
@@ -5465,12 +5465,57 @@
 			  </child>
 
 			  <child>
+			    <widget class="GtkCheckButton" id="check_symbol_auto_completion">
+			      <property name="visible">True</property>
+			      <property name="tooltip" translatable="yes">Automatic completion of known symbols in open source file(s) (function, global variables, ...)</property>
+			      <property name="can_focus">True</property>
+			      <property name="label" translatable="yes">Symbol autocompletion</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="GtkHBox" id="hbox6">
 			      <property name="visible">True</property>
 			      <property name="homogeneous">False</property>
 			      <property name="spacing">20</property>
 
 			      <child>
+				<widget class="GtkLabel" id="label182">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes"></property>
+				  <property name="use_underline">False</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0.5</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+				  <property name="width_chars">-1</property>
+				  <property name="single_line_mode">False</property>
+				  <property name="angle">0</property>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
+				</packing>
+			      </child>
+
+			      <child>
 				<widget class="GtkLabel" id="label173">
 				  <property name="visible">True</property>
 				  <property name="label" translatable="yes">Rows of autocompletion list:</property>
@@ -5510,7 +5555,7 @@
 				</widget>
 				<packing>
 				  <property name="padding">0</property>
-				  <property name="expand">False</property>
+				  <property name="expand">True</property>
 				  <property name="fill">True</property>
 				</packing>
 			      </child>
@@ -5518,7 +5563,7 @@
 			    <packing>
 			      <property name="padding">0</property>
 			      <property name="expand">False</property>
-			      <property name="fill">True</property>
+			      <property name="fill">False</property>
 			    </packing>
 			  </child>
 			</widget>

Modified: trunk/src/geany.h
===================================================================
--- trunk/src/geany.h	2007-01-26 09:52:24 UTC (rev 1231)
+++ trunk/src/geany.h	2007-01-26 10:43:25 UTC (rev 1232)
@@ -110,6 +110,7 @@
 	gboolean			 pref_editor_show_white_space;
 	gboolean			 pref_editor_show_indent_guide;
 	gboolean			 pref_editor_show_line_endings;
+	gboolean			 pref_editor_auto_complete_symbols;
 	gboolean			 pref_editor_auto_close_xml_tags;
 	gboolean			 pref_editor_auto_complete_constructs;
 	gboolean			 pref_editor_folding;

Modified: trunk/src/interface.c
===================================================================
--- trunk/src/interface.c	2007-01-26 09:52:24 UTC (rev 1231)
+++ trunk/src/interface.c	2007-01-26 10:43:25 UTC (rev 1232)
@@ -2402,7 +2402,9 @@
   GtkWidget *vbox19;
   GtkWidget *check_auto_complete;
   GtkWidget *check_xmltag;
+  GtkWidget *check_symbol_auto_completion;
   GtkWidget *hbox6;
+  GtkWidget *label182;
   GtkWidget *label173;
   GtkObject *spin_autocheight_adj;
   GtkWidget *spin_autocheight;
@@ -3331,10 +3333,20 @@
   gtk_tooltips_set_tip (tooltips, check_xmltag, _("Automatic completion of open XML tags (includes HTML tags)"), NULL);
   gtk_button_set_focus_on_click (GTK_BUTTON (check_xmltag), FALSE);
 
+  check_symbol_auto_completion = gtk_check_button_new_with_mnemonic (_("Symbol autocompletion"));
+  gtk_widget_show (check_symbol_auto_completion);
+  gtk_box_pack_start (GTK_BOX (vbox19), check_symbol_auto_completion, FALSE, FALSE, 0);
+  gtk_tooltips_set_tip (tooltips, check_symbol_auto_completion, _("Automatic completion of known symbols in open source file(s) (function, global variables, ...)"), NULL);
+  gtk_button_set_focus_on_click (GTK_BUTTON (check_symbol_auto_completion), FALSE);
+
   hbox6 = gtk_hbox_new (FALSE, 20);
   gtk_widget_show (hbox6);
-  gtk_box_pack_start (GTK_BOX (vbox19), hbox6, FALSE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (vbox19), hbox6, FALSE, FALSE, 0);
 
+  label182 = gtk_label_new ("");
+  gtk_widget_show (label182);
+  gtk_box_pack_start (GTK_BOX (hbox6), label182, FALSE, FALSE, 0);
+
   label173 = gtk_label_new (_("Rows of autocompletion list:"));
   gtk_widget_show (label173);
   gtk_box_pack_start (GTK_BOX (hbox6), label173, FALSE, FALSE, 0);
@@ -3343,7 +3355,7 @@
   spin_autocheight_adj = gtk_adjustment_new (10, 1, 99, 1, 10, 10);
   spin_autocheight = gtk_spin_button_new (GTK_ADJUSTMENT (spin_autocheight_adj), 1, 0);
   gtk_widget_show (spin_autocheight);
-  gtk_box_pack_start (GTK_BOX (hbox6), spin_autocheight, FALSE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (hbox6), spin_autocheight, TRUE, TRUE, 0);
   gtk_tooltips_set_tip (tooltips, spin_autocheight, _("Number of rows to display in the autocompletion list."), NULL);
   gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spin_autocheight), TRUE);
 
@@ -3838,7 +3850,9 @@
   GLADE_HOOKUP_OBJECT (prefs_dialog, vbox19, "vbox19");
   GLADE_HOOKUP_OBJECT (prefs_dialog, check_auto_complete, "check_auto_complete");
   GLADE_HOOKUP_OBJECT (prefs_dialog, check_xmltag, "check_xmltag");
+  GLADE_HOOKUP_OBJECT (prefs_dialog, check_symbol_auto_completion, "check_symbol_auto_completion");
   GLADE_HOOKUP_OBJECT (prefs_dialog, hbox6, "hbox6");
+  GLADE_HOOKUP_OBJECT (prefs_dialog, label182, "label182");
   GLADE_HOOKUP_OBJECT (prefs_dialog, label173, "label173");
   GLADE_HOOKUP_OBJECT (prefs_dialog, spin_autocheight, "spin_autocheight");
   GLADE_HOOKUP_OBJECT (prefs_dialog, label177, "label177");

Modified: trunk/src/keyfile.c
===================================================================
--- trunk/src/keyfile.c	2007-01-26 09:52:24 UTC (rev 1231)
+++ trunk/src/keyfile.c	2007-01-26 10:43:25 UTC (rev 1232)
@@ -118,6 +118,7 @@
 	g_key_file_set_boolean(config, PACKAGE, "switch_msgwin_pages", app->switch_msgwin_pages);
 	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);
+	g_key_file_set_boolean(config, PACKAGE, "auto_complete_symbols", app->pref_editor_auto_complete_symbols);
 #ifdef HAVE_VTE
 	g_key_file_set_boolean(config, "VTE", "load_vte", vte_info.load_vte);
 	if (vte_info.load_vte && vc != NULL)
@@ -319,6 +320,7 @@
 	app->pref_editor_show_line_endings = utils_get_setting_boolean(config, PACKAGE, "show_line_endings", FALSE);
 	app->pref_editor_auto_close_xml_tags = utils_get_setting_boolean(config, PACKAGE, "auto_close_xml_tags", TRUE);
 	app->pref_editor_auto_complete_constructs = utils_get_setting_boolean(config, PACKAGE, "auto_complete_constructs", TRUE);
+	app->pref_editor_auto_complete_symbols = utils_get_setting_boolean(config, PACKAGE, "auto_complete_symbols", TRUE);
 	app->pref_editor_folding = utils_get_setting_boolean(config, PACKAGE, "use_folding", TRUE);
 	app->pref_editor_unfold_all_children = utils_get_setting_boolean(config, PACKAGE, "unfold_all_children", FALSE);
 	app->show_markers_margin = utils_get_setting_boolean(config, PACKAGE, "show_markers_margin", TRUE);

Modified: trunk/src/prefs.c
===================================================================
--- trunk/src/prefs.c	2007-01-26 09:52:24 UTC (rev 1231)
+++ trunk/src/prefs.c	2007-01-26 10:43:25 UTC (rev 1232)
@@ -55,15 +55,16 @@
 GtkWidget *dialog_label;
 static gboolean edited = FALSE;
 
-static gboolean on_prefs_tree_view_button_press_event(
+static gboolean on_tree_view_button_press_event(
 						GtkWidget *widget, GdkEventButton *event, gpointer user_data);
 static void on_cell_edited(GtkCellRendererText *cellrenderertext, gchar *path, gchar *new_text, gpointer user_data);
 static gboolean on_keytype_dialog_response(GtkWidget *dialog, GdkEventKey *event, gpointer user_data);
 static void on_dialog_response(GtkWidget *dialog, gint response, gpointer user_data);
 static gboolean find_duplicate(guint idx, guint key, GdkModifierType mods, const gchar *action);
-static void on_pref_toolbar_show_toggled(GtkToggleButton *togglebutton, gpointer user_data);
-static void on_pref_show_notebook_tabs_toggled(GtkToggleButton *togglebutton, gpointer user_data);
-static void on_pref_use_folding_toggled(GtkToggleButton *togglebutton, gpointer user_data);
+static void on_toolbar_show_toggled(GtkToggleButton *togglebutton, gpointer user_data);
+static void on_show_notebook_tabs_toggled(GtkToggleButton *togglebutton, gpointer user_data);
+static void on_use_folding_toggled(GtkToggleButton *togglebutton, gpointer user_data);
+static void on_symbol_auto_completion_toggled(GtkToggleButton *togglebutton, gpointer user_data);
 
 
 void prefs_init_dialog(void)
@@ -99,7 +100,7 @@
 	widget = lookup_widget(app->prefs_dialog, "check_show_notebook_tabs");
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), app->show_notebook_tabs);
 	// disable following setting if notebook tabs are hidden
-	on_pref_show_notebook_tabs_toggled(GTK_TOGGLE_BUTTON(
+	on_show_notebook_tabs_toggled(GTK_TOGGLE_BUTTON(
 					lookup_widget(app->prefs_dialog, "check_show_notebook_tabs")), NULL);
 
 	if (app->tab_order_ltr)
@@ -198,7 +199,7 @@
 	}
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), TRUE);
 	// disable elements if toolbar is hidden
-	on_pref_toolbar_show_toggled(GTK_TOGGLE_BUTTON(
+	on_toolbar_show_toggled(GTK_TOGGLE_BUTTON(
 					lookup_widget(app->prefs_dialog, "check_toolbar_show")), NULL);
 
 
@@ -245,7 +246,7 @@
 
 	widget = lookup_widget(app->prefs_dialog, "check_unfold_children");
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), app->pref_editor_unfold_all_children);
-	on_pref_use_folding_toggled(GTK_TOGGLE_BUTTON(
+	on_use_folding_toggled(GTK_TOGGLE_BUTTON(
 					lookup_widget(app->prefs_dialog, "check_folding")), NULL);
 
 	widget = lookup_widget(app->prefs_dialog, "check_disable_dnd");
@@ -257,6 +258,10 @@
 	widget = lookup_widget(app->prefs_dialog, "check_indicators");
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), app->pref_editor_use_indicators);
 
+	widget = lookup_widget(app->prefs_dialog, "check_symbol_auto_completion");
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), app->pref_editor_auto_complete_symbols);
+	on_symbol_auto_completion_toggled(GTK_TOGGLE_BUTTON(widget), NULL);
+
 	widget = lookup_widget(app->prefs_dialog, "spin_autocheight");
 	gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget), app->autocompletion_max_height);
 
@@ -330,9 +335,9 @@
 
 		g_signal_connect(G_OBJECT(renderer), "edited", G_CALLBACK(on_cell_edited), NULL);
 		g_signal_connect(G_OBJECT(tree), "button-press-event",
-					G_CALLBACK(on_prefs_tree_view_button_press_event), NULL);
+					G_CALLBACK(on_tree_view_button_press_event), NULL);
 		g_signal_connect(G_OBJECT(lookup_widget(app->prefs_dialog, "button2")), "button-press-event",
-					G_CALLBACK(on_prefs_tree_view_button_press_event), NULL);
+					G_CALLBACK(on_tree_view_button_press_event), NULL);
 	}
 
 	for (i = 0; i < GEANY_MAX_KEYS; i++)
@@ -563,6 +568,9 @@
 		widget = lookup_widget(app->prefs_dialog, "check_use_tabs");
 		app->pref_editor_use_tabs = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
 
+		widget = lookup_widget(app->prefs_dialog, "check_symbol_auto_completion");
+		app->pref_editor_auto_complete_symbols = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
+
 		widget = lookup_widget(app->prefs_dialog, "spin_autocheight");
 		app->autocompletion_max_height = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget));
 
@@ -770,7 +778,7 @@
 }
 
 
-static gboolean on_prefs_tree_view_button_press_event(
+static gboolean on_tree_view_button_press_event(
 						GtkWidget *widget, GdkEventButton *event, gpointer user_data)
 {
 	GtkTreeIter iter;
@@ -928,7 +936,7 @@
 }
 
 
-static void on_pref_toolbar_show_toggled(GtkToggleButton *togglebutton, gpointer user_data)
+static void on_toolbar_show_toggled(GtkToggleButton *togglebutton, gpointer user_data)
 {
 	gboolean sens = gtk_toggle_button_get_active(togglebutton);
 
@@ -937,7 +945,7 @@
 }
 
 
-static void on_pref_show_notebook_tabs_toggled(GtkToggleButton *togglebutton, gpointer user_data)
+static void on_show_notebook_tabs_toggled(GtkToggleButton *togglebutton, gpointer user_data)
 {
 	gboolean sens = gtk_toggle_button_get_active(togglebutton);
 
@@ -946,7 +954,7 @@
 }
 
 
-static void on_pref_use_folding_toggled(GtkToggleButton *togglebutton, gpointer user_data)
+static void on_use_folding_toggled(GtkToggleButton *togglebutton, gpointer user_data)
 {
 	gboolean sens = gtk_toggle_button_get_active(togglebutton);
 
@@ -954,6 +962,14 @@
 }
 
 
+static void on_symbol_auto_completion_toggled(GtkToggleButton *togglebutton, gpointer user_data)
+{
+	gboolean sens = gtk_toggle_button_get_active(togglebutton);
+
+	gtk_widget_set_sensitive(lookup_widget(app->prefs_dialog, "hbox6"), sens);
+}
+
+
 void dialogs_show_prefs_dialog(void)
 {
 	if (app->prefs_dialog == NULL)
@@ -1004,11 +1020,13 @@
 				"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);
+				"toggled", G_CALLBACK(on_toolbar_show_toggled), NULL);
 		g_signal_connect((gpointer) lookup_widget(app->prefs_dialog, "check_show_notebook_tabs"),
-				"toggled", G_CALLBACK(on_pref_show_notebook_tabs_toggled), NULL);
+				"toggled", G_CALLBACK(on_show_notebook_tabs_toggled), NULL);
 		g_signal_connect((gpointer) lookup_widget(app->prefs_dialog, "check_folding"),
-				"toggled", G_CALLBACK(on_pref_use_folding_toggled), NULL);
+				"toggled", G_CALLBACK(on_use_folding_toggled), NULL);
+		g_signal_connect((gpointer) lookup_widget(app->prefs_dialog, "check_symbol_auto_completion"),
+				"toggled", G_CALLBACK(on_symbol_auto_completion_toggled), NULL);
 	}
 
 	prefs_init_dialog();

Modified: trunk/src/sci_cb.c
===================================================================
--- trunk/src/sci_cb.c	2007-01-26 09:52:24 UTC (rev 1231)
+++ trunk/src/sci_cb.c	2007-01-26 10:43:25 UTC (rev 1232)
@@ -765,7 +765,10 @@
 	gchar *wordchars;
 	filetype *ft;
 
-	if (! DOC_IDX_VALID(idx) || doc_list[idx].file_type == NULL) return FALSE;
+	if ((! app->pref_editor_auto_complete_symbols && ! force) ||
+		! DOC_IDX_VALID(idx) || doc_list[idx].file_type == NULL)
+		return FALSE;
+
 	sci = doc_list[idx].sci;
 	ft = doc_list[idx].file_type;
 


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