]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiView.cpp
New LFUN buffer-external-modification-clear
[lyx.git] / src / frontends / qt4 / GuiView.cpp
index c5956324ca78638104a9088a06e8136d4bdbb569..e2e6555ca61b3669daac8d754941489aca52eed5 100644 (file)
@@ -1121,6 +1121,12 @@ void GuiView::updateWindowTitle(GuiWorkArea * wa)
        Buffer const & buf = wa->bufferView().buffer();
        // Set the windows title
        docstring title = buf.fileName().displayName(130) + from_ascii("[*]");
+       if (buf.notifiesExternalModification()) {
+               title = bformat(_("%1$s (modified externally)"), title);
+               // If the external modification status has changed, then maybe the status of
+               // buffer-save has changed too.
+               updateToolbars();
+       }
 #ifndef Q_WS_MAC
        title += from_ascii(" - LyX");
 #endif
@@ -1842,6 +1848,10 @@ bool GuiView::getStatus(FuncRequest const & cmd, FuncStatus & flag)
                break;
        }
 
+       case LFUN_BUFFER_EXTERNAL_MODIFICATION_CLEAR:
+               enable = doc_buffer && doc_buffer->notifiesExternalModification();
+               break;
+
        case LFUN_BUFFER_WRITE_AS:
        case LFUN_BUFFER_EXPORT_AS:
                enable = doc_buffer != 0;
@@ -3767,6 +3777,11 @@ void GuiView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
                        break;
                }
 
+               case LFUN_BUFFER_EXTERNAL_MODIFICATION_CLEAR:
+                       LASSERT(doc_buffer, break);
+                       doc_buffer->clearExternalModification();
+                       break;
+
                case LFUN_BUFFER_CLOSE:
                        closeBuffer();
                        break;