Commit Graph

38 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
8e6e970d7b Next step of true unicode filenames: Use support::FileName instead of
std::string at many places (not all yet).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16069 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-26 21:30:39 +00:00
Georg Baum
83525c9570 Don't crash anymore if an .ui file contains unicode labels
* src/gettext.[Ch]
	(translateIfPossible): new function to translate stuff that might
	already be in the native language

	* src/MenuBackend.C
	(Menu::read): Use translateIfPossible for item names and submenu
	labels, since the user may have already entered them in his native
	language into the .ui file

	* src/ToolbarBackend.C
	(ToolbarBackend::read): do the same with the tooltip


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16015 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-23 16:31:48 +00:00
Jean-Marc Lasgouttes
78aa7c6987 Fix bugs 1720 (almost) and 2877
* src/funcrequest.h: split UI enum into MENU and TOOLBAR

	* src/lyxfunc.C (getStatus): disable menu entries that need a
	buffer when window does not have focus (bug 1720)
	(dispatch, sendDispatchMessage): properly redraw toolbar after each 
	action (bug 2877).

	* src/frontends/Toolbars.C (layoutSelected):
	* src/MenuBackend.C (MenuItem):
	* src/ToolbarBackend.C (add): adapt to FuncRequest change.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15825 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-09 14:56:57 +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
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
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
Lars Gullik Bjønnes
43b77ba2d7 Change _() to return a docstring. Fixup callers with the help of lyx::to_utf8.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14952 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-09 15:27:44 +00:00
Georg Baum
1fc0c01877 convert lfun arguments to docstring
* src/support/docstring.[Ch]
	(from_ascii): new conversion function
	(from_utf8): new conversion function
	(to_utf8): new conversion function
	(operator==) new, compare docstring and ASCII C string
	(operator!=) new, compare docstring and ASCII C string

	* src/support/Makefile.am: add new file docstring.C

	* development/scons/scons_manifest.py: ditto

	* src/funcrequest.[Ch]
	(argument): change name to argument_ and type to docstring,
	add an accessor
	(FuncRequest): Add two new constructors taking a docstring argument

	* all other files: adjust to the FuncRequest changes above


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14861 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-01 15:41:38 +00:00
Georg Baum
b6c3478eda Implement GUI for fixed size math delimiters (by Enrico Forestieri and me):
* src/lfuns.h
	(enum kb_action): New lfun LFUN_MATH_BIGDELIM

	* src/LyXAction.C
	(void LyXAction::init): New lfun LFUN_MATH_BIGDELIM

	* src/mathed/math_nestinset.C
	(void MathNestInset::doDispatch): remove debug message
	(void MathNestInset::doDispatch): remove LFUN_MATH_DELIM test for
	multiple cells (now in getStatus)
	(void MathNestInset::doDispatch): Handle LFUN_MATH_BIGDELIM
	(bool MathNestInset::getStatus): Disable LFUN_MATH_DELIM and
	LFUN_MATH_BIGDELIM when the selection spans multiple cells

	* src/frontends/qt3/ui/QDelimiterDialogBase.ui
	Added a combobox for selecting delimiter size.

	* src/frontends/qt3/QDelimiterDialog.[Ch]
	(fix_name, QDelimiterDialog, insertClicked, size_selected):
	Allow for fixed size delimiters.

	* src/frontends/gtk/GMathDelim.C: Add FIXME commnent for fixed size
	delimiters
	* src/frontends/qt4/QDelimiterDialog.C: ditto
	* src/frontends/xforms/FormMathsDelim.C: ditto

	* src/frontends/controllers/ControlMath.[Ch]:
	Added dispatchBigDelim() to deal with fixed size delimiters.

	* src/text3.C
	(void LyXText::dispatch): Handle LFUN_MATH_BIGDELIM
	(bool LyXText::getStatus): ditto

	* src/ToolbarBackend.C
	(string const ToolbarBackend::getIcon): Handle LFUN_MATH_BIGDELIM


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13806 a592a061-630c-0410-9148-cb99ea01b6c8
2006-05-07 10:51:19 +00:00
André Pönitz
da65e2b7fb rename LFUN enum values according to their command (as used in th minibuffer/bind files
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13801 a592a061-630c-0410-9148-cb99ea01b6c8
2006-05-05 20:23:12 +00:00
Lars Gullik Bjønnes
8c93f63b48 * filetools.[Ch]: Make functions that start with a capital
letter start with a lower letter.
	* All other .C and .h in the cs: adjust for above change


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13603 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-08 22:31:11 +00:00
Jean-Marc Lasgouttes
cb15371de3 add possibility to specify the origin of a FuncRequest; use it to get rid of the "verbose" flag in dispatch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9205 a592a061-630c-0410-9148-cb99ea01b6c8
2004-11-08 10:54:29 +00:00
Angus Leeming
2a31934f38 Wrap most of the frontend code up inside namespace lyx::frontend.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8766 a592a061-630c-0410-9148-cb99ea01b6c8
2004-05-19 15:11:37 +00:00
Angus Leeming
60c6212be4 Revert last changes.
I had a default.ui file in ~/.lyx that was being complained about...


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8688 a592a061-630c-0410-9148-cb99ea01b6c8
2004-04-21 12:14:14 +00:00
Angus Leeming
affa34ce2d Run-time fix; use compare_ascii_no_case one more time.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8687 a592a061-630c-0410-9148-cb99ea01b6c8
2004-04-21 11:20:23 +00:00
John Levon
3bcf40e96d Make M-x show the minibuffer
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8686 a592a061-630c-0410-9148-cb99ea01b6c8
2004-04-21 00:19:27 +00:00
Lars Gullik Bjønnes
44cd0fc9a1 The std::string mammoth path.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7862 a592a061-630c-0410-9148-cb99ea01b6c8
2003-10-06 15:43:21 +00:00
Lars Gullik Bjønnes
495cd0eea0 more action work
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7801 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-21 23:00:47 +00:00
Lars Gullik Bjønnes
2994fe5511 Get rid of Pseudo Actions
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7799 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-21 18:57:15 +00:00
Angus Leeming
57a24ea912 Replace 'using namespace abc;' with 'using abc::xyz;'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7725 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-09 22:13:45 +00:00
Angus Leeming
4c6e0fe422 Removed all redundant using directives from the source.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7704 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-08 00:33:41 +00:00
Angus Leeming
91de22ef34 Strip 320 #includes from the files in src.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7684 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-05 16:31:30 +00:00
Angus Leeming
1dffc5cfe4 Move #includes out of header files.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7659 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-04 03:54:04 +00:00
Angus Leeming
0be0fcfd59 If I ever see another licence blurb again, it'll be too soon...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7598 a592a061-630c-0410-9148-cb99ea01b6c8
2003-08-23 00:17:00 +00:00
Lars Gullik Bjønnes
92d522b7f1 introduce namespace lyx::support
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7224 a592a061-630c-0410-9148-cb99ea01b6c8
2003-06-30 23:56:22 +00:00
Jean-Marc Lasgouttes
acc1409866 rename a few icons; fix a typo; complain (softly) when an icon cannot be found
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7208 a592a061-630c-0410-9148-cb99ea01b6c8
2003-06-24 10:41:22 +00:00
Lars Gullik Bjønnes
5dd63a2768 The Paste Recent patch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7182 a592a061-630c-0410-9148-cb99ea01b6c8
2003-06-17 15:33:49 +00:00
John Levon
470d0f8b4d oops, fix up the last commit by really removing the flags from the Toolbar defs
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7155 a592a061-630c-0410-9148-cb99ea01b6c8
2003-06-11 20:06:40 +00:00
John Levon
5a87c5379a Move the toolbar flags setting into a separate section to allow the
user to set them easily, as discussed


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7154 a592a061-630c-0410-9148-cb99ea01b6c8
2003-06-11 19:21:46 +00:00
André Pönitz
0e9bd2e87d STRCONV() all over the place
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6956 a592a061-630c-0410-9148-cb99ea01b6c8
2003-05-13 16:24:49 +00:00
John Levon
84640bc0f2 toolbar4.diff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6811 a592a061-630c-0410-9148-cb99ea01b6c8
2003-04-15 01:06:13 +00:00
John Levon
31f6d268e2 toolbar3.diff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6768 a592a061-630c-0410-9148-cb99ea01b6c8
2003-04-10 14:08:06 +00:00
John Levon
56fdc10f13 special math-delim handling
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6757 a592a061-630c-0410-9148-cb99ea01b6c8
2003-04-10 02:33:42 +00:00
John Levon
4f8b5b4990 toolbar2.diff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6746 a592a061-630c-0410-9148-cb99ea01b6c8
2003-04-09 19:53:10 +00:00
John Levon
80837fb324 small fix, strip argument for icon search, if with argument failed
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6740 a592a061-630c-0410-9148-cb99ea01b6c8
2003-04-09 02:23:47 +00:00
John Levon
aa3acd6358 toolbar changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6738 a592a061-630c-0410-9148-cb99ea01b6c8
2003-04-08 19:17:00 +00:00
John Levon
1423bdb7a7 remove defaults stuff, let Qt handle no toolbar
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6685 a592a061-630c-0410-9148-cb99ea01b6c8
2003-04-02 18:08:05 +00:00