Commit Graph

3580 Commits

Author SHA1 Message Date
Abdelrazak Younes
4d5ae916ad Fix bug 3293 by Bernhard Roider:
This changes the semantics of isOK() and operator(), comments from Bernhard below:

With the old version of lyxlex it was _impossible_ to check whether reading an integer, float, ... succeeded or not. The current solution to check for is.bad() in some cases and in other cases use is.good() does not give the desired information. Moreover the result of is.bad() depends on the stl implementation and behaves different for linux and windows.

the bug was introduced by the patch that fixed the bug that crashed lyx when "inset-insert ert" was executed from the command buffer.
The lexer has the method isOK() which reflects the status of the stream is.
The operators void* and ! are not really well defined (they depend on the value of is.bad()). What is missing is a test if the last reading operation was successful and thus the returned value is valid.
That's what i implemented in this patch.

The new rule for using the lexer:

if you want to know if the lexer still has data to read (either from the stream or from the pushed token) then use "lex.isOK()".
If you want to test if the last reading operation was successful then use eg. "if (lex) {...}" or unsuccessful then use eg. "if (!lex) {...}"

an example:

int readParam(LyxLex &lex) {

    int param = 1; // default value
    if (lex.isOK()) { // the lexer has data to read
        int p;    // temporary variable
        lex >> p;
        if (lex) param = p; // only use the input if the reading operation was successful
    }
    return param;
}




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17569 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-26 13:43:49 +00:00
Georg Baum
1c46866b71 compile fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17564 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-26 07:38:33 +00:00
Bo Peng
07cc619a4c Present to Abdel: Syntax highlighting for LaTeX Log. (I know I should have been reading windows installers :-)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17561 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-26 04:25:49 +00:00
Abdelrazak Younes
642adc3eb7 Fix crash in debug mode (MSVC) due to an assertion in Qt.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17559 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-25 23:22:25 +00:00
Peter Kümmel
745c9e91fd cmake:
- add flags for debug/release/profile
 - also build qt4 as one file with gcc
 
 


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17558 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-25 22:03:59 +00:00
Abdelrazak Younes
2ccde85cb5 Add FIXME.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17554 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-25 16:22:13 +00:00
Abdelrazak Younes
be3fc71676 Third present for Bo: Add syntax highlighting to the LateX preamble.
TODO: extract the latexHighlighter class into its own .[Ch] files.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17553 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-25 16:13:14 +00:00
Abdelrazak Younes
68e8329644 Add a vertical spacer for nice resizing.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17552 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-25 15:50:32 +00:00
Abdelrazak Younes
9fc7e95b56 Second present for Bo: De-clutter the widget:
- spacing set to zero
- controls moved to the side.
 

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17551 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-25 15:34:23 +00:00
Edwin Leuven
4b4b5a55b3 correct tab order and remove duplicate shortcuts
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17550 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-25 15:28:33 +00:00
Michael Schmitt
877f513b05 add missing #include
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17549 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-25 15:22:54 +00:00
Abdelrazak Younes
b4831be219 Fix gcc warning.
Those arguments are not needed because update() will always look at what is currently selected and the info is there.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17546 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-25 13:21:23 +00:00
Georg Baum
460e8b8c65 fix compiler warning
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17541 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-25 10:32:22 +00:00
Edwin Leuven
5fc7649ea9 make lyx compile again:
* qwidget doesn't have sizegrip property here

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17540 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-25 09:55:37 +00:00
Abdelrazak Younes
44efd43a1b Cleanup and polish of the Citation dialog:
- now simple citation insertion can be done with the keyboard only (enter key will close the dialog and insert the chosen key).
- now search also within bib entry information (very fast)
- new case sensitive option
- new regex option.
- QCitation: code simplified, some code went to ControlCitation.
- QCitationDialog: code simplified
- lots of polish in the dialogs...



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17539 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-25 01:32:12 +00:00
Abdelrazak Younes
14f3344f0b Present for Bo: Cleanup ViewSource and make it a DockWidget.
* DockView.h: add the orientation option.

* QViewSource: now a model and a controller

* QViewSourceDialog: now only a simple QWidget.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17538 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-25 01:25:29 +00:00
Abdelrazak Younes
dfbc9cfccc * BufferParams:
* transfer CiteEngine enum declaration to biblio.h
  * delete unneeded CiteEngine_enum
  * cite_engine is now cite_engine_ and is private.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17537 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-25 01:12:38 +00:00
Abdelrazak Younes
65c041095d remove useless assertion (already handled by std-debug), gets rid of two gcc warnings.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17534 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-25 00:49:09 +00:00
Abdelrazak Younes
d75143217c Bugfix: no need to update if the dialog is not visible.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17533 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-25 00:45:34 +00:00
Georg Baum
6c8520bb88 Fix bug 440
* src/frontends/controllers/ControlCharacter.[Ch]
	(reset_lang_) New flag (needed because the language is never
	inherited)

	* src/frontends/controllers/ControlCharacter.C
	(ControlCharacter::getLanguage): Use reset_lang_
	(ControlCharacter::setLanguage): Set reset_lang_ if needed


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17526 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-23 15:09:21 +00:00
Peter Kümmel
df55785b5a compile qt4 three times faster with msvc:
- only trivial renaming
 - one used variable removed



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17514 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-22 23:07:24 +00:00
Martin Vermeer
88542bc2ee Get ProvidesNatbib working correctly, esp. for egs.layout.
* insetcite: call getEngine()
* bufferparams: move getEngine() here, and let it sense the 
provides(natbib)
flag
* ControlBibtex, ControlCitation: correct getEngine() call
* biblio: remove old getEngine()



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17505 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-22 07:22:16 +00:00
Enrico Forestieri
333040706b Cache char right bearings
* src/frontends/qt4/GuiFontMetrics.C
	(GuiFontMetrics::rbearing): Cache char rbearing.

	* src/frontends/qt4/GuiFontMetrics.h:
	Implement rbearing_cache_ as a QHash.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17499 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-21 23:13:32 +00:00
Uwe Stöhr
913a85afe5 Fix bug 3345
http://bugzilla.lyx.org/show_bug.cgi?id=3345

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17477 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-18 17:05:18 +00:00
Uwe Stöhr
f8e7fec3d4 small cleanup of the include dialog:
"Include" was for good reason the default method but not the first item in the dropdown list.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17467 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-18 03:42:40 +00:00
Peter Kümmel
38cdcd70c1 fix bug: vert. maximized window is completely maximized after restart
src/frontends/Application.h : enum for maximized
src/frontends/LyXView.h     : enum for maximized
src/frontends/qt4/GuiView.h : enum for maximized
src/frontends/Application.C : enum for maximized
src/lyx_main.C              : enum for maximized
src/frontends/qt4/GuiView.C : restore complete, vert. hor. maximized window



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17463 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-17 12:28:26 +00:00
Abdelrazak Younes
9dd8c52de3 hopefully fix bug 3152.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17457 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-16 20:31:29 +00:00
Abdelrazak Younes
61dde5d797 Cleanup of the Toc model and controller: The objective is to let the View (TocWidget) decide which kind of list it want to show. The type given by InsetCommandParam() (as read by the controller (ControlToc) then just becomes a hint to the View. Most of the commit is about getting rid of the controller maintained list of types.
* TocBackend
  - addType(), types_, types(): deleted.

* ControlToc
  - tocs(): new
  - selectedType(): access to selected_type_
  - initialiseParams(): transfer code from QToc::update() and look for selected type.
  - getTypes(), getContents(): deleted

* QToc: do not maintain current type. Get the info from the View.
  - setTocModel(): deleted

* TocWidget: always pass the currently selected type to the model/controller.
  - setTocModel(): new slot.
  - updateGui(): transfer code to setTocModel().


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17455 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-16 14:14:55 +00:00
Abdelrazak Younes
566d80d064 add some safeguards (while investigating bug 3152).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17421 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-12 17:03:42 +00:00
Abdelrazak Younes
e69f006911 We don't need a QMainWindow parent.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17420 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-12 15:45:08 +00:00
Jürgen Spitzmüller
d588c13f3f Make r17416 compile.
Abdel, are Windows compiler really that dumb?

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17418 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-12 15:11:18 +00:00
Abdelrazak Younes
51f2d5c064 adjust keyboard shortcuts for buttons.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17417 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-12 14:49:27 +00:00
Abdelrazak Younes
cb81965b1e * ControlToc:
- initialiseParams(): overload ControlCommand::initialiseParams() so that we can update the model at this point (QToc is the controller _and_ the model).
  - update(): new 
  - updateBackend(): new protected method to update the TocBackend (called for the "Update" button).

* QToc:
  - is now a QObject
  - modelReset: new Qt signal to indicate a model reset to associated dialog(s).
  - QToc(): avoid the duplicate update() call that will be done in the show command anyway.

* Dialogs.C
  - use new TocWidget in a DockView.

* TocWidget.[Ch]: renamed from QTocDialog. This striped down widget is only a widget that connects to the 'QToc' model/controller.

* DockView.h: new template class that encapsulates a given Widget inside a DockWidget and presents a Dialog::View interface.

* QTocUi.ui:
  - now is a simple Widget.
  - rearrange the buttons a bit
  - get rid of the unneeded close button.
  - modify the shortcut to "Promote" to 'r' because of a clash with "Alt-p" number (we really need real, always valid, shortcuts for all outline action!)




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17416 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-12 14:23:44 +00:00
Abdelrazak Younes
93211e0f3c * frontends/Dialogs::updateBufferDependent()
- update dialogs instead of hiding for dialogs that support that.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17414 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-12 11:27:47 +00:00
Abdelrazak Younes
bf61ecc2de Support code for advanced Toc management and bug correction.
* buffer.h:
  - structureChanged(): new boost signal. I intend to use that also when a text is changed in a section or caption item.

* buffer_funcs.C:
  - updateLabels(): emit Buffer::structureChanged() after TocBackend is updated.
  - checkBufferStructure(): new method for updating the TocBackend if needed.

* LyXView:
  - updateToc(): new slot for Buffer::structureChanged() signal.

* text.C:
  - call checkBufferStructure() whenever text is added or erased.

* TocBackend.[Ch]:
  - updateItem(): new method to update a specific item (called from checkBufferStructure()).



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17413 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-12 11:23:41 +00:00
Uwe Stöhr
14c356d31e - whitespace for Lars
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17396 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-04 01:56:58 +00:00
Uwe Stöhr
f84d08a078 - fix bug 2458
http://bugzilla.lyx.org/show_bug.cgi?id=2458
- whitespace

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17395 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-02 22:20:32 +00:00
Georg Baum
a2ccc6202c remove unneeded namespace
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17391 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-01 16:35:26 +00:00
Georg Baum
b5285c8b7a Fix bug 3302 (untested): Add missing internal_path
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17390 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-01 16:25:51 +00:00
Jean-Marc Lasgouttes
a7c2c8e3d5 * support/filetools.C (makeDisplayPath): if the file is in the lyx
support directory, return as a relative path (enclosed in brackets)

	* frontends/qt4/GuiView.C (updateTabs): use makeDisplayPath instead
	of onlyFileName. 


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17384 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-28 21:48:04 +00:00
Abdelrazak Younes
45747320f0 fix bug 2483:
http://bugzilla.lyx.org/show_bug.cgi?id=2483

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17381 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-28 14:36:38 +00:00
Uwe Stöhr
2f76056e6c Fix bug 3292:
http://bugzilla.lyx.org/show_bug.cgi?id=3292
(fix tab order)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17379 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-27 23:48:57 +00:00
Jean-Marc Lasgouttes
e2d91ecfc2 add "Reconfigure" to the LyX menu.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17377 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-27 15:30:29 +00:00
Jean-Marc Lasgouttes
fa637e5377 * src/frontends/qt4/QLMenubar.C (macxMenuBarInit): use the new support
Qt 4.2 for Mac menus (no merging is done for qt < 4.2 now).
        * src/frontends/qt4/Action.C (Action): initialize menu role to NoRole
	for qt >= 4.2.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17373 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-26 19:54:41 +00:00
Georg Baum
d1f8c007f0 Get rid of some locale dependant functions
* src/output_plaintext.C
	(writePlaintextParagraph): Use compare_ascii_no_case instead of
	compare_no_case, since the strings to compare are pure ASCII anyway.

	* src/frontends/qt4/QPrefsDialog.C
	(setComboxFont): ditto

	* src/MenuBackend.C
	(Menu::checkShortcuts): ditto

	* src/frontends/qt4/QLImage.C
	(QLImage::loadableFormats): Use ascii_lowercase instead of lowercase
	since the input is pure ASCII anyway.

	* src/tex2lyx/text.C
	(splitLatexLength): ditto

	* src/support/lstrings.[Ch]
	(compare_no_case): Get rid of both std::string variants
	(lowercase): Get rid of std::string variant
	(uppercase): Change std::string variant to docstring

	* src/support/tests/regfiles/lstrings: Add new expected output

	* src/support/tests/lstrings.C: Add tests for docstring functions


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17371 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-26 18:54:03 +00:00
Abdelrazak Younes
a7d8653a46 Document symbol fonts hack (text from Georg Baum).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17368 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-26 16:22:54 +00:00
Georg Baum
e0845a1e53 fix thinko
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17363 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-26 15:29:04 +00:00
Abdelrazak Younes
ba62665f96 * support/qstring_helpers.h: erase ucs4_to_qstring() method.
* FontMetrics.h: only one string width() method.

* Painter.h: only one text() method.

* all other files: adapt to above API change.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17362 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-26 15:13:08 +00:00
Georg Baum
2655d46b03 fix 'make check' by removing useless namespace lyx
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17357 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-26 09:29:12 +00:00
Jean-Marc Lasgouttes
e5a46922e9 * GuiView.C (updateTab): do not update early if current tab has
changed (bug 3254)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17344 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-25 19:42:48 +00:00