]> git.lyx.org Git - lyx.git/blobdiff - src/lyxvc.C
removed a warning from screen and added CFLAGS in lyx.spec.in.
[lyx.git] / src / lyxvc.C
index 70f361c3be053a04daf732442823b3e79ae3c927..31aca999eac6133cc80efc98b1b3f600969f4c49 100644 (file)
@@ -10,7 +10,7 @@
 #include "lyx_gui_misc.h"
 #include "bufferlist.h"
 #include "support/syscall.h"
-#include "pathstack.h"
+#include "support/path.h"
 #include "support/filetools.h"
 #include "support/FileInfo.h"
 #include "gettext.h"
@@ -308,6 +308,12 @@ void LyXVC::logClose(FL_OBJECT *obj, long)
        fl_hide_form(This->browser->LaTeXLog);
 }
 
+// and, hack over hack, here is a C wrapper :)
+extern "C" void C_LyXVC_logClose(FL_OBJECT *ob, long data)
+{
+       LyXVC::logClose(ob, data);
+}
+
 
 void LyXVC::logUpdate(FL_OBJECT *obj, long)
 {
@@ -315,9 +321,16 @@ void LyXVC::logUpdate(FL_OBJECT *obj, long)
        This->showLog();
 }
 
+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));
@@ -328,12 +341,12 @@ void LyXVC::viewLog(string const & fil)
                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, logClose, 0);
+               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,logUpdate,0);
+               fl_set_object_callback(obj, C_LyXVC_logUpdate,0);
                fl_end_form();
                fl_set_form_atclose(browser->LaTeXLog, CancelCloseBoxCB, 0);
        }
@@ -347,6 +360,11 @@ void LyXVC::viewLog(string const & fil)
                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);
        }
 }
 
@@ -385,8 +403,7 @@ int LyXVC::doVCCommand(string const & cmd)
 {
        lyxerr[Debug::LYXVC] << "doVCCommand: " << cmd << endl;
         Systemcalls one;
-       PathPush(_owner->filepath);
+       Path p(_owner->filepath);
        int ret = one.startscript(Systemcalls::System, cmd);
-       PathPop();
        return ret;
 }