]> git.lyx.org Git - lyx.git/commitdiff
Move Text::insertStringAsLines and Text::insertStringAsParagraphs from Text2.cpp...
authorAbdelrazak Younes <younes@lyx.org>
Sun, 9 Aug 2009 17:14:41 +0000 (17:14 +0000)
committerAbdelrazak Younes <younes@lyx.org>
Sun, 9 Aug 2009 17:14:41 +0000 (17:14 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30954 a592a061-630c-0410-9148-cb99ea01b6c8

src/Text.cpp
src/Text2.cpp

index 8edbe2f0a69815407583f37e24e9ea08d4793bc8..103c71ac73539af75061d4c0be74441d5caf4641 100644 (file)
@@ -414,6 +414,85 @@ void Text::breakParagraph(Cursor & cur, bool inverse_logic)
 }
 
 
+// needed to insert the selection
+void Text::insertStringAsLines(DocIterator const & dit, docstring const & str,
+               Font const & font)
+{
+       BufferParams const & bparams = owner_->buffer().params();
+       pit_type pit = dit.pit();
+       pos_type pos = dit.pos();
+
+       // insert the string, don't insert doublespace
+       bool space_inserted = true;
+       for (docstring::const_iterator cit = str.begin();
+           cit != str.end(); ++cit) {
+               Paragraph & par = pars_[pit];
+               if (*cit == '\n') {
+                       if (autoBreakRows_ && (!par.empty() || par.allowEmpty())) {
+                               lyx::breakParagraph(bparams, pars_, pit, pos,
+                                              par.layout().isEnvironment());
+                               ++pit;
+                               pos = 0;
+                               space_inserted = true;
+                       } else {
+                               continue;
+                       }
+                       // do not insert consecutive spaces if !free_spacing
+               } else if ((*cit == ' ' || *cit == '\t') &&
+                          space_inserted && !par.isFreeSpacing()) {
+                       continue;
+               } else if (*cit == '\t') {
+                       if (!par.isFreeSpacing()) {
+                               // tabs are like spaces here
+                               par.insertChar(pos, ' ', font, bparams.trackChanges);
+                               ++pos;
+                               space_inserted = true;
+                       } else {
+                               par.insertChar(pos, *cit, font, bparams.trackChanges);
+                               ++pos;
+                               space_inserted = true;
+                       }
+               } else if (!isPrintable(*cit)) {
+                       // Ignore unprintables
+                       continue;
+               } else {
+                       // just insert the character
+                       par.insertChar(pos, *cit, font, bparams.trackChanges);
+                       ++pos;
+                       space_inserted = (*cit == ' ');
+               }
+       }
+}
+
+
+// turn double CR to single CR, others are converted into one
+// blank. Then insertStringAsLines is called
+void Text::insertStringAsParagraphs(DocIterator const & dit, docstring const & str,
+               Font const & font)
+{
+       docstring linestr = str;
+       bool newline_inserted = false;
+
+       for (string::size_type i = 0, siz = linestr.size(); i < siz; ++i) {
+               if (linestr[i] == '\n') {
+                       if (newline_inserted) {
+                               // we know that \r will be ignored by
+                               // insertStringAsLines. Of course, it is a dirty
+                               // trick, but it works...
+                               linestr[i - 1] = '\r';
+                               linestr[i] = '\n';
+                       } else {
+                               linestr[i] = ' ';
+                               newline_inserted = true;
+                       }
+               } else if (isPrintable(linestr[i])) {
+                       newline_inserted = false;
+               }
+       }
+       insertStringAsLines(dit, linestr, font);
+}
+
+
 // insert a character, moves all the following breaks in the
 // same Paragraph one to the right and make a rebreak
 void Text::insertChar(Cursor & cur, char_type c)
index cda8fae1aec59e8bc77e2a56e240031c5bb66e04..d83e85a41b842a84f1dfa3f02fe672b0033ec351 100644 (file)
@@ -502,85 +502,6 @@ void Text::insertInset(Cursor & cur, Inset * inset)
 }
 
 
-// needed to insert the selection
-void Text::insertStringAsLines(DocIterator const & dit, docstring const & str,
-               Font const & font)
-{
-       BufferParams const & bparams = owner_->buffer().params();
-       pit_type pit = dit.pit();
-       pos_type pos = dit.pos();
-
-       // insert the string, don't insert doublespace
-       bool space_inserted = true;
-       for (docstring::const_iterator cit = str.begin();
-           cit != str.end(); ++cit) {
-               Paragraph & par = pars_[pit];
-               if (*cit == '\n') {
-                       if (autoBreakRows_ && (!par.empty() || par.allowEmpty())) {
-                               lyx::breakParagraph(bparams, pars_, pit, pos,
-                                              par.layout().isEnvironment());
-                               ++pit;
-                               pos = 0;
-                               space_inserted = true;
-                       } else {
-                               continue;
-                       }
-                       // do not insert consecutive spaces if !free_spacing
-               } else if ((*cit == ' ' || *cit == '\t') &&
-                          space_inserted && !par.isFreeSpacing()) {
-                       continue;
-               } else if (*cit == '\t') {
-                       if (!par.isFreeSpacing()) {
-                               // tabs are like spaces here
-                               par.insertChar(pos, ' ', font, bparams.trackChanges);
-                               ++pos;
-                               space_inserted = true;
-                       } else {
-                               par.insertChar(pos, *cit, font, bparams.trackChanges);
-                               ++pos;
-                               space_inserted = true;
-                       }
-               } else if (!isPrintable(*cit)) {
-                       // Ignore unprintables
-                       continue;
-               } else {
-                       // just insert the character
-                       par.insertChar(pos, *cit, font, bparams.trackChanges);
-                       ++pos;
-                       space_inserted = (*cit == ' ');
-               }
-       }
-}
-
-
-// turn double CR to single CR, others are converted into one
-// blank. Then insertStringAsLines is called
-void Text::insertStringAsParagraphs(DocIterator const & dit, docstring const & str,
-               Font const & font)
-{
-       docstring linestr = str;
-       bool newline_inserted = false;
-
-       for (string::size_type i = 0, siz = linestr.size(); i < siz; ++i) {
-               if (linestr[i] == '\n') {
-                       if (newline_inserted) {
-                               // we know that \r will be ignored by
-                               // insertStringAsLines. Of course, it is a dirty
-                               // trick, but it works...
-                               linestr[i - 1] = '\r';
-                               linestr[i] = '\n';
-                       } else {
-                               linestr[i] = ' ';
-                               newline_inserted = true;
-                       }
-               } else if (isPrintable(linestr[i])) {
-                       newline_inserted = false;
-               }
-       }
-       insertStringAsLines(dit, linestr, font);
-}
-
-
 bool Text::setCursor(Cursor & cur, pit_type par, pos_type pos,
                        bool setfont, bool boundary)
 {