]> git.lyx.org Git - lyx.git/blobdiff - src/lyx_cb.C
... and sanitize the simplified code...
[lyx.git] / src / lyx_cb.C
index fda8f46af66635cedf770366c5e2cb2f5d92e9ee..213ff3967687d8eb375f36ec1a2f8c5236375742 100644 (file)
@@ -19,6 +19,7 @@
 #include "buffer.h"
 #include "bufferlist.h"
 #include "BufferView.h"
+#include "cursor.h"
 #include "debug.h"
 #include "gettext.h"
 #include "lastfiles.h"
@@ -43,6 +44,8 @@
 #include "support/path_defines.h"
 #include "support/systemcall.h"
 
+#include <boost/shared_ptr.hpp>
+
 #include <cerrno>
 #include <fstream>
 
@@ -70,7 +73,8 @@ using lyx::support::user_lyxdir;
 
 namespace os = lyx::support::os;
 
-using std::auto_ptr;
+using boost::shared_ptr;
+
 using std::back_inserter;
 using std::copy;
 using std::endl;
@@ -220,8 +224,9 @@ public:
        AutoSaveBuffer(BufferView & bv, string const & fname)
                : bv_(bv), fname_(fname) {}
        ///
-       virtual auto_ptr<ForkedProcess> clone() const {
-               return auto_ptr<ForkedProcess>(new AutoSaveBuffer(*this));
+       virtual shared_ptr<ForkedProcess> clone() const
+       {
+               return shared_ptr<ForkedProcess>(new AutoSaveBuffer(*this));
        }
        ///
        int start();
@@ -237,7 +242,7 @@ private:
 int AutoSaveBuffer::start()
 {
        command_ = bformat(_("Auto-saving %1$s"), fname_);
-       return runNonBlocking();
+       return run(DontWait);
 }
 
 
@@ -358,11 +363,11 @@ void InsertAsciiFile(BufferView * bv, string const & f, bool asParagraph)
 
        // clear the selection
        if (bv->text() == bv->getLyXText())
-               bv->text()->clearSelection();
+               bv->cursor().clearSelection();
        if (asParagraph)
-               bv->getLyXText()->insertStringAsParagraphs(tmpstr);
+               bv->getLyXText()->insertStringAsParagraphs(bv->cursor(), tmpstr);
        else
-               bv->getLyXText()->insertStringAsLines(tmpstr);
+               bv->getLyXText()->insertStringAsLines(bv->cursor(), tmpstr);
        bv->update();
 }
 
@@ -431,49 +436,6 @@ string getContentsOfAsciiFile(BufferView * bv, string const & f, bool asParagrap
 }
 
 
-string const getPossibleLabel(BufferView const & bv)
-{
-       ParagraphList::iterator pit = bv.getLyXText()->cursorPar();
-       ParagraphList & plist = bv.getLyXText()->paragraphs();
-
-       LyXLayout_ptr layout = pit->layout();
-
-       if (layout->latextype == LATEX_PARAGRAPH && pit != plist.begin()) {
-               ParagraphList::iterator pit2 = boost::prior(pit);
-
-               LyXLayout_ptr const & layout2 = pit2->layout();
-
-               if (layout2->latextype != LATEX_PARAGRAPH) {
-                       pit = pit2;
-                       layout = layout2;
-               }
-       }
-
-       string text = layout->latexname().substr(0, 3);
-       if (layout->latexname() == "theorem")
-               text = "thm"; // Create a correct prefix for prettyref
-
-       text += ':';
-       if (layout->latextype == LATEX_PARAGRAPH ||
-           lyxrc.label_init_length < 0)
-               text.erase();
-
-       string par_text = pit->asString(*bv.buffer(), false);
-       for (int i = 0; i < lyxrc.label_init_length; ++i) {
-               if (par_text.empty())
-                       break;
-               string head;
-               par_text = split(par_text, head, ' ');
-               // Is it legal to use spaces in labels ?
-               if (i > 0)
-                       text += '-';
-               text += head;
-       }
-
-       return text;
-}
-
-
 // This function runs "configure" and then rereads lyx.defaults to
 // reconfigure the automatic settings.
 void Reconfigure(BufferView * bv)