]> git.lyx.org Git - lyx.git/blobdiff - src/BufferView.cpp
Fix fa0f142e (plain quotes fix).
[lyx.git] / src / BufferView.cpp
index 463d0f24b8bd0864be6241217b6e0077c157059c..77ab989d193962f602d96435b8c0fbc1f41e0128 100644 (file)
@@ -351,8 +351,8 @@ BufferView::~BufferView()
 
 int BufferView::rightMargin() const
 {
-       // The value used to be hardcoded to 10, which is 2.5mm at 100dpi
-       int const default_margin = Length(2.5, Length::MM).inPixels(0);
+       // The value used to be hardcoded to 10, which is 0.1in at 100dpi
+       int const default_margin = Length(0.1, Length::IN).inPixels(0);
        // The additional test for the case the outliner is opened.
        if (!full_screen_ || !lyxrc.full_screen_limit
            || width_ < lyxrc.full_screen_width + 2 * default_margin)
@@ -368,6 +368,13 @@ int BufferView::leftMargin() const
 }
 
 
+int BufferView::inPixels(Length const & len) const
+{
+       Font const font = buffer().params().getFont();
+       return len.inPixels(workWidth(), theFontMetrics(font).em());
+}
+
+
 bool BufferView::isTopScreen() const
 {
        return 0 == d->scrollbarParameters_.min;
@@ -1028,7 +1035,10 @@ bool BufferView::getStatus(FuncRequest const & cmd, FuncStatus & flag)
        if (buffer_.isReadonly()
            && !lyxaction.funcHasFlag(act, LyXAction::ReadOnly)
            && !lyxaction.funcHasFlag(act, LyXAction::NoBuffer)) {
-               flag.message(from_utf8(N_("Document is read-only")));
+               if (buffer_.hasReadonlyFlag())
+                       flag.message(from_utf8(N_("Document is read-only")));
+               else
+                       flag.message(from_utf8(N_("Document has been modified externally")));
                flag.setEnabled(false);
                return true;
        }
@@ -2804,19 +2814,7 @@ Point BufferView::coordOffset(DocIterator const & dit) const
                }
 
                // remember width for the case that sl.inset() is positioned in an RTL inset
-               if (i && dit[i - 1].text()) {
-                       // If this Inset is inside a Text Inset, retrieve the Dimension
-                       // from the containing text instead of using Inset::dimension() which
-                       // might not be implemented.
-                       // FIXME (Abdel 23/09/2007): this is a bit messy because of the
-                       // elimination of Inset::dim_ cache. This coordOffset() method needs
-                       // to be rewritten in light of the new design.
-                       Dimension const & dim = coordCache().getInsets().dim(&sl.inset());
-                       lastw = dim.wid;
-               } else {
-                       Dimension const dim = sl.inset().dimension(*this);
-                       lastw = dim.wid;
-               }
+               lastw = sl.inset().dimension(*this).wid;
 
                //lyxerr << "Cursor::getPos, i: "
                // << i << " x: " << xx << " y: " << y << endl;