Commit Graph

3331 Commits

Author SHA1 Message Date
Bo Peng
bff0d2affb Fix remaining toolbar/session issues
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15696 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-02 23:14:31 +00:00
Abdelrazak Younes
ff3c643f09 - restore a backing pixmap painting strategy: the pixmap is drawn at expose() time.
- the cursor is still a widget, the width is 2-pixel on Windows and 1-pixel on other platforms. The full screen refresh on blinking cursor bug is now gone.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15695 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-02 22:53:10 +00:00
Peter Kümmel
8e54e38c3b enable selection with the mouse for math and tables
Qt doc for QMouseEvent::button(): 
         Note that the returned value is always Qt::NoButton for mouse move events.
    so we must use buttons() instead because later on 
    the code checks for the left button.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15693 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-02 22:23:26 +00:00
Bo Peng
b084ac0a4a Prettier view->toolbars menu.
* src/lyxfunc.C: better handle LFUN_TOOLBAR_TOGGLE_STATE
	* src/frontends/LyXView.h/C: add getToolbarState
	* src/frontends/Toolbars.h/C: add getToolbarState
	* src/MenuBackend.C: change display of menu item.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15692 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-02 18:59:33 +00:00
Bo Peng
eaa33dca6d Session/Toolbars:
* src/LyXAction.C: LFUN_TOOLBAR_TOGGLE_STATE
	* src/session.h/C: add ToolbarSection class
	* src/lyxfunc.C: handle LFUN_TOOLBAR_TOGGLE_STATE
	* src/frontends/LyXView.h/C: toggleToolbarState(name)
	* src/frontends/Toolbars.h/C: initFlags, toogle and save toolbar, 
	    changed update logic
	* src/frontends/qt4/QLToolbar.h/C: saveInfo. Surprisingly little is 
	    asked from frontend.
	* src/frontends/qt4/GuiView.C: save toolbar when lyx exits
	* src/MenuBackend.h/C: add Toolbars submenu
	* src/lfuns.h: add LFUN_TOOLBAR_TOGGLE_STATE
	* src/ToolbarBackend.h: add AUTO flag
	* lib/ui/stdmenus.ui: add view->Toolbar menu


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15691 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-02 16:01:36 +00:00
Abdelrazak Younes
5cadc33792 This commit initialise correctly the tab bar in a new window.
* GuiView::init(): switch to the first avalaible buffer if any.

* GuiWorkArea::focusInEvent(): update the LyXView tab bar there.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15685 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-01 22:57:32 +00:00
Peter Kümmel
5c92641c4d disable scrollbar when it is not needed, especially for the empty start up window
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15677 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-01 17:51:56 +00:00
Peter Kümmel
1364943414 add link to Qt bug
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15665 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-01 14:40:02 +00:00
Peter Kümmel
a252679cca add missing header, forgotten because of the Qt precompiled headers
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15641 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-31 14:57:25 +00:00
Peter Kümmel
bc0eb0b97f add missing header
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15640 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-31 14:46:38 +00:00
Peter Kümmel
7ea5cb8d15 enable movable toolbars
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15639 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-31 14:39:16 +00:00
Peter Kümmel
8669b0087e Add tab support
frontends/LyXView.h
	- add tab update function 
	
frontends/qt4/GuiView.h
	- add tab update function
	- add function for setting up the tabs
	- add slot for the tab clicks
	- add pimpl
	
frontends/qt4/GuiImplementation.C
	- don't set the buffer as central widget 
	  but initilize the tabs
	  
frontends/qt4/GuiView.C
	- use QTabBar for switching
	- scan the bufferlist on updates
	
frontends/LyXView.C
	- also update the tabs
	


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15637 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-31 14:12:46 +00:00
Peter Kümmel
b15b581f57 * frontends/Toolbars.C:
revert first patch http://www.lyx.org/trac/changeset/15597
* frontends/qt4/GuiView.C:
	don't 'break' the toolbar because it doesn't work if 
	the toolbar will be hidden





git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15636 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-31 13:59:22 +00:00
Michael Schmitt
4292f4e9e9 remove references to Qt3/Gtk
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15630 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-30 21:45:37 +00:00
Georg Baum
e61e83ec20 Work around a possible gcc bug: Since Abde'ls recent changes gcc does not
like virtual methods in the base class anymore even if they are implemented.
	* src/frontends/Painter.h
	(rectText): remove the virtual qualifier
	(buttonText): ditto
	(underline): ditto
	(buttonFrame): ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15625 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-30 18:56:22 +00:00
Abdelrazak Younes
65354d63a7 small cosmetic cleanups:
* delete some comments
* use lyxerr instead of cout in PanelStack
* move PanelStack into lyx::frontend namespace


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15623 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-30 14:39:05 +00:00
Abdelrazak Younes
e918c00190 small cleanup while looking for a bug.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15622 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-30 14:15:05 +00:00
Jürgen Spitzmüller
6eeb83498c * QPrefScreenFontsUi.ui: assing label to the correct (and existing) buddy.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15621 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-30 14:05:06 +00:00
Abdelrazak Younes
fbcc021da6 small cleanup while looking for a bug.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15620 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-30 13:49:41 +00:00
Abdelrazak Younes
992fe1dba6 * QLPainter:
- ctor and dtor moved to public:
  - QLPainter(): takes a QPaintdevice instead of a QWidget.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15619 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-30 13:16:18 +00:00
Abdelrazak Younes
7a4c86b184 * Painter::isDrawingEnabled():
- make the method const
  - delete the const on return value because they are not really mandatory for POD (Plain Old Data)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15617 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-30 11:55:13 +00:00
Abdelrazak Younes
662974406a Forgot that also!
* QLPainter::~QLPainter: add virtual

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15616 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-30 11:04:37 +00:00
Abdelrazak Younes
73ed0b5203 * Painter.h:
* Painter: new ctor that sets drawing_enabled_ to true.
  * setDrawingEnabled(), isDrawingEnabled(): new methods.

* QLPainter.C: only draw if drawing is enabled.

* nullpainter.h: deleted.

* rawpainter.C::paintPar(): only draw if we are inside the Paragraph.

* InsetTabular::draw(): use new Painter method instead of a NullPainter.

* InsetMathNest::drawSelection(): ditto.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15613 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-30 10:09:59 +00:00
Abdelrazak Younes
ee319c6e83 * guiapi.[Ch]: deleted.
Angus L. explanation: Lars introduced it years ago when he got exited by the idea 
of dll-importing the frontend library, but the idea never came to anything 
concrete. The file can always be resurrected later on; it's meant to be a C-
language wrapper to our C++ frontend library calls.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15611 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-30 08:13:02 +00:00
Michael Schmitt
9ecf6723bc * src/frontends/Toolbars.h:
* src/frontends/Toolbars.C: rename change_tracking to review
        * lib/ui/default.ui: remove duplicate "review" toolbar
        * src/frontends/LyXView.C: implement context-sensitivity for 
        the review toolbar


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15610 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-29 22:50:24 +00:00
Bo Peng
b9c604e968 session: rename some functions
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15607 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-29 20:01:00 +00:00
Georg Baum
7fd7b25a3c Fix more member variable initialization order warnings from gcc.
Does nobody care about this???



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15604 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-29 16:16:00 +00:00
Peter Kümmel
577eaa14f8 Show Change Tracking toolbar, prepare hiding/positioning:
- src/frontends/Toolbars.h: control displaying of CT toolbar with a parameter
 - src/frontends/Toolbars.C: control displaying of CT toolbar with a parameter
 - src/frontends/LyXView.C : show CT toolbar
 - src/ToolbarBackend.C    : add CT toolbar to default.ui as REVIEW
 - lib/ui/default.ui       : add CT toolbar to default.ui
 - src/ToolbarBackend.h	   : add CT toolbar type  REVIEW



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15598 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-29 11:13:46 +00:00
Peter Kümmel
13aaaf3b2f fix bug: table toolbar icons in menubar, hiding will be handled by the next patch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15597 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-29 10:42:21 +00:00
Peter Kümmel
32e777c786 remove warning, use shorter code
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15595 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-28 17:14:51 +00:00
Michael Schmitt
5d166accfe * qt4/GuiFontMetrics.C: remove qt3 compatibility code
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15594 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-28 16:01:12 +00:00
Abdelrazak Younes
37e8b2c0f4 Compilation fix for Mac and Linux:
* add QWidget header.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15593 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-28 15:28:18 +00:00
Abdelrazak Younes
3c296efd19 simplify paintText() interface.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15590 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-28 09:59:43 +00:00
Abdelrazak Younes
54bdecdb48 remove paperHeight() and paperWidth() in Painter and inherited classes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15589 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-28 09:36:22 +00:00
Abdelrazak Younes
56be946751 delete unused code and comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15588 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-28 09:19:37 +00:00
Abdelrazak Younes
9b89f1d4ad stop/start the blinking cursor when the WorkArea get a focusInEvent or focusOutEvent.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15586 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-27 23:26:52 +00:00
Abdelrazak Younes
1372f311d3 replace the map based width cache with an array based one.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15585 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-27 22:46:36 +00:00
Abdelrazak Younes
7f94f08bbe * GuiFontMetrics: new metrics(QString) method
* QLPainter::paintText(): use GuiFontMetrics::metrics(QString) to avoid an ucs4 to QString conversion.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15584 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-27 21:27:03 +00:00
Bo Peng
0fc684e6e6 class session reorganization
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15581 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-27 14:18:03 +00:00
Abdelrazak Younes
d916db37b0 MacOSX optimisation:
* QLPainter::paintText(): use the font width cache instead of the painter metrics.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15580 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-27 13:36:23 +00:00
Peter Kümmel
fe784fe9d3 when we use QDesktopWidget we should include it
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15577 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-27 11:47:59 +00:00
Peter Kümmel
a96cb88ccd GuiView.C: recover from silly window positions
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15574 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-27 08:40:08 +00:00
Georg Baum
fa1856440c Restore inputenc support
* src/encoding.h
	(encoding_table): remove, this is no longer needed with unicode
	(iconvName_): new member: name of the encoding in iconv syntax

	* src/exporter.C
	(Exporter::Export): Use return value of Buffer::makeLaTeXFile

	* src/buffer.[Ch]
	(Buffer::makeLaTeXFile): return whether the file has been created
	successfully

	* src/buffer.C
	(Buffer::makeLaTeXFile): Use a docstream that converts to the correct
	encoding
	Display an error dialog is something went wrong

	* src/bufferparams.C
	(BufferParams::writeLaTeX): Undo the utf8 inputenc hack

	* src/frontends/qt4/QDocumentDialog.C: Add some FIXMEs

	* src/support/unicode.[Ch]
	(eightbit_to_ucs4): New conversion function
	(ucs4_to_eightbit): New conversion function

	* src/support/docstream.[Ch]
	(utf8_codecvt_facet_exception): Move to header and rename to
	iconv_codecvt_facet_exception
	(odocfstream): Take the encoding as argument

	* src/support/docstream.C
	(utf8_codecvt_facet): Generalize to other encodings than utf8 and
	rename to iconv_codecvt_facet

	* src/encoding.C: Remove obsolete tables

	* src/output_latex.C
	(TeXOnePar): Convert the paragraph to different encoding if needed

	* lib/encodings: Remove obsolete tables


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15564 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-26 15:01:45 +00:00
Abdelrazak Younes
128a8ef3e8 This commit fixes 3 crashes when reverting a document:
1) crash in GuiWorkArea::paintEvent(), this one is solved by by encapsulating the file loading in LyXView by busy(true)/busy(false) and by disabling/enabling the work area update in GuiView::busy().

2) crash in the cursor blinking because the cursor is timed out at the moment you click on "Revert". So the blinking cursor is now disabled/enabled in GuiView::busy().

3) crash in BufferView::setBuffer() because the current buffer was already closed folling the "revert" command. 
* BufferView::loadLyXFile(): set buffer_ to 0 in case of a reload (when document is reverted)

* LyXView:
  - busy() is not const anymore (work_area_ is modified in GuiView) 
  - loadLyXFile(): encapsulate the file loading with busy(true)/busy(false)
  - setBuffer(): encapsulate the buffer-switching with busy(true)/busy(false)

* GuiView::busy()
  - disable/enable workarea updates.
  - disable/enable blinking cursor.

* WorkArea: new startBlinkingCursor() and stopBlinkingCursor() methods.

* rowpainter.C:
  - paintText(): make sure there is a Buffer from which to paint.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15556 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-26 13:29:10 +00:00
Peter Kümmel
b6a7dd3aa7 src/frontends/qt4/GuiWorkArea.C:
use position returned by BufferView
src/bufferview_funcs.C: 
    adjust cursor x-position by hand



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15555 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-26 11:01:34 +00:00
Abdelrazak Younes
1e3d50b669 Fix (hopefully) gcc warning about initialization order in constructor.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15553 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-26 08:01:48 +00:00
Edwin Leuven
6b20411c6a add fixme for cursor positioning
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15544 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-25 09:20:07 +00:00
Abdelrazak Younes
8571d4c0b8 compile fix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15543 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-25 07:48:48 +00:00
Michael Schmitt
fe2abd3846 * src/frontends/qt4/GuiWorkArea.C: fix cursor positioning
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15541 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-24 21:12:46 +00:00
Edwin Leuven
87b93ca808 add missing lyx::
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15539 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-24 19:05:26 +00:00
Edwin Leuven
d539ab8282 Layout improvements
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15538 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-24 17:52:37 +00:00
Abdelrazak Younes
b86a8d09b3 Fix cursor size...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15537 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-24 16:38:17 +00:00
Abdelrazak Younes
55eae1a7f8 * Gui.h: new closeAll() pure virtual method.
* qt4/Alert_pimpl.C: make sure the proper Qt attributes are set.

* GuiApplication::quitLyx(): add the "force" argument to the funcRequest.

* GuiImplementation:
  - GuiImplementation(): remove the signal connection. This was triggered after the LastWindowClosed signal so was not useful.
  - cleanupViews(): renamed to unregisterView() and handle the WorkAreas as well.
  - closeAll(): new method (from LyXView).

* GuiView.C
  - clean up the includes order.
  - closeEvent(): make sure that theBufferList().quitWriteAll() is called if last window closed.

* lyx_main.C / LyX::quit():
  - remove noAsk argument
  - delete bufferList::quitWriteAll() call (this is handled in the frontend).
  - delete Session stuff (ditto)

* LyXFunc::dispatch()
  - LFUN_LYX_EXIT: close all window before exiting from user command (as opposed to last window closed).



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15535 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-24 15:01:07 +00:00
Edwin Leuven
163dcb1210 - implement sizeHint()
- set minimum width of QTreeWidget
- bit of cleanup

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15526 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-24 11:32:20 +00:00
Abdelrazak Younes
2e56c97bcc fix crash on exit.
* LyXView::setBuffer(): returns early if quitting.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15521 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-24 07:55:46 +00:00
Abdelrazak Younes
f4857dab04 new LFUN_WINDOW_CLOSE
* LyXFunc:
  - dispatch(): transfer assertion on lyx_view_ to each LFUN on a case by case basis.
  - dispatch(): new LFUN_WINDOW_CLOSE
  - getStatus(): special treatment for LFUN_LYX_QUIT

* LyX:
  - views_, addLyXView(): deleted
  - quit(): call saveGeometry() on each LyXView before exiting.

* GuiApplication:
  - is now a QObject.
  - quitLyX(): new Qt slot for lastWindowClosed signal.

* Gui.h:
  - destroyView(), destroyWorkArea(): deleted
  - viewIds(): new method

* GuiImplementation:
  - implement above changes.
  - GuiImplementation is now a QObject
  - cleanupViews(): new private slot.
  - buildViewIds(): new helper method
  - views_ and work_areas_ are now maps of raw pointers instead of schared_ptr.

* LyXView
  - now stores its id.
  - dispatch(): special treatment for LFUN_WINDOW_CLOSE.
  - workAreaIds(): new method.
  - close(): new pure virtual method.
  - saveGeometry(): new pure virtual method.

* GuiView:
  - implements above changes.
  - GuiView(): set WA_DeleteOnClose and Qt::WA_QuitOnClose to let Qt manage the destruction on close().
  - closeEvent(): session stuff transfered to saveGeometry()

* WorkArea
  - now store its id.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15514 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-23 16:29:24 +00:00
André Pönitz
5c4c5d9b05 cursor cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15504 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-23 11:34:43 +00:00
André Pönitz
4774536389 cursor is no more damaging the background. L-shaped cursor is broken right now. will fix later
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15503 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-23 11:19:17 +00:00
André Pönitz
387b8a1394 do not draw to intermediate pixmap
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15502 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-23 08:47:27 +00:00
André Pönitz
1852693005 do not draw to intermediate pixmap
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15501 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-23 08:46:09 +00:00
André Pönitz
8a1e6d6759 microoptimization
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15493 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 19:33:37 +00:00
Asger Ottar Alstrup
a127d540d3 - LyX is dead slow, so the least we can do is use anti-alised text
- Various micro-optimisations
- Revert Abdel's repaint instead of update for QPainter
- Get rid of unused methods in GuiWorkArea



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15491 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 18:49:18 +00:00
Lars Gullik Bjønnes
8f261b1529 The Gtk removal from trunk.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15488 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 18:05:16 +00:00
André Pönitz
153c997228 cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15487 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 17:58:09 +00:00
André Pönitz
dc94575f2b make macrfos readable again
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15479 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 14:37:32 +00:00
Asger Ottar Alstrup
6bcdafcd9c - Do not use kerning, because that fucks up cursor positioning for good
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15474 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 13:10:12 +00:00
Asger Ottar Alstrup
9031593ae1 - fix broken behaviour of Scrollbar and MouseWheel when
changing between using it and the keyboard-cursor
  movements.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15473 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 12:36:31 +00:00
Asger Ottar Alstrup
37e164c6f9 - rework update handling, make cursor movement faster,
fixing lots of navigation problems.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15470 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 11:46:36 +00:00
Abdelrazak Younes
98a81507ad Immediate rendering of buffer change for one or multiple LyXView.
* Buffer: new changed() boost::signal.

* LyXView:
  - redrawWorkArea(): deleted
  - bufferChangedConnection_: new signal connection

* LyXFunc: replace LyXView::redrawWorkArea() direct call with Buffer::changed() signal emission.

* WorkArea.C: deleted some comments about redrawWorkArea.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15464 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 10:51:59 +00:00
André Pönitz
de6418f377 use more unicode in math
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15462 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 10:15:23 +00:00
Asger Ottar Alstrup
2c0d4b31ee - Fix sign error in Cursor::setSelection
- Add debugging input
- If cursor::dispatch does not handle the func, then it should not request an update
- Dump metrics cache after redraw


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15443 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 11:29:34 +00:00
Asger Ottar Alstrup
6ac15c5bb9 - Dump the inset position cache as well
- More debugging printing stuff


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15441 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 10:56:36 +00:00
Abdelrazak Younes
4d3fbc113f My six month cleanup crusade is now paying off: LyX has now multiple windows support!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15438 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 09:45:11 +00:00
Lars Gullik Bjønnes
604962d968 Some updates, but not enough to get it compiling
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15437 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 09:31:21 +00:00
Michael Schmitt
16000174ad * GMathDelim.C: don't mention qt3 frontend
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15435 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 09:08:27 +00:00
André Pönitz
a63cddf51c remove qt3 frontend
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15432 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 08:35:47 +00:00
Lars Gullik Bjønnes
3df82b3c25 fix some problems
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15430 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 08:25:29 +00:00
André Pönitz
6c300f72a2 move everything into namespace lyx
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15422 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 00:16:43 +00:00
Asger Ottar Alstrup
4f3033ff91 - Comments
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15417 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-20 19:40:02 +00:00
Lars Gullik Bjønnes
b27bb5cb53 Change (and fix) the bullets in itemize to be more unicode friendly.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15416 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-20 19:26:23 +00:00
Georg Baum
3bbbc1437b Use the new InsetCommandParams interface (frontend part), from Ugras and me
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15408 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-20 13:53:43 +00:00
Enrico Forestieri
899fb06023 Fix some glitches with fixed size delimiters
* src/mathed/MathParser.C
	(parse1): behave correctly when a wrong delimiter is specified.

	* src/mathed/InsetMathBig.C
	(write): don't write a space before delimiter.

	* src/frontends/qt4/QDelimiterDialog.C
	(QDelimiterDialog): make translatable the string "Variable size".


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15397 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-20 10:43:53 +00:00
Lars Gullik Bjønnes
0d449056ef Output docbook as utf8. Probably quite a bit more work needed, but then help form a docbook person is needed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15387 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-19 21:00:33 +00:00
Georg Baum
8b67659646 Use UTF8 for LaTeX export.
Known problems:
- No space is output after a \hfill. I probably broke this with the
  InsetCommand patch. I'll have a look later.
- Although the encoding is now UTF8 the arguments of the inputenc package
  are still the old ones, so LaTeX will not run.
- Labels and references with non-ASCII characters are broken. This needs to
  be fixed in lyx::support::escape(), but this is a file format change.
- Something seems to be wrong with index entries, but this is probably also
  due to the InsetCommand changes.

Have fun!


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15378 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-19 16:51:30 +00:00
Asger Ottar Alstrup
542910316c - Boring promote and demote instead of the sexy in and out
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15374 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-19 15:30:18 +00:00
Abdelrazak Younes
f23082917e - Fix a crash when IN is clicked multiple time in a single line document.
- Polish the behavior when the TOC is empty (clearing the button and the TOC tree)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15373 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-19 14:35:06 +00:00
Michael Schmitt
b55f70432c Change tracking:
src/paragraph.h: remove obsolete isChangeEdited(...);
        remove obsolete isInsertedText(...); turn 
        isDeletedText(...) into Paragraph::isDeleted(...)

        src/paragraph_pimpl.h: remove obsolete isChangeEdited(...)

        src/changes.h: remove obsolete isChangeEdited(...)

        src/insets/insetert.C:
        src/paragraph_pimpl.C:
        src/frontends/controllers/ControlSpellchecker.C:
        src/rowpainter.C:
        src/changes.C:
        src/paragraph.C:
        src/buffer_funcs.C: adjust properly


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15371 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-19 12:49:11 +00:00
Abdelrazak Younes
ee89a6e45e Just cosmetics and remove a FIXME.
Now, lyx is really ready for multiple LyXView. Just need to create an LFUN for it.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15370 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-19 10:32:38 +00:00
Abdelrazak Younes
1f8fe29384 This commit transfers the singletons defined in the Application class to the private LyX::Singletons implementation. It also put the session_ member and top_level_keymap global variable into this Singleton structure.
This commit also modifies the LyXFunc class. A LyXView is not needed any more at construction. Neither is the top level keymap. The LyXFunc key sequences are initialized only if we are in GUI mode (lyx::use_gui = true).
The next step is to rename LyXFunc::owner to LyXFunc::lyx_view_ and to put some BOOST_ASSERT. A classification between Gui and Kernel oriented LFUNs would also be welcome.

*LyX/lyx_main.[Ch]:
 - LyX::Singletons: new private structure containing all the singletons (except the main LyX one of course).
 - buffer_list_, top_level_keymap, session_: transfered to the LyX::Singletons structure.

* LyXFunc:
  - LyXFunc: default constructor does not need any arguments.
  - setupLocalKeymap(): deleted (was not used anywhere).
  - initKeySequences(): new public method called from lyx_main.C, useful only in lyx::use_gui mode.
  - new private member accessor methods

* Application:
  - Application_pimpl: deleted (transfered to LyX)
  - global singleton accessors: transfered to lyx_main.C
  - start(): code transfered to LyX::priv_exec()


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15367 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-19 07:20:32 +00:00
Georg Baum
d3d22383ed convert tooltips to unicode
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15365 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-18 20:51:16 +00:00
Georg Baum
72defe22ed It compiles again. I must be crazy. At least it does not run but segfaults
on startup.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15364 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-18 20:35:06 +00:00
Georg Baum
e343febe0b fontloader for gtk, probably not efficient
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15363 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-18 20:19:55 +00:00
Georg Baum
1e12ef87f5 forgot this
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15359 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-18 08:44:44 +00:00
Georg Baum
dc76f58590 more compile fixes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15358 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-17 21:15:07 +00:00
Georg Baum
b02242bfaf Rework InsetCommandParams interface and file storage
* src/insets/insetcommandparams.[Ch]:
	(operator[]): New, access a parameter
	(clear): New, clear all parameters
	(info_): New, stire info about this command
	(cmdname): Rename to name_
	(contents, options, sec_options): Replace with params_. Parameters
	are now stored as docstring.
	(findInfo): New factor for command info for all commands
	(read, write): Use new syntax
	(parameter set and get methods): reimplemenmt for new parameter storage

	* src/insets/insetcommand.h
	(getParam): New, get a parameter
	(setParam): New, set a parameter
	(parameter set and get methods): Adjust to InsetCommandParams changes

	* src/insets/insetbibitem.[Ch]
	(write): Remove, not needed anymore
	(directWrite): ditto

	* src/insets/insetbibitem.C
	(InsetBibitem::read): Use InsetCommand::read

	* src/insets/insetref.C
	(InsetRef::latex): Use new InsetCommandParams interface

	* src/mathed/InsetMathHull.C
	(InsetMathHull::doDispatch): ditto

	* src/text3.C
	(LyXText::dispatch): ditto

	* src/factory.C
	(createInset): Create InsetCommandParams with command name
	(readInset): ditto
	(readInset): Remove error message for bibitem, since bibitem is
	now a normal command inset

	* src/buffer.C: Bump file format number

	* src/frontends/controllers/ControlCommand.[Ch]
	(ControlCommand): take an additional command name parameter

	* src/text.C
	(readParToken): Remove code for \bibitem

	* lib/lyx2lyx/LyX.py: Bump latest file format number

	* lib/lyx2lyx/lyx_1_5.py
	(convert_bibitem, convert_commandparams): new, convert to new format
	(revert_commandparams): new, convert to old format

	* development/FORMAT: document new format

	* many other files: Adjust to the changes above


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15357 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-17 21:07:16 +00:00
Jürgen Spitzmüller
a41bb78a0e fix bug 2910:
* src/frontends/qt3/QDocumentDialog.C (updateNumbering): don't include headings
	that have no counter in their label.
* src/frontends/qt3/ui/NumberingModuleBase.ui: show scrollbar when appropriate.

* src/frontends/qt4/QDocumentDialog.C (updateNumbering): don't include headings
	that have no counter in their label.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15352 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-16 16:21:52 +00:00
Georg Baum
80080dcfae partial compile fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15348 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-16 09:53:30 +00:00
Abdelrazak Younes
0823fb6f86 Fix Toc dialog crash when TOC is empty.
* QToc::update(): return early if no TOC type.

* QTocDialog::updateGui(): return early of the Type model is empty and disable the outline buttons.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15346 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-16 08:51:55 +00:00
Abdelrazak Younes
c7e365365e This commit saves the need to check for lyx::use_gui in a number of places.
* lyx_main.h: define "extern bool lyx::use_gui" here.

* NoGuiFontMetrics.h: new class for command-line LyX

* NoGuiFontLoader.h: new class for command-line LyX

* Application.C:
  - theFontMetrics(): returns the above dummy FontMetrics when use_gui is false.
  - theFontLoader(): returns the above dummy FontLoader when use_gui is false.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15339 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-15 21:47:29 +00:00
Georg Baum
3db6e94596 fix typos
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15336 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-15 09:20:25 +00:00
Abdelrazak Younes
c585c2421b Add comments WRT to where the function implementations are.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15334 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-14 19:58:42 +00:00
Abdelrazak Younes
3cb466603c add some assertions.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15330 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-14 13:15:46 +00:00
Abdelrazak Younes
c5dd10f93e * GuiApplication: explicitly clear out socket_callbacks_ in the destructor.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15325 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-13 16:48:12 +00:00
Abdelrazak Younes
1271f473f0 WorkArea::processKeySim(): ensure that LyXFunc holds the proper LyXView.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15322 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-13 14:15:31 +00:00
Abdelrazak Younes
e2eb1d9692 * Gui::newView(): cleanup unused arguments.
* qt4/GuiImplementation.h: remove duplicate unused newWorkArea() method definition.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15317 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-12 22:30:42 +00:00
Abdelrazak Younes
53bbb6ed7a * GuiApplication.C: align Windows with other platform. No more static trick!
* lyx_main:
  - LyX::application_ : new scoped_ptr member containing the Application instance.
  - LyX::priv_exec(): initialize application_.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15316 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-12 22:02:45 +00:00
Abdelrazak Younes
1384e32430 fix formatting issue.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15314 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-12 20:03:09 +00:00
Georg Baum
0891c2e99a Replace crash on startup with a memory leak.
* src/frontends/qt[34]/GuiApplication.C
	(lyx::frontend::Application * createApplication): Don't return the
	address of a temporary, but use the new operator.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15313 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-12 19:40:04 +00:00
Georg Baum
bd8fc3aed3 compile fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15311 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-12 16:50:47 +00:00
Abdelrazak Younes
eedd7bd25f ensure that theLyXFunc is set to the proper LyXView.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15310 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-12 15:23:49 +00:00
Abdelrazak Younes
6b256d52c4 preliminar support for multiple LyXView.
* LyXFunc: new setLyXView() method

* LyXView::dispatch(): call LyXFunc::setLyXView() before lyx::dispatch()

What remains to be done is to ensure that every call to lyx::dispatch that is LyXView dependant is replaced with LyXView::dispatch().


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15308 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-12 14:58:57 +00:00
Abdelrazak Younes
83ffa28e77 This commit is purely mechanical and get rid of lyx_gui.[Ch].
Only qt4 is guaranted to compile and work. I did not remove gtk and qt3 lyx_gui.C because they might be needed for reference to complete the header declarations in "GuiApplication.C".

 - lyx_gui::use_gui transfered to lyx::use_gui in lyx_main.C
 - all remaining lyx_gui functions transfered to Application and corresponding GuiApplication implementations. 


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15306 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-12 14:10:13 +00:00
Georg Baum
79c876d4c3 Convert labels to unicode
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15305 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-12 10:50:45 +00:00
Abdelrazak Younes
3b21b04e9c * LyX class (lyx_main.[Ch]):
- new buffer_list_ member and accessors
  - implementation of theBufferList() extern function

* Application: remove everything related to BufferList

* lyx_cb.C: test for lyx::use_gui before using theApp.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15303 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-11 22:30:31 +00:00
Georg Baum
34b7650cbb Introduce wide streams. This fixes the remaining problems of plain text
export (e.g. the ToC) and the navigate menu.

	* src/insets/insetbase.h
	(InsetBase::plaintext): output to a docstream
	(InsetBase::textString): ditto

	* src/mathed/TextPainter.h
	(TextPainter::show): ditto

	* src/support/docstream.[Ch] New file and string streams for
	docstring. The file streams convert to UTF8 on the fly.

	* many more files: Adjust to the changes above


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15301 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-11 19:40:50 +00:00
Georg Baum
e1d0ce0a6e qt3 compiles again
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15299 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-11 18:32:32 +00:00
Abdelrazak Younes
28ad960255 This commit cleans up everything related to singleton. The other important change is that lyx::dispatch() and lyx::getStatus become _the_ official way to use LyXFunc equivalent methods.
* lyxfunc.h:
  - theLyXFunc(): new function in the global namespace.
  - lyx::dispatch():  new function in the lyx namespace.
  - lyx::getStatus():  new function in the lyx namespace.

* bufferlist.h:
  - theBufferList(): new function in the global namespace.

* Clipboard.h:
  - theClipboard(): new function in the global namespace.

* Selection.h:
  - theSelection(): new function in the global namespace.

* FontLoader.h:
  - theFontLoader(): new function in the global namespace.

* FontMetrics.h:
  - theFontMetrics(LyXFont const &): new function in the global namespace.

* Application.C: implements the functions defined above.

* LyXView.h:
  - getLyXFunc(): deleted.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15298 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-11 17:24:46 +00:00
Abdelrazak Younes
68ee23313a remove the focusInEvent() and focusOutEvent() that had so many bad side effect...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15297 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-11 13:01:12 +00:00
Abdelrazak Younes
4803b5be6c MacOSX compilation fixes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15295 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-10 15:56:41 +00:00
Abdelrazak Younes
4add252628 * frontends/Painter:
- text(): now returns drawn text width()

* rowpainter:
 - paintChars(): use the returned width from Painter::text() instead of recalculating it.

All other files: implement the API change. qt3 and gtk not 100% guaranted to compile nor work.






git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15294 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-10 13:24:08 +00:00
Abdelrazak Younes
f5f4b31f4a This commit is converting everything related to browsing to unicode (qt4 only).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15293 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-09 16:33:20 +00:00
Jean-Marc Lasgouttes
41d7e4c394 compilation fixes for qt3 after Abdel's latest changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15292 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-09 16:08:27 +00:00
Abdelrazak Younes
e7a64fb3e4 even more unicode work...
qt3 and gtk not guaranted to compile nor work.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15288 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-09 13:28:32 +00:00
Abdelrazak Younes
c594a2f9d8 incomplete qt3 and gtk support for Revision 15283
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15286 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-09 12:46:08 +00:00
Abdelrazak Younes
abca4c7a25 more unicode Work: Menubar and Toolbar.
No idea whether qt3 and gtk compiles.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15285 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-09 12:30:55 +00:00
Abdelrazak Younes
f9c4f9cca3 more unicode work.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15284 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-09 12:07:05 +00:00
Abdelrazak Younes
e6fea4b844 Patch 1 Log:
* controllers/Dialog.[Ch]
  - View::title_ is now a docstring (ctor and access functions changed)

* controllers/ControlLog.[Ch]
  - title() now returns a docstring

* controllers/ControlLog.[Ch]
  - title() now returns a docstring

* qt4/*: adapted to above changes.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15283 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-09 10:35:14 +00:00
Abdelrazak Younes
e7c4a0554c more unicode work.
* lstrings.[Ch]: new docstring trim() function

* qt4/validators.C: PathValidator::validate() and printable_list() converted to unicode.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15281 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-09 09:15:37 +00:00
Abdelrazak Younes
742cd190cb revert to revision 15266
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15280 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-08 14:24:12 +00:00
Abdelrazak Younes
c8e5745e20 * ControlChanges:
- getChangeAuthor() and getChangeDate(): converted to unicode.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15279 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-08 10:32:33 +00:00
Georg Baum
94c10102c0 Compile fix. This was easy, since the code is alsmost identical to qt4,
but I am not going to do gtk.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15271 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-08 07:39:02 +00:00
Georg Baum
3f0d2901c2 Avoid another name clash (probably #define check ...) on OS X with Qt 4.2.0
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15270 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-08 06:57:46 +00:00
Georg Baum
a774f10c0c remove double include
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15269 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-07 17:09:30 +00:00
Georg Baum
2b477c1f68 remove unused variable
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15268 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-07 17:07:46 +00:00
Georg Baum
6ada61e182 Rename namespace Alert to lyx::frontend::Alert.
This prevents a name clash with Qt 4.2.0 on OS X.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15267 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-07 16:47:54 +00:00
Abdelrazak Younes
a21259dd02 * qt_helpers:
- ucs4_to_qchar() and qchar_to_ucs4() have been inlined.
  - ucs4_to_qstring(): pass a QString to avoid a copy.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15266 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-07 16:30:26 +00:00
Abdelrazak Younes
00edcc582f This commit is a big rework of the FontLoader/FontMetrics interaction. Only Qt4 for now, I would be grateful is somebody steps up for qt3 and gtk.
Basically, I replaced all methods in the font_metrics namespace by a proper virtual interface FontMetrics. The FontLoader is _the_ container for FontMetrics.

This patch should also bring some optimizations in a number of place in the code. This is because we do not need any more to search for the LyXFont at each font_metrics call. In effect, the speed advantage is not as sensible and this is a bit deceiving considering that this was my primary motivation behind the patch. But I like the patch anyway as it cleans up the relation and interfacing between fonts, metrics and frontends.

* frontends/FontMetrics.h: new virtual interface. Renamed from font_metrics.h

* qt4/GuiFontMetrics: corresponding qt4 implememtation. Renamed from qfont_metrics.C. The smallCaps particular case treatment has been transfered here as well as the width cache for MacOSX and Windows.

* qt4/QLPainter.C: the smallCapsText has been reworked to return the width of the drawn text.C

all other files: replace font_metric helper function call with corresponding FontMetrics method calls.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15265 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-07 16:15:06 +00:00
Abdelrazak Younes
f2ca75b3ac remove LFUN_TOOLTIPS_TOGGLE and associated Dialog::tooltipsEnabled() method.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15263 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-06 21:49:13 +00:00
Abdelrazak Younes
f54f0e2d4c * lyx_gui: parse_lyxrc() and getStatus() methods deleted.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15256 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-05 16:52:04 +00:00
Abdelrazak Younes
c77b5dbee1 enable the font width cache for Windows also, it saves three seconds on the UserGuide test on my machine (18s versus 21 second).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15235 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-04 12:43:13 +00:00
Abdelrazak Younes
78135f7751 enable Font cache only for MacOSX and inline width() for other platform.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15233 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-04 10:08:51 +00:00
Abdelrazak Younes
6c2577d98d MacOSX compilation fix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15230 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-04 09:34:56 +00:00
Georg Baum
b9f008e2ba compile fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15226 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 20:03:25 +00:00
Abdelrazak Younes
205096733a This commit introduces the FontLoader interface class. In the future, I intend to extend it with a proper encapsulation of font metrics.
* frontends/FontLoader.h: new interface class.
* frontends/Application.h: new FontLoader() pure virtual method
* frontends/lyx_gui: update_fonts() and font_available() methods deleted

* [qt3/qt4/gtk]/GuiApplication: implement the new interface

* qt4/GuiFontLoader:
  - renamed from FontLoader
  - now derives from FontLoader
  - now in the lyx::frontend namespace

* qt3/qfont_loader
  - now derives from FontLoader

* gtk/xftFontLoader
  - now derives from FontLoader



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15220 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 16:17:32 +00:00
Abdelrazak Younes
1b8c2a95df use theApp directly for default fonts.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15214 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 14:21:15 +00:00
Abdelrazak Younes
f1d2dfadbc Put back doxygen comments deleted from lyx_gui.h.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15212 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 13:59:01 +00:00
Abdelrazak Younes
85d2e4b917 * lyx_gui: create_view(), start() and exit() functions deleted.
* lyx_main.C and lyx_cb.C: use Application methods directly instead of the above functions.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15211 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 13:38:28 +00:00
Abdelrazak Younes
046c9bb9e3 transfer lyx_gui::exit() to frontends/lyx_gui.C
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15209 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 11:42:33 +00:00
Abdelrazak Younes
63ad5449fb This commit creates a new "frontends/lyx_gui.C" that contains all functions that are not frontend dependent any more. It also creates 3 new pure virtual methods in Application:
virtual std::string const romanFontName() = 0;
virtual std::string const sansFontName() = 0;
virtual std::string const typewriterFontName() = 0;

My goal is to transfer all of "frontends/*/lyx_gui.C" to "frontends/lyx_gui.C". When this is done, "frontends/lyx_gui.C" can go altogether as its functions will then be replaced with direct calls to theApp->XXX().

* frontends/lyx_gui.C: new file with code transfered from [qt3,qt4,gtk]/lyx_gui.C

* frontends/Application: 3 new font related pure virtual methods

* [qt3,qt4,gtk]/GuiApplication: implement the above method with code transfered from lyx_gui.C


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15208 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 10:34:10 +00:00
Abdelrazak Younes
d1e7c7e0ab Integrate Application_pimpl into Application.C.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15206 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 08:43:32 +00:00