Commit Graph

78 Commits

Author SHA1 Message Date
Guillaume Munch
b5a2f1c7e5 Fix broken layout of the citation dialog (#10019)
7b1107d7 introduced the following inconveniences which are regressions to 2.1:

* The citation dialog can open with vertical scroll bars in the options

* The citation dialog can open with horizontal scroll bars, especially if the
  translated text is longer than the original text (e.g. in FR)

* Resizing the dialog is inconvenient because it increases the gap between the
  options. This is unlike before when the dialog could let us see more of the
  reference list when enlarging.

This is because the QToolbox that the above commit introduced is not natively
aware of the sizes of its page sub-widgets. The widget is not conceived for this
use, where the space is scarce.

Geometry values provided in the ui file (automatically computed by qtcreator I
suppose) somehow gave the illusion that it worked, but relying on such values is
not portable : it does not take into account the specific theme, font sizes and
localization. This explains why it failed on my side and will probably fail in
other settings too.

Luckily, there is a simple way to make QToolbox suitable for the current use,
which is to add the "missing link" which computes its size based on the minimal
sizes of its pages. The result looks very nice and intuitive. It solves all the
aforementioned issues.
2016-04-04 17:58:16 +02:00
Georg Baum
e8211fb931 Fix C++11 std::regex incompatibility
boost::regex supports escape sequences starting with a backslash in format
strings of regex_replace, but std::regex does not. Therefore format strings
involving literal backslashes have to be written differently for both flavours.

The special MSVC handling in regex.h is removed, since it is not needed
anymore, and using grep syntax would definitely be wrong.
2015-11-24 20:31:14 +01:00
Guillaume Munch
dbce5cafcc Rewrite regexes in ECMAScript style (bug #9799) 2015-11-18 01:52:50 +00:00
Stephan Witt
77cc2c7c8c Fix "dead store" warnings of Xcode analyze tool 2015-10-09 08:16:23 +02:00
Juergen Spitzmueller
7b1107d7f5 Decrease height of citation dialog by using a QToolBox
Fixes: #9618
2015-07-30 10:09:21 +02:00
Jean-Marc Lasgouttes
8bab23384a Fix the last clang warnings about overloaded virtual methods
This patch fixes a series of warnings like:
{{{
In file included from ../../master/src/mathed/InsetMathBoldSymbol.cpp:13:
In file included from ../../master/src/mathed/InsetMathBoldSymbol.h:15:
../../master/src/mathed/InsetMathNest.h:37:7: warning: 'lyx::InsetMathNest::metrics' hides overloaded virtual function [-Woverloaded-virtual]
        void metrics(MetricsInfo const & mi) const;
             ^
../../master/src/insets/Inset.h:186:15: note: hidden overloaded virtual function 'lyx::Inset::metrics' declared here: different number of parameters
      (2 vs 1)
        virtual void metrics(MetricsInfo & mi, Dimension & dim) const = 0;
                     ^
}}}
For a description of the problem, see for example:
http://stackoverflow.com/questions/18515183/c-overloaded-virtual-function-warning-by-clang

3 different strategies have been used:
 * in frontend, some functions have been renamed.
 * in InsetMath.h, Inset::write has been explicitly imported too
 * in InsetMathNest.h, since a comment said that hiding Inset::metrics is intended, a special trick has bee used to silence the warning.
2014-12-22 11:02:45 +01:00
Richard Heck
b992968a15 Fix bug #9131 for development branch. There are two parts to the fix.
The firs tinvolves a thinko in BibTeXInfo::expandFormat. We were previously
counting passes through this routine, which means: one for every character,
more or less. So long strings would hit the "recursion limit". But what
we are worried about is an infinite loop caused by misues of macros, so that
is what we need to count.

This prevents the error we were previously getting, but it reveals a huge
slowdown when one tries to open a citation inset with a large nubmer of keys.
So we also limit the number of keys we try to process, and the length of the
string we try to display, when we are generating citation information.

I'm convinced that there is a deeper problem in how citation information is
generated (see the bug tracker for more info), but that will require major
surgery and a file format change
2014-05-23 11:26:45 -04: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
Scott Kostyshak
51c380440b Constify some catches and others 2012-09-17 04:05:34 -04:00
Julien Rioux
1e947e3a18 Move the citation engine machinery to layouts.
Add a new layout syntax CiteEngine to define the citation commands
available for a given citation engine.

Also extend the CiteFormat syntax to allow more customization. This
mechanism, previously used to produce bibliography entries in the
citation GUI based on the BibTeX entrytype, is now also used to
produce the textual labels for citation insets in the buffer view.

Thus citation styles are almost completely customizable by modules.
Modules for the basic, jurabib and natbib engines are implemented.

Layout format incremented to 37.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40820 a592a061-630c-0410-9148-cb99ea01b6c8
2012-03-01 00:41:30 +00:00
Julien Rioux
e3f65fd088 Buffer param \cite_engine_type (authoryear|numerical).
To avoid duplicity, remove natbib_authoryear and natbib_numerical
and replace them by natbib, and keep track of the engine `type'
in the new \cite_engine_type document setting. This will make it
easier to add more citation engines.

LyX format incremented to 424.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40592 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-09 13:16:38 +00:00
Julien Rioux
0c4e88b8a0 Minor improvements to the citation GUI: some dimensions and tab ordering.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40350 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-03 22:24:51 +00:00
Julien Rioux
dfdcc56cba Remove extra whitespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40346 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-03 22:15:11 +00:00
Tommaso Cucinotta
e410730dd9 We use the main document's buffer() instead of the current buffer(), so as to catch the citations
defined there, also while using the dialog from the Adv F&R WAs.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38866 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-27 21:54:23 +00:00
Tommaso Cucinotta
492d837e62 Use the main document's buffer(), when scanning for citations from within the citation dialog.
This allows to pick and search for citations present in the main document.

This was started to be discussed in a relatively unrelated bug #7581, then the patch
was proposed here: http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg169277.html


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38847 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-26 17:33:36 +00:00
Richard Heck
ab47822680 Towards a proper fix for bug #6846, this just disentangles a couple
things we will ultimately want to do separately.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36694 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-03 19:00:55 +00:00
Richard Heck
f3ff65f4df Fix bug #7066.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36454 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-24 14:45:27 +00:00
Vincent van Ravesteijn
c5b9664476 Remove the name parameter from string2params and params2string. We can always derive the name with insetName(params.code()).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35891 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-29 00:25:28 +00:00
Peter Kümmel
615d42d357 TR1: use std::tr1 regex with msvc10
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34725 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-29 17:09:40 +00:00
Richard Heck
f1912e1c33 Read the citation formats from a file, rather than hardcoding them. This
allows for layout- or module-level customization of the display in the
citation dialog and of the XHTML bibliography output.

There is more of this to come, by the way. The next step is to allow
macros. That will make it easier to deal with translation issues, which
ought to be the final step.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33920 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-29 18:37:25 +00:00
Richard Heck
5696be2a66 Allow the use of rich text in citation formats. And use them in the
citaton dialog.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33880 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-27 13:54:14 +00:00
Richard Heck
869f6d33c6 Revert r33852 and try something else. The problem here, which can be
seen in branch, too, is that if you change the style combo and then do
anything else, such as click on an entry, the combo reverts.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33858 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-24 15:49:06 +00:00
Richard Heck
625144c193 Block signals to the combo box when we update it. This fixes a problem
with flashing.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33854 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-24 14:50:20 +00:00
Richard Heck
a02114dcea Only restore the last applied style on initialization.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33852 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-24 14:34:05 +00:00
Richard Heck
559da350f0 Fix bug #6486. Patch inspired by work by John McCabe-Dansted.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33851 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-24 13:51:47 +00:00
Richard Heck
adf858ebcc Refactor a bit. This will be needed a bit later.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33849 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-24 12:04:24 +00:00
Vincent van Ravesteijn
f792df16b3 GuiCitation.cpp:
CitationUi.ui:
   - fix the casing
   - replace some informal expressions by some proper sentences (I don't like things like "Delete key works, too"

BiblioUi.ui:
   - "man bibtex" has no value in the non-linux world
   - stick to the BibTeX convention compared to bibtex

FindAndReplaceUi.ui:
   - fix the casing
   - remove the "current file" annotations
   - some other fixes


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33208 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-24 19:16:44 +00:00
Richard Heck
ce87e6767c Check the bibliography cache only when we really need to do so. This (a)
prevents weirdness that might happen if the .bib file were to change
during updateLabels(), (b) prevents even further weirdness that might
happen if it changed during the output routines, and (c) ought to avoid
slowness caused by the repeated calls to QFileInfo::refresh() needed to
check the cache status.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32972 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-11 16:29:26 +00:00
Richard Heck
833e7085dd A little cleanup of some of the BibTeX info access.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32915 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-09 16:57:08 +00:00
Uwe Stöhr
b2f0d517e2 GuiCitation.cpp: fix #5987
OK also for branch?

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30061 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-12 00:17:13 +00:00
Richard Heck
69e95a3ed9 The comment preceding getValueForField() reflected an earlier implmentation.
There is now no reason not to use operator[] here, which is more natural.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27635 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-19 04:16:12 +00:00
André Pönitz
1fc477efac thrid attempt at changing the naming pattern of the intermediated 'mocced' files
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27420 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-14 14:28:50 +00:00
Jürgen Spitzmüller
9d2f8a4c34 * GuiCitation.cpp:
- set initial focus (bug 5448).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27245 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-04 07:27:02 +00:00
Richard Heck
419642ad9e Fix citation bug: In certain circumstances, attempts to insert a new citation
would instead change an old one. The problem was that we were hiding the dialog
with hide(), which does not trigger closeEvent(). So we have to implement
hideEvent().

http://marc.info/?l=lyx-devel&m=121278861019829&w=2



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26143 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-13 14:32:30 +00:00
Richard Heck
83f0903b4a Optimize GuiCitation a bit by not checking the cache so often.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25716 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-19 17:23:13 +00:00
Richard Heck
55238f4dfd Don't need to do this check, as getInfo() will return an empty string in this case, anyway.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25715 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-19 16:36:14 +00:00
Richard Heck
7f6721a4e9 Clean up a bit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25170 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-06 16:02:52 +00:00
Richard Heck
08d8a8034f Fix citation dialog bug.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25169 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-06 15:53:02 +00:00
Abdelrazak Younes
2cf301033e Add session to citation dialog.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24768 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-14 14:37:33 +00:00
Abdelrazak Younes
44c3b0e07f Some more house cleaning.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24641 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-06 14:33:38 +00:00
Abdelrazak Younes
39276a1254 A bit of house cleaning.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24638 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-06 13:50:37 +00:00
Edwin Leuven
6226f89571 fix leak
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24553 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-29 13:57:07 +00:00
Jürgen Spitzmüller
37aefe13ff improvements to the Citation UI.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24507 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-26 08:07:46 +00:00
Richard Heck
2193a50605 Implement a cache for BibTeX data. There was a cache of sorts already in InsetCitation, but that was being used only to cache the labels. So that has been moved to Buffer, and everything else that needs access to BibTeX data should call either Buffer::localBibInfo(), which gives you the BiblioInfo for this Buffer, or Buffer::masterBibInfo(), which gives you the BiblioInfo for the Buffer's master, if it has one, or for it, otherwise. Normally, what you want is masterBibInfo().
Thanks to Andre for help with linking problems.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24505 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-25 20:03:03 +00:00
Richard Heck
45eee3cbbb Add "Search as You Type" option to citation dialog.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24504 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-25 19:38:31 +00:00
Richard Heck
022ea0feb6 Fix part of bug 4775. We need to search here only when the user requests it, and not try to do "search as you go". This is too slow, even on fast machines, if you have more than a handful of entries.
I've also added some tooltips to direct people to the keyboard shortcuts.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24495 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-24 18:30:31 +00:00
André Pönitz
b35b731fbf move citation enums into header of their own
remove biblio:: namespace


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24385 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-20 15:00:11 +00:00
André Pönitz
5158ef3ee9 merge GuiCommand into its users.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24376 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-20 09:24:14 +00:00
André Pönitz
f9b81e51e9 remove remaining MailInsets.
please check your favourite insets, I am sure I broke _something_...



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24006 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-27 22:26:24 +00:00
André Pönitz
f2c9b56fb4 cosmetics/#include cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23747 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-15 00:22:54 +00:00