Here's another small patch.

It fixes the "Page break on current row" checkbox.  Currently if you
set it for a row in a table, you cannot unset it again.

I tested this and it seems to work, but I'm not sure if I'm doing the
right thing.

John
From 912f0dfbe62e07f3996a4e2dbc7fcd8899ac478d Mon Sep 17 00:00:00 2001
From: John Tapsell <john.tapsell....@basyskom.com>
Date: Wed, 9 May 2012 10:49:03 +0100
Subject: [PATCH] Fix toggling the "Page break on current row" checkbox in the tabular dialog box

---
 src/frontends/qt4/GuiTabular.cpp |    2 ++
 src/insets/InsetTabular.cpp      |    8 +++++++-
 src/insets/InsetTabular.h        |    1 +
 3 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/src/frontends/qt4/GuiTabular.cpp b/src/frontends/qt4/GuiTabular.cpp
index 8a14cb7..79706d4 100644
--- a/src/frontends/qt4/GuiTabular.cpp
+++ b/src/frontends/qt4/GuiTabular.cpp
@@ -580,6 +580,8 @@ docstring GuiTabular::dialogToParams() const
 	//
 	if (newpageCB->isChecked())
 		setParam(param_str, Tabular::SET_LTNEWPAGE);
+    else
+		setParam(param_str, Tabular::UNSET_LTNEWPAGE);
 	//
 	if (captionStatusCB->isChecked())
 		setParam(param_str, Tabular::SET_LTCAPTION);
diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp
index 00ee719..8e796db 100644
--- a/src/insets/InsetTabular.cpp
+++ b/src/insets/InsetTabular.cpp
@@ -165,6 +165,7 @@ TabularFeature tabularFeature[] =
 	{ Tabular::SET_LTLASTFOOT, "set-ltlastfoot", true },
 	{ Tabular::UNSET_LTLASTFOOT, "unset-ltlastfoot", true },
 	{ Tabular::SET_LTNEWPAGE, "set-ltnewpage", false },
+	{ Tabular::UNSET_LTNEWPAGE, "unset-ltnewpage", false },
 	{ Tabular::TOGGLE_LTCAPTION, "toggle-ltcaption", false },
 	{ Tabular::SET_LTCAPTION, "set-ltcaption", false },
 	{ Tabular::UNSET_LTCAPTION, "unset-ltcaption", false },
@@ -4640,6 +4641,9 @@ bool InsetTabular::getStatus(Cursor & cur, FuncRequest const & cmd,
 		case Tabular::SET_LTNEWPAGE:
 			status.setOnOff(tabular.getLTNewPage(sel_row_start));
 			break;
+		case Tabular::UNSET_LTNEWPAGE:
+			status.setOnOff(!tabular.getLTNewPage(sel_row_start));
+			break;
 
 		// only one row in head/firsthead/foot/lasthead can be the caption
 		// and a multirow cannot be set as caption
@@ -5657,8 +5661,10 @@ void InsetTabular::tabularFeatures(Cursor & cur,
 		tabular.setLTFoot(row, flag, ltt, true);
 		break;
 
+	case Tabular::UNSET_LTNEWPAGE:
+		flag = false;
 	case Tabular::SET_LTNEWPAGE:
-		tabular.setLTNewPage(row, !tabular.getLTNewPage(row));
+		tabular.setLTNewPage(row, flag);
 		break;
 
 	case Tabular::SET_LTCAPTION: {
diff --git a/src/insets/InsetTabular.h b/src/insets/InsetTabular.h
index e765000..80958cc 100644
--- a/src/insets/InsetTabular.h
+++ b/src/insets/InsetTabular.h
@@ -233,6 +233,7 @@ public:
 		UNSET_LTLASTFOOT,
 		///
 		SET_LTNEWPAGE,
+		UNSET_LTNEWPAGE,
 		///
 		TOGGLE_LTCAPTION,
 		///
-- 
1.7.4.1

Reply via email to