SF.net SVN: geany: [974] trunk

eht16 at users.sourceforge.net eht16 at xxxxx
Tue Nov 7 18:53:48 UTC 2006


Revision: 974
          http://svn.sourceforge.net/geany/?rev=974&view=rev
Author:   eht16
Date:     2006-11-07 10:53:39 -0800 (Tue, 07 Nov 2006)

Log Message:
-----------
Added an option to draw an horizontal line above or below folded text.

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/data/filetypes.common
    trunk/src/highlighting.c

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2006-11-07 13:33:50 UTC (rev 973)
+++ trunk/ChangeLog	2006-11-07 18:53:39 UTC (rev 974)
@@ -2,6 +2,9 @@
 
  * src/treeviews.c: Fixed unintentional appearance of sidebar after it
                     was hidden and the preferences dialog was closed.
+ * data/filetypes.common, src/highlighting.c:
+   Added an option to draw an horizontal line above or below folded
+   text.
 
 
 2006-11-07  Nick Treleaven  <nick.treleaven at btinternet.com>

Modified: trunk/data/filetypes.common
===================================================================
--- trunk/data/filetypes.common	2006-11-07 13:33:50 UTC (rev 973)
+++ trunk/data/filetypes.common	2006-11-07 18:53:39 UTC (rev 974)
@@ -3,22 +3,39 @@
 # 3rd selection argument is true to override default foreground
 # 4th selection argument is true to override default background
 selection=0xc0c0c0;0x7f0000;false;false
+
+# style for a matching brace
 brace_good=0x0000ff;0xFFFFFF;true;false
+# style for a non-matching brace (a brace without a counterpart)
 brace_bad=0xff0000;0xFFFFFF;true;false
+
 # the following settings define the colours of the margins on the left side
 margin_linenumber=0x000000;0xd0d0d0;false;false
 margin_folding=0x000000;0xdfdfdf;false;false
+
 # background colour of the current line, only the second and third argument is interpreted
 # use the third argument to enable or disable the highlighting of the current line (has to be true/false)
 current_line=0x0;0xf0f0f0;true;false
+
 # colour of the caret(the blinking cursor), only first argument is interpreted
 caret=0x000000;0x0;false;false
+
+# set foreground and background colour of indentation guides
 indent_guide=0xc0c0c0;0xffffff;false;false
+
 # the third argument defines whether to use these values or use the default values defined by the filetypes
 white_space=0xc0c0c0;0xffffff;true;false
+
 # style of folding icons, only first and second arguments are used, valid values are:
 # first argument:  1 for boxes, 2 for circles
 # second argument: 1 for straight lines, 2 for curved lines
 folding_style=1;1;false;false
+
+# should an horizontal line be drawn at the line where text is folded (only first argument is interpreted)
+# 0 to disable
+# 1 to draw the line above folded text
+# 2 to draw the line below folded text
+folding_horiz_line=0;0;false;false
+
 # only first argument is interpreted, sets whether all defined colours should be inverted
 invert_all=0;0;false;false

Modified: trunk/src/highlighting.c
===================================================================
--- trunk/src/highlighting.c	2006-11-07 13:33:50 UTC (rev 973)
+++ trunk/src/highlighting.c	2006-11-07 18:53:39 UTC (rev 974)
@@ -69,9 +69,10 @@
 
 typedef struct
 {
-	// can take values 1 or 2
+	// can take values 1 or 2 (or 3)
 	guchar marker:2;
 	guchar lines:2;
+	guchar draw_line:3;
 } FoldingStyle;
 
 static struct
@@ -380,6 +381,9 @@
 		get_keyfile_int(config, config_home, "styling", "invert_all",
 			0, 0, &tmp_style);
 		common_style_set.invert_all = tmp_style.foreground;
+		get_keyfile_int(config, config_home, "styling", "folding_horiz_line",
+			0, 0, &tmp_style);
+		common_style_set.folding_style.draw_line = tmp_style.foreground;
 	}
 
 	get_keyfile_wordchars(config, config_home, GEANY_WORDCHARS, &common_style_set.wordchars);
@@ -434,25 +438,44 @@
 	// 2 -> folding marker, other folding settings
 	SSM(sci, SCI_SETMARGINTYPEN, 2, SC_MARGIN_SYMBOL);
 	SSM(sci, SCI_SETMARGINMASKN, 2, SC_MASK_FOLDERS);
-	SSM(sci, SCI_SETFOLDFLAGS, 0, 0);
 
+	// drawing a horizontal line when text if folded
+	switch (common_style_set.folding_style.draw_line)
+	{
+		case 1:
+		{
+			SSM(sci, SCI_SETFOLDFLAGS, 4, 0);
+			break;
+		}
+		case 2:
+		{
+			SSM(sci, SCI_SETFOLDFLAGS, 16, 0);
+			break;
+		}
+		default:
+		{
+			SSM(sci, SCI_SETFOLDFLAGS, 0, 0);
+			break;
+		}
+	}
+
 	// choose the folding style - boxes or circles, I prefer boxes, so it is default ;-)
 	switch (common_style_set.folding_style.marker)
 	{
 		case 2:
 		{
-			SSM (sci,SCI_MARKERDEFINE,  SC_MARKNUM_FOLDEROPEN, SC_MARK_CIRCLEMINUS);
-			SSM (sci,SCI_MARKERDEFINE,  SC_MARKNUM_FOLDER, SC_MARK_CIRCLEPLUS);
-			SSM (sci,SCI_MARKERDEFINE,  SC_MARKNUM_FOLDEREND, SC_MARK_CIRCLEPLUSCONNECTED);
-			SSM (sci,SCI_MARKERDEFINE,  SC_MARKNUM_FOLDEROPENMID, SC_MARK_CIRCLEMINUSCONNECTED);
+			SSM(sci,SCI_MARKERDEFINE,  SC_MARKNUM_FOLDEROPEN, SC_MARK_CIRCLEMINUS);
+			SSM(sci,SCI_MARKERDEFINE,  SC_MARKNUM_FOLDER, SC_MARK_CIRCLEPLUS);
+			SSM(sci,SCI_MARKERDEFINE,  SC_MARKNUM_FOLDEREND, SC_MARK_CIRCLEPLUSCONNECTED);
+			SSM(sci,SCI_MARKERDEFINE,  SC_MARKNUM_FOLDEROPENMID, SC_MARK_CIRCLEMINUSCONNECTED);
 			break;
 		}
 		default:
 		{
-			SSM (sci,SCI_MARKERDEFINE,  SC_MARKNUM_FOLDEROPEN, SC_MARK_BOXMINUS);
-			SSM (sci,SCI_MARKERDEFINE,  SC_MARKNUM_FOLDER, SC_MARK_BOXPLUS);
-			SSM (sci,SCI_MARKERDEFINE,  SC_MARKNUM_FOLDEREND, SC_MARK_BOXPLUSCONNECTED);
-			SSM (sci,SCI_MARKERDEFINE,  SC_MARKNUM_FOLDEROPENMID, SC_MARK_BOXMINUSCONNECTED);
+			SSM(sci,SCI_MARKERDEFINE,  SC_MARKNUM_FOLDEROPEN, SC_MARK_BOXMINUS);
+			SSM(sci,SCI_MARKERDEFINE,  SC_MARKNUM_FOLDER, SC_MARK_BOXPLUS);
+			SSM(sci,SCI_MARKERDEFINE,  SC_MARKNUM_FOLDEREND, SC_MARK_BOXPLUSCONNECTED);
+			SSM(sci,SCI_MARKERDEFINE,  SC_MARKNUM_FOLDEROPENMID, SC_MARK_BOXMINUSCONNECTED);
 			break;
 		}
 	}
@@ -462,14 +485,14 @@
 	{
 		case 2:
 		{
-			SSM (sci,SCI_MARKERDEFINE,  SC_MARKNUM_FOLDERMIDTAIL, SC_MARK_TCORNERCURVE);
-			SSM (sci,SCI_MARKERDEFINE,  SC_MARKNUM_FOLDERTAIL, SC_MARK_LCORNERCURVE);
+			SSM(sci,SCI_MARKERDEFINE,  SC_MARKNUM_FOLDERMIDTAIL, SC_MARK_TCORNERCURVE);
+			SSM(sci,SCI_MARKERDEFINE,  SC_MARKNUM_FOLDERTAIL, SC_MARK_LCORNERCURVE);
 			break;
 		}
 		default:
 		{
-			SSM (sci,SCI_MARKERDEFINE,  SC_MARKNUM_FOLDERMIDTAIL, SC_MARK_TCORNER);
-			SSM (sci,SCI_MARKERDEFINE,  SC_MARKNUM_FOLDERTAIL, SC_MARK_LCORNER);
+			SSM(sci,SCI_MARKERDEFINE,  SC_MARKNUM_FOLDERMIDTAIL, SC_MARK_TCORNER);
+			SSM(sci,SCI_MARKERDEFINE,  SC_MARKNUM_FOLDERTAIL, SC_MARK_LCORNER);
 			break;
 		}
 	}


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