]> git.lyx.org Git - lyx.git/blobdiff - src/text.C
ascii export of paragraphs, fix small compile problem.
[lyx.git] / src / text.C
index eab4bc762f329cb659cb85c221cbef337acf222a..fd5eb806ce3e922ed8bc90f475f7bbac05ce7c01 100644 (file)
@@ -834,8 +834,10 @@ int LyXText::leftMargin(BufferView * bview, Row const * row) const
                         && ! row->par()->isFirstInSequence()))
                    && align == LYX_ALIGN_BLOCK
                    && !row->par()->params().noindent()
-                       // in tabulars paragraphs are never indented!
-                       && (!row->par()->inInset() || row->par()->inInset()->owner()->lyxCode() != Inset::TABULAR_CODE)
+                       // in tabulars and ert paragraphs are never indented!
+                       && (!row->par()->inInset() || !row->par()->inInset()->owner() ||
+                               (row->par()->inInset()->owner()->lyxCode() != Inset::TABULAR_CODE &&
+                                row->par()->inInset()->owner()->lyxCode() != Inset::ERT_CODE))
                    && (row->par()->layout() != tclass.defaultLayoutName() ||
                        bview->buffer()->params.paragraph_separation ==
                        BufferParams::PARSEP_INDENT)) {
@@ -1679,8 +1681,9 @@ void LyXText::breakAgainOneRow(BufferView * bview, Row * row)
 
 void LyXText::breakParagraph(BufferView * bview, char keep_layout)
 {
-   LyXLayout const & layout =
-          textclasslist[bview->buffer()->params.textclass][cursor.par()->layout()];
+       LyXTextClass const & tclass =
+               textclasslist[bview->buffer()->params.textclass];
+   LyXLayout const & layout = tclass[cursor.par()->layout()];
 
    // this is only allowed, if the current paragraph is not empty or caption
    if ((cursor.par()->size() <= 0)
@@ -1709,10 +1712,10 @@ void LyXText::breakParagraph(BufferView * bview, char keep_layout)
    if (layout.labeltype == LABEL_SENSITIVE) {
      if (!cursor.pos())
             // set to standard-layout
-            cursor.par()->applyLayout(0);
+            cursor.par()->applyLayout(tclass.defaultLayoutName());
      else
             // set to standard-layout
-            cursor.par()->next()->applyLayout(0);
+            cursor.par()->next()->applyLayout(tclass.defaultLayoutName());
    }
    
    /* if the cursor is at the beginning of a row without prior newline, 
@@ -2115,6 +2118,13 @@ void LyXText::prepareToPrint(BufferView * bview,
                    && (inset->display())) // || (inset->scroll() < 0)))
                    align = (inset->lyxCode() == Inset::MATHMACRO_CODE)
                        ? LYX_ALIGN_BLOCK : LYX_ALIGN_CENTER;
+               // ERT insets should always be LEFT ALIGNED on screen
+               inset = row->par()->inInset();
+               if (inset && inset->owner() &&
+                       inset->owner()->lyxCode() == Inset::ERT_CODE)
+               {
+                       align = LYX_ALIGN_LEFT;
+               }
                
                switch (align) {
            case LYX_ALIGN_BLOCK: