]> git.lyx.org Git - features.git/commitdiff
table selection fix from John; Here & wide figures fix from Michael K.
authorJean-Marc Lasgouttes <lasgouttes@lyx.org>
Thu, 3 Jan 2002 13:31:12 +0000 (13:31 +0000)
committerJean-Marc Lasgouttes <lasgouttes@lyx.org>
Thu, 3 Jan 2002 13:31:12 +0000 (13:31 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3284 a592a061-630c-0410-9148-cb99ea01b6c8

po/POTFILES.in
src/frontends/controllers/ChangeLog
src/frontends/controllers/ControlFloat.C
src/frontends/controllers/ControlFloat.h
src/frontends/xforms/ChangeLog
src/frontends/xforms/FormFloat.C
src/insets/ChangeLog
src/insets/insettabular.C

index d1725fb6609df7aab9891d762bfb18c936b885c2..70e9cdc5419824a319fc621ab7c2e6bc366be90e 100644 (file)
@@ -9,7 +9,6 @@ src/converter.C
 src/CutAndPaste.C
 src/debug.C
 src/exporter.C
-src/ext_l10n.h
 src/figure_form.C
 src/figureForm.C
 src/FontLoader.C
index 066b327fac7cd3ddedd89017015a0b3bb3af1175..8f6cf2d0269a795b383d01494e70dbce11695646 100644 (file)
@@ -1,3 +1,8 @@
+2001-12-11  Michael A. Koziarski <michael@koziarski.org>
+
+       * ControlFloat.[Ch]: changes to prevent here definitely being used
+       with wide figures.
+
 2001-12-19  Jean-Marc Lasgouttes  <lasgouttes@freesurf.fr>
 
        * ControlThesaurus.h: do not include <config.h> in header files
index 47156dc039c768ce3406618c8e33f7d59c444329..ffefc7c0d6fd96ff3f64676f24c754bd437158ee 100644 (file)
@@ -57,10 +57,12 @@ FloatParams const ControlFloat::getParams(InsetFloat const & inset)
 
 
 FloatParams::FloatParams()
-       : placement("htbp")
+       : placement("htbp"),
+         allow_here_definitely(true)
 {}
 
 
 FloatParams::FloatParams(InsetFloat const & inset)
-       : placement(inset.placement())
+       : placement(inset.placement()), 
+         allow_here_definitely(!inset.wide())
 {}
index e1dfd8def0e285d72f4e0cb5b1ba058f7389eeb6..63083eb6419b3aa4f2e5357d66d684280863c8b6 100644 (file)
@@ -32,13 +32,15 @@ struct FloatParams {
        FloatParams(InsetFloat const &);
        ///
        string placement;
+       ///
+       bool allow_here_definitely;
 };
 
 
 inline
 bool operator==(FloatParams const & p1, FloatParams const & p2) 
 {
-       return p1.placement == p2.placement;
+       return p1.placement == p2.placement && p1.allow_here_definitely == p2.allow_here_definitely;
 }
 
 
index 59518a055ac5f2f48212a5b6071008b7c1f7efee..d3f7585dbba5c1d9576856c4030c4c43489ca623 100644 (file)
@@ -1,3 +1,8 @@
+2001-12-11  Michael A. Koziarski <michael@koziarski.org>
+
+       * FormFloat.C: changes to prevent here definitely being used
+       with wide figures.
+
 2001-12-29  Dekel Tsur  <dekelts@tau.ac.il>
 
        * FormMathsMatrix.C (AlignFilter): Allow entering the '|' char.
index b086c544c43336fbfff8608aefb229f1d31d945f..154559f4a7a2b793702fcc999806e6242f0fb2cf 100644 (file)
@@ -21,6 +21,7 @@
 #include "FormFloat.h"
 #include "form_float.h"
 #include "support/lstrings.h"
+#include "xforms_helpers.h"
 
 typedef FormCB<ControlFloat, FormDB<FD_form_float> > base_class;
 
@@ -105,6 +106,7 @@ void FormFloat::update()
        fl_set_button(dialog_->radio_page, page);
        fl_set_button(dialog_->radio_here, here);
        fl_set_button(dialog_->button_here_definitely, here_definitely);
+       setEnabled(dialog_->button_here_definitely, controller().params().allow_here_definitely);
 }
 
 
index 423970a702fe1f919efa0d5e06f3b96423844c6a..5630c00d2ac21f3f3e5870b80e92c4b4199cd072 100644 (file)
@@ -1,3 +1,7 @@
+2001-12-31  John Levon  <moz@compsoc.man.ac.uk>
+
+       * insettabular.C: correct single-cell select vertically
 2001-12-27  Juergen Vigna  <jug@sad.it>
 
        * insettabular.C (ascii): export as tab-separated-values if the
index 6e68763d7d0ce0c7a157d146bf3ee0e8b008d6ff..16623088a14b0566ffb52b20ac9fee877e1a6d07 100644 (file)
@@ -961,14 +961,16 @@ InsetTabular::localDispatch(BufferView * bv, kb_action action,
                int const ocell = actcell;
                // if we are starting a selection, only select
                // the current cell at the beginning
-               if (hasSelection()) { 
+               if (hasSelection()) {
                        moveDown(bv, false);
+                       if ((ocell == sel_cell_end) ||
+                           (tabular->column_of_cell(ocell)>tabular->column_of_cell(actcell)))
+                               setSelection(start, tabular->GetCellBelow(sel_cell_end));
+                       else
+                               setSelection(start, tabular->GetLastCellBelow(sel_cell_end));
+               } else {
+                       setSelection(start, start);
                }
-               if ((ocell == sel_cell_end) ||
-                   (tabular->column_of_cell(ocell)>tabular->column_of_cell(actcell)))
-                       setSelection(start, tabular->GetCellBelow(sel_cell_end));
-               else
-                       setSelection(start, tabular->GetLastCellBelow(sel_cell_end));
                updateLocal(bv, SELECTION, false);
        }
        break;
@@ -986,12 +988,14 @@ InsetTabular::localDispatch(BufferView * bv, kb_action action,
                // the current cell at the beginning
                if (hasSelection()) {
                        moveUp(bv, false);
+                       if ((ocell == sel_cell_end) ||
+                           (tabular->column_of_cell(ocell)>tabular->column_of_cell(actcell)))
+                               setSelection(start, tabular->GetCellAbove(sel_cell_end));
+                       else
+                               setSelection(start, tabular->GetLastCellAbove(sel_cell_end));
+               } else {
+                       setSelection(start, start);
                }
-               if ((ocell == sel_cell_end) ||
-                   (tabular->column_of_cell(ocell)>tabular->column_of_cell(actcell)))
-                       setSelection(start, tabular->GetCellAbove(sel_cell_end));
-               else
-                       setSelection(start, tabular->GetLastCellAbove(sel_cell_end));
                updateLocal(bv, SELECTION, false);
        }
        break;