From 3f61b02f0ce55b94f207d992df2764b7cd340b06 Mon Sep 17 00:00:00 2001 From: Alfredo Braunstein Date: Wed, 5 Nov 2003 10:49:07 +0000 Subject: [PATCH] Joao latest bits git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8044 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/ChangeLog | 4 ++++ src/frontends/qt2/ChangeLog | 5 ++-- src/frontends/qt2/Makefile.am | 1 - src/frontends/qt2/Makefile.dialogs | 3 ++- src/frontends/qt2/lyx_gui.C | 38 +++++++++++++++++++++--------- src/lyxsocket.C | 7 ++++++ 6 files changed, 43 insertions(+), 15 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index a80ea7357d..9b375987ae 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2003-11-05 João Luis M. Assirati + + * lyxsocket.C: export variables XEDITOR and LYXSOCKET + 2003-11-05 Alfredo Braunstein * lyxfunc.C (dispatch): make LFUN_GOTO_PARAGRAPH work with deep diff --git a/src/frontends/qt2/ChangeLog b/src/frontends/qt2/ChangeLog index 71d7853c7b..55affae91e 100644 --- a/src/frontends/qt2/ChangeLog +++ b/src/frontends/qt2/ChangeLog @@ -1,8 +1,9 @@ 2003-11-05 João Luis M. Assirati - * socket_callback.[Ch] ({set,remove}_{server,data}socket_callback()): + * lyx_gui.C: {set,remove}_{server,data}socket_callback(): replace + dummy functions with working ones + * socket_callback.[Ch] (): new files with a class to connect sockets. - * Makefile.am: add the above 2003-11-04 Alfredo Braunstein diff --git a/src/frontends/qt2/Makefile.am b/src/frontends/qt2/Makefile.am index f765ab638f..09c8d11eab 100644 --- a/src/frontends/qt2/Makefile.am +++ b/src/frontends/qt2/Makefile.am @@ -72,7 +72,6 @@ libqt2_la_SOURCES = \ lyx_gui.C \ lcolorcache.h lcolorcache.C \ panelstack.h panelstack.C \ - socket_callback.C socket_callback.h \ qcoloritem.h qcoloritem.C \ qfontexample.h qfontexample.C \ qfont_loader.h qfont_loader.C \ diff --git a/src/frontends/qt2/Makefile.dialogs b/src/frontends/qt2/Makefile.dialogs index 59961374dd..f50b486b71 100644 --- a/src/frontends/qt2/Makefile.dialogs +++ b/src/frontends/qt2/Makefile.dialogs @@ -125,4 +125,5 @@ MOCFILES = \ QURLDialog.C QURLDialog.h \ QVCLogDialog.C QVCLogDialog.h \ QWrapDialog.C QWrapDialog.h \ - QLToolbar.C QLToolbar.h + QLToolbar.C QLToolbar.h \ + socket_callback.C socket_callback.h diff --git a/src/frontends/qt2/lyx_gui.C b/src/frontends/qt2/lyx_gui.C index 5c7132f533..d93936aea6 100644 --- a/src/frontends/qt2/lyx_gui.C +++ b/src/frontends/qt2/lyx_gui.C @@ -40,6 +40,7 @@ #include "QLImage.h" #include "qfont_loader.h" #include "io_callback.h" +#include "socket_callback.h" #include "lcolorcache.h" #include @@ -70,6 +71,7 @@ float getDPI() } map io_callbacks; +map socket_callbacks; } // namespace anon @@ -177,6 +179,7 @@ void sync_events() void exit() { + delete lyxsocket; delete lyxserver; lyxserver = 0; @@ -248,21 +251,34 @@ void remove_read_callback(int fd) } -void set_datasocket_callback(LyXDataSocket * /* p */) -{} - - -void remove_datasocket_callback(LyXDataSocket * /* p */) -{} - +void set_datasocket_callback(LyXDataSocket * p) +{ + socket_callbacks[p->fd()] = new socket_callback(p); +} -void set_serversocket_callback(LyXServerSocket * /* p */) -{} +void set_serversocket_callback(LyXServerSocket * p) +{ + socket_callbacks[p->fd()] = new socket_callback(p); +} +void remove_socket_callback(int fd) +{ + map::iterator it = socket_callbacks.find(fd); + if (it != socket_callbacks.end()) { + delete it->second; + socket_callbacks.erase(it); + } +} -void remove_serversocket_callback(LyXServerSocket * /* p */) -{} +void remove_datasocket_callback(LyXDataSocket * p) +{ + remove_socket_callback(p->fd()); +} +void remove_serversocket_callback(LyXServerSocket * p) +{ + remove_socket_callback(p->fd()); +} string const roman_font_name() { diff --git a/src/lyxsocket.C b/src/lyxsocket.C index e3a84683e5..3095d2bb31 100644 --- a/src/lyxsocket.C +++ b/src/lyxsocket.C @@ -45,6 +45,13 @@ LyXServerSocket::LyXServerSocket(LyXFunc * f, string const & addr) lyxerr << "lyx: Disabling LyX socket." << endl; return; } + + // These env vars are used by DVI inverse search + // Needed by xdvi + lyx::support::putenv("XEDITOR", "lyxclient -g %f %l"); + // Needed by lyxclient + lyx::support::putenv("LYXSOCKET", address_); + lyx_gui::set_serversocket_callback(this); lyxerr[Debug::LYXSERVER] << "lyx: New server socket " << fd_ << ' ' << address_ << endl; -- 2.39.2