The changes are essentially of three types.
First, the std::maps previously used here for storing BibTeX data have become full-fledged classes and so what were previously just a bunch of functions have now become methods of these new classes. This leads to a lot of minor changes in other files, to adapt to the new signature. The changes in insets/ are mostly of this kind.
Second, there are some slightly more substantial changes in src/insets/InsetBibtex.cpp. We now store lists of the field names and entry types that have been used.
Finally, there are the changes to the citation UI. These are mostly straightforward, though adding the new functionality exposed some inadequacies in the previous code that also had to be fixed.
One other change: BibTeX keys are now docstring. This solves some Unicode issues.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19657 a592a061-630c-0410-9148-cb99ea01b6c8
a structure representing field->value instead of just a single string with
all the data. The data structures are defined in src/Biblio_typedefs.h, and
the main changes are to the parser code in src/insets/InsetBibtex.cpp.
-src/Biblio_typedefs.h
Contains typedefs for new representation. Separating them out limits how much
gets #include'd by other files, and also resolves a circularity problem with
Buffer.h.
-src/Biblio.{h,cpp}
Signature changes and massive simplifications to routines that report
BibTeX data, since we now have an articulate representation.
-src/insets/InsetBibtex.{h,cpp}
Re-write the parser code so we store a key->value map of the BibTeX data
rather than just one long string. This is the main work.
-src/frontends/controllers/ControlCitation.{h,cpp}
-src/insets/InsetBibitem.{h,cpp}
-src/insets/InsetCitation.cpp
Adaptations and simplifications.
-src/insets/Inset.h
-src/Buffer.{h,cpp}
-src/insets/InsetInclude.{h,cpp}
Signature changes.
-src/Makefile.am
-development/scons/scons_manifest.py
Add src/Biblio_typedefs.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19598 a592a061-630c-0410-9148-cb99ea01b6c8
information is acquired. This involves (i) moving the bulk of fillWithBibKeys()
into Biblio.cpp, (ii) introducing a virtual method Inset::fillWithBibKeys() that,
by default, does nothing, and (iii) over-riding this method in the insets that do
need to do something.
This is all preparatory for a more substantial re-working of the BibTex code,
which should follow shortly.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19565 a592a061-630c-0410-9148-cb99ea01b6c8
- correct menu names
- add descriptions about index generation, font and graphic formats - to tell only examples
The document is ready except of the outliner and note descriptions.
The description of LyX's menus (Appendix A), and the preferences dialog (Appendix B) will be completed step by step, hopefully with some help.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19389 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/gzstream.h: re-introduce the stream we were using in
1.4.x. The boost iostream solution produces unreadable streams
on windows and we do not know why currently.
* src/support/Makefile.am:
* src/Buffer.cpp:
* src/Lexer.cpp:
* development/scons/scons_manifest.py: adapt.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19271 a592a061-630c-0410-9148-cb99ea01b6c8
The key is the new copier script lib/scripts/ext_copy.py. Usage:
ext_copy.py [-e ext1,ext2,...] <from file> <to file>
Given a <from file> and <to file>, it will copy all files in the directory
in which from_file is found that have the extensions given in the -e option,
or all files in that directory if no such argument is given. So, for example,
we can do:
python ext_copy.py -e png,html,css /path/from/file.html /path/to/file.html
and all html, png, and css files in /path/from/ will be copied to the
(possibly new) directory /path/to/file.html.LyXconv/. The -t option determines
the extension added to the output filename passed to the script ($$o, in the
copier definition), the default being "LyXconv". If just . is given, then no
extension is added.
Other changes:
* configure.py: added appropriate copier definitions for html and wordhtml
formats, as well as for the Program pseudo-format.
* lib/Makefile.am and development/scons/scons_manifest.py: add ext_copy.py.
* lib/doc/Customization.lyx: update documentation.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18791 a592a061-630c-0410-9148-cb99ea01b6c8
As I did for decimal.lyx I leave the file in examples/de until the EmbeddedObjects manual is translated and renamed it to a German name.
(Hartmut also updated this file today.)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18179 a592a061-630c-0410-9148-cb99ea01b6c8
some code is moved from QMath
to QDelimiterDialog and QMathMatrixDialog
for the rest pretty mechanical
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17872 a592a061-630c-0410-9148-cb99ea01b6c8
(please check if the Makefile entry is complete, I couldn't test this here)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17816 a592a061-630c-0410-9148-cb99ea01b6c8
be added by users to toolbars we should not delete the icon.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17785 a592a061-630c-0410-9148-cb99ea01b6c8
(The next days I'll also prepare support for europecv, the second nicht CV class that is also required to use in some fields.)
I hope I'm not too rash here.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17700 a592a061-630c-0410-9148-cb99ea01b6c8
(since years now used by me successfully)
- new template for g-brief2
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17699 a592a061-630c-0410-9148-cb99ea01b6c8
again (bug 3304)
* src/intl.C
(Intl::initKeyMapper): Don't set the char set of trans anymore
* src/chset.[Ch]: delete, no longer needed
* lib/kbd/*.cdef: ditto
* src/lyxrc.[Ch]: remove RC_SCREEN_FONT_ENCODING and font_norm,
these are no longer needed
* src/lyxfunc.C: adapt to lyxrc changes
* src/Makefile.am: remove deleted files
* lib/Makefile.am: ditto
* development/scons/scons_manifest.py: ditto
* src/text3.C
(LyXText::dispatch): reenable the kmap mechanism
* src/trans_mgr.[Ch]
(TransManager::setCharset): remove, no longer needed
(TransManager::insert): remove, since it would be identical to
insertVerbatim now
(TransManager::insertVerbatim): rename to insert
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17665 a592a061-630c-0410-9148-cb99ea01b6c8
- new section about external material
- two hints concerning caption layout
The manual is now feature complete!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17466 a592a061-630c-0410-9148-cb99ea01b6c8
- 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
* src/support/lstrings.C
(uppercase): Use qt instead of non working libc/home grown solution
(lowercase): ditto
(local_lowercase): Use qt instead of libc tolower for ucs4 chars
* src/support/qstring_helpers.C
(qstring_to_ucs4): Use qchar_to_ucs4 because of the assertion
* src/support/lstrings.h: Add some documentation
* src/support/qstring_helpers.h
(is_utf16): New function: Tests whether an ucs4 character is also a
valid utf16 character
(qchar_to_ucs4): Assert on is_utf16()
(ucs4_to_qchar): Replace old assertion with better is_utf16()
* src/support/textutils.h
(isLetterChar): Delete non-working implementation
(isPrintable): Ditto
(isPrintableNonspace): Ditto
(isDigit):
* src/support/textutils.C: New file, contains new implementations
using qt of the functions in textutils.h
* src/support/Makefile.am: Add textutils.C
* development/scons/scons_manifest.py: ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17354 a592a061-630c-0410-9148-cb99ea01b6c8
What I did:
* move xx_foo.ext to xx/foo.ext
* update Makefile.am to make install work
* minimally update scons_manifest.py (I'd be surprised to see it
work).
* update i18nLibFileSearch to use the new naming scheme, and keep
temporarily some code that checks the old method.
* update image paths in .lyx files
* update name of files (examples in tutorial, for ex.) in lyx files
What is definitely broken:
* cmake (did not touch it)
* TOC files (I am not sure how the code works)
I would be surprised if nothing else was wrong.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17343 a592a061-630c-0410-9148-cb99ea01b6c8
read from a text file.
* src/encoding.[Ch]
(Encoding::latexChar): New, output a character to LaTeX
(Encoding::validate): New, add needed preamble stuff for a character
(Encodings::read): Read new unicodesymbols file
(Encodings::isCombiningChar): New, is a character a combining char?
* src/paragraph_pimpl.C
(isEncoding): Delete, no longer needed
(getEncoding): New, get the real encoding of a font
(Paragraph::Pimpl::latexSurrogatePair): New, output a surrogate pair
to LaTeX
(Paragraph::Pimpl::simpleTeXBlanks): Use latexSurrogatePair if needed
(Paragraph::Pimpl::simpleTeXSpecialChars): Ditto, and replace several
hardcoded characters with a call of encoding.latexChar()
(Paragraph::Pimpl::validate): replace several hardcoded characters
with a call of encoding.validate()
* src/support/debugstream.h
(basic_debugstream::disable): New, disable the stream completely
(basic_debugstream::enable): New, reenable the stream
* src/lyx_main.[Ch]: Adjust to changes above
* src/paragraph.C: Ditto
* lib/unicodesymbols: New file with UCS4 -> LaTeX command mapping.
It is far from complete yet, but contains most accents on latin
characters.
* lib/Makefile.am: add lib/unicodesymbols
* development/scons/scons_manifest.py: ditto
* development/tools/unicodesymbols.py: Helper script to update
lib/unicodesymbols with new symbols
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16920 a592a061-630c-0410-9148-cb99ea01b6c8
Add the xpm version of the deleted lib/clipart/buffer-export_pdf2.png as
lib/images/buffer-export_pdf2.xpm since I discovered that we did not yet
have this icon.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16902 a592a061-630c-0410-9148-cb99ea01b6c8
* ExceptionMessage: new exception based message for errors and warnings.
* package.C.in:
- replace lyxerr based errors and warning with ExceptionMessage throwing.
- bail_out(): erased!
* os_win32.C:
- replace lyxerr based errors and warning with ExceptionMessage throwing.
- bail_out(): erased!
* tex2lyx.C: catch any exception from Package class.
* lyx_main.C: catch any exception from Package class and act accordingly.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16834 a592a061-630c-0410-9148-cb99ea01b6c8
Move OS dependent code where it belongs.
* src/lyx_cb.C:
Remove unused include
* src/support/os.h
* src/support/os_unix.C
* src/support/os_win32.C
* src/support/os_cygwin.C:
Move here the code from fontutils.[Ch]
* src/support/os_cygwin.C
(external_path, external_path_list): don't differentiate anymore
on Qt/X11 or Qt/Win builds.
* src/support/environment.C
(setEnvPath): get rid of the #ifdef for cygwin.
* src/lyx_main.C
(LyX::exec): addFontResources and restoreFontResources are now
in the os namespace.
* src/support/Makefile.am
* src/client/Makefile.am
* src/tex2lyx/Makefile.am
* development/scons/scons_manifest.py:
Updated
* src/support/fontutils.[Ch]:
Removed
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16655 a592a061-630c-0410-9148-cb99ea01b6c8
* lib/ui/stdmenus.ui: rename file in order not to confuse users
* lib/ui/stdtoolbars.inc:
* lib/ui/stdtoolbars.ui: rename file in order not to confuse users
* development/scons/scons_manifest.py:
* lib/doc/de_Customization.lyx:
* lib/Makefile.am:
* lib/ui/classic.ui:
* lib/ui/default.ui: adjust
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16549 a592a061-630c-0410-9148-cb99ea01b6c8
from/to the local 8bit encoding with it.
Only the autotools build system is updated, scons and cmake users need to
add qt4 cpp flags when compiling libsupport, and link libsupport against
libQtCore.
* src/frontends/qt4/qt_helpers.[Ch]
(toqstr, qchar_to_ucs4, ucs4_to_qchar, ucs4_to_qstring,
qstring_to_ucs4, fromqstr): Move these qstring conversion functions
from here ...
* src/support/qstring_helpers.[Ch] ... to these new files
* src/support/docstring.[Ch]
(from_local8bit): new conversion function from local 8bit encoding
to ucs4
(to_local8bit): new conversion function from ucs4 to local 8bit
encoding to ucs4
(to_local8bit_failure): exception that is thrown by to_local8bit if
the argument cannot be converted to the local encoding
* src/support/filename.C
(FileName::toFilesystemEncoding): implement with the help of QFile
* src/support/Makefile.am: Add new files, qt4 cpp flags and link
against libQtCore
* src/client/client.C: Convert commandline input from local encoding
to ucs4. Convert stuff that is sent to to the server to utf8,
because LyX interprets it as utf8 on the other end of the pipe.
* src/lyx_main.C
(LyX::exec): convert commandline input from local encoding to utf8
(LyX::init): ditto
(LyX::easyParse): ditto
* development/scons/scons_manifest.py: Add new files
* config/qt4.m4: Define new variables QT4_CORE_INCLUDES,
QT4_CORE_LDFLAGS and QT4_CORE_LIB
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16257 a592a061-630c-0410-9148-cb99ea01b6c8
Add licence info to UpdateFlags.h.
Note to the author of UpdateFlags.h: Please fix the author information,
I don't know who wrote this file because not everybody used his own account.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16012 a592a061-630c-0410-9148-cb99ea01b6c8