SF.net SVN: geany: [511] trunk

eht16 at users.sourceforge.net eht16 at xxxxx
Fri Jun 30 14:28:43 UTC 2006


Revision: 511
Author:   eht16
Date:     2006-06-30 07:28:32 -0700 (Fri, 30 Jun 2006)
ViewCVS:  http://svn.sourceforge.net/geany/?rev=511&view=rev

Log Message:
-----------
Improved settings for the long line marker, it can now be easily disabled or set to highlight the background of too long lines.

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/geany.glade
    trunk/src/document.c
    trunk/src/geany.h
    trunk/src/interface.c
    trunk/src/prefs.c
    trunk/src/sciwrappers.c
    trunk/src/sciwrappers.h
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2006-06-30 13:42:53 UTC (rev 510)
+++ trunk/ChangeLog	2006-06-30 14:28:32 UTC (rev 511)
@@ -8,6 +8,10 @@
                     callback.
  * geany.glade, src/interface.c, src/callbacks.c, src/sci_wrappers.c:
    Added "Select All" menu item.
+ * geany.glade, src/interface.c, src/document.c, src/sci_wrappers.c,
+   srcprefs.c, src/geany.h:
+   Improved settings for the long line marker, it can now be easily
+   disabled or set to highlight the background of too long lines.
 
 
 2006-06-29  Nick Treleaven  <nick.treleaven at btinternet.com>

Modified: trunk/geany.glade
===================================================================
--- trunk/geany.glade	2006-06-30 13:42:53 UTC (rev 510)
+++ trunk/geany.glade	2006-06-30 14:28:32 UTC (rev 511)
@@ -3476,7 +3476,7 @@
 		      <property name="xscale">1</property>
 		      <property name="yscale">1</property>
 		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">0</property>
+		      <property name="bottom_padding">5</property>
 		      <property name="left_padding">12</property>
 		      <property name="right_padding">6</property>
 
@@ -3654,9 +3654,9 @@
 			  <child>
 			    <widget class="GtkTable" id="table3">
 			      <property name="visible">True</property>
-			      <property name="n_rows">3</property>
+			      <property name="n_rows">1</property>
 			      <property name="n_columns">2</property>
-			      <property name="homogeneous">False</property>
+			      <property name="homogeneous">True</property>
 			      <property name="row_spacing">3</property>
 			      <property name="column_spacing">25</property>
 
@@ -3689,62 +3689,6 @@
 			      </child>
 
 			      <child>
-				<widget class="GtkLabel" id="label133">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">Long line marker</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="label134">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">Long line marker color</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="GtkFontButton" id="editor_font">
 				  <property name="visible">True</property>
 				  <property name="tooltip" translatable="yes">Sets the font for the editors windows</property>
@@ -3760,67 +3704,289 @@
 				  <property name="right_attach">2</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>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">True</property>
+			    </packing>
+			  </child>
+			</widget>
+		      </child>
+		    </widget>
+		  </child>
 
+		  <child>
+		    <widget class="GtkLabel" id="label102">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes"><b>Miscellaneous</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="frame8">
+		  <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="alignment11">
+		      <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="table7">
+			  <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">25</property>
+
+			  <child>
+			    <widget class="GtkLabel" id="label133">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Long line marker</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="label134">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Long line marker color</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="GtkSpinButton" id="spin_long_line">
+			      <property name="visible">True</property>
+			      <property name="tooltip" translatable="yes">The long line marker is a thin vertical line in the editor. It helps to mark long lines, or as a hint to break the line. Set this value to a value greater than 0 to specify the column where it should appear.</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">True</property>
+			      <property name="adjustment">72 0 1000 1 10 10</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="GtkLabel" id="label156">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Type</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="GtkHBox" id="hbox5">
+			      <property name="visible">True</property>
+			      <property name="homogeneous">False</property>
+			      <property name="spacing">10</property>
+
 			      <child>
-				<widget class="GtkSpinButton" id="spin_long_line">
+				<widget class="GtkRadioButton" id="radio_long_line_line">
 				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">The long line marker is a thin vertical line in the editor. It helps to mark long lines, or as a hint to break the line. To disable set the value to 0, or greater than 0 to specify the column where it should appear.</property>
+				  <property name="tooltip" translatable="yes">Prints a vertical line in the editor window at the given cursor position(see below).</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">True</property>
-				  <property name="adjustment">72 0 1000 1 10 10</property>
+				  <property name="label" translatable="yes">Line</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="y_options"></property>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
 				</packing>
 			      </child>
 
 			      <child>
-				<widget class="GtkColorButton" id="long_line_color">
+				<widget class="GtkRadioButton" id="radio_long_line_background">
 				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">Sets the color of the long line marker</property>
+				  <property name="tooltip" translatable="yes">The background colour of characters after the given cursor position(see below) changed to the colour set below. (This is recommended if you use proportional fonts)</property>
 				  <property name="can_focus">True</property>
-				  <property name="use_alpha">False</property>
-				  <property name="title" translatable="yes">Color Chooser</property>
+				  <property name="label" translatable="yes">Background</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>
+				  <property name="group">radio_long_line_line</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="x_options">fill</property>
-				  <property name="y_options"></property>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
 				</packing>
 			      </child>
+
+			      <child>
+				<widget class="GtkRadioButton" id="radio_long_line_disabled">
+				  <property name="visible">True</property>
+				  <property name="can_focus">True</property>
+				  <property name="label" translatable="yes">Disabled</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>
+				  <property name="group">radio_long_line_line</property>
+				</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">True</property>
-			      <property name="fill">True</property>
+			      <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="x_options">fill</property>
+			      <property name="y_options">fill</property>
 			    </packing>
 			  </child>
+
+			  <child>
+			    <widget class="GtkColorButton" id="long_line_color">
+			      <property name="visible">True</property>
+			      <property name="tooltip" translatable="yes">Sets the color of the long line marker</property>
+			      <property name="can_focus">True</property>
+			      <property name="use_alpha">False</property>
+			      <property name="title" translatable="yes">Color Chooser</property>
+			      <property name="focus_on_click">True</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="x_options">fill</property>
+			      <property name="y_options"></property>
+			    </packing>
+			  </child>
 			</widget>
 		      </child>
 		    </widget>
 		  </child>
 
 		  <child>
-		    <widget class="GtkLabel" id="label102">
+		    <widget class="GtkLabel" id="label155">
 		      <property name="visible">True</property>
-		      <property name="label" translatable="yes"><b>Miscellaneous</b></property>
+		      <property name="label" translatable="yes"><b>Long line marker</b></property>
 		      <property name="use_underline">False</property>
 		      <property name="use_markup">True</property>
 		      <property name="justify">GTK_JUSTIFY_LEFT</property>

Modified: trunk/src/document.c
===================================================================
--- trunk/src/document.c	2006-06-30 13:42:53 UTC (rev 510)
+++ trunk/src/document.c	2006-06-30 14:28:32 UTC (rev 511)
@@ -222,7 +222,7 @@
 	sci_use_popup(sci, FALSE);
 	sci_assign_cmdkey(sci, SCK_HOME, SCI_VCHOMEWRAP);
 	sci_assign_cmdkey(sci, SCK_END,  SCI_LINEENDWRAP);
-	sci_set_mark_long_lines(sci, app->long_line_column, app->long_line_color);
+	sci_set_mark_long_lines(sci, app->long_line_type, app->long_line_column, app->long_line_color);
 	sci_set_symbol_margin(sci, app->show_markers_margin);
 	sci_set_folding_margin_visible(sci, app->pref_editor_folding);
 	sci_set_line_numbers(sci, app->show_linenumber_margin, 0);

Modified: trunk/src/geany.h
===================================================================
--- trunk/src/geany.h	2006-06-30 13:42:53 UTC (rev 510)
+++ trunk/src/geany.h	2006-06-30 14:28:32 UTC (rev 511)
@@ -158,6 +158,7 @@
 	gboolean			 pref_main_show_goto;
 	gint				 cur_idx;	// currently only used by the build system (build_spawn_cmd)
 	gint				 mru_length;
+	gint				 long_line_type;
 	gint				 long_line_column;
 #ifdef HAVE_FIFO
 	gboolean			 ignore_fifo;

Modified: trunk/src/interface.c
===================================================================
--- trunk/src/interface.c	2006-06-30 13:42:53 UTC (rev 510)
+++ trunk/src/interface.c	2006-06-30 14:28:32 UTC (rev 511)
@@ -1908,13 +1908,23 @@
   GtkWidget *label148;
   GtkWidget *table3;
   GtkWidget *label103;
+  GtkWidget *editor_font;
+  GtkWidget *label102;
+  GtkWidget *frame8;
+  GtkWidget *alignment11;
+  GtkWidget *table7;
   GtkWidget *label133;
   GtkWidget *label134;
-  GtkWidget *editor_font;
   GtkObject *spin_long_line_adj;
   GtkWidget *spin_long_line;
+  GtkWidget *label156;
+  GtkWidget *hbox5;
+  GtkWidget *radio_long_line_line;
+  GSList *radio_long_line_line_group = NULL;
+  GtkWidget *radio_long_line_background;
+  GtkWidget *radio_long_line_disabled;
   GtkWidget *long_line_color;
-  GtkWidget *label102;
+  GtkWidget *label155;
   GtkWidget *label95;
   GtkWidget *vbox2;
   GtkWidget *label17;
@@ -2330,7 +2340,7 @@
   alignment6 = gtk_alignment_new (0.5, 0.5, 1, 1);
   gtk_widget_show (alignment6);
   gtk_container_add (GTK_CONTAINER (frame5), alignment6);
-  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment6), 0, 0, 12, 6);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment6), 0, 5, 12, 6);
 
   vbox12 = gtk_vbox_new (FALSE, 0);
   gtk_widget_show (vbox12);
@@ -2382,9 +2392,9 @@
   gtk_widget_show (label148);
   gtk_box_pack_start (GTK_BOX (vbox12), label148, FALSE, FALSE, 0);
 
-  table3 = gtk_table_new (3, 2, FALSE);
+  table3 = gtk_table_new (1, 2, TRUE);
   gtk_widget_show (table3);
-  gtk_box_pack_start (GTK_BOX (vbox12), table3, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (vbox12), table3, FALSE, TRUE, 0);
   gtk_table_set_row_spacings (GTK_TABLE (table3), 3);
   gtk_table_set_col_spacings (GTK_TABLE (table3), 25);
 
@@ -2395,49 +2405,103 @@
                     (GtkAttachOptions) (0), 0, 0);
   gtk_misc_set_alignment (GTK_MISC (label103), 0, 0.5);
 
+  editor_font = gtk_font_button_new ();
+  gtk_widget_show (editor_font);
+  gtk_table_attach (GTK_TABLE (table3), editor_font, 1, 2, 0, 1,
+                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_tooltips_set_tip (tooltips, editor_font, _("Sets the font for the editors windows"), NULL);
+
+  label102 = gtk_label_new (_("<b>Miscellaneous</b>"));
+  gtk_widget_show (label102);
+  gtk_frame_set_label_widget (GTK_FRAME (frame5), label102);
+  gtk_label_set_use_markup (GTK_LABEL (label102), TRUE);
+
+  frame8 = gtk_frame_new (NULL);
+  gtk_widget_show (frame8);
+  gtk_box_pack_start (GTK_BOX (vbox5), frame8, TRUE, TRUE, 0);
+  gtk_frame_set_shadow_type (GTK_FRAME (frame8), GTK_SHADOW_NONE);
+
+  alignment11 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  gtk_widget_show (alignment11);
+  gtk_container_add (GTK_CONTAINER (frame8), alignment11);
+  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment11), 0, 0, 12, 0);
+
+  table7 = gtk_table_new (3, 2, FALSE);
+  gtk_widget_show (table7);
+  gtk_container_add (GTK_CONTAINER (alignment11), table7);
+  gtk_table_set_row_spacings (GTK_TABLE (table7), 3);
+  gtk_table_set_col_spacings (GTK_TABLE (table7), 25);
+
   label133 = gtk_label_new (_("Long line marker"));
   gtk_widget_show (label133);
-  gtk_table_attach (GTK_TABLE (table3), label133, 0, 1, 1, 2,
+  gtk_table_attach (GTK_TABLE (table7), label133, 0, 1, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_misc_set_alignment (GTK_MISC (label133), 0, 0.5);
 
   label134 = gtk_label_new (_("Long line marker color"));
   gtk_widget_show (label134);
-  gtk_table_attach (GTK_TABLE (table3), label134, 0, 1, 2, 3,
+  gtk_table_attach (GTK_TABLE (table7), label134, 0, 1, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_misc_set_alignment (GTK_MISC (label134), 0, 0.5);
 
-  editor_font = gtk_font_button_new ();
-  gtk_widget_show (editor_font);
-  gtk_table_attach (GTK_TABLE (table3), editor_font, 1, 2, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, editor_font, _("Sets the font for the editors windows"), NULL);
-
   spin_long_line_adj = gtk_adjustment_new (72, 0, 1000, 1, 10, 10);
   spin_long_line = gtk_spin_button_new (GTK_ADJUSTMENT (spin_long_line_adj), 1, 0);
   gtk_widget_show (spin_long_line);
-  gtk_table_attach (GTK_TABLE (table3), spin_long_line, 1, 2, 1, 2,
+  gtk_table_attach (GTK_TABLE (table7), spin_long_line, 1, 2, 1, 2,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_tooltips_set_tip (tooltips, spin_long_line, _("The long line marker is a thin vertical line in the editor. It helps to mark long lines, or as a hint to break the line. To disable set the value to 0, or greater than 0 to specify the column where it should appear."), NULL);
   gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spin_long_line), TRUE);
   gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spin_long_line), TRUE);
 
+  label156 = gtk_label_new (_("Type"));
+  gtk_widget_show (label156);
+  gtk_table_attach (GTK_TABLE (table7), label156, 0, 1, 0, 1,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (label156), 0, 0.5);
+
+  hbox5 = gtk_hbox_new (FALSE, 10);
+  gtk_widget_show (hbox5);
+  gtk_table_attach (GTK_TABLE (table7), hbox5, 1, 2, 0, 1,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (GTK_FILL), 0, 0);
+
+  radio_long_line_line = gtk_radio_button_new_with_mnemonic (NULL, _("Line"));
+  gtk_widget_show (radio_long_line_line);
+  gtk_box_pack_start (GTK_BOX (hbox5), radio_long_line_line, FALSE, FALSE, 0);
+  gtk_tooltips_set_tip (tooltips, radio_long_line_line, _("Prints a vertical line in the editor window at the given cursor position(see below)."), NULL);
+  gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_long_line_line), radio_long_line_line_group);
+  radio_long_line_line_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_long_line_line));
+
+  radio_long_line_background = gtk_radio_button_new_with_mnemonic (NULL, _("Background"));
+  gtk_widget_show (radio_long_line_background);
+  gtk_box_pack_start (GTK_BOX (hbox5), radio_long_line_background, FALSE, FALSE, 0);
+  gtk_tooltips_set_tip (tooltips, radio_long_line_background, _("The background colour of characters after the given cursor position(see below) changed to the colour set below. (This is recommended if you use proportional fonts)"), NULL);
+  gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_long_line_background), radio_long_line_line_group);
+  radio_long_line_line_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_long_line_background));
+
+  radio_long_line_disabled = gtk_radio_button_new_with_mnemonic (NULL, _("Disabled"));
+  gtk_widget_show (radio_long_line_disabled);
+  gtk_box_pack_start (GTK_BOX (hbox5), radio_long_line_disabled, FALSE, FALSE, 0);
+  gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_long_line_disabled), radio_long_line_line_group);
+  radio_long_line_line_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_long_line_disabled));
+
   long_line_color = gtk_color_button_new ();
   gtk_widget_show (long_line_color);
-  gtk_table_attach (GTK_TABLE (table3), long_line_color, 1, 2, 2, 3,
+  gtk_table_attach (GTK_TABLE (table7), long_line_color, 1, 2, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_tooltips_set_tip (tooltips, long_line_color, _("Sets the color of the long line marker"), NULL);
   gtk_color_button_set_title (GTK_COLOR_BUTTON (long_line_color), _("Color Chooser"));
 
-  label102 = gtk_label_new (_("<b>Miscellaneous</b>"));
-  gtk_widget_show (label102);
-  gtk_frame_set_label_widget (GTK_FRAME (frame5), label102);
-  gtk_label_set_use_markup (GTK_LABEL (label102), TRUE);
+  label155 = gtk_label_new (_("<b>Long line marker</b>"));
+  gtk_widget_show (label155);
+  gtk_frame_set_label_widget (GTK_FRAME (frame8), label155);
+  gtk_label_set_use_markup (GTK_LABEL (label155), TRUE);
 
   label95 = gtk_label_new (_("Editor"));
   gtk_widget_show (label95);
@@ -2779,12 +2843,21 @@
   GLADE_HOOKUP_OBJECT (prefs_dialog, label148, "label148");
   GLADE_HOOKUP_OBJECT (prefs_dialog, table3, "table3");
   GLADE_HOOKUP_OBJECT (prefs_dialog, label103, "label103");
+  GLADE_HOOKUP_OBJECT (prefs_dialog, editor_font, "editor_font");
+  GLADE_HOOKUP_OBJECT (prefs_dialog, label102, "label102");
+  GLADE_HOOKUP_OBJECT (prefs_dialog, frame8, "frame8");
+  GLADE_HOOKUP_OBJECT (prefs_dialog, alignment11, "alignment11");
+  GLADE_HOOKUP_OBJECT (prefs_dialog, table7, "table7");
   GLADE_HOOKUP_OBJECT (prefs_dialog, label133, "label133");
   GLADE_HOOKUP_OBJECT (prefs_dialog, label134, "label134");
-  GLADE_HOOKUP_OBJECT (prefs_dialog, editor_font, "editor_font");
   GLADE_HOOKUP_OBJECT (prefs_dialog, spin_long_line, "spin_long_line");
+  GLADE_HOOKUP_OBJECT (prefs_dialog, label156, "label156");
+  GLADE_HOOKUP_OBJECT (prefs_dialog, hbox5, "hbox5");
+  GLADE_HOOKUP_OBJECT (prefs_dialog, radio_long_line_line, "radio_long_line_line");
+  GLADE_HOOKUP_OBJECT (prefs_dialog, radio_long_line_background, "radio_long_line_background");
+  GLADE_HOOKUP_OBJECT (prefs_dialog, radio_long_line_disabled, "radio_long_line_disabled");
   GLADE_HOOKUP_OBJECT (prefs_dialog, long_line_color, "long_line_color");
-  GLADE_HOOKUP_OBJECT (prefs_dialog, label102, "label102");
+  GLADE_HOOKUP_OBJECT (prefs_dialog, label155, "label155");
   GLADE_HOOKUP_OBJECT (prefs_dialog, label95, "label95");
   GLADE_HOOKUP_OBJECT (prefs_dialog, vbox2, "vbox2");
   GLADE_HOOKUP_OBJECT (prefs_dialog, label17, "label17");

Modified: trunk/src/prefs.c
===================================================================
--- trunk/src/prefs.c	2006-06-30 13:42:53 UTC (rev 510)
+++ trunk/src/prefs.c	2006-06-30 14:28:32 UTC (rev 511)
@@ -156,6 +156,14 @@
 	gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget), app->long_line_column);
 	old_long_line_column = app->long_line_column;
 
+	switch (app->long_line_type)
+	{
+		case 0: widget = lookup_widget(app->prefs_dialog, "radio_long_line_line"); break;
+		case 1: widget = lookup_widget(app->prefs_dialog, "radio_long_line_background"); break;
+		default: widget = lookup_widget(app->prefs_dialog, "radio_long_line_disabled"); break;
+	}
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), TRUE);
+
 	old_long_line_color = g_strdup(app->long_line_color);
 
 	color = g_new0(GdkColor, 1);
@@ -370,6 +378,18 @@
 		widget = lookup_widget(app->prefs_dialog, "check_indicators");
 		app->pref_editor_use_indicators = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
 
+		widget = lookup_widget(app->prefs_dialog, "radio_long_line_line");
+		if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) app->long_line_type = 0;
+		else
+		{
+			widget = lookup_widget(app->prefs_dialog, "radio_long_line_background");
+			if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) app->long_line_type = 1;
+			else
+			{	// now only the disabled radio remains, so disable it
+				app->long_line_type = 2;
+			}
+		}
+		if (app->long_line_column == 0) app->long_line_type = 2;
 
 		// Tools Settings
 		widget = lookup_widget(app->prefs_dialog, "entry_com_make");
@@ -458,30 +478,25 @@
 		utils_widget_show_hide(lookup_widget(app->window, "separatortoolitem5"), app->pref_main_show_goto);
 		utils_treeviews_showhide();
 
-		// re-colorize all open documents, if tab width or long line settings have changed
-/*		if ((app->pref_editor_tab_width != old_tab_width) ||
-			(! utils_strcmp(app->long_line_color, old_long_line_color)) ||
-			(app->long_line_column != old_long_line_column))
+		// re-colourise all open documents, if tab width or long line settings have changed
+		for (i = 0; i < GEANY_MAX_OPEN_FILES; i++)
 		{
-			gint i;
-*/			for (i = 0; i < GEANY_MAX_OPEN_FILES; i++)
+			if (doc_list[i].is_valid)
 			{
-				if (doc_list[i].is_valid)
-				{
-					sci_set_tab_width(doc_list[i].sci, app->pref_editor_tab_width);
-					sci_set_mark_long_lines(doc_list[i].sci, app->long_line_column, app->long_line_color);
-					sci_set_visible_eols(doc_list[i].sci, app->pref_editor_show_line_endings);
-					sci_set_indentionguides(doc_list[i].sci, app->pref_editor_show_indent_guide);
-					sci_set_visible_white_spaces(doc_list[i].sci, app->pref_editor_show_white_space);
-					sci_set_folding_margin_visible(doc_list[i].sci, app->pref_editor_folding);
-					if (! app->pref_editor_folding) document_unfold_all(i);
-				}
-//			}
-			old_tab_width = app->pref_editor_tab_width;
-			old_long_line_column = app->long_line_column;
-			g_free(old_long_line_color);
-			old_long_line_color = g_strdup(app->long_line_color);
+				sci_set_tab_width(doc_list[i].sci, app->pref_editor_tab_width);
+				sci_set_mark_long_lines(doc_list[i].sci, app->long_line_type,
+										app->long_line_column, app->long_line_color);
+				sci_set_visible_eols(doc_list[i].sci, app->pref_editor_show_line_endings);
+				sci_set_indentionguides(doc_list[i].sci, app->pref_editor_show_indent_guide);
+				sci_set_visible_white_spaces(doc_list[i].sci, app->pref_editor_show_white_space);
+				sci_set_folding_margin_visible(doc_list[i].sci, app->pref_editor_folding);
+				if (! app->pref_editor_folding) document_unfold_all(i);
+			}
 		}
+		old_tab_width = app->pref_editor_tab_width;
+		old_long_line_column = app->long_line_column;
+		g_free(old_long_line_color);
+		old_long_line_color = g_strdup(app->long_line_color);
 
 		// store all settings
 		configuration_save();

Modified: trunk/src/sciwrappers.c
===================================================================
--- trunk/src/sciwrappers.c	2006-06-30 13:42:53 UTC (rev 510)
+++ trunk/src/sciwrappers.c	2006-06-30 14:28:32 UTC (rev 511)
@@ -50,18 +50,29 @@
 	}
 }
 
-void sci_set_mark_long_lines(ScintillaObject * sci, gint column, const gchar *color)
+void sci_set_mark_long_lines(ScintillaObject * sci, gint type, gint column, const gchar *color)
 {
-	if (column > 0)
+	if (column == 0) type = 2;
+	switch (type)
 	{
-		SSM(sci, SCI_SETEDGEMODE, EDGE_LINE, 0);
-		SSM(sci, SCI_SETEDGECOLUMN, column - 1, 0);
-		SSM(sci, SCI_SETEDGECOLOUR, utils_get_int_from_hexcolor(color), 0);
+		case 0:
+		{
+			SSM(sci, SCI_SETEDGEMODE, EDGE_LINE, 0);
+			break;
+		}
+		case 1:
+		{
+			SSM(sci, SCI_SETEDGEMODE, EDGE_BACKGROUND, 0);
+			break;
+		}
+		case 2:
+		{
+			SSM(sci, SCI_SETEDGEMODE, EDGE_NONE, 0);
+			return;
+		}
 	}
-	else
-	{
-		SSM(sci, SCI_SETEDGEMODE, EDGE_NONE, 0);
-	}
+	SSM(sci, SCI_SETEDGECOLUMN, column - 1, 0);
+	SSM(sci, SCI_SETEDGECOLOUR, utils_get_int_from_hexcolor(color), 0);
 }
 
 

Modified: trunk/src/sciwrappers.h
===================================================================
--- trunk/src/sciwrappers.h	2006-06-30 13:42:53 UTC (rev 510)
+++ trunk/src/sciwrappers.h	2006-06-30 14:28:32 UTC (rev 511)
@@ -27,7 +27,7 @@
 
 
 void 				sci_set_line_numbers		(ScintillaObject* sci,  gboolean set, gint extra_width);
-void				sci_set_mark_long_lines		(ScintillaObject* sci,	gint column, const gchar *color);
+void				sci_set_mark_long_lines		(ScintillaObject* sci,	gint type, gint column, const gchar *color);
 void 				sci_set_text				(ScintillaObject* sci,  const gchar* text);
 void 				sci_add_text				(ScintillaObject* sci,  const gchar* text);
 void				sci_add_text_buffer			(ScintillaObject* sci,  const gchar* text, gint	len);


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