Commit Graph

67 Commits

Author SHA1 Message Date
Jean-Marc Lasgouttes
c8c589353a Detect when one tries to bind a lfun to a prefix of longer commands
Change KeyMap::getBinding to return FuncRequest::prefix in this case.

Add handling of this case in PrefShortcuts::validateNewShortcut.

What does not seem to work is that if, for example, accent-acute is
bound to M-s (which is a prefix for size-related bindings), and then
the binding is removed, the functions are not visibly restored.

Part of bug #10131.
2023-07-22 00:01:34 +02:00
Jean-Marc Lasgouttes
46992201b7 Add != operator to FuncRequest and special value FuncRequest::prefix
Use this value (and `unknown' where relevant)
2022-12-10 20:30:58 +01:00
Juergen Spitzmueller
315d347d3e Include he/cua.bind (#12052)
To allow for its use, we add support to include a bind file from the
top dir (i.e., non-localized) via \bind_file ../<file>
2022-11-27 16:30:21 +01:00
Jean-Marc Lasgouttes
1dedd39864 Allow to unbind without specifying the lfun
When unbinding a shortcut, it may happen that the exact definition of
the request is not known. A typical example it Tab, which is bound to
a complex command sequence.

In this case it is convenient to use the syntax
\unbind "Tab" "*"

To make this word, the special "*" value is translated to the
FuncRequest::unknown lfun and this value is considered specially in
several places.
2022-07-27 18:57:03 +02:00
Yuriy Skalko
7ca2f2b58d Use range-based loops 2020-11-21 20:32:16 +02:00
Richard Kimberly Heck
b28bd27932 Fix warning 2020-10-10 17:12:50 -04:00
Richard Kimberly Heck
9afc001fc5 Fix warnings 2020-02-29 00:21:00 -05:00
Juergen Spitzmueller
55c9bc218a Do not use GUI language for shortcut info inset if no translation is available
Fixes: #11508

Now there is the opposite case which needs to be addressed:
If no translation is available for a shortcut in a non-latin-scripted
document, we need to switch the language to English.
2019-03-09 12:00:40 +01:00
Richard Heck
75bfed5507 Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
Guillaume Munch
89175ee0f1 Add perf comment 2016-06-12 19:17:33 +01:00
Georg Baum
f09a9fe2e6 Remove unsafe method FileName::tempName()
FileName::tempName() created a new temp file name by using qt to create a
temporary file with a unique name, and then deleting that file and returning
the name. This was unsafe, since other processes or even other threads of the
running LyX could create files with the same name between deletion and then
using the temp name.
This is fixed by using the TempFile class instead. As a side effect, a few
cases where the temp files were not deleted after usage were fixed as well.
The only place that is still unsafe is createTmpDir().
2014-06-09 13:05:50 +02:00
Richard Heck
fdbe775b9f This is the result of an audit of all static variables, looking
for possible thread conflicts, of the sort Georg resolved at
6a30211f. I have made static variables const where possible,
and marked cases that looked potentially problematic with the
comment:
	// FIXME THREAD
Many of these definitely are vulnerable to concurrent access, such
as the static variables declared at the start of output_latex.cpp.
Suppose, e.g., we were outputting latex and also displaying the
source of a different document.

I'd appreciate it if others could grep for "FIXME THREAD" and see
if some of these are harmless, or what.
2014-04-21 11:51:57 -04:00
Lars Gullik Bjønnes
dd2189656b More idiomatic way of checking if a shared_ptr has an associated managed object 2012-10-25 12:12:49 +02:00
Stephan Witt
e9d943aeb8 #7292 make the modifiers Option and Control act on there own on mac - adjust the key bindings to apple standards where possible
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37770 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-23 14:30:41 +00:00
Richard Heck
718925cb5b Move bind file format tag to LyXAction.cpp, and rename it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37246 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-18 15:07:26 +00:00
Richard Heck
fb377c31df Remove extra return.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37236 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-16 20:43:19 +00:00
Richard Heck
586d60af6a Remove debugging comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37232 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-16 19:55:03 +00:00
Richard Heck
f05e76c330 Conversion routines for bind files.
All the LFUNs listed in the release notes should be properly converted.
If not, then changes should be made to the file:
	lib/scripts/prefs2prefs-lfuns.py


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37231 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-16 19:53:36 +00:00
Stephan Witt
c7e6a677c4 fix compiler warnings in pedantic mode: remove trailing comma after last enum member
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36923 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-17 19:56:51 +00:00
Jean-Marc Lasgouttes
920798c4d6 fix bug #6786: InsetLayout name containing spaces is incompatible with keybindings/toolbars
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35109 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-09 20:37:31 +00:00
Pavel Sanda
62ca7f3ae5 Proper camel case for FileName.absFilename
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34234 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-21 01:19:09 +00:00
Richard Heck
b79d8e5e2d Make members of FuncRequest private, per the FIXME there. Again, this is
basically a massive renaming, with no real changes.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34106 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-09 19:00:42 +00:00
Richard Heck
4c7a5d0024 This is just a giant renaming of member variables in FuncRequest,
preparatory to making them private.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34105 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-09 18:15:17 +00:00
Richard Heck
0fd5b1d43f Minor style things, and a little constness.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32779 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-05 21:01:33 +00:00
Richard Heck
83b3e02f69 Minor renaming. We don't have any other iterators here, so
const_iterator is fine.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32778 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-05 21:00:05 +00:00
Uwe Stöhr
f37516f116 KeyMap.cpp: more consistent messages
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31234 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-29 19:44:56 +00:00
Richard Heck
91f6855ca2 Make sure we don't get into an infinite loop here.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30656 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-17 21:51:53 +00:00
Richard Heck
375d1526bb React better if we can't find bind files. Related to bug 6076.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30639 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-16 23:12:45 +00:00
Richard Heck
404f1dc80a Whoops. I somehow undid the reordering with that last commit. Anyway,
this fixes that again.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29020 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-02 18:59:25 +00:00
Richard Heck
62beaaa37f There are too many things here named `table'.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29019 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-02 18:57:19 +00:00
Richard Heck
ab0d757bed Just re-ordering stuff.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29018 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-02 18:51:38 +00:00
Richard Heck
9098af80aa Clean up a bit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29015 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-02 15:53:23 +00:00
André Pönitz
f1cba8ff64 more latin1..utf8 schanges. all of src/* should be utf8 now
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27425 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-14 15:58:50 +00:00
Jean-Marc Lasgouttes
adf48d1f51 Fix part of http://bugzilla.lyx.org/show_bug.cgi?id=5421
Make InsetInfo shortcuts use Portable representation of KeySequence.

	* KeyMap.cpp (printBindings): add format parameter

	* LyXFunc.cpp (sendDispatchMessage):
	* insets/InsetInfo.cpp (updateInfo): adapt.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27208 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-31 11:19:16 +00:00
Richard Heck
b8cf8cbab2 This patch prevents the shortcut dialog from silently over-writing existing bindings. (Indeed, both bindings will show up, prior to this patch, though only one will work.) A better solution would be to ask the user for permission to over-write, and then to take appropriate action. But this will do for now.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26517 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-24 14:56:43 +00:00
Richard Heck
6cde86e1d7 Save a few bytes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26516 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-24 13:32:09 +00:00
Richard Heck
ad0ecf86a7 Move the ItemType enum out of GuiPref and into KeyMap, where it belongs.
This is preparation for multi-LFUN bindings.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26503 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-23 13:53:38 +00:00
André Pönitz
cda83b2a62 cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24107 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-03 21:36:57 +00:00
André Pönitz
c88e7a7ef6 simplify Lexer handling a bit more
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24106 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-03 20:55:09 +00:00
André Pönitz
11a0458d3f next try...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24100 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-02 23:06:22 +00:00
André Pönitz
2012beb58e revert last patch. there's something wrong, possibly unrelated to this
patch, but as this was rather largish...


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24099 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-02 22:44:33 +00:00
André Pönitz
7677e9487c simplify Lexer use a bit
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24098 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-02 22:14:45 +00:00
André Pönitz
a7f29a35ee cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23892 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-21 22:31:57 +00:00
André Pönitz
a98f82c292 s/kb_action/FuncCode/g
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23749 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-15 01:20:36 +00:00
Abdelrazak Younes
2bf1c09376 header cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23049 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-18 07:14:42 +00:00
Abdelrazak Younes
9439b6e6e0 * get rid of support::absolutePath()
* remove FileName.h inclusion from filetools.h


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22188 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-17 16:04:46 +00:00
Abdelrazak Younes
b89cc942eb 'using namespace lyx::support' instead of 'using support::xxx'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22103 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 18:57:56 +00:00
Abdelrazak Younes
9383f4c3c6 'using namespace std' instead of 'using std::xxx'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22097 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 10:16:00 +00:00
André Pönitz
9d0ea8aeff Move debug.{cpp,h}, Messages.{cpp,h} and gettext.{cpp,h} to support/.
Now support/* should have no dependencies on src/* anymore.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21851 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-29 07:04:28 +00:00
André Pönitz
e1ce2f92db reduce line noise
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21631 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-15 20:04:51 +00:00