#include "buffer.h"
#include "bufferlist.h"
#include "BufferView.h"
+#include "cursor.h"
#include "debug.h"
#include "gettext.h"
#include "lastfiles.h"
#include "frontends/lyx_gui.h"
#include "frontends/LyXView.h"
+#include "support/filefilterlist.h"
#include "support/FileInfo.h"
#include "support/filetools.h"
#include "support/forkedcall.h"
-#include "support/globbing.h"
#include "support/lyxlib.h"
-#include "support/os.h"
+#include "support/package.h"
#include "support/path.h"
-#include "support/path_defines.h"
#include "support/systemcall.h"
+#include <boost/shared_ptr.hpp>
+
#include <cerrno>
#include <fstream>
using lyx::support::OnlyFilename;
using lyx::support::OnlyPath;
using lyx::support::Path;
+using lyx::support::package;
+using lyx::support::QuoteName;
using lyx::support::removeAutosaveFile;
using lyx::support::rename;
using lyx::support::split;
-using lyx::support::system_lyxdir;
using lyx::support::Systemcall;
using lyx::support::tempName;
using lyx::support::unlink;
-using lyx::support::user_lyxdir;
-namespace os = lyx::support::os;
+using boost::shared_ptr;
-using std::auto_ptr;
using std::back_inserter;
using std::copy;
using std::endl;
bufferlist.closeAll();
// do any other cleanup procedures now
- lyxerr[Debug::INFO] << "Deleting tmp dir " << os::getTmpDir() << endl;
+ lyxerr[Debug::INFO] << "Deleting tmp dir " << package().temp_dir() << endl;
- if (destroyDir(os::getTmpDir()) != 0) {
+ if (destroyDir(package().temp_dir()) != 0) {
string msg = bformat(_("Could not remove the temporary directory %1$s"),
- os::getTmpDir());
+ package().temp_dir());
Alert::warning(_("Could not remove temporary directory"), msg);
}
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();
int AutoSaveBuffer::start()
{
command_ = bformat(_("Auto-saving %1$s"), fname_);
- return runNonBlocking();
+ return run(DontWait);
}
// clear the selection
if (bv->text() == bv->getLyXText())
- bv->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();
}
}
-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)
bv->owner()->message(_("Running configure..."));
// Run configure in user lyx directory
- Path p(user_lyxdir());
+ Path p(package().user_support());
+ string const configure_script =
+ AddName(package().system_support(), "configure");
+ string const configure_command = "sh " + QuoteName(configure_script);
Systemcall one;
- one.startscript(Systemcall::Wait,
- AddName(system_lyxdir(), "configure"));
+ one.startscript(Systemcall::Wait, configure_command);
p.pop();
bv->owner()->message(_("Reloading configuration..."));
lyxrc.read(LibFileSearch(string(), "lyxrc.defaults"));
Alert::information(_("System reconfigured"),
_("The system has been reconfigured.\n"
- "You need to restart LyX to make use of any \n"
+ "You need to restart LyX to make use of any\n"
"updated document class specifications."));
}