Bo Peng [Thu, 27 Jul 2006 16:39:27 +0000 (16:39 +0000)]
Update development/Win32/hidecmd.c, from Enrico Forestieri
The usage of hidecmd.c is now 'lyx.exe [var=val] [other lyx options]'
The realy console lyx.exe should be renamed to lyxc.exe.
Bo Peng [Thu, 27 Jul 2006 14:13:45 +0000 (14:13 +0000)]
load files from lyx_main.C instead of lyx_gui.C, do not add session-restored files to lastfile list.
* src/frontends/lyx_gui.h: add prototype for create_view
* src/frontends/(gtk,qt3,qt4)/lyx_gui.C: separate start()
* src/lyx_main.C: call create_view, load file, and call start
Georg Baum [Mon, 24 Jul 2006 11:08:44 +0000 (11:08 +0000)]
Fix bug 2616
* src/LaTeX.C
(LaTeX::deplog): Add the toc file to the dependencies if a line
\tf@toc=\write#
is present in the log file, since miktex does not write the line
\openout# = `sample.toc'.
Georg Baum [Mon, 17 Jul 2006 15:21:54 +0000 (15:21 +0000)]
* src/bufferlist.C
(BufferList::close): Don't ignore unsaved changes if quitting == true
(BufferList::close): Use menuWrite(buf) instead of buf->save(),
because menuWrite tells the user if the file could not be saved and
asks for another name
This commit transfer the ErrorList handling from LyXView to Buffer. It also removes the need for the error signal and simplify the kerbel <-> frontend communication. I think it should speed-up _significantly_ the latex compilation for example in case of problematic files.
TODO 1: All occurrences of "LyXView::showErrorList()" in the "kernel" should be replaced by a boost signal emission (Buffer::errors()). This signal is already connected to this showErrorList() slot.
TODO 2: The ErrorList mechanism is used wrongly in a number of place, most notably in "Converter.C". Instead of replacing the ErrorList in the "Buffer" class, the "Converter" class should maintain its own list instead and connect directly to the LyXView::showErrorList() slot.
Buffer:
* errorList_: new private member and associated access methods.
* setErrorList(): new accessor method.
* addError(): apend an error to the errorList_.
* error(): deleted.
* errors(): new boost signal, unused for now. Shall be used instead of LyXView::showErrorList().
LyXView:
* getErrorList(), addError(), errorlist_, errorConnection_: deleted.
* errorsConnection_: new boost connection for the Buffer::errors() signal.
lyx_main.C:
* LyX::exec2(): manually print all errors.
Georg Baum [Sat, 15 Jul 2006 11:25:49 +0000 (11:25 +0000)]
Fix bug 2637
* src/graphics/GraphicsCacheItem.C
(CacheItem::Impl::convertToDisplayFormat): Don't derive the temp
file name from the original file name. This ensures that it is
composed of valid characters only.
* src/graphics/GraphicsConverter.C: remove example script, since it
will get out of date.
(build_script): Copy the original file to a temp file before the
conversion chain starts. This avoids problems with converters that
can't handle ' in filenames.
This commit continues the drastic diet operated on BufferView. It removes all boost signal connections from BufferView::pimpl and put them in LyXView. LyXView already inherits from boost::signals::trackable so this is not a big deal. If you look closely at the signal connections, it all makes sense IMO.
With this change, the only difference between BufferView.h and BufferView_pimpl.h is "cursor.h" so I think it is time to merge the two classes at last.
BufferView:
* showErrorList(), getErrorList(): transfered to LyXView.
BufferView::pimpl
* addError(), showReadonly(), connectBuffer(), disconnectBuffer(): transfered to LyXView.
CutAndPaste.C: adapted to API changes
frontends/controllers/ControlErrorList.C: ditto
lyxfunc.C: ditto
This commit removes the needRedraw() interface and simplify the screen update procedure. It also fixes all crash problems.
The performance may suffer a bit because we do the second drawing step in all cases. This could be possibly optimized out by checking the return value of the BufferView::update() method in "lyxfunc.C:1610". But it is maybe better to keep those two parts of the frontend ignorant of each other: the event handling and the drawing.
BufferView:
* needRedra(), need_redraw_: deleted.
* updateMetrics(): now public.
* update(): only do the first drawing step. Returns true if a full updateMetrics is needed before drawing on screen.
WorkArea:
* redraw(): no check on BufferView::needRedraw(), call updateMetrics() unconditionally.
* processKeySim(): uneeded "redraw()" call commented out. When/if the call to LyXView::redrawWorkArea() in "lyxfunc.C:1610" is not needed anymore, this line should be uncommented out.
* src/text3.C (dispatch): merge the SELECT and non-SELECT cursor
movement LFUNs; use LCursor::selHandle consistently (fixes bugs 2119
and 2259, and also a crash related to with dEPM)
* src/BufferView_pimpl.C
(BufferView::Pimpl::selectionRequest): stuff selection, not clipboard
* src/mathed/math_nestinset.C
(MathNestInset::lfunMousePress): get stuff selection, not clipboard
(MathNestInset::lfunMouseRelease): clipboard -> selection in
commented code
* src/CutAndPaste.C
(cutSelection): ditto
* src/frontends/{qt3,gtk}/GuiImplementation.C
(GuiImplementation::newWorkArea): create new selection, not clipboard,
since the clipboard is now an object
(GuiImplementation::destroyWorkArea): destroy selection, not clipboard
* src/frontends/{qt4,qt3,gtk}/GuiSelection.h: new, copied from
GuiClipboard.h
* src/frontends/{qt4,qt3,gtk}/GuiSelection.C: new, copied from
GuiClipboard.C
* src/frontends/{qt3,gtk}/GuiImplementation.h
(selection): new accessor for selection_
(selection_): new, the global selection object
* src/frontends/{qt4,qt3,gtk}/Makefile.am: add GuiSelection.C and
GuiSelection.h
* src/frontends/{qt4,qt3,gtk}/GuiClipboard.C
(GuiClipboard::get): return clipboard, not selection
(GuiClipboard::put): stuff clipboard, not selection
* src/frontends/{qt4,qt3,gtk}/GuiClipboard.h
(haveSelection): remove (this is now in GuiSelection)
* src/frontends/{qt3,gtk}/GuiClipboard.h
(old_work_area_): remove, since it is not needed anymore
* frontends/WorkArea:
- processKeySym(): new method that should be used by all frontends
instead of buffer_view_->workAreaKeyPress().
* frontends/qt4/GuiWorkArea:
- keyPressEvent(): call WorkArea::processKeySym() instead of
buffer_view_->workAreaKeyPress().
* frontends/gtk/GWorkArea.C:
* frontends/qt3/QContentPane.C:
- call WorkArea::processKeySym() instead of
buffer_view_->workAreaKeyPress()
* CoordCache:
- startUpdating(), doneUpdating(): deleted because the screen drawing
is now done at one place (WorkArea::redraw()) and cannot be called
for within itself. Those debug methods are then not useful.
* frontends/LyXView:
- redrawWorkArea(): new temporary method called from within
BufferView::pimpl::update() that calls WorkArea::redraw()
in order to do the actual screen redrawing.
* frontends/WorkArea:
- the redraw() method now check if the the attached bufferView
needs a screen redraw().
* BufferView:
- needsRedraw(): new method for WorkArea::redraw()
Georg Baum [Sat, 8 Jul 2006 15:11:18 +0000 (15:11 +0000)]
Move more methods from WorkArea to Clipboard in qt3 and gtk
* src/frontends/gtk/GWorkArea.[Ch]
(getClipboard): Move to GuiClipboard.[Ch]
(putClipboard): ditto
Georg Baum [Sat, 8 Jul 2006 14:16:56 +0000 (14:16 +0000)]
make FileName::isZipped more efficient by caching previous results
* src/insets/insetgraphics.C
(copyToDirIfNeeded): replace file_in and zipped arguments with a
FileName argument
(InsetGraphics::prepareFile): adjust call of copyToDirIfNeeded
* src/support/filename.C
(FileName::FileName): set zipped_valid_
(FileName::set): ditto
(FileName::erase): ditto
(isZipped): use zipped_
* src/support/filename.[Ch]
(zipped_): new cache for isZipped()
(zipped_valid_): new, tell whether zipped_ is valid
* Enable man2ps to work without hard-coding the locations of groff or dpost.
* Re-add whitespace fluff to {dvi,dtl}.doc --- minimize change to original package.
* Enable man2ps (and hence doc) targets in Makefile to build out of the box.
Remove quite a few compiler warnings:
- Change unsigned -> signed
- Change signed -> unsigned
- Add a cast or two (really few of those)
- Remove/comment out unused variables
- Comment out unused arguments
- Add missing cases to switches.