Commit Graph

364 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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