Jürgen Spitzmüller wrote:
> Thinking a bit more about it, I clearly lean towards the latter.
>
> This stuff can only be done properly with a file format change. Who knows
> how people have been using the dialog, so we need to assure the output is
> identical.
>
> I'll post a patch for branch in a few minutes.

Here's the patch. I propose to put this to branch _and_ trunk. I think the 
intended UI change needs more discussion. Also, a file format change is a 
prerequisite.

Objections?

Jürgen

PS. I guess the caption thing is still correct?
Index: src/insets/InsetTabular.cpp
===================================================================
--- src/insets/InsetTabular.cpp	(Revision 29691)
+++ src/insets/InsetTabular.cpp	(Arbeitskopie)
@@ -2091,7 +2091,7 @@
 	}
 	// output first header info
 	// first header must be output before the header, otherwise the
-	// correct caption placement becomes really wierd
+	// correct caption placement becomes really weird
 	if (haveLTFirstHead()) {
 		if (endfirsthead.topDL) {
 			os << "\\hline\n";
@@ -3777,7 +3777,7 @@
 			return true;
 
 		case Tabular::MULTICOLUMN:
-			// When a row is set as longtable caption, it must not be allowed
+			// If a row is set as longtable caption, it must not be allowed
 			// to unset that this row is a multicolumn.
 			status.setEnabled(sel_row_start == sel_row_end
 				&& !tabular.ltCaption(tabular.cellRow(cur.idx())));
@@ -3886,13 +3886,8 @@
 			status.setOnOff(convert<int>(argument) == tabular.getUsebox(cur.idx()));
 			break;
 
-		// every row can only be one thing:
-		// either a footer or header or caption
-		case Tabular::SET_LTFIRSTHEAD:			
+		case Tabular::SET_LTFIRSTHEAD:
 			status.setEnabled(sel_row_start == sel_row_end
-				&& !tabular.getRowOfLTHead(sel_row_start, dummyltt)
-				&& !tabular.getRowOfLTFoot(sel_row_start, dummyltt)
-				&& !tabular.getRowOfLTLastFoot(sel_row_start, dummyltt)
 				&& !tabular.ltCaption(sel_row_start));
 			status.setOnOff(tabular.getRowOfLTFirstHead(sel_row_start, dummyltt));
 			break;
@@ -3903,9 +3898,6 @@
 
 		case Tabular::SET_LTHEAD:
 			status.setEnabled(sel_row_start == sel_row_end
-				&& !tabular.getRowOfLTFirstHead(sel_row_start, dummyltt)
-				&& !tabular.getRowOfLTFoot(sel_row_start, dummyltt)
-				&& !tabular.getRowOfLTLastFoot(sel_row_start, dummyltt)
 				&& !tabular.ltCaption(sel_row_start));
 			status.setOnOff(tabular.getRowOfLTHead(sel_row_start, dummyltt));
 			break;
@@ -3916,9 +3908,6 @@
 
 		case Tabular::SET_LTFOOT:
 			status.setEnabled(sel_row_start == sel_row_end
-				&& !tabular.getRowOfLTFirstHead(sel_row_start, dummyltt)
-				&& !tabular.getRowOfLTHead(sel_row_start, dummyltt)
-				&& !tabular.getRowOfLTLastFoot(sel_row_start, dummyltt)
 				&& !tabular.ltCaption(sel_row_start));
 			status.setOnOff(tabular.getRowOfLTFoot(sel_row_start, dummyltt));
 			break;
@@ -3929,9 +3918,6 @@
 
 		case Tabular::SET_LTLASTFOOT:
 			status.setEnabled(sel_row_start == sel_row_end
-				&& !tabular.getRowOfLTFirstHead(sel_row_start, dummyltt)
-				&& !tabular.getRowOfLTHead(sel_row_start, dummyltt)
-				&& !tabular.getRowOfLTFoot(sel_row_start, dummyltt)
 				&& !tabular.ltCaption(sel_row_start));
 			status.setOnOff(tabular.getRowOfLTLastFoot(sel_row_start, dummyltt));
 			break;

Reply via email to