-extern "C" void C_LyXVC_logUpdate(FL_OBJECT *ob, long data)
-{
- LyXVC::logUpdate(ob, data);
-}
-
-
-void LyXVC::viewLog(string const & fil)
-{
- static int ow = -1, oh;
-
- if (!browser) {
- FL_OBJECT *obj;
- browser = (FD_LaTeXLog *) fl_calloc(1, sizeof(*browser));
-
- browser->LaTeXLog = fl_bgn_form(FL_NO_BOX, 470, 380);
- browser->LaTeXLog->u_vdata = (void*)this;
- obj = fl_add_box(FL_UP_BOX, 0, 0, 470, 380, "");
- browser->browser_latexlog = fl_add_browser(FL_NORMAL_BROWSER, 10, 10, 450, 320, "");
- obj = fl_add_button(FL_RETURN_BUTTON, 270, 340, 90, 30, _("Close"));
- fl_set_object_lsize(obj, FL_NORMAL_SIZE);
- fl_set_object_callback(obj, C_LyXVC_logClose, 0);
- obj = fl_add_button(FL_NORMAL_BUTTON,370,340,90,30,
- idex(_("Update|#Uu")));
- fl_set_button_shortcut(obj,scex(_("Update|#Uu")),1);
- fl_set_object_lsize(obj,FL_NORMAL_SIZE);
- fl_set_object_callback(obj, C_LyXVC_logUpdate,0);
- fl_end_form();
- fl_set_form_atclose(browser->LaTeXLog, CancelCloseBoxCB, 0);
- }
-
- if (!fl_load_browser(browser->browser_latexlog, fil.c_str()))
- fl_add_browser_line(browser->browser_latexlog, _("No RCS History!"));
-
- if (browser->LaTeXLog->visible) {
- fl_raise_form(browser->LaTeXLog);
- } else {
- fl_show_form(browser->LaTeXLog,
- FL_PLACE_MOUSE | FL_FREE_SIZE, FL_FULLBORDER,
- _("RCS History"));
- if (ow < 0) {
- ow = browser->LaTeXLog->w;
- oh = browser->LaTeXLog->h;
- }
- fl_set_form_minsize(browser->LaTeXLog, ow, oh);
- }
-}
-
-
-void LyXVC::showLog()
-{
- // This I really don't like, but we'll look at this problem
- // in 0.13. Then we can make a clean solution.
-#if 0
- if (gsworking()) {
- WriteAlert(_("Sorry, can't do this while"
- " pictures are being rendered."),
- _("Please wait a few seconds for"
- " this to finish and try again."),
- _("(or kill runaway gs processes"
- " by hand and try again.)"));
- return;
- }
- extern pid_t isp_pid; // from spellchecker.C
- if(isp_pid != -1) {
- WriteAlert(_("Can't do this while the"
- " spellchecker is running."),
- _("Stop the spellchecker first."));
- return;
- }
-#endif
- string tmpf = tmpnam(0);
- doVCCommand("rlog \""
- + OnlyFilename(_owner->getFileName()) + "\" > " + tmpf);
- viewLog(tmpf);
- unlink(tmpf.c_str());
-}
-
-
-int LyXVC::doVCCommand(string const & cmd)
-{
- lyxerr[Debug::LYXVC] << "doVCCommand: " << cmd << endl;
- Systemcalls one;
- Path p(_owner->filepath);
- int ret = one.startscript(Systemcalls::System, cmd);
- return ret;