SF.net SVN: geany:[3319] trunk
eht16 at users.sourceforge.net
eht16 at xxxxx
Thu Dec 4 20:19:20 UTC 2008
Revision: 3319
http://geany.svn.sourceforge.net/geany/?rev=3319&view=rev
Author: eht16
Date: 2008-12-04 20:19:20 +0000 (Thu, 04 Dec 2008)
Log Message:
-----------
Add auto-closing of braces, brackets and quotes (patch by Guillaume de Rorthais, thanks).
Modified Paths:
--------------
trunk/ChangeLog
trunk/THANKS
trunk/geany.glade
trunk/src/about.c
trunk/src/editor.c
trunk/src/editor.h
trunk/src/interface.c
trunk/src/keyfile.c
trunk/src/plugindata.h
trunk/src/prefs.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2008-12-04 18:12:09 UTC (rev 3318)
+++ trunk/ChangeLog 2008-12-04 20:19:20 UTC (rev 3319)
@@ -8,6 +8,10 @@
* plugins/genapi.py:
Beatify the header comments of the generated API file.
Add command line option to suppress status output.
+ * THANKS, geany.glade, src/about.c, src/editor.c, src/editor.h,
+ src/interface.c, src/keyfile.c, src/plugindata.h, src/prefs.c:
+ Add auto-closing of braces, brackets and quotes
+ (patch by Guillaume de Rorthais, thanks).
2008-12-04 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
Modified: trunk/THANKS
===================================================================
--- trunk/THANKS 2008-12-04 18:12:09 UTC (rev 3318)
+++ trunk/THANKS 2008-12-04 20:19:20 UTC (rev 3319)
@@ -56,6 +56,7 @@
Moritz Barsnick <barsnick(at)users(dot)sourceforge(dot)net> - Split Vertically command
Tyler D'Agosta - Add missing HTML entities
Walery Studennikov <despairr(at)gmail(dot)com> - YAML filetype patch
+Guillaume de Rorthais <ioguix(at)free(dot)fr> - Auto-close brackets/braces/quotes patch
Translators:
------------
Modified: trunk/geany.glade
===================================================================
--- trunk/geany.glade 2008-12-04 18:12:09 UTC (rev 3318)
+++ trunk/geany.glade 2008-12-04 20:19:20 UTC (rev 3319)
@@ -6236,301 +6236,492 @@
</child>
<child>
- <widget class="GtkFrame" id="frame18">
- <property name="border_width">5</property>
+ <widget class="GtkVBox" id="vbox39">
<property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_NONE</property>
+ <property name="homogeneous">True</property>
+ <property name="spacing">1</property>
<child>
- <widget class="GtkAlignment" id="alignment21">
+ <widget class="GtkFrame" id="frame18">
+ <property name="border_width">5</property>
<property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xscale">1</property>
- <property name="yscale">1</property>
- <property name="top_padding">0</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">12</property>
- <property name="right_padding">0</property>
+ <property name="label_xalign">0</property>
+ <property name="label_yalign">0.5</property>
+ <property name="shadow_type">GTK_SHADOW_NONE</property>
<child>
- <widget class="GtkVBox" id="vbox19">
+ <widget class="GtkAlignment" id="alignment21">
<property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xscale">1</property>
+ <property name="yscale">1</property>
+ <property name="top_padding">0</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">12</property>
+ <property name="right_padding">0</property>
<child>
- <widget class="GtkCheckButton" id="check_complete_snippets">
+ <widget class="GtkVBox" id="vbox19">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Type a defined short character sequence and complete it to a more complex string using a single keypress.</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Snippet completion</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</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>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
- <child>
- <widget class="GtkCheckButton" id="check_xmltag">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Automatic completion and closing of XML tags (includes HTML tags)</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">XML tag auto completion</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</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_complete_snippets">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Type a defined short character sequence and complete it to a more complex string using a single keypress.</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Snippet completion</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</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_auto_multiline">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Continue automatically multi-line comments in languages like C, C++ and Java when a new line is entered inside such a comment.</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Automatic continuation of multi-line comments</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</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_xmltag">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Automatic completion and closing of XML tags (includes HTML tags)</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">XML tag auto completion</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</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_symbol_auto_completion">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Automatic completion of known symbols in open files (function names, global variables, ...)</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Automatic symbol completion</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
+ <child>
+ <widget class="GtkCheckButton" id="check_auto_multiline">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Continue automatically multi-line comments in languages like C, C++ and Java when a new line is entered inside such a comment.</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Automatic continuation of multi-line comments</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</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_symbol_auto_completion">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Automatic completion of known symbols in open files (function names, global variables, ...)</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Automatic symbol completion</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</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="GtkTable" id="table14">
+ <property name="visible">True</property>
+ <property name="n_rows">3</property>
+ <property name="n_columns">2</property>
+ <property name="homogeneous">False</property>
+ <property name="row_spacing">3</property>
+ <property name="column_spacing">12</property>
+
+ <child>
+ <widget class="GtkLabel" id="label223">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Max. symbol name suggestions:</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</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="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label173">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Completion list height:</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</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="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label205">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Characters to type for completion:</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</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="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkSpinButton" id="spin_symbol_complete_chars">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">The amount of characters which are necessary to show the symbol auto completion list.</property>
+ <property name="can_focus">True</property>
+ <property name="climb_rate">1</property>
+ <property name="digits">0</property>
+ <property name="numeric">True</property>
+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+ <property name="snap_to_ticks">False</property>
+ <property name="wrap">False</property>
+ <property name="adjustment">9 1 99 1 10 0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkSpinButton" id="spin_symbollistheight">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Display height in rows for the auto completion list.</property>
+ <property name="can_focus">True</property>
+ <property name="climb_rate">1</property>
+ <property name="digits">0</property>
+ <property name="numeric">True</property>
+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+ <property name="snap_to_ticks">False</property>
+ <property name="wrap">False</property>
+ <property name="adjustment">9 1 99 1 10 0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkSpinButton" id="spin_autocompletion_max_entries">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Maximum number of entries to display in the auto completion list.</property>
+ <property name="can_focus">True</property>
+ <property name="climb_rate">1</property>
+ <property name="digits">0</property>
+ <property name="numeric">True</property>
+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+ <property name="snap_to_ticks">False</property>
+ <property name="wrap">False</property>
+ <property name="adjustment">9 1 10000 1 10 0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
</widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
</child>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label177">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Completions</b></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</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="type">label_item</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkFrame" id="frame38">
+ <property name="border_width">5</property>
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="label_yalign">0.5</property>
+ <property name="shadow_type">GTK_SHADOW_NONE</property>
+
+ <child>
+ <widget class="GtkAlignment" id="alignment42">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xscale">1</property>
+ <property name="yscale">1</property>
+ <property name="top_padding">0</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">12</property>
+ <property name="right_padding">0</property>
+
<child>
- <widget class="GtkTable" id="table14">
+ <widget class="GtkTable" id="table16">
<property name="visible">True</property>
- <property name="n_rows">3</property>
+ <property name="n_rows">5</property>
<property name="n_columns">2</property>
<property name="homogeneous">False</property>
- <property name="row_spacing">3</property>
- <property name="column_spacing">12</property>
+ <property name="row_spacing">0</property>
+ <property name="column_spacing">0</property>
<child>
- <widget class="GtkLabel" id="label223">
+ <widget class="GtkCheckButton" id="check_autoclose_parenthesis">
<property name="visible">True</property>
- <property name="label" translatable="yes">Max. symbol name suggestions:</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</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>
+ <property name="tooltip" translatable="yes">Auto-close parenthesis when typing an opening one</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Parenthesis ( )</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
</widget>
<packing>
<property name="left_attach">0</property>
<property name="right_attach">1</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label173">
+ <widget class="GtkCheckButton" id="check_autoclose_squote">
<property name="visible">True</property>
- <property name="label" translatable="yes">Completion list height:</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</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>
+ <property name="tooltip" translatable="yes">Auto-close simple quote when typing an opening one</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Simple quotes ' '</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
</widget>
<packing>
<property name="left_attach">0</property>
<property name="right_attach">1</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label205">
+ <widget class="GtkCheckButton" id="check_autoclose_cbracket">
<property name="visible">True</property>
- <property name="label" translatable="yes">Characters to type for completion:</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</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>
+ <property name="tooltip" translatable="yes">Auto-close curly bracket when typing an opening one</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Curly brackets { }</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
</widget>
<packing>
<property name="left_attach">0</property>
<property name="right_attach">1</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkSpinButton" id="spin_symbol_complete_chars">
+ <widget class="GtkCheckButton" id="check_autoclose_sbracket">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">The amount of characters which are necessary to show the symbol auto completion list.</property>
+ <property name="tooltip" translatable="yes">Auto-close squre-bracket when typing an opening one</property>
<property name="can_focus">True</property>
- <property name="climb_rate">1</property>
- <property name="digits">0</property>
- <property name="numeric">True</property>
- <property name="update_policy">GTK_UPDATE_ALWAYS</property>
- <property name="snap_to_ticks">False</property>
- <property name="wrap">False</property>
- <property name="adjustment">9 1 99 1 10 0</property>
+ <property name="label" translatable="yes">Square brackets [ ]</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
</widget>
<packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkSpinButton" id="spin_symbollistheight">
+ <widget class="GtkCheckButton" id="check_autoclose_dquote">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Display height in rows for the auto completion list.</property>
+ <property name="tooltip" translatable="yes">Auto-close double quote when typing an opening one</property>
<property name="can_focus">True</property>
- <property name="climb_rate">1</property>
- <property name="digits">0</property>
- <property name="numeric">True</property>
- <property name="update_policy">GTK_UPDATE_ALWAYS</property>
- <property name="snap_to_ticks">False</property>
- <property name="wrap">False</property>
- <property name="adjustment">9 1 99 1 10 0</property>
+ <property name="label" translatable="yes">Double quotes " "</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
</widget>
<packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
+ <property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
-
- <child>
- <widget class="GtkSpinButton" id="spin_autocompletion_max_entries">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Maximum number of entries to display in the auto completion list.</property>
- <property name="can_focus">True</property>
- <property name="climb_rate">1</property>
- <property name="digits">0</property>
- <property name="numeric">True</property>
- <property name="update_policy">GTK_UPDATE_ALWAYS</property>
- <property name="snap_to_ticks">False</property>
- <property name="wrap">False</property>
- <property name="adjustment">9 1 10000 1 10 0</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="y_options"></property>
- </packing>
- </child>
</widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
</child>
</widget>
</child>
- </widget>
- </child>
- <child>
- <widget class="GtkLabel" id="label177">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>Completions</b></property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</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>
+ <child>
+ <widget class="GtkLabel" id="label225">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Auto-close quotes and brackets</b></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</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="type">label_item</property>
+ </packing>
+ </child>
</widget>
<packing>
- <property name="type">label_item</property>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
</packing>
</child>
</widget>
@@ -6541,7 +6732,7 @@
</child>
<child>
- <widget class="GtkLabel" id="label212">
+ <widget class="GtkLabel" id="label226">
<property name="visible">True</property>
<property name="label" translatable="yes">Completions</property>
<property name="use_underline">False</property>
Modified: trunk/src/about.c
===================================================================
--- trunk/src/about.c 2008-12-04 18:12:09 UTC (rev 3318)
+++ trunk/src/about.c 2008-12-04 20:19:20 UTC (rev 3319)
@@ -80,7 +80,7 @@
static const gchar *contributors =
"Alexander Rodin, Andrew Rowland, Anh Phạm, blackdog, Bo Lorentsen, Bob Doan, Bronisław Białek, Catalin Marinas, "
"Christoph Berg, Colomban Wendling, Conrad Steenberg, Daniel Richard G., Dave Moore, Dirk Weber, Felipe Pena, François Cami, "
-"Giuseppe Torelli, Guillaume Hoffmann, Herbert Voss, Jason Oster, Jean-François Wauthy, Jeff Pohlmeyer, "
+"Giuseppe Torelli, Guillaume de Rorthais, Guillaume Hoffmann, Herbert Voss, Jason Oster, Jean-François Wauthy, Jeff Pohlmeyer, "
"John Gabriele, Josef Whiter, Kevin Ellwood, Kristoffer A. Tjernås, Marko Peric, Matti Mårds, Moritz Barsnick, "
"Peter Strand, Pierre Joye, Rob van der Linde, Robert McGinley, Roland Baudin, S Jagannathan, Saleem Abdulrasool, "
"Sebastian Kraft, Shiv, Slava Semushin, Stefan Oltmanns, Tamim, Tomás Vírseda, Walery Studennikov, Yura Siamashka";
Modified: trunk/src/editor.c
===================================================================
--- trunk/src/editor.c 2008-12-04 18:12:09 UTC (rev 3318)
+++ trunk/src/editor.c 2008-12-04 20:19:20 UTC (rev 3319)
@@ -89,7 +89,7 @@
static void insert_indent_after_line(GeanyEditor *editor, gint line);
static void auto_multiline(GeanyEditor *editor, gint pos);
static gboolean is_code_style(gint lexer, gint style);
-static void auto_close_bracket(ScintillaObject *sci, gint pos, gchar c);
+static void auto_close_chars(ScintillaObject *sci, gint pos, gchar c);
static void auto_table(GeanyEditor *editor, gint pos);
static void close_block(GeanyEditor *editor, gint pos);
@@ -436,7 +436,9 @@
break;
}
case '(':
- { /* show calltips */
+ {
+ auto_close_chars(sci, pos, nt->ch);
+ /* show calltips */
editor_show_calltip(editor, --pos);
break;
}
@@ -453,14 +455,12 @@
calltip.set = FALSE;
break;
}
+ case '{':
case '[':
- case '{':
- { /* Tex auto-closing */
- if (sci_get_lexer(sci) == SCLEX_LATEX)
- {
- auto_close_bracket(sci, pos, nt->ch); /* Tex auto-closing */
- editor_show_calltip(editor, --pos);
- }
+ case '"':
+ case '\'':
+ {
+ auto_close_chars(sci, pos, nt->ch);
break;
}
case '}':
@@ -1007,20 +1007,36 @@
}
-static void auto_close_bracket(ScintillaObject *sci, gint pos, gchar c)
+static void auto_close_chars(ScintillaObject *sci, gint pos, gchar c)
{
- if (! editor_prefs.complete_snippets || SSM(sci, SCI_GETLEXER, 0, 0) != SCLEX_LATEX)
- return;
+ const gchar *closing_char;
- if (c == '[')
+ if ((editor_prefs.autoclose_chars & GEANY_AC_PARENTHESIS) && c == '(')
{
- sci_add_text(sci, "]");
+ closing_char = ")";
}
- else if (c == '{')
+ else if ((editor_prefs.autoclose_chars & GEANY_AC_CBRACKET) && c == '{')
{
- sci_add_text(sci, "}");
+ closing_char = "}";
}
- sci_set_current_position(sci, pos, TRUE);
+ else if ((editor_prefs.autoclose_chars & GEANY_AC_SBRACKET) && c == '[')
+ {
+ closing_char = "]";
+ }
+ else if ((editor_prefs.autoclose_chars & GEANY_AC_SQUOTE) && c == '\'')
+ {
+ closing_char = "'";
+ }
+ else if ((editor_prefs.autoclose_chars & GEANY_AC_DQUOTE) && c == '"')
+ {
+ closing_char = "\"";
+ }
+
+ if (closing_char != NULL)
+ {
+ sci_add_text(sci, closing_char);
+ sci_set_current_position(sci, pos, TRUE);
+ }
}
Modified: trunk/src/editor.h
===================================================================
--- trunk/src/editor.h 2008-12-04 18:12:09 UTC (rev 3318)
+++ trunk/src/editor.h 2008-12-04 20:19:20 UTC (rev 3319)
@@ -50,6 +50,16 @@
}
GeanyAutoIndent;
+
+/* Auto-close brackets/quotes */
+enum {
+ GEANY_AC_PARENTHESIS = 1,
+ GEANY_AC_CBRACKET = 2,
+ GEANY_AC_SBRACKET = 4,
+ GEANY_AC_SQUOTE = 8,
+ GEANY_AC_DQUOTE = 16
+};
+
/** Geany indicator types, can be used with Editor indicator functions to highlight
* text in the document. */
typedef enum
@@ -114,6 +124,7 @@
gboolean auto_continue_multiline;
gchar *comment_toggle_mark;
guint autocompletion_max_entries;
+ guint autoclose_chars;
} GeanyEditorPrefs;
extern GeanyEditorPrefs editor_prefs;
Modified: trunk/src/interface.c
===================================================================
--- trunk/src/interface.c 2008-12-04 18:12:09 UTC (rev 3318)
+++ trunk/src/interface.c 2008-12-04 20:19:20 UTC (rev 3319)
@@ -2773,6 +2773,7 @@
GtkWidget *entry_toggle_mark;
GtkWidget *label172;
GtkWidget *label211;
+ GtkWidget *vbox39;
GtkWidget *frame18;
GtkWidget *alignment21;
GtkWidget *vbox19;
@@ -2791,7 +2792,16 @@
GtkObject *spin_autocompletion_max_entries_adj;
GtkWidget *spin_autocompletion_max_entries;
GtkWidget *label177;
- GtkWidget *label212;
+ GtkWidget *frame38;
+ GtkWidget *alignment42;
+ GtkWidget *table16;
+ GtkWidget *check_autoclose_parenthesis;
+ GtkWidget *check_autoclose_squote;
+ GtkWidget *check_autoclose_cbracket;
+ GtkWidget *check_autoclose_sbracket;
+ GtkWidget *check_autoclose_dquote;
+ GtkWidget *label225;
+ GtkWidget *label226;
GtkWidget *vbox24;
GtkWidget *frame5;
GtkWidget *alignment6;
@@ -3854,9 +3864,13 @@
gtk_widget_show (label211);
gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook4), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook4), 0), label211);
+ vbox39 = gtk_vbox_new (TRUE, 1);
+ gtk_widget_show (vbox39);
+ gtk_container_add (GTK_CONTAINER (notebook4), vbox39);
+
frame18 = gtk_frame_new (NULL);
gtk_widget_show (frame18);
- gtk_container_add (GTK_CONTAINER (notebook4), frame18);
+ gtk_box_pack_start (GTK_BOX (vbox39), frame18, TRUE, TRUE, 0);
gtk_container_set_border_width (GTK_CONTAINER (frame18), 5);
gtk_frame_set_shadow_type (GTK_FRAME (frame18), GTK_SHADOW_NONE);
@@ -3948,10 +3962,65 @@
gtk_frame_set_label_widget (GTK_FRAME (frame18), label177);
gtk_label_set_use_markup (GTK_LABEL (label177), TRUE);
- label212 = gtk_label_new (_("Completions"));
- gtk_widget_show (label212);
- gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook4), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook4), 1), label212);
+ frame38 = gtk_frame_new (NULL);
+ gtk_widget_show (frame38);
+ gtk_box_pack_start (GTK_BOX (vbox39), frame38, TRUE, TRUE, 0);
+ gtk_container_set_border_width (GTK_CONTAINER (frame38), 5);
+ gtk_frame_set_shadow_type (GTK_FRAME (frame38), GTK_SHADOW_NONE);
+ alignment42 = gtk_alignment_new (0.5, 0.5, 1, 1);
+ gtk_widget_show (alignment42);
+ gtk_container_add (GTK_CONTAINER (frame38), alignment42);
+ gtk_alignment_set_padding (GTK_ALIGNMENT (alignment42), 0, 0, 12, 0);
+
+ table16 = gtk_table_new (5, 2, FALSE);
+ gtk_widget_show (table16);
+ gtk_container_add (GTK_CONTAINER (alignment42), table16);
+
+ check_autoclose_parenthesis = gtk_check_button_new_with_mnemonic (_("Parenthesis ( )"));
+ gtk_widget_show (check_autoclose_parenthesis);
+ gtk_table_attach (GTK_TABLE (table16), check_autoclose_parenthesis, 0, 1, 0, 1,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_tooltips_set_tip (tooltips, check_autoclose_parenthesis, _("Auto-close parenthesis when typing an opening one"), NULL);
+
+ check_autoclose_squote = gtk_check_button_new_with_mnemonic (_("Simple quotes ' '"));
+ gtk_widget_show (check_autoclose_squote);
+ gtk_table_attach (GTK_TABLE (table16), check_autoclose_squote, 0, 1, 3, 4,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_tooltips_set_tip (tooltips, check_autoclose_squote, _("Auto-close simple quote when typing an opening one"), NULL);
+
+ check_autoclose_cbracket = gtk_check_button_new_with_mnemonic (_("Curly brackets { }"));
+ gtk_widget_show (check_autoclose_cbracket);
+ gtk_table_attach (GTK_TABLE (table16), check_autoclose_cbracket, 0, 1, 1, 2,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_tooltips_set_tip (tooltips, check_autoclose_cbracket, _("Auto-close curly bracket when typing an opening one"), NULL);
+
+ check_autoclose_sbracket = gtk_check_button_new_with_mnemonic (_("Square brackets [ ]"));
+ gtk_widget_show (check_autoclose_sbracket);
+ gtk_table_attach (GTK_TABLE (table16), check_autoclose_sbracket, 0, 1, 2, 3,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_tooltips_set_tip (tooltips, check_autoclose_sbracket, _("Auto-close squre-bracket when typing an opening one"), NULL);
+
+ check_autoclose_dquote = gtk_check_button_new_with_mnemonic (_("Double quotes \" \""));
+ gtk_widget_show (check_autoclose_dquote);
+ gtk_table_attach (GTK_TABLE (table16), check_autoclose_dquote, 0, 1, 4, 5,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_tooltips_set_tip (tooltips, check_autoclose_dquote, _("Auto-close double quote when typing an opening one"), NULL);
+
+ label225 = gtk_label_new (_("<b>Auto-close quotes and brackets</b>"));
+ gtk_widget_show (label225);
+ gtk_frame_set_label_widget (GTK_FRAME (frame38), label225);
+ gtk_label_set_use_markup (GTK_LABEL (label225), TRUE);
+
+ label226 = gtk_label_new (_("Completions"));
+ gtk_widget_show (label226);
+ gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook4), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook4), 1), label226);
+
vbox24 = gtk_vbox_new (FALSE, 10);
gtk_widget_show (vbox24);
gtk_container_add (GTK_CONTAINER (notebook4), vbox24);
@@ -5012,6 +5081,7 @@
GLADE_HOOKUP_OBJECT (prefs_dialog, entry_toggle_mark, "entry_toggle_mark");
GLADE_HOOKUP_OBJECT (prefs_dialog, label172, "label172");
GLADE_HOOKUP_OBJECT (prefs_dialog, label211, "label211");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, vbox39, "vbox39");
GLADE_HOOKUP_OBJECT (prefs_dialog, frame18, "frame18");
GLADE_HOOKUP_OBJECT (prefs_dialog, alignment21, "alignment21");
GLADE_HOOKUP_OBJECT (prefs_dialog, vbox19, "vbox19");
@@ -5027,7 +5097,16 @@
GLADE_HOOKUP_OBJECT (prefs_dialog, spin_symbollistheight, "spin_symbollistheight");
GLADE_HOOKUP_OBJECT (prefs_dialog, spin_autocompletion_max_entries, "spin_autocompletion_max_entries");
GLADE_HOOKUP_OBJECT (prefs_dialog, label177, "label177");
- GLADE_HOOKUP_OBJECT (prefs_dialog, label212, "label212");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, frame38, "frame38");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, alignment42, "alignment42");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, table16, "table16");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, check_autoclose_parenthesis, "check_autoclose_parenthesis");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, check_autoclose_squote, "check_autoclose_squote");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, check_autoclose_cbracket, "check_autoclose_cbracket");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, check_autoclose_sbracket, "check_autoclose_sbracket");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, check_autoclose_dquote, "check_autoclose_dquote");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, label225, "label225");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, label226, "label226");
GLADE_HOOKUP_OBJECT (prefs_dialog, vbox24, "vbox24");
GLADE_HOOKUP_OBJECT (prefs_dialog, frame5, "frame5");
GLADE_HOOKUP_OBJECT (prefs_dialog, alignment6, "alignment6");
Modified: trunk/src/keyfile.c
===================================================================
--- trunk/src/keyfile.c 2008-12-04 18:12:09 UTC (rev 3318)
+++ trunk/src/keyfile.c 2008-12-04 20:19:20 UTC (rev 3319)
@@ -333,6 +333,7 @@
g_key_file_set_boolean(config, PACKAGE, "auto_continue_multiline", editor_prefs.auto_continue_multiline);
g_key_file_set_string(config, PACKAGE, "comment_toggle_mark", editor_prefs.comment_toggle_mark);
g_key_file_set_boolean(config, PACKAGE, "scroll_stop_at_last_line", editor_prefs.scroll_stop_at_last_line);
+ g_key_file_set_integer(config, PACKAGE, "autoclose_chars", editor_prefs.autoclose_chars);
/* files */
g_key_file_set_string(config, PACKAGE, "pref_editor_default_new_encoding", encodings[file_prefs.default_new_encoding].charset);
@@ -618,6 +619,7 @@
editor_prefs.line_break_column = utils_get_setting_integer(config, PACKAGE, "line_break_column", 72);
editor_prefs.auto_continue_multiline = utils_get_setting_boolean(config, PACKAGE, "auto_continue_multiline", TRUE);
editor_prefs.comment_toggle_mark = utils_get_setting_string(config, PACKAGE, "comment_toggle_mark", GEANY_TOGGLE_MARK);
+ editor_prefs.autoclose_chars = utils_get_setting_integer(config, PACKAGE, "autoclose_chars", 0);
/* Files
* use current locale encoding as default for new files (should be UTF-8 in most cases) */
Modified: trunk/src/plugindata.h
===================================================================
--- trunk/src/plugindata.h 2008-12-04 18:12:09 UTC (rev 3318)
+++ trunk/src/plugindata.h 2008-12-04 20:19:20 UTC (rev 3319)
@@ -45,7 +45,7 @@
enum {
/** The Application Programming Interface (API) version, incremented
* whenever any plugin data types are modified or appended to. */
- GEANY_API_VERSION = 115,
+ GEANY_API_VERSION = 116,
/** The Application Binary Interface (ABI) version, incremented whenever
* existing fields in the plugin data types have to be changed or reordered. */
Modified: trunk/src/prefs.c
===================================================================
--- trunk/src/prefs.c 2008-12-04 18:12:09 UTC (rev 3318)
+++ trunk/src/prefs.c 2008-12-04 20:19:20 UTC (rev 3319)
@@ -606,7 +606,26 @@
widget = lookup_widget(ui_widgets.prefs_dialog, "spin_line_break");
gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget), editor_prefs.line_break_column);
+ widget = lookup_widget(ui_widgets.prefs_dialog, "check_autoclose_parenthesis");
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget),
+ (editor_prefs.autoclose_chars & GEANY_AC_PARENTHESIS));
+ widget = lookup_widget(ui_widgets.prefs_dialog, "check_autoclose_cbracket");
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget),
+ (editor_prefs.autoclose_chars & GEANY_AC_CBRACKET));
+
+ widget = lookup_widget(ui_widgets.prefs_dialog, "check_autoclose_sbracket");
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget),
+ (editor_prefs.autoclose_chars & GEANY_AC_SBRACKET));
+
+ widget = lookup_widget(ui_widgets.prefs_dialog, "check_autoclose_squote");
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget),
+ (editor_prefs.autoclose_chars & GEANY_AC_SQUOTE));
+
+ widget = lookup_widget(ui_widgets.prefs_dialog, "check_autoclose_dquote");
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget),
+ (editor_prefs.autoclose_chars & GEANY_AC_DQUOTE));
+
/* Tools Settings */
if (tool_prefs.make_cmd)
gtk_entry_set_text(GTK_ENTRY(lookup_widget(ui_widgets.prefs_dialog, "entry_com_make")), tool_prefs.make_cmd);
@@ -756,6 +775,7 @@
{
GtkWidget *widget;
guint i;
+ guint autoclose_brackets[5];
prefs_action(PREF_UPDATE);
@@ -1003,7 +1023,28 @@
widget = lookup_widget(ui_widgets.prefs_dialog, "spin_line_break");
editor_prefs.line_break_column = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget));
+ widget = lookup_widget(ui_widgets.prefs_dialog, "check_autoclose_parenthesis");
+ autoclose_brackets[0] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
+ widget = lookup_widget(ui_widgets.prefs_dialog, "check_autoclose_cbracket");
+ autoclose_brackets[1] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
+
+ widget = lookup_widget(ui_widgets.prefs_dialog, "check_autoclose_sbracket");
+ autoclose_brackets[2] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
+
+ widget = lookup_widget(ui_widgets.prefs_dialog, "check_autoclose_squote");
+ autoclose_brackets[3] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
+
+ widget = lookup_widget(ui_widgets.prefs_dialog, "check_autoclose_dquote");
+ autoclose_brackets[4] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
+
+ editor_prefs.autoclose_chars =
+ (autoclose_brackets[0] ? GEANY_AC_PARENTHESIS : 0)
+ | (autoclose_brackets[1] ? GEANY_AC_CBRACKET : 0)
+ | (autoclose_brackets[2] ? GEANY_AC_SBRACKET : 0)
+ | (autoclose_brackets[3] ? GEANY_AC_SQUOTE : 0)
+ | (autoclose_brackets[4] ? GEANY_AC_DQUOTE : 0);
+
/* Tools Settings */
widget = lookup_widget(ui_widgets.prefs_dialog, "entry_com_make");
g_free(tool_prefs.make_cmd);
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