* Clipboard.h: new isInternal() pure virtual method
* Selection.h: new isInternal() pure virtual method
* GuiClipboard, GuiSelection: implement new method.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16476 a592a061-630c-0410-9148-cb99ea01b6c8
like 3043
* src/support/docstream.C
(iconv_codecvt_facet::do_out): Output the to be converted string and
the partially converted result in hex notation if an error occurs
(iconv_codecvt_facet::do_in): ditto
(iconv_codecvt_facet::do_iconv): remove now obsolete error message
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16469 a592a061-630c-0410-9148-cb99ea01b6c8
(IconvProcessor::convert): Fix hex output of bytes on systems where
char is signed
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16468 a592a061-630c-0410-9148-cb99ea01b6c8
* src/mathed/InsetMathNest.C :
unreachable code
* src/aspell_local.h :
aspell is a Clibrary, no class keyword available
* src/texrow.h :
could not generate standard constructor
* development/cmake/CMakeLists.txt :
- disable same warnings
- all size_t/int related warnings are disabled
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16446 a592a061-630c-0410-9148-cb99ea01b6c8
* BufferView:
- checkDepm(): new method for DEPM mechanism.
- mouseSetCursor(): use checkDepm().
* text2.C:
- use BufferView::checkDepm() instead of using LyXText::deleteEmptyParagraphMechanism() directly.
- deleteEmptyParagraphMechanism(): prepare for conversion to DocIterator (code transferred to BufferView::checkDepm()).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16442 a592a061-630c-0410-9148-cb99ea01b6c8
notifyCursorLeaves may have killed the inset and put its contents
at lower level (bug 2908)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16430 a592a061-630c-0410-9148-cb99ea01b6c8
false by default.
(metrics): do not set to openinlined if
hasFixedWidth is true.
* insetbox.C (hasFixedWidth): returns true if the box has a fixed
width.
(metrics): use hasFixedWidth.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16426 a592a061-630c-0410-9148-cb99ea01b6c8
encodings in the preferences dialog
* src/LaTeXFeatures.C: special treatment for tis620-0 encoding
* src/bufferparams.C: ditto
* src/output_latex.C: ditto
* src/encoding.[Ch]: Add the possibility to iterate over all encodings
* src/paragraph_pimpl.C: Add latin10 and cp858 to Euro treatment
* src/buffer.C: Update format number
* src/frontends/qt4/QDocumentDialog.C: Don't hardcode available
encodings
* lib/lyx2lyx/LyX.py,
lib/lyx2lyx/lyx_1_5.py: implement conversion from 256 to 255
* lib/encodings: Add some encodings, fix all "unknown" entries
* development/FORMAT: Document file format change
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16418 a592a061-630c-0410-9148-cb99ea01b6c8
(iconv_convert): Fix a crash: Don't try to create a vector from two
pointers where end is before begin.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16408 a592a061-630c-0410-9148-cb99ea01b6c8
* src/insets/insetcollapsable.C: test if inset is open before editing
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16406 a592a061-630c-0410-9148-cb99ea01b6c8
instead of std::string
* src/support/lyxlib.h
* src/support/getcwd.C
(getcwd): return a FileName, not a std::string in filesystem encoding
* src/support/filetools.[Ch]
(makeAbsPath): return a FileName, not a std::string in undefined encoding
* src/support/lyxlib.h
* src/support/tempName.C
(makeAbsPath): return a FileName, not a std::string in undefined encoding
* many other files: Adjust to the changes above
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16399 a592a061-630c-0410-9148-cb99ea01b6c8
(LColor::getFromGUIName): delete, since it is unused, broken and
not easy to implement correctly
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16378 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/controllers/ControlBibtex.C
(ControlBibtex::getStylefile): get the correct parameter.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16374 a592a061-630c-0410-9148-cb99ea01b6c8
* focusInEvent(): start the blinking cursor after the resize.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16366 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/filetools.h
(fileSearch): change return value type to vector<FileName>
* src/support/filetools.C
(dirList): Convert filenames from the file system encoding
* src/converter.C
(Converters::move): Adjust to dirList interface change
* src/support/filename.[Ch]
(FileName::fromFilesystemEncoding): New static method
* src/client/client.C: Add comments about filename encoding
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16362 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/filetools.[Ch]
(fileOpenSearch): comment out since it is unused
(fileSearch): Use addExtension instead of changeExtension, since we
are always called without extesnion, or with the correct one.
(addExtension): new function
* src/lyx_main.C
(LyX::init): tell fileSearch that we are also interested in the name
if the file does not exist
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16361 a592a061-630c-0410-9148-cb99ea01b6c8
(Converters::move): Use removeExtension and reuse variable 'path'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16358 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt4/GuiWorkArea.C
(GuiWorkArea::doGreyOut): don't use LyXFont::SIZE_XXXX directly as
a font size as these are enum values and not the actual sizes.
Move the version number slightly to the right to make it more
readable against the splash screen.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16353 a592a061-630c-0410-9148-cb99ea01b6c8
* WorkArea.h: processKeySym() is now public
* GuiView:
* event(): new method to intercept Tab key press.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16352 a592a061-630c-0410-9148-cb99ea01b6c8
with Qt/Mac. Still does not work in non-default locale.
* QLPopupMenu.C (specialMacXmenuHack): remove, not needed anymore.
* GuiView.C (init): remove Mac hack, not needed anymore.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16349 a592a061-630c-0410-9148-cb99ea01b6c8
The use of top-level lyx::dispatch() ensure that the CoordCache is OK at each step.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16348 a592a061-630c-0410-9148-cb99ea01b6c8
- ParagraphMetrics: new class gathering everything related to metrics.
- Paragraph: now derives from ParagraphMetrics.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16335 a592a061-630c-0410-9148-cb99ea01b6c8
* src/mathed/InsetMathGrid.C: Don't declare mathed_parse_normal,
include MathParser.h instead
(InsetMathGrid::doDispatch): remove to_utf8, mathed_parse_normal
takes now a docstring
* src/mathed/MathMacroTemplate.C
(MathMacroTemplate::read): restore the version of 1.4.x, since
the new one did only work for macros without whitespace
* src/mathed/MathParser.[Ch]
(Parser): Add constructor from a docstring
(mathed_parse_cell): Create the parser directly from the string,
since the istream variant of tokenize() does only work if reading
from the .lyx file
(mathed_parse_normal): ditto
(mathed_parse_normal): Delete the istream variant (unused)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16334 a592a061-630c-0410-9148-cb99ea01b6c8
* src/lyxfunc.C
(LyXFunc::dispatch): Use default include type if no type is given
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16324 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/package.h
(Package::system_temp_dir): new, return the system temp dir.
* src/support/package.C.in
(Package::Package): record the system temp dir.
* src/lyx_main.C
(LyX::prepareExit): don't remove the temporary directory if it
is the same as the system temp dir, meaning that the lyx_tmpdir
has not yet been created.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16318 a592a061-630c-0410-9148-cb99ea01b6c8
ControlMath.C: cleanup order of symbols in math panel
iconpalette.C: 6 cols since many symbols come in pairs
Rrightarrow.xpm: was missing
searrow.xpm: was north east
swarrow.xpm: was north west
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16316 a592a061-630c-0410-9148-cb99ea01b6c8
new doc
type: foo bar
put cursor after foo: foo| bar
enter space: foo | bar
click somewhere else -> CRASH
The problem is that the paragraph breaking needs to be redone after the empty space is deleted.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16295 a592a061-630c-0410-9148-cb99ea01b6c8
with the correct Qt4 signal QComboBox::editTextChanged.
* src/frontends/qt4/QSearchDialog.C
(QSearchDialog::QSearchDialog): use QComboBox::editTextChanged instead
of QComboBox::textChanged.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16270 a592a061-630c-0410-9148-cb99ea01b6c8
in the right place.
* src/lyx_main.C
(LyX::exec): create the lyxsocket in the temporary directory.
(LyX::prepareExit): remove the temporary directory only if it
has been created.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16262 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
* src/lyxfunc.C
(LyXFunc::dispatch): Move to GuiView::closeEvent the session code
for lastpos in LFUN_LYX_QUIT. Check for unsaved changes before
initiating the quit procedure in LFUN_LYX_QUIT and LFUN_WINDOW_CLOSE.
* src/frontends/qt4/GuiView.h
(class GuiView): New boolean member quitting_by_menu_.
* src/frontends/qt4/GuiView.C
(GuiView::GuiView): Initialize quitting_by_menu_.
(GuiView::close): Set to true quitting_by_menu_ before calling
the quit procedure and reset it afterwards.
(GuiView::closeEvent): Account for the close window button.
Save last positions to the session file. Remove wrongly placed
call to quitWriteAll.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16248 a592a061-630c-0410-9148-cb99ea01b6c8
change default for latin1-languages to latin9 (bug 845)
* src/paragraph_pimpl.C:
add support for the subset of symbols that is only covered by
latin1 (not latin9) to make the above switch painless.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16239 a592a061-630c-0410-9148-cb99ea01b6c8
to the documentation of pspell 0.12.2 (the latest version before it became
aspell). Since pspell.C did not even compile from Denmark till yesterday and
nobody noticed I am not willing to spend more time with this.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16234 a592a061-630c-0410-9148-cb99ea01b6c8
* src/buffer.C
(Buffer::makeLaTeXFile): move code from here ...
* src/bufferparams.[Ch]
(BufferParams::encoding): .. to this new method
* src/ispell.C
(to_iconv_encoding): new, convert from ucs4 to the encoding used by
ispell
(from_iconv_encoding): new, convert from the encoding used by ispell
to ucs4
(ISpell::ISpell): store buffer encoding
(ISpell::nextMiss): use from_iconv_encoding instead of from_utf8
(ISpell::check): use to_iconv_encoding instead of to_utf8
(ISpell::insert): ditto
(ISpell::accept): ditto
* src/ispell.h
(encoding): new member, store the buffer encoding
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16230 a592a061-630c-0410-9148-cb99ea01b6c8
src/frontends/qt4/QDelimiterDialog.C: cosmetics: change text "Variable size" to just "Variable", because "size" is already given by the label
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16227 a592a061-630c-0410-9148-cb99ea01b6c8
Fix a conversion char -> char_type without encoding conversion in
cap::replaceSelectionWithString().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16212 a592a061-630c-0410-9148-cb99ea01b6c8
(LyX::init): Remove obsolete test for arguments starting with '-'.
The frontend did already parse these arguments before LyX::init is
called, and therefore any remaining ones are reported as error
earlier in LyX::init, so the removed code does never trigger.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16206 a592a061-630c-0410-9148-cb99ea01b6c8
- update(): return bool only, and cleanup of the DOX comments.
- workAreaDispatch(): return bool only, cleanup of the DOX comments, change update() call to updateMetrics() and add some FIXMEs.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16197 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt4/GuiFontLoader.C
(QLFontInfo): use font.family() instead of font.rawName()
as the latter always returns "Multi" on *nix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16195 a592a061-630c-0410-9148-cb99ea01b6c8
* lib/chkconfig.ltx:
check for the textcomp package
* lib/doc/LaTeXConfig.lyx.in:
document textcomp
* src/LaTeXFeatures.C (simplefeatures):
add textcomp
* src/paragraph_pimpl.C (simpleTeXSpecialChar):
support the Euro sign (via textcomp command)
* src/paragraph_pimpl.C (validate):
require textcomp if we have a Euro symbol
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16193 a592a061-630c-0410-9148-cb99ea01b6c8
font is available. This is now possible because the old bug needing a
workaround has been solved in Qt4. This also solves the problem of missing
integral symbols in mathed on Windows when the esint10 font is not available.
* src/frontends/qt4/GuiFontLoader.C
(isSymbolFamily): directly check the family name in QFontInfo.
(getSymbolFont): add some debugging info.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16191 a592a061-630c-0410-9148-cb99ea01b6c8
needsUpdate() in src/lyx_main.C).
toFilesystemEncoding() is now used in all places where it is needed if I did
not forget anything.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16184 a592a061-630c-0410-9148-cb99ea01b6c8
mouse_hover_ is copied with copied collapsable insets. Should be false for
newly copied insets.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16182 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt4/qt_helpers.[Ch]
(toqstr): Use QString::fromUcs4 if the qt version is at
least 4.2.
(qstring_to_ucs4): Use QString::toUcs4 if the qt version is at
least 4.2
(ucs4_to_qstring): Delete to avoid confusion, since it was only
used in one place
* src/frontends/qt4/panelstack.C
(PanelStack::addCategory): Use toqstr instead of ucs4_to_qstring
* src/support/unicode.[Ch]
(ucs2_to_ucs4): Replace with utf16_to_ucs4
(ucs4_to_ucs2): Replace with ucs4_to_utf16
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16169 a592a061-630c-0410-9148-cb99ea01b6c8
created by the default constrcutor anyway.
This prevents an assert in findtexfiles.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16168 a592a061-630c-0410-9148-cb99ea01b6c8
* other files: use FontMetrics::dimension() method instead of old Dimension interface.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16167 a592a061-630c-0410-9148-cb99ea01b6c8
* introduce defaultDimension() and dimension() in preparation of Dimension class cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16165 a592a061-630c-0410-9148-cb99ea01b6c8
- writeout \begin and \end alignment tags on their own lines (bug 3010).
(patch from Gregor Gorjanc and me).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16164 a592a061-630c-0410-9148-cb99ea01b6c8
- ucs4_to_qchar(): add a FIXME and an assertion
* GuiFontMetrics: replace the table based cache with two QHash based cache. With this change, the speed overhead is not negligible (exact same score with the UserGuide test) and the required additional memory is minimal (maybe one or two megabytes).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16132 a592a061-630c-0410-9148-cb99ea01b6c8
- add constants instead of hard-coded values.
- add assertions and comments for out of range values.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16126 a592a061-630c-0410-9148-cb99ea01b6c8
http://bugzilla.lyx.org/show_bug.cgi?id=2900
The only drawback is that it requires about 20Mo extra-memory when loading the UserGuide. If it turns out to be too much, we can switch to a QHash based solution instead of a table.
* dimension.[Ch]:
- Dimension(LyXFont const, char_typec): new ctor
- set(LyXFont const & font, char_type c): new method.
* frontends/FontMetrics.h:
- width(char_type): is now a pure virtual method.
* GuiFontMetrics:
- CharMetrics: new structure;
- the metrics cache now also cache ascent and descent. This is especially useful for mathed.
* MathSupport.[Ch]:
- mathed_char_dim(): deleted. We now use Dimension::set() directly instead.
* rowpainter.C: fixe empty space.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16124 a592a061-630c-0410-9148-cb99ea01b6c8
* src/buffer.C
(Buffer::save): Only try to make a backup if the buffer file already
exists. The try ... catch mechanism is fine, but when it was
introduced ot was overseen that copying a file could not only fail
because the destination dir does not exist, but also because the
source does not exist.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16121 a592a061-630c-0410-9148-cb99ea01b6c8
This pointer was one reason for the Mac crashes because it not always had
the same value as the application_ smart pointer
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16119 a592a061-630c-0410-9148-cb99ea01b6c8
../../../../src/frontends/qt4/GuiView.C:142: warning: comparison between signed and unsigned integer expressions
../../../../src/frontends/qt4/GuiView.C:144: warning: comparison between signed and unsigned integer expressions
../../../../src/frontends/qt4/GuiView.C:146: warning: comparison between signed and unsigned integer expressions
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16113 a592a061-630c-0410-9148-cb99ea01b6c8
Part 2: avoid pure virtual function,
if (theApp)
theApp->unregisterSocketCallback(fd_);
does not help, we've tested it!
Without a Mac it is hard to find a better solution
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16110 a592a061-630c-0410-9148-cb99ea01b6c8
* src/lyx_main.C
(easyParse): decrement the loop variable only when remove > 0
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16107 a592a061-630c-0410-9148-cb99ea01b6c8
* lyxtext.h/text2.C:
- LyXText::getPitNearY(): this is non const anymore. The CoordCache will be updated automatically if the paragraph is not found in there.
- LyXText::checkInsetHit(): this is non const anymore because of the above.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16104 a592a061-630c-0410-9148-cb99ea01b6c8
kAEOpenDocuments ApleEvent.
(event): new method to do the same thing using qt4 built-in support.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16099 a592a061-630c-0410-9148-cb99ea01b6c8
* LyXText::cursorPrevious(): Implement the same check for safety reason.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16092 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/docstring.C
(do_get): terminate the string before using it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16086 a592a061-630c-0410-9148-cb99ea01b6c8
* text2.C
- LyXText::cursorUp(): ensure that BufferView::FitCursor() is tested.
- LyXText::cursorDown(): ditto
- LyXText::cursorRight(): ditto
- LyXText::cursorLeft(): ditto
* text3.C
- LyXText::dispatch(): add FIXME and ensure that update flag is at least equal to FitCursor.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16072 a592a061-630c-0410-9148-cb99ea01b6c8
This commits improves considerably math editing in Windows and solves one crash when viewing the moebius figure in UserGuide.lyx.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16071 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/docstring.C
(do_get): use reserve() and the += operator in order to
avoid a possible buffer overrun.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16070 a592a061-630c-0410-9148-cb99ea01b6c8
* LyX::exec(): in non-GUI mode, execute batch commands on all buffers.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16068 a592a061-630c-0410-9148-cb99ea01b6c8
rejectChange(); end-of-par characters are not considered
for the time being
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16064 a592a061-630c-0410-9148-cb99ea01b6c8
- execBatchCommands(): split in loadFiles() and execBatchCommands().
- exec(): enable batch command to be processed from GUI.
* Application:
- start(): deleted.
* GuiApplication:
- execBatchCommands(): new method
* GuiWorkArea::update(): call viewport()->repaint() instead of viewport()->update(), this enable to update the screen immediately when asked by a batch command.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16051 a592a061-630c-0410-9148-cb99ea01b6c8
use const_iterator to access paragraph insetlist; add
FIXME in accept/rejectChange
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16049 a592a061-630c-0410-9148-cb99ea01b6c8
items (instead of corrupting the source); adjust
calls to moveItem(); clean up breakParagraphConservative()
with regards to change tracking
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16047 a592a061-630c-0410-9148-cb99ea01b6c8
does not honour change tracking => make it a private method;
clarify the description of backspacePos0 (it does not always
merge paragraphs)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16033 a592a061-630c-0410-9148-cb99ea01b6c8
In use_gui mode, call execBatchCommand() after createApplication(). This enable to let the frontend parse the command line.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16027 a592a061-630c-0410-9148-cb99ea01b6c8
* 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
* LyX::execBatchCommands(): allow any extra argument unknown to the core to be passed out to the frontend.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16014 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
* InsetMathNest::lfunMousePress(): Disable optimization introduced in revision 16006. This is because we need the box corners when navigating inside formulas.
* InsetMathNest::doDispatch(): ditto.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16011 a592a061-630c-0410-9148-cb99ea01b6c8
* InsetMathNest.C: adjust update flags in order to avoid unneeded screen redrawing.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16006 a592a061-630c-0410-9148-cb99ea01b6c8
mode, make the cursor jump over it; avoid crash in setCursorIntern
by using the right LyXText.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16001 a592a061-630c-0410-9148-cb99ea01b6c8
* buffer.h: changed() signal do not have an argument now.
* BufferView.C:
- setBuffer(): changed update() call to updateMetrics().
- update(): sanitize how the flags are used.
- scrollDocView(): add a call to updateMetrics() at the end.
* LyXFunc::dispatch(): adjust changed() signal emission.
* LyXText/text3.C:
- cursorPrevious(): delete BufferView::update call; adjust cursor flag.
- cursorNext(): ditto.
* frontends/LyXView.C: adjust Buffer::changed() signal connection.
* frontends/WorkArea.[Ch]:
- redraw(): no need to re-update the metrics if we don't change views.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15997 a592a061-630c-0410-9148-cb99ea01b6c8
* src/cursor.C: remove nested empty math box
* src/mathed/InsetMathNest.C: remove the whole empty math box if it
can not be deleted from within
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15990 a592a061-630c-0410-9148-cb99ea01b6c8
- merge exec() and priv_exec()
- LyX constructor is now public.
- there is no global singleton_ object anymore, only a pointer.
- IconvProcessor(): new utf8 to ucs4 convertor.
* main.C: instantiate a LyX object and exec() it. No more use of static methods.
* docstring.C: use utf8ToUcs4() instead of a static variable.
* unicode.h: declare extern utf8ToUcs4().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15967 a592a061-630c-0410-9148-cb99ea01b6c8
when iconpalette detached from the math dialog, the iconpalette widget
width may become too large to fit to the screen.
when detached resized to a too small size, icons overlap.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15966 a592a061-630c-0410-9148-cb99ea01b6c8
file names, and DocFileName contains the special extensions for documents,
included figures etc.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15965 a592a061-630c-0410-9148-cb99ea01b6c8
* src/mathed/MathFactory.C
(initSymbols): skip a line when it is empty or a comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15961 a592a061-630c-0410-9148-cb99ea01b6c8
where sizeof(wchar_t) == 2
* src/support/docstring.C:
- New class ascii_num_get_facet for inputting numbers from idocstreams.
- Add the ascii_num_get_facet facet to the locale initializer.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15959 a592a061-630c-0410-9148-cb99ea01b6c8
* BufferView:
- update(): returns a pair of bools in order to inform for singlePar cases.
- workAreaDispatch(): ditto and simplify the logic by using cursor update flags.
* text.C
- breakParagraph(): change the cursor update flag as needed.
- insertChar(): ditto.
- erase(): ditto
- redoParagraph(): now returns true if there is a height change.
* text3.C: dispatch():
- initialize the cursor flag at the beginning
- LFUN_MOUSE_PRESS: no need to update.
- LFUN_MOUSE_RELEASE: ditto.
- add some FIXMEs and comments.
* LyXFunc::dispatch(): simplify the BufferView update.
* insets/insetcollapsable.C: clarify and simplify the logic in doDispatch().
* WorkArea::dispatch(): redraw only if needed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15958 a592a061-630c-0410-9148-cb99ea01b6c8
This fix will create extra translator work, and nobody will remmeber that
bformat should be used instead of your solution once the real problem is
fixed. If you use from_ascii instead of from_utf8 everything is OK. utf8
can be wrong as encoding for files anyway, so for now we require that files
are pure ascii.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15957 a592a061-630c-0410-9148-cb99ea01b6c8
* lyx_main.C:
- LyX::prepareExit(): avoid utf8_to_ucs4() conversion at this late stage because this can cause problem on Mac.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15955 a592a061-630c-0410-9148-cb99ea01b6c8
Following patch corrects some misbehavior in TOC dialog:
- When clicking on Toc insets, dialog switches to correct list.
- cursor goes to correct entry when clicked..
- some other fixes..
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15949 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/unicode.[Ch]
(IconvProcessor): Rework the implementation to fix two bugs:
- iconv_close was called even if the conversion descriptor was
invalid
- The compiler generated copy constructor did simply copy the pimpl_
pointer. Therefore pimpl_ was deleted twice for all IconvProcessor
instances created by eightbit_to_ucs4() and ucs4_to_eightbit().
This is solved by using a scoped_ptr for pimpl_.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15937 a592a061-630c-0410-9148-cb99ea01b6c8
* development/cmake/config.h.cmake:
there is no mode_t
* src/support/copy.C
chmod is declared in io.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15913 a592a061-630c-0410-9148-cb99ea01b6c8
* src/buffer_funcs.h
(updateLabels): Add bool childonly argument
* src/insets/insetbase.h
(addToToc): New virtual method
* src/insets/insetinclude.[Ch]
(addToToc): New virtual method
(updateLabels): New method
* src/TocBackend.h: reorganize classes so that we can forward
declare TocList
* src/insets/insetfloat.[Ch]
* src/insets/insetwrap.[Ch]
(addToToc): Adjust to type changes in TocBackend.h
* src/frontends/qt4/TocModel.[Ch]: ditto
* src/frontends/controllers/ControlToc.[Ch]: ditto
* src/TocBackend.C: ditto
(TocBackend::update) Remove test for float and wrap inset,
call virtual method instead
* src/BufferView.C
(BufferView::dispatch): make LFUN_PARAGRAPH_GOTO work even if the
target paragraph is in a different buffer
* src/MenuBackend.C: Adjust to type changes in TocBackend.h
(expandToc): Add an entry for the master doc in child docs
* src/buffer_funcs.C
(setLabel): Add text class parameter
(updateLabels): handle included docs if requested by the caller
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15904 a592a061-630c-0410-9148-cb99ea01b6c8
preferences file with \use_converter_cache true. It is disabled by default,
and no GUI support for changing the preferences is yet implemented.
* src/insets/insetgraphics.C
(InsetGraphics::prepareFile): Use image file cache
* src/insets/ExternalSupport.C
(updateExternal): Use image file cache
* src/exporter.C
(Exporter::Export): Do not use image file cache
* src/graphics/GraphicsCacheItem.C
(CacheItem::Impl::imageConverted): Add the converted file to the
image file cache
(CacheItem::Impl::convertToDisplayFo): Use image file cache
* src/converter.C
(Converters::convert): Use image file cache if the caller allowed that
* src/converter.h
(Converters::convert): Adjust arguments
* src/Makefile.am: Add new files
* src/support/lyxlib.h
(chmod): new function
(copy): add mode argument
* src/support/copy.C
(chmod): new function
(copy): implement mode argument
* src/support/mkdir.C
(lyx::support::mkdir): Add warning if permissions are ignored
* src/lyxrc.[Ch]: Add new settings \converter_cache_maxage and
\use_converter_cache
* src/ConverterCache.[Ch]: New image file cache
* src/importer.C
(Importer::Import): Do nut use the image file cache
* src/lyx_main.C
(LyX::init): Initialize the image file cache
* src/mover.[Ch]
(Mover::do_copy): Add mode argument
(SpecialisedMover::do_copy): ditto
* configure.ac: Check for chmod
* development/cmake/ConfigureChecks.cmake: ditto
* development/cmake/config.h.cmake: ditto
* development/scons/SConstruct: ditto
* development/scons/scons_manifest.py: Add new files
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15897 a592a061-630c-0410-9148-cb99ea01b6c8
* src/buffer.C
(Buffer::insertStringAsLines): Uncomment isPrintable test
* src/support/lstrings.C
(compare_no_case): Use char_type and not int for the docstring version
(ascii_tolower): Convert to a template
(compare_ascii_no_case): Do not use a template anymore, because we
need int for the string version and char_type for the docstring
version as intermediate type
(lowercase): Use towlower if possible
(uppercase): Use towupper if possible
* src/support/textutils.h
(isLetterChar): Use iswalpha if possible
(isPrintable): Use iswprint if possible
(isPrintableNonspace): Use iswprint and iswspace if possible
(isDigit): Use iswdigit if possible
* src/paragraph.C
(Paragraph::asString): remove obsolete FIXME
(Paragraph::transformChar): add FIXME
* configure.ac: Add definition of LIBC_WCTYPE_USES_UCS4 to config.h
* development/cmake/config.h.cmake: ditto
* development/scons/SConstruct: ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15893 a592a061-630c-0410-9148-cb99ea01b6c8
* src/paragraph.C
(Paragraph::changeLanguage): Don't forget the dummy font change at
the end of the paragraph when changing the language. This does not
affect the other place where this code is used:
Buffer::changeLanguage.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15890 a592a061-630c-0410-9148-cb99ea01b6c8
* src/text.C
(LyXText::dissolveInset): Reset language to buffer language if the
dissolved inset is an ERT inset.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15888 a592a061-630c-0410-9148-cb99ea01b6c8
* src/CutAndPaste.C
(pasteParagraphList): Don't record undo info here...
* src/BufferView.C
(BufferView::menuInsertLyXFile): ... but here instead
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15886 a592a061-630c-0410-9148-cb99ea01b6c8
- LyXText::breakParagraph(): Redo paragraphs before setCursor()
- LyXText::insertChar(): ditto
* lyxfunc.C: take into account BufferView::update() returned value for WorkArea redrawing.
* BufferView::update(): we also need a second step in singlePar mode.
* WorkArea.C
- startBlinkingCursor(): also show the cursor
- stopBlinkingCursor(): also remove the visible cursor
- processKeySym(): stop and start the cursor blinking instead of merely hide and show it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15884 a592a061-630c-0410-9148-cb99ea01b6c8
codepoint > 255.
I decided that this is no file format change: We already had the change to
format 249 that allowed unicode in .lyx files. The output to .tex of
non-ascii characters is now different than before (even for those that were
supported previously, e.g. german umlauts in latin1), but this is only
relevant if people referenced a label in ERT. Since we cannot detect this
anyway we don't need a file format change.
* src/support/lstrings.C
(escape): Extend the escaping algorithm from 8 bit to 24 bit.
* src/support/lstrings.h
(escape): Update comment
* lib/lyx2lyx/lyx_1_4.py
(lyx_support_escape): Update comment
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15883 a592a061-630c-0410-9148-cb99ea01b6c8
in, because we don't know the encoding of external files.
* src/LaTeX.C
(LaTeX::scanLogFile): Convert error strings to docstring and add
a comment that this could be wrong
* src/Chktex.C
(Chktex::scanLogFile): Ditto
* src/LaTeX.h
(TeXErrors::error_desc): Convert to docstring
(TeXErrors::error_text): Convert to docstring
* src/buffer_funcs.C
(bufferErrors): no from_utf8 needed anymore
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15875 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt4/ui/QPrefConvertersUi.ui: Readd translation hint
to label and remove broken tooltip that somebody created instead
* src/messages.C
(Messages::Pimpl::get): reenable stripping of [[..]] from
untranslated messages
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15872 a592a061-630c-0410-9148-cb99ea01b6c8
* src/mathed/InsetMathScript.C
(InsetMathScript::write): Do not add braces to the nucleus
* src/mathed/MathParser.C
(Parser::parse1): Do not remove brace insets from the nucleus of
script insets
* src/mathed/InsetMathNest.C
(InsetMathNest::script): ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15859 a592a061-630c-0410-9148-cb99ea01b6c8
rather than "end > start"; eraseChars is invoked
in cases in which no character is to be deleted
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15856 a592a061-630c-0410-9148-cb99ea01b6c8
labelstring_appendix in layout files
* src/text2.C
(LyXText::setLayout): Translate labelwidthstring for paragraph
(LyXText::getStringToIndex): labelwidthstring is now a docstring
* src/buffer.[Ch]
(Buffer::translateLabel): New method for translating a label if it
is not already translated by the user in the layout file
* src/lyxtext.h
(setParagraph): labelwidthstring is now a docstring
* src/support/lstrings.[Ch]
(bool isAscii): New utility function: Determine whether a docstring
contains only pure ascii
* src/text3.C
(LyXText::dispatch): setParagraph() now takes a docstring
* src/lyxlayout.C
(LyXLayout::read): Don't use from_ascii when reading labelstring_,
endlabelstring_ and labelstring_appendix_
* src/buffer_funcs.C
(setLabel): labelwidthstring is now a docstring
(setLabel): Use Buffer::translateLabel instead of Buffer::B_ to
translate labels
(expandLabel): ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15855 a592a061-630c-0410-9148-cb99ea01b6c8
- new pimpled TocBackend member and associated accessors.
* toc.[Ch]: delete all toc related methods except outline.
* TocBackend:
- goTo(): deleted, this gets rid of the LyXView dependency
- made all accessors const.
* ControlToc:
- rework the controller to work exclusively with TocBackend.
- goTo(): now call LyXView::dispatch() directly
all other files: update with the TocBackend or ControlToc API changes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15852 a592a061-630c-0410-9148-cb99ea01b6c8
where sizeof(wchar_t) == 2
* src/support/docstring.C:
- New class num_put_failure for warning about non-ascii characters.
- New class ascii_num_put_facet for outputting numbers to odocstreams.
- Add the ascii_num_put_facet facet to the locale initializer.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15849 a592a061-630c-0410-9148-cb99ea01b6c8
(expandToolbar): remove unneeded variables buf and i; use
the toolbar's gui_name.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15846 a592a061-630c-0410-9148-cb99ea01b6c8
the syntax of InsetInclude did not change when the syntax of InsetCommand
changed. Therefore we need to implement our own read method.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15833 a592a061-630c-0410-9148-cb99ea01b6c8
* 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
* have the modify/new functions in the formats and converter modules share most of their code
* get rid of the pointer to PrefConverters in the
formats module
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15820 a592a061-630c-0410-9148-cb99ea01b6c8
deleting empty paragraphs even when keepempty is true. Do not rely
on dEPM, since this was silly (bugs 2587 and 2882)
(Delete): simplify also and avoid calling backspace.
(backspace): small tweak.
(patch by Jean-Marc)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15801 a592a061-630c-0410-9148-cb99ea01b6c8
(InsetMathSymbol::draw): Remove obsolete FIXME
(InsetMathSymbol::draw): Microoptimization: Do not copy the string
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15789 a592a061-630c-0410-9148-cb99ea01b6c8
copySelection; fix change tracking in
pasteSelectionHelper; remove a few CT-related FIXMEs
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15788 a592a061-630c-0410-9148-cb99ea01b6c8
- setBufferView(): deleted
- currentView(), setCurrentView(): new method to set the current LyXView
* GuiApplication::x11EventFilter(): use currentView().view() to get the current BufferView. This should solves the X11 selection bug.
* WorkArea:
- dispatch(): redraw only if needRedraw in preparation for the painting optimization patch. Show the cursor immediately on mouse click.
- setBufferView(): remove call to Application::setBufferView()
* GuiWorkArea:
- focusInEvent(): update only if we changed LyXView
- focusInEvent(): stop the cursor only if we changed LyXView.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15783 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt4/QDocumentDialog.C:
* src/frontends/qt4/QPrefsDialog.C:
- force updateGeometry() for Qt >= 4.2 after the panel stack
has been built. This is a workaround for a Qt bug. See FIXMEs.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15781 a592a061-630c-0410-9148-cb99ea01b6c8
- wide_inset_ is not mutable any more
- Wide(): split up in Wide() and setWide()
* rowpainter.C:
- paintPar(): use a const_cast instead of the mutable InsetText::Wide()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15779 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt4/panelstack.C:
- fix the preferences and document dialog resizing problem (well, at least
for me -- please verify).
This didn't fix the problem. I'm pretty sure now that this is a bug in Qt 4.2(.1?)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15770 a592a061-630c-0410-9148-cb99ea01b6c8
- fix the preferences and document dialog resizing problem (well, at least
for me -- please verify).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15769 a592a061-630c-0410-9148-cb99ea01b6c8
* src/encoding.[Ch]
(symbol_encoding, symbol_encoding_): remove (unused)
* src/frontends/qt4/QLPainter.C
(QLPainter::text): Remove commented code. It was used in pre
unicode times to get unicode values of the symbol fonts if
USE_UNICODE_FOR_SYMBOLS was defined, but this was never defined
anyway, since the code points of the symbol fonts (as written in
lib/symbols) are directly used.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15758 a592a061-630c-0410-9148-cb99ea01b6c8
* paragraph_funcs.C: moveItem(): rename and
reorder parameters to make the function better understandable;
do not pass a Change parameter, because the function is able to
retrieve the right change by itself; adjust all function calls;
simplify the CT code and remove 3 FIXMEs at the same time
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15756 a592a061-630c-0410-9148-cb99ea01b6c8
math delimiter size values
* Status.15x: kill one bug & add a new one
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15753 a592a061-630c-0410-9148-cb99ea01b6c8
headers and converting the gettext stuff in tex2lyx and client to use
docstring.
The interface must be defined by src/gettext.h anyway, so better use that.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15740 a592a061-630c-0410-9148-cb99ea01b6c8
InsetHFill. This is possible because InsetHFill is the only inset so
far without parameters.
* src/insets/insetcommandparams.C
(InsetCommandParams::getCommand): Add {} to commands without
parameters.
* src/insets/insethfill.[Ch]
(InsetHFill::latex): Remove
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15736 a592a061-630c-0410-9148-cb99ea01b6c8
- hasFocus(): new pure virtual method
- redraw(): update singlePar only if the Widget has the focusInEvent
* GuiWorkArea.h: implement hasFocus().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15724 a592a061-630c-0410-9148-cb99ea01b6c8
(Parser::parse1): Fix special handling of {}-bases to not destroy
\xxx{\vec{H}}_0 where \xxx is an unknown command
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15712 a592a061-630c-0410-9148-cb99ea01b6c8
* src/encoding.[Ch]
(getEncoding): rename to getFromLyXName
(getFromLaTeXName): new, it does what the name says
* src/buffer.C
(Buffer::makeLaTeXFile): Fix crash by using getFromLaTeXName instead
of getFromLyXName.
Avoid crash for unknown encodings.
* src/language.C
(Languages::read): Adjust to name change above
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15703 a592a061-630c-0410-9148-cb99ea01b6c8
* buffer.h: changed() signal now emit a singlePar boolean.
* WorkArea::redraw(): acknowledge singlePar changed() boolean
* LyXView.C: adapt signal connection to changed() signal change.
* lyxfunc.C: transmit the singlePar flag with the Buffer::changed() signal.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15702 a592a061-630c-0410-9148-cb99ea01b6c8
- Get rid of setRenderHint for anti-aliasing, because we should respect user windows setting
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15699 a592a061-630c-0410-9148-cb99ea01b6c8
Use case: Two window share the same buffer. The first window is resize. This modify the inner Buffer structure because Paragraph has a notion of line break and thus line width. When switching to the other window which does not have the same size, LyX crashes because the line break is not adapted the this BufferView width.
This commit fix the crash by resizing the BufferView on a focusInEvent(). That is not a good fix but it is a fix nevertheless. The bad side effect is that when the two BufferView shows the same portion of the Buffer, the second BufferView will show the same line breaks as the first one even though those line breaks are not adapted to the second BufferView width... such is life!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15697 a592a061-630c-0410-9148-cb99ea01b6c8
- the cursor is still a widget, the width is 2-pixel on Windows and 1-pixel on other platforms. The full screen refresh on blinking cursor bug is now gone.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15695 a592a061-630c-0410-9148-cb99ea01b6c8
Qt doc for QMouseEvent::button():
Note that the returned value is always Qt::NoButton for mouse move events.
so we must use buttons() instead because later on
the code checks for the left button.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15693 a592a061-630c-0410-9148-cb99ea01b6c8
* GuiView::init(): switch to the first avalaible buffer if any.
* GuiWorkArea::focusInEvent(): update the LyXView tab bar there.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15685 a592a061-630c-0410-9148-cb99ea01b6c8
* src/paragraph_pimpl.C:
* src/paragraph_pimpl.h:
* src/paragraph.C: get rid of unused method setContentsFromPar()
and remove another change tracking FIXME at the same time
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15676 a592a061-630c-0410-9148-cb99ea01b6c8
* src/lyxfont.C
(LyXFont::lyxWriteChanges): Don't change color "inherit" to
"default", since that cannot be read in.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15654 a592a061-630c-0410-9148-cb99ea01b6c8
* src/mathed/MathStream.C
(isAlpha): new, test whether a lyx::char_type is an ascii letter.
(operator<<): output a space if pendingSpace() is true and what follows
begins with an ascii letter. Also update the number of lines written.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15645 a592a061-630c-0410-9148-cb99ea01b6c8
bar has to be painted, also consider the imaginary
end-of-par character
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15644 a592a061-630c-0410-9148-cb99ea01b6c8
(iconv_codecvt_facet::do_max_length): Update to current UTF8
specification and return 4 for UTF8.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15642 a592a061-630c-0410-9148-cb99ea01b6c8
frontends/LyXView.h
- add tab update function
frontends/qt4/GuiView.h
- add tab update function
- add function for setting up the tabs
- add slot for the tab clicks
- add pimpl
frontends/qt4/GuiImplementation.C
- don't set the buffer as central widget
but initilize the tabs
frontends/qt4/GuiView.C
- use QTabBar for switching
- scan the bufferlist on updates
frontends/LyXView.C
- also update the tabs
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15637 a592a061-630c-0410-9148-cb99ea01b6c8
revert first patch http://www.lyx.org/trac/changeset/15597
* frontends/qt4/GuiView.C:
don't 'break' the toolbar because it doesn't work if
the toolbar will be hidden
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15636 a592a061-630c-0410-9148-cb99ea01b6c8
like virtual methods in the base class anymore even if they are implemented.
* src/frontends/Painter.h
(rectText): remove the virtual qualifier
(buttonText): ditto
(underline): ditto
(buttonFrame): ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15625 a592a061-630c-0410-9148-cb99ea01b6c8
* delete some comments
* use lyxerr instead of cout in PanelStack
* move PanelStack into lyx::frontend namespace
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15623 a592a061-630c-0410-9148-cb99ea01b6c8
- ctor and dtor moved to public:
- QLPainter(): takes a QPaintdevice instead of a QWidget.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15619 a592a061-630c-0410-9148-cb99ea01b6c8
* LyXText
- bv(), bv_owner, : deleted.
- These methods now need a (Buffer const &) argument: getFont(), applyOuterFont(), getLayoutFont(), getLabelFont(), setCharFont(), setLayout(), singleWidth(), leftMargin(), rightMargin(), computeRowMetrics(), isMainText(), spacing(), isRTL(), cursorX(), rowBreakPoint(), setRowWidth(), labelFill(), labelEnd().
- These methods now need a (BufferView const &) argument and are propably candidates for future removal when 1.6 is opened for development: redoParagraph(), x2pos(), getRowNearY(), getColumnNearX(), checkInsetHit(), setHeightOfRow().
- recUndo(): now need a LCursor argument.
* CoordCache::get(LyXText const *, pit_type):
- now const.
- use const_iterator instead of iterator.
* FontIterator:
- add (Buffer const &) argument to ctor
- buffer_: new const reference to applicable BufferView.
* InsetBase
- xo(), yo(), covers() and neverIndent() are now const.
* InsetText::setViewCache(): deleted
All other changes are due to the LyXText and InsetBase API changes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15618 a592a061-630c-0410-9148-cb99ea01b6c8
- make the method const
- delete the const on return value because they are not really mandatory for POD (Plain Old Data)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15617 a592a061-630c-0410-9148-cb99ea01b6c8
* Painter: new ctor that sets drawing_enabled_ to true.
* setDrawingEnabled(), isDrawingEnabled(): new methods.
* QLPainter.C: only draw if drawing is enabled.
* nullpainter.h: deleted.
* rawpainter.C::paintPar(): only draw if we are inside the Paragraph.
* InsetTabular::draw(): use new Painter method instead of a NullPainter.
* InsetMathNest::drawSelection(): ditto.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15613 a592a061-630c-0410-9148-cb99ea01b6c8
Angus L. explanation: Lars introduced it years ago when he got exited by the idea
of dll-importing the frontend library, but the idea never came to anything
concrete. The file can always be resurrected later on; it's meant to be a C-
language wrapper to our C++ frontend library calls.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15611 a592a061-630c-0410-9148-cb99ea01b6c8
* docstring.C: utf8_to_ucs4() makes use of IconvProcessor instead of iconv_convert.
The IconvProcessor interface will permit to switch to another processor than iconv.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15609 a592a061-630c-0410-9148-cb99ea01b6c8
* changes.[Ch]: introduce isSimilarTo(...);
restore original operator==;
When merging two adjacent changes, the changetime is not considered,
only the equality of the change type and author is checked (in method
isSimilarTo(...)). If two changes are in fact merged (in method merge()),
the later change time is preserved.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15608 a592a061-630c-0410-9148-cb99ea01b6c8
- 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
* unicode.[Ch]:
- new non template iconv_convert()
- iconv_convert() template use above function.
* docstring.C:
- utf8_to_ucs4(): new function, use the new iconv_convert() function above.
- from_utf8(): use utf8_to_ucs4() function above.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15592 a592a061-630c-0410-9148-cb99ea01b6c8
* QLPainter::paintText(): use GuiFontMetrics::metrics(QString) to avoid an ucs4 to QString conversion.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15584 a592a061-630c-0410-9148-cb99ea01b6c8
* QLPainter::paintText(): use the font width cache instead of the painter metrics.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15580 a592a061-630c-0410-9148-cb99ea01b6c8
* src/paragraph_pimpl.C: in method erase(),
set the character to DELETED if
a) it was previously unchanged or
b) it was inserted by a co-author
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15573 a592a061-630c-0410-9148-cb99ea01b6c8
* src/paragraph_pimpl.C: only reject an inset's content
if the inset itself is UNCHANGED
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15572 a592a061-630c-0410-9148-cb99ea01b6c8
* src/paragraph_pimpl.C: do not propagate changes
to nested insets of the change type is DELETED
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15571 a592a061-630c-0410-9148-cb99ea01b6c8
Better change time handling. Quote from Changes.C:
Class Change has a changetime field that specifies the exact time at which
a specific change was made. The change time is used as a guidance for the
user while editing his document. Presently, it is not considered for LaTeX
export. To avoid that every keystroke results in a separate change, a
tolerance interval of 5 minutes is used. That means if there are two adjacent
changes that only differ in their change time with abs(ct1 - ct2) < 300 sec,
they will be merged (and the later change time is preserved).
Technically, the check for equality (or similarity) is made in
operator==(...). The merging of similar changes happens in method merge().
Resolve FIXMEs for LyX & LaTeX output.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15569 a592a061-630c-0410-9148-cb99ea01b6c8
I accidentally used data() which is not yet in the standard.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15565 a592a061-630c-0410-9148-cb99ea01b6c8
* src/encoding.h
(encoding_table): remove, this is no longer needed with unicode
(iconvName_): new member: name of the encoding in iconv syntax
* src/exporter.C
(Exporter::Export): Use return value of Buffer::makeLaTeXFile
* src/buffer.[Ch]
(Buffer::makeLaTeXFile): return whether the file has been created
successfully
* src/buffer.C
(Buffer::makeLaTeXFile): Use a docstream that converts to the correct
encoding
Display an error dialog is something went wrong
* src/bufferparams.C
(BufferParams::writeLaTeX): Undo the utf8 inputenc hack
* src/frontends/qt4/QDocumentDialog.C: Add some FIXMEs
* src/support/unicode.[Ch]
(eightbit_to_ucs4): New conversion function
(ucs4_to_eightbit): New conversion function
* src/support/docstream.[Ch]
(utf8_codecvt_facet_exception): Move to header and rename to
iconv_codecvt_facet_exception
(odocfstream): Take the encoding as argument
* src/support/docstream.C
(utf8_codecvt_facet): Generalize to other encodings than utf8 and
rename to iconv_codecvt_facet
* src/encoding.C: Remove obsolete tables
* src/output_latex.C
(TeXOnePar): Convert the paragraph to different encoding if needed
* lib/encodings: Remove obsolete tables
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15564 a592a061-630c-0410-9148-cb99ea01b6c8
1) crash in GuiWorkArea::paintEvent(), this one is solved by by encapsulating the file loading in LyXView by busy(true)/busy(false) and by disabling/enabling the work area update in GuiView::busy().
2) crash in the cursor blinking because the cursor is timed out at the moment you click on "Revert". So the blinking cursor is now disabled/enabled in GuiView::busy().
3) crash in BufferView::setBuffer() because the current buffer was already closed folling the "revert" command.
* BufferView::loadLyXFile(): set buffer_ to 0 in case of a reload (when document is reverted)
* LyXView:
- busy() is not const anymore (work_area_ is modified in GuiView)
- loadLyXFile(): encapsulate the file loading with busy(true)/busy(false)
- setBuffer(): encapsulate the buffer-switching with busy(true)/busy(false)
* GuiView::busy()
- disable/enable workarea updates.
- disable/enable blinking cursor.
* WorkArea: new startBlinkingCursor() and stopBlinkingCursor() methods.
* rowpainter.C:
- paintText(): make sure there is a Buffer from which to paint.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15556 a592a061-630c-0410-9148-cb99ea01b6c8
use position returned by BufferView
src/bufferview_funcs.C:
adjust cursor x-position by hand
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15555 a592a061-630c-0410-9148-cb99ea01b6c8
* src/*.C:
* src/insets/*.C: implement rejectChanges() in analogy to
acceptChanges();
* src/paragraph_pimpl.C: add assertions for pos, start, and
end parameters
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15542 a592a061-630c-0410-9148-cb99ea01b6c8
* qt4/Alert_pimpl.C: make sure the proper Qt attributes are set.
* GuiApplication::quitLyx(): add the "force" argument to the funcRequest.
* GuiImplementation:
- GuiImplementation(): remove the signal connection. This was triggered after the LastWindowClosed signal so was not useful.
- cleanupViews(): renamed to unregisterView() and handle the WorkAreas as well.
- closeAll(): new method (from LyXView).
* GuiView.C
- clean up the includes order.
- closeEvent(): make sure that theBufferList().quitWriteAll() is called if last window closed.
* lyx_main.C / LyX::quit():
- remove noAsk argument
- delete bufferList::quitWriteAll() call (this is handled in the frontend).
- delete Session stuff (ditto)
* LyXFunc::dispatch()
- LFUN_LYX_EXIT: close all window before exiting from user command (as opposed to last window closed).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15535 a592a061-630c-0410-9148-cb99ea01b6c8
* LyXFunc:
- dispatch(): transfer assertion on lyx_view_ to each LFUN on a case by case basis.
- dispatch(): new LFUN_WINDOW_CLOSE
- getStatus(): special treatment for LFUN_LYX_QUIT
* LyX:
- views_, addLyXView(): deleted
- quit(): call saveGeometry() on each LyXView before exiting.
* GuiApplication:
- is now a QObject.
- quitLyX(): new Qt slot for lastWindowClosed signal.
* Gui.h:
- destroyView(), destroyWorkArea(): deleted
- viewIds(): new method
* GuiImplementation:
- implement above changes.
- GuiImplementation is now a QObject
- cleanupViews(): new private slot.
- buildViewIds(): new helper method
- views_ and work_areas_ are now maps of raw pointers instead of schared_ptr.
* LyXView
- now stores its id.
- dispatch(): special treatment for LFUN_WINDOW_CLOSE.
- workAreaIds(): new method.
- close(): new pure virtual method.
- saveGeometry(): new pure virtual method.
* GuiView:
- implements above changes.
- GuiView(): set WA_DeleteOnClose and Qt::WA_QuitOnClose to let Qt manage the destruction on close().
- closeEvent(): session stuff transfered to saveGeometry()
* WorkArea
- now store its id.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15514 a592a061-630c-0410-9148-cb99ea01b6c8
- Various micro-optimisations
- Revert Abdel's repaint instead of update for QPainter
- Get rid of unused methods in GuiWorkArea
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15491 a592a061-630c-0410-9148-cb99ea01b6c8
correctly.
The floatlist type is now stored in the InsetCommand parameter "type".
Formerly it was stored in the command name, which is not possible anymore
because all command names need to be known.
The file format of .lyx files is still the same.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15489 a592a061-630c-0410-9148-cb99ea01b6c8
* src/paragraph.h: rename erase() to eraseChars()
for consistency with eraseChar()
* src/paragraph_pimpl.h: dito; merge the two erase() methods
* src/*.C: adjust properly
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15478 a592a061-630c-0410-9148-cb99ea01b6c8
* mathed/InsetMathXYArrow.C:
* mathed/InsetMathMBox.C: do not include non-existing MathMLStream.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15477 a592a061-630c-0410-9148-cb99ea01b6c8
changing between using it and the keyboard-cursor
movements.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15473 a592a061-630c-0410-9148-cb99ea01b6c8
* Buffer: new changed() boost::signal.
* LyXView:
- redrawWorkArea(): deleted
- bufferChangedConnection_: new signal connection
* LyXFunc: replace LyXView::redrawWorkArea() direct call with Buffer::changed() signal emission.
* WorkArea.C: deleted some comments about redrawWorkArea.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15464 a592a061-630c-0410-9148-cb99ea01b6c8
seems. ChangeTracking responsible please verify all
erase/eraseChar where we added false or where it is
called without changetracking bool (jug).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15456 a592a061-630c-0410-9148-cb99ea01b6c8
- Do not use the nullpainter for the rows outside the screen, because the nullpainter does not calculate the width of text, and thus the metric entries in the inset cache are completely wrong, causing assertions when using for instance page up or page down into an inset. This fixes the dreading assertion on navigation in the user guide, and elsewhere
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15455 a592a061-630c-0410-9148-cb99ea01b6c8
* src/changes.h: pass Change and Range to ChangeRange constructor
* src/changes.C: adjust
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15448 a592a061-630c-0410-9148-cb99ea01b6c8
- Add debugging input
- If cursor::dispatch does not handle the func, then it should not request an update
- Dump metrics cache after redraw
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15443 a592a061-630c-0410-9148-cb99ea01b6c8
* paragraph.h: remove setChar(...); all text changes
must be expressed as erase and insert operations in
order to support change tracking
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15440 a592a061-630c-0410-9148-cb99ea01b6c8
I believe that it is for horizontal
"scrolling": If you have a table that is wider than the screen and you go
to a cell that is at the right edge then, if you are lucky, the table is
shifted to the left so that you can edit the cell and even go further
right. This does however not work reliably.
If I am right then the variable name scx_ would make some sense: sc for
scrolling. The ChangeLog comments also seem to point in this direction. And
most of them were done by Jürgen Vigna who is AFAIK in Denmark.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15414 a592a061-630c-0410-9148-cb99ea01b6c8
src/text2.C: invoke insertInset with correct
Change parameter; only check for change _type_
(DELETED) for DEPM purposes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15406 a592a061-630c-0410-9148-cb99ea01b6c8
* src/rowpainter.C: check for change type equality, not
for equality of the compete Change objects
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15404 a592a061-630c-0410-9148-cb99ea01b6c8
* src/bufferparams.C: output authors no matter whether
we are in CT mode or not
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15402 a592a061-630c-0410-9148-cb99ea01b6c8
* src/mathed/MathParser.C
(parse1): behave correctly when a wrong delimiter is specified.
* src/mathed/InsetMathBig.C
(write): don't write a space before delimiter.
* src/frontends/qt4/QDelimiterDialog.C
(QDelimiterDialog): make translatable the string "Variable size".
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15397 a592a061-630c-0410-9148-cb99ea01b6c8
- Move lyx_server_ and lyx_socket destruction out of prepareExit() because those are only available when lyx::use_gui is true.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15394 a592a061-630c-0410-9148-cb99ea01b6c8
- Fix LaTeX export of User guide (the utf8 conversion buffer was too small)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15390 a592a061-630c-0410-9148-cb99ea01b6c8
* insettext.[Ch]
(InsetText::covers): added to allow the click-sensitive area to grow
with the Wide() condition.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15384 a592a061-630c-0410-9148-cb99ea01b6c8
getCommand does not include the {} anymore, because \hfill has no arguments.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15379 a592a061-630c-0410-9148-cb99ea01b6c8
Known problems:
- No space is output after a \hfill. I probably broke this with the
InsetCommand patch. I'll have a look later.
- Although the encoding is now UTF8 the arguments of the inputenc package
are still the old ones, so LaTeX will not run.
- Labels and references with non-ASCII characters are broken. This needs to
be fixed in lyx::support::escape(), but this is a file format change.
- Something seems to be wrong with index entries, but this is probably also
due to the InsetCommand changes.
Have fun!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15378 a592a061-630c-0410-9148-cb99ea01b6c8
* BufferView::updateMetrics(): add a big FIXME and don't clear out the coord_cache_.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15375 a592a061-630c-0410-9148-cb99ea01b6c8
- Polish the behavior when the TOC is empty (clearing the button and the TOC tree)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15373 a592a061-630c-0410-9148-cb99ea01b6c8
Now, lyx is really ready for multiple LyXView. Just need to create an LFUN for it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15370 a592a061-630c-0410-9148-cb99ea01b6c8
This commit also modifies the LyXFunc class. A LyXView is not needed any more at construction. Neither is the top level keymap. The LyXFunc key sequences are initialized only if we are in GUI mode (lyx::use_gui = true).
The next step is to rename LyXFunc::owner to LyXFunc::lyx_view_ and to put some BOOST_ASSERT. A classification between Gui and Kernel oriented LFUNs would also be welcome.
*LyX/lyx_main.[Ch]:
- LyX::Singletons: new private structure containing all the singletons (except the main LyX one of course).
- buffer_list_, top_level_keymap, session_: transfered to the LyX::Singletons structure.
* LyXFunc:
- LyXFunc: default constructor does not need any arguments.
- setupLocalKeymap(): deleted (was not used anywhere).
- initKeySequences(): new public method called from lyx_main.C, useful only in lyx::use_gui mode.
- new private member accessor methods
* Application:
- Application_pimpl: deleted (transfered to LyX)
- global singleton accessors: transfered to lyx_main.C
- start(): code transfered to LyX::priv_exec()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15367 a592a061-630c-0410-9148-cb99ea01b6c8
* src/insets/insetcommandparams.[Ch]:
(operator[]): New, access a parameter
(clear): New, clear all parameters
(info_): New, stire info about this command
(cmdname): Rename to name_
(contents, options, sec_options): Replace with params_. Parameters
are now stored as docstring.
(findInfo): New factor for command info for all commands
(read, write): Use new syntax
(parameter set and get methods): reimplemenmt for new parameter storage
* src/insets/insetcommand.h
(getParam): New, get a parameter
(setParam): New, set a parameter
(parameter set and get methods): Adjust to InsetCommandParams changes
* src/insets/insetbibitem.[Ch]
(write): Remove, not needed anymore
(directWrite): ditto
* src/insets/insetbibitem.C
(InsetBibitem::read): Use InsetCommand::read
* src/insets/insetref.C
(InsetRef::latex): Use new InsetCommandParams interface
* src/mathed/InsetMathHull.C
(InsetMathHull::doDispatch): ditto
* src/text3.C
(LyXText::dispatch): ditto
* src/factory.C
(createInset): Create InsetCommandParams with command name
(readInset): ditto
(readInset): Remove error message for bibitem, since bibitem is
now a normal command inset
* src/buffer.C: Bump file format number
* src/frontends/controllers/ControlCommand.[Ch]
(ControlCommand): take an additional command name parameter
* src/text.C
(readParToken): Remove code for \bibitem
* lib/lyx2lyx/LyX.py: Bump latest file format number
* lib/lyx2lyx/lyx_1_5.py
(convert_bibitem, convert_commandparams): new, convert to new format
(revert_commandparams): new, convert to old format
* development/FORMAT: document new format
* many other files: Adjust to the changes above
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15357 a592a061-630c-0410-9148-cb99ea01b6c8
CoordCache & coord_cache = sl.text()->bv()->coordCache();
As you can see, I used this indirection to access the BufferView::CoordCache(). Bad luck, the passed CursorSlice was not completely valid inside a mathed inset, hence the crash. My solution is to pass BufferView to InsetBase::cursorPos() and all its derivative.
* InsetBase::cursorPos(): pass BufferView const &
* bufferview_funcs::coordOffset(): ditto.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15356 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt3/QDocumentDialog.C (updateNumbering): don't include headings
that have no counter in their label.
* src/frontends/qt3/ui/NumberingModuleBase.ui: show scrollbar when appropriate.
* src/frontends/qt4/QDocumentDialog.C (updateNumbering): don't include headings
that have no counter in their label.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15352 a592a061-630c-0410-9148-cb99ea01b6c8
The coordcahce is for up/down navigation and vconverting mouseclicks to text positions. It is not for pure display/export which
is what drawT is about. It was a simple oversight not to remove it after some copying from the 'real' draw() method.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15347 a592a061-630c-0410-9148-cb99ea01b6c8
* QToc::update(): return early if no TOC type.
* QTocDialog::updateGui(): return early of the Type model is empty and disable the outline buttons.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15346 a592a061-630c-0410-9148-cb99ea01b6c8
* src/buffer:
file format incrementation to 251
* src/insets/insetcharstyle.[Ch]:
- make show_label a param and save its state
- let all-insets-toggle togle the label in charstyles
* development/FORMAT:
document file format change
* lib/lyx2lyx/LyX.py:
add new file format
* lib/lyx2lyx/lyx_1_5.py:
remove char style label param on reversion to 250.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15345 a592a061-630c-0410-9148-cb99ea01b6c8
* lyx_main.h: define "extern bool lyx::use_gui" here.
* NoGuiFontMetrics.h: new class for command-line LyX
* NoGuiFontLoader.h: new class for command-line LyX
* Application.C:
- theFontMetrics(): returns the above dummy FontMetrics when use_gui is false.
- theFontLoader(): returns the above dummy FontLoader when use_gui is false.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15339 a592a061-630c-0410-9148-cb99ea01b6c8
(readInset): Add comment about citation commands
* src/tex2lyx/text.C
(known_jurabib_commands): remove fullcite since LyX does not know it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15335 a592a061-630c-0410-9148-cb99ea01b6c8
* MathFactory.C:
- initMath(): revert change from r15327 because initSymbols() is needed for proper math parsing.
- math_font_available(): return false if lyx::use_gui is false.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15331 a592a061-630c-0410-9148-cb99ea01b6c8
* lyx_main.C:
- parse_export(): set lyx::use_gui to false.
* MathFactory.C:
- initMath(): initSymbols() only if lyx::use_gui is true.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15327 a592a061-630c-0410-9148-cb99ea01b6c8
theCoords is now a thing of the past and all CoordCache accesses are done via BufferView::coordCache() now. I had to modify a number of methods to pass BufferView.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15324 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt[34]/GuiApplication.C
(lyx::frontend::Application * createApplication): Don't return the
address of a temporary, but use the new operator.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15313 a592a061-630c-0410-9148-cb99ea01b6c8
* LyXFunc: new setLyXView() method
* LyXView::dispatch(): call LyXFunc::setLyXView() before lyx::dispatch()
What remains to be done is to ensure that every call to lyx::dispatch that is LyXView dependant is replaced with LyXView::dispatch().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15308 a592a061-630c-0410-9148-cb99ea01b6c8
Only qt4 is guaranted to compile and work. I did not remove gtk and qt3 lyx_gui.C because they might be needed for reference to complete the header declarations in "GuiApplication.C".
- lyx_gui::use_gui transfered to lyx::use_gui in lyx_main.C
- all remaining lyx_gui functions transfered to Application and corresponding GuiApplication implementations.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15306 a592a061-630c-0410-9148-cb99ea01b6c8
- new buffer_list_ member and accessors
- implementation of theBufferList() extern function
* Application: remove everything related to BufferList
* lyx_cb.C: test for lyx::use_gui before using theApp.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15303 a592a061-630c-0410-9148-cb99ea01b6c8
export (e.g. the ToC) and the navigate menu.
* src/insets/insetbase.h
(InsetBase::plaintext): output to a docstream
(InsetBase::textString): ditto
* src/mathed/TextPainter.h
(TextPainter::show): ditto
* src/support/docstream.[Ch] New file and string streams for
docstring. The file streams convert to UTF8 on the fly.
* many more files: Adjust to the changes above
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15301 a592a061-630c-0410-9148-cb99ea01b6c8
Please don't forget to clean up includes and using directives.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15300 a592a061-630c-0410-9148-cb99ea01b6c8
* lyxfunc.h:
- theLyXFunc(): new function in the global namespace.
- lyx::dispatch(): new function in the lyx namespace.
- lyx::getStatus(): new function in the lyx namespace.
* bufferlist.h:
- theBufferList(): new function in the global namespace.
* Clipboard.h:
- theClipboard(): new function in the global namespace.
* Selection.h:
- theSelection(): new function in the global namespace.
* FontLoader.h:
- theFontLoader(): new function in the global namespace.
* FontMetrics.h:
- theFontMetrics(LyXFont const &): new function in the global namespace.
* Application.C: implements the functions defined above.
* LyXView.h:
- getLyXFunc(): deleted.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15298 a592a061-630c-0410-9148-cb99ea01b6c8
- text(): now returns drawn text width()
* rowpainter:
- paintChars(): use the returned width from Painter::text() instead of recalculating it.
All other files: implement the API change. qt3 and gtk not 100% guaranted to compile nor work.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15294 a592a061-630c-0410-9148-cb99ea01b6c8
* buffer.[Ch] (changeRefsIfUnique): extend to handle bibitems
as well (the function takes a InsetCode argument now);
clean up by using InsetIterator.
* InsetMathHull.C (doDispatch): changeRefsIfUnique needs a
InsetCode argument now (bug 2744).
* insetlabel (doDispatch): changeRefsIfUnique needs a
InsetCode argument now.
* insetbibitem (doDispatch): use changeRefsIfUnique
(actual fix for bug 2744).
* insetcommand.[Ch]:
* insetcite.[Ch]: implement replaceContents, which is
used by changeRefsIfUnique.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15289 a592a061-630c-0410-9148-cb99ea01b6c8
* controllers/Dialog.[Ch]
- View::title_ is now a docstring (ctor and access functions changed)
* controllers/ControlLog.[Ch]
- title() now returns a docstring
* controllers/ControlLog.[Ch]
- title() now returns a docstring
* qt4/*: adapted to above changes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15283 a592a061-630c-0410-9148-cb99ea01b6c8
* lstrings.[Ch]: new docstring trim() function
* qt4/validators.C: PathValidator::validate() and printable_list() converted to unicode.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15281 a592a061-630c-0410-9148-cb99ea01b6c8
- getChangeAuthor() and getChangeDate(): converted to unicode.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15279 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/unicode.C
(iconv_convert): Use boost::uint32_t for storing a buffer character,
since the previously stored unsigned char is too small. I did not
use lyx::char_type on purpose because that might not be interpreted
as number, but as wide character if lyx::char_type == wchar_t.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15278 a592a061-630c-0410-9148-cb99ea01b6c8
- ucs4_to_qchar() and qchar_to_ucs4() have been inlined.
- ucs4_to_qstring(): pass a QString to avoid a copy.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15266 a592a061-630c-0410-9148-cb99ea01b6c8
Basically, I replaced all methods in the font_metrics namespace by a proper virtual interface FontMetrics. The FontLoader is _the_ container for FontMetrics.
This patch should also bring some optimizations in a number of place in the code. This is because we do not need any more to search for the LyXFont at each font_metrics call. In effect, the speed advantage is not as sensible and this is a bit deceiving considering that this was my primary motivation behind the patch. But I like the patch anyway as it cleans up the relation and interfacing between fonts, metrics and frontends.
* frontends/FontMetrics.h: new virtual interface. Renamed from font_metrics.h
* qt4/GuiFontMetrics: corresponding qt4 implememtation. Renamed from qfont_metrics.C. The smallCaps particular case treatment has been transfered here as well as the width cache for MacOSX and Windows.
* qt4/QLPainter.C: the smallCapsText has been reworked to return the width of the drawn text.C
all other files: replace font_metric helper function call with corresponding FontMetrics method calls.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15265 a592a061-630c-0410-9148-cb99ea01b6c8
* rename output_changes to outputChanges
* rename tracking_changes to trackChanges
* add FIXMEs for later revision
* remove trackChanges(); the CT data structure will always be set up
* decouple LFUNs changes-output/change-accept/change-reject/
all-changes-accept/all-changes-reject from LFUN changes-track
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15261 a592a061-630c-0410-9148-cb99ea01b6c8
* lib/ui/stdmenus.ui: move math text styles from
menu "insert" to menu "edit"
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15246 a592a061-630c-0410-9148-cb99ea01b6c8
* src/mathed/InsetMathSplit.C
(InsetMathSplit::validate): Only require amsmath for AMS stuff
* src/mathed/MathFactory.C
(createInsetMath): create InsetMathSplit if the latexkey is "split"
* src/mathed/MathParser.C
(Parser::parse1): remove "gathered" and "aligned", since these are
now handled via lib/symbols
(Parser::parse1): create InsetMathSplit if the latexkey is "split"
* lib/symbols: Add aligned, gathered, lgathered and rgathered
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15224 a592a061-630c-0410-9148-cb99ea01b6c8
* frontends/FontLoader.h: new interface class.
* frontends/Application.h: new FontLoader() pure virtual method
* frontends/lyx_gui: update_fonts() and font_available() methods deleted
* [qt3/qt4/gtk]/GuiApplication: implement the new interface
* qt4/GuiFontLoader:
- renamed from FontLoader
- now derives from FontLoader
- now in the lyx::frontend namespace
* qt3/qfont_loader
- now derives from FontLoader
* gtk/xftFontLoader
- now derives from FontLoader
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15220 a592a061-630c-0410-9148-cb99ea01b6c8
* lyx_main.C and lyx_cb.C: use Application methods directly instead of the above functions.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15211 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/fontutils.C:
Undefine the min and max macros if they are defined
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15210 a592a061-630c-0410-9148-cb99ea01b6c8
virtual std::string const romanFontName() = 0;
virtual std::string const sansFontName() = 0;
virtual std::string const typewriterFontName() = 0;
My goal is to transfer all of "frontends/*/lyx_gui.C" to "frontends/lyx_gui.C". When this is done, "frontends/lyx_gui.C" can go altogether as its functions will then be replaced with direct calls to theApp->XXX().
* frontends/lyx_gui.C: new file with code transfered from [qt3,qt4,gtk]/lyx_gui.C
* frontends/Application: 3 new font related pure virtual methods
* [qt3,qt4,gtk]/GuiApplication: implement the above method with code transfered from lyx_gui.C
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15208 a592a061-630c-0410-9148-cb99ea01b6c8
* src/insets/insetgraphics.C
(findTargetFormat): return pdf for vector graphics
* src/format.h
(Flags): new enum describing format flags
(flags_): new member variable for format flags
(vectorFormat): new, tell whether a format can contain vector graphics
* src/format.C: adjust to flags changes
* src/frontends/qt[34]/QPrefsDialog.C
(QPrefsDialog::QPrefsDialog): handle new vector flag
(QPrefsDialog::switch_format): ditto
(QPrefsDialog::updateFormatsButtons): ditto
(QPrefsDialog::new_format): ditto
(QPrefsDialog::modify_format): ditto
* src/frontends/qt3/ui/QPrefFileformatsModule.ui
* src/frontends/qt4/ui/QPrefFileformatsUi.ui
(vectorCB): new checkbox for vector flag
* src/lyxrc.C
(LyXRC::read): read vector flag
(LyXRC::write): write vector flag
* lib/doc/Customization.lyx: document format flags
* lib/configure.py
(checkFormatEntries): Add vector flag to some formats
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15205 a592a061-630c-0410-9148-cb99ea01b6c8
Now we write again \begin{align} instead of \begin{4} to .lyx and .tex.
* src/mathed/InsetMathHull.C
(InsetMathHull::header_write): write type name, not type_.
Use switch instead of if for better readability.
(InsetMathHull::footer_write): ditto
(InsetMathHull::mutate): write type name, not type_
(InsetMathHull::normalize): ditto
(InsetMathHull::infoize): ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15204 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/fontutils.C:
Undefine the min and max macros after inclusion of windows.h on cygwin.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15203 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt4/GuiView.C
(setGeometry): replace test for Q_OS_WIN32 with Q_WS_WIN
* src/support/fontutils.C:
If X_DISPLAY_MISSING is defined, compile the code for Win32
on cygwin, too.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15201 a592a061-630c-0410-9148-cb99ea01b6c8
A trivial (looking) patch to correct inset behavior, which is broken
with revision 15068. Without this patch, it is not possible to modify
an existing inset. All modifications processed as new index. (see
lyxfunc.C:1420)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15199 a592a061-630c-0410-9148-cb99ea01b6c8
These font related functions were identical for qt3 and qt4. They are not Qt dependent at all and could also apply to an eventual Win32 or MacOSX gtk port.
Jen-Marc says: It would be nice to convince fontconfig to do the same for linux.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15196 a592a061-630c-0410-9148-cb99ea01b6c8
* src/mathed/InsetMathHull.C
(InsetMathHull::doDispatch): move code for ref insert to InsetMathNest
(InsetMathHull::getStatus): move code for ref insert to InsetMathNest
* src/mathed/InsetMathNest.C
(InsetMathNest::doDispatch): move code from InsetMathHull here
(InsetMathNest::getStatus): move code from InsetMathHull here
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15189 a592a061-630c-0410-9148-cb99ea01b6c8
* gtk/qt3/qt4/GuiApplication: createView() method deleted
* LyXView:
- init(): is now a pure virtual method. autoSave code transferred to constructor and updates to the frontends.
- setGeometry(): new pure virtual method
* gtk/GView, qt3/QtView, qt4/GuiView: adapted to above change
- setGeometry(): code transfered from GuiApplication
* lyx_main.C: call LyX::ref().addLyXView() in there instead of in Application::createView()
*
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15183 a592a061-630c-0410-9148-cb99ea01b6c8
addWithStatus(). It also replaces LyXView uses with BufferView as none of the LyXView feature were used.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15181 a592a061-630c-0410-9148-cb99ea01b6c8
* src/insets/insettabular.C
(InsetTabular::getStatus): enable COPY_ROW and COPY_COLUMN features
(InsetTabular::tabularFeatures): handle COPY_ROW and COPY_COLUMN
* src/tabular.h
(TabularFeature): add COPY_ROW and COPY_COLUMN
* src/tabular.[Ch]
(LyXTabular::copyRow): new method, copy a row
(LyXTabular::copyColumn): new method, copy a column
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15173 a592a061-630c-0410-9148-cb99ea01b6c8
* BufferView
- layoutChanged: new boost signal.
- LyXView owner(), owner_: deleted
* text3.C
- emit BufferView::layoutChanged instead of calling LyXView::setLayout directly
- LFUN_MOUSE_RELEASE: delete LyXView updateMenubar() and updateToolbars() direct calls.
The update is of both bars is done in WorkArea::dispatch().
* WorkArea.C
- dispatch(): add LyXView updateMenubar() call.
* LyXView
- connects to BufferView::layoutChanged directly to Toolbars::setLayout()
- setLayout(): deleted.
* qt4/GuiImplementation: modify BufferView construction (without LyXView).
All other files: cleanup header declaration of LyXView.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15153 a592a061-630c-0410-9148-cb99ea01b6c8
(only on windows).
* src/frontends/Dialogs.C
(Dialogs::hide): Don't send the signal if we are quitting
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15116 a592a061-630c-0410-9148-cb99ea01b6c8
Most of qt3 and gtk should stay compilable except for LyXView.h because the LyXFunc instance has been transferred to Application.
* frontends/Application: new class aimed to be the one unique interface between the frontend and the kernel. Contains one global pointer to the unique instanciation theApp.
* frontends/qt4/GuiApplication: renamed from qt4/Application, the qt4 specialisation of the Application class. Contains one global pointer to the unique instanciation guiApp (equal to theApp but pointing to a GuiApplication instead).
* frontends/qt4/lyx_gui.C: most of the code has been moved to Application and GuiApplication
All other file: adapted to new API.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15114 a592a061-630c-0410-9148-cb99ea01b6c8
The associated WorkArea is then responsible to connect these signals to its LyXView parent.
* BufferView:
- showDialog, showDialogWithData, showInsetDialog: new boost signals
* LyXView:
- connectBufferView(), disconnectBufferView(): new method in charge of the connection/disconnection of the above signal to associate private methods (showDialog(), etc).
* WorkArea
- setBufferView(): will connect/disconnect the BufferView to its LyXView parent.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15068 a592a061-630c-0410-9148-cb99ea01b6c8
* src/CutAndPaste.C (pasteSelectionHelper): pass Cursor
as argument, remove cursor-dependent arguments,
implement method to reset layout in insets which
forceParagraphsToDefault.
* src/CutAndPaste.C (pasteParagraphList): adapt call of
pasteSelectionHelper.
* insets/insetbox.C (doDispatch):
* insets/insetert.C (doDispatch):
* insets/insetcharstyle.C (doDispatch):
* insettext.[Ch] (forceParagraphsToDefault):
remove ad-hoc-Code to
reset paragraph layout.
This is now done generally in CutAndPaste.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15062 a592a061-630c-0410-9148-cb99ea01b6c8
No scons and cmake support! scons and cmake need to find out the size of
wchar_t and define this macro in config.h (example for 32bit wchar_t):
* The size of a `wchar_t', as computed by sizeof. */
#define SIZEOF_WCHAR_T 4
* configure.ac: Test size of wchar_t
* src/support/types.h: don't include docstring.h anymore.
Use wchar_t as lyx::char_type if it is 32 bit wide.
* src/support/docstring.h: Use lyx::char_type for defining docstring
* src/metricsinfo.h: include support/docstring.h instead of
support/types.h
* src/lyxlex.h: ditto
* src/frontends/font_metrics.h: ditto
* src/frontends/qt4/qt_helpers.h: ditto
* src/frontends/Painter.h: ditto
* src/errorlist.h: ditto
* src/support/lstrings.h: ditto
* src/lyxfunc.h: ditto
* src/LaTeX.h: ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14991 a592a061-630c-0410-9148-cb99ea01b6c8
(QLPopupMenu::populate): Don't append a lyx::char_type to a qstring
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14988 a592a061-630c-0410-9148-cb99ea01b6c8
* src/insets/insettabular.C (getStatus):
* src/insets/insettext.C (doDispatch,getStatus): remove special code
for LFUN_INSET_DISSOLVE.
* src/text.C (dissolveInset): new method.
(erase, backspace): use dissolveInset.
* src/text3.C (dispatch): use dissolveInset for LFUN_INSET_DISSOLVE.
(getStatus): disable LFUN_INSET_DISSOLVE if the inset has more than one cell.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14940 a592a061-630c-0410-9148-cb99ea01b6c8
LyXText at cursor position is the same as LyXText at
cursor.selBegin() position. Fixes a crash (bug 2600).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14936 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/controllers/ControlMath.C
(latex_misc): Add intop and ointop
* lib/images/math/intop.xpm: New
* lib/images/math/ointop.xpm: Ditto
* lib/images/math/int.xpm: Add box to make the difference to intop clear
* lib/images/math/oint.xpm: ditto
* lib/Makefile.am: add new files
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14924 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/unicode.C
(bytes_to_ucs4): make it work on big endian machines
(bytes_to_ucs2): make it work on little endian machines
(ucs2_to_ucs4): ditto
(utf8_to_ucs4): Invoke iconv with explicit BE suffix
(ucs2_to_ucs4): ditto
(ucs4_to_ucs2): ditto
(ucs4_to_utf8): ditto
* configure.ac: Check for byte order
* development/scons/SConstruct: Ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14890 a592a061-630c-0410-9148-cb99ea01b6c8
* Dialogs::disconnect(string const & name): check if the dialog is an inset before resetting open_insets_
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14889 a592a061-630c-0410-9148-cb99ea01b6c8
isLetterChar(): verify also that this is a one-byte char (<256).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14877 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt[34]/qt_helpers.[Ch]
(toqstr): add variant for docstring
(qstring_to_ucs4): Use docstring and port from qt4 to qt3
* Many other files: Many std::string -> lyx::docstring conversions
* src/support/lstrings.[Ch]
(subst): Add variant for docstring and char_type
(externalLineEnding): std::string -> lyx::docstring
(internalLineEnding): std::string -> lyx::docstring
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14871 a592a061-630c-0410-9148-cb99ea01b6c8
* src/mathed/math_symbolinset.C
(void MathSymbolInset::maxima):
- newer maxima versions use inf instead of INF
- add support for greek pi
(void MathSymbolInset::mathematica):
- add support for \cdot
* src/mathed/math_stringinset.h
- account for the const version of asStringInset()
* src/mathed/math_extern.C
(bool extractScript):
- added bool superscript to formal parameters in order
to only extract superscripts
(MathArray::iterator extractArgument):
- leave out delimiters and a possible superscript
for function arguments
(bool isKnownFunction):
(bool extractFunctionName):
- recognize standard and user defined function names
(void splitScripts):
- correctly split scripts as expected by other functions
(MathAtom replaceDelims):
- ranamed as replaceParenDelims
(bool testOpenBracket):
(bool testCloseBracket):
- test for "[" and "]", respectively
(MathAtom replaceBracketDelims):
- replace something delimited by "[" and "]" with a
proper DelimInset
(void extractDelims):
- create a DelimInset for "[" and "]" delimiters, too
(void extractFunctions):
- improved recognition of function names
(bool testTermDelimiter):
- test for '+' or '-' as term delimiters
(MathArray::iterator extractTerm):
- extract a "term", i.e., something delimited by '+' or '-'
(bool testDiffItem):
- improved recognition of a "differential fraction"
(void extractDiff):
- call splitScripts() on numerator and denominator of a
differential fraction before analyzing them
(void extractLims):
- improved recognition of a limit function
(void extractStructure):
- reorganized order of searches
(MathArray pipeThroughMaxima):
- newer versions of maxima use simpsum instead of SIMPSUM
(string fromMathematicaName):
- translates from mathematica names
(MathArray pipeThroughMathematica):
- calls mathematica and collects its output
(MathArray pipeThroughExtern):
- add support for mathematica
* src/mathed/math_numberinset.C
* src/mathed/math_numberinset.h
(void MathNumberInset::mathematica):
- add support for mathematica
* src/mathed/math_matrixinset.C
* src/mathed/math_matrixinset.h
(void MathMatrixInset::mathematica):
- add support for mathematica
* src/mathed/math_diffinset.C
* src/mathed/math_diffinset.h
(void MathDiffInset::maxima):
- add support for maxima
(void MathDiffInset::mathematica):
- mathematica uses "D" and not "Dt" for normal derivatives
* src/mathed/math_liminset.C
* src/mathed/math_liminset.h
(void MathLimInset::maxima):
- add support for maxima
(void MathLimInset::mathematica):
- mathematica uses "Limit" and not "Lim" for limits
* src/mathed/math_exfuncinset.C
(string asMathematicaName):
- added some more function names
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14865 a592a061-630c-0410-9148-cb99ea01b6c8
* 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
In src/support/os_cygwin.C path styles are converted (when needed) from
one style to another. I discovered a couple of cases in which an
unnecessary conversion takes place.
The default output path style in external_path is windows because this
function is also used when adding fonts though a native Windows API call.
However, this call is not made in an X11 build, so it is not necessary
that the output path style is windows.
Log:
Small fixes for cygwin.
* os_cygwin.C (is_windows_path): avoid unnecessary conversion
when path is relative
(convert_path_list): avoid unnecessary conversion when path
list is empty
(external_path): for an X11 build it is not necessary that
the output path style is windows
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14859 a592a061-630c-0410-9148-cb99ea01b6c8
* qfont_metrics.C: make use of above methods instead of those in unicode.[Ch]
* QLPainter.C: ditto
* QLyXKeySym.C: ditto + simplification and a BOOST_ASSERT that verifies that the event is one char only.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14852 a592a061-630c-0410-9148-cb99ea01b6c8
catch exception thrown by boost::filesystem if copying to the
backup directory fails (fixes bug 2740: crash and dataloss if
the backup dir was invalid or not writeable).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14849 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt4/GuiWorkArea.C
(GuiWorkArea::dropEvent): Use toLocalFile instead of toString,
because toString omits the first backslash of UNC paths.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14846 a592a061-630c-0410-9148-cb99ea01b6c8
* LyXView: save two setLayout() calls that are done in updateLayoutChoice() anyway.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14833 a592a061-630c-0410-9148-cb99ea01b6c8
* src/tex2lyx/text.C
(known_spaces): new, LaTeX names of known spaces
(known_coded_spaces): new, LyX names of known spaces
(parse_text): Recognize all known spaces
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14832 a592a061-630c-0410-9148-cb99ea01b6c8
element (like {a'}^{2}). (froward port from 14802)
* src/mathed/math_nestinset.C (script): when creating a script
inset, handle specially previous atom if it is a MathBraceInset
(this is used in interactive input).
* src/mathed/math_parser.C (parse1): when creating a script inset,
handle specially previous atom if it is a MathBraceInset (this is
used in parsing phase).
* src/mathed/math_scriptinset.C (write): put nucleus into braces
if it contains more than one element or is itself a script inset.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14819 a592a061-630c-0410-9148-cb99ea01b6c8
Log:
* lyxfunc.C:
- LyXFunc::dispatch(): put some save guards before using
BufferView::cursor() and sendDispatchMessage().
* BufferView_pimpl.C
- BufferView::Pimpl::setBuffer(): return before if exiting.
* WorkArea.C:
- WorkArea::redraw(): update the toolbar when greying out.
* LyXView.C:
- LyXView::setBuffer(): sanitization
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14815 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt4/Action.C (Action): do not set entry to
checkable by default; invoke update() to set it up.
(update): only set checkable property if needed.
* src/frontends/qt4/QLPopupMenu.C (populate): in the case of
a Command menu item, let Action set itself up.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14811 a592a061-630c-0410-9148-cb99ea01b6c8
if the bib file is in a non-readable directory (bug 2782).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14807 a592a061-630c-0410-9148-cb99ea01b6c8
in the text.
* src/insets/insetbase.h (notifyCursorLeaves): return a bool
indicating whether cursor is invalidated.
* src/mathed/math_nestinset.C (notifyCursorLeaves):
* src/mathed/math_hullinset.C (notifyCursorLeaves): adapt to
prototype change.
* src/mathed/math_scriptinset.[Ch] (notifyCursorLeaves): return
true when an inset has been deleted.
* src/BufferView.C (mouseSetCursor): do not call dEPM when cursor
is invalidated by notifyCursorLeaves.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14796 a592a061-630c-0410-9148-cb99ea01b6c8
* math_scriptinset.C (notifyCursorLeaves): call recordUndoInset
before deleting a cell; if the nucleus does not have scripts
anymore, delete it and replace it by its contents at enclosing
level.
(write): output scripts even when they are empry.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14793 a592a061-630c-0410-9148-cb99ea01b6c8
* config/lyxinclude.m4: reset release date for development versions.
* src/version.C.in: make lyx_release_date a placeholder.
* src/lyx_main.C (parse_version):
* src/frontends/controllers/ControlAboutlyx.C (getVersion): change a
bit the display of LyX release date.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14712 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/package.C.in: use PATH_MAX instead of MAX_PATH
* INSTALL.scons: add instruction for building qt3 2ith msvc
* development/scons/SConstruct: use the right lib (qt-mt3) and manifest file
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14709 a592a061-630c-0410-9148-cb99ea01b6c8
* src/CutAndPaste.C (setSelectionRange, replaceWord): remove.
(replaceSelectionWithString): select the new string after
replacement; add a bool parameter indicating in which sense the
selection is made.
* src/lyxfind.C (replace): adapt to above changes.
(find): comment out debug message.
* src/frontends/controllers/ControlSpellchecker.C (isLetter):
rename parameter.
(nextWord): take a LCursor as parameter; set the selection over
the word that has been found.
(check): adapt to changes above (the length of the word is not
necessarily the length of the selection -- fixes bug 2068).
(replace): use cap::replaceSelectionWithString
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14708 a592a061-630c-0410-9148-cb99ea01b6c8
LFUN_GOTOERROR.
* src/bufferview_funcs.C (findInset): exit early when at end of
document (and avoid a crash).
* src/insets/insetbase.[Ch]: remove ERROR_CODE
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14706 a592a061-630c-0410-9148-cb99ea01b6c8
Log:
* BufferView/pimpl:
- scrollDocView(): call to BufferView::update() deleted.
- scrollDocView(): second part is now in setCursorFromScrollbar()
- setCursorFromScrollbar(): new method.
* WorkArea:
- setBufferView(): show the cursor immediately
- redraw(): call to updateScrollbar()
- updateScrollbar(): new method
- scrollBufferView(): fix it and show the cursor immediately.
* qt4/GuiWorkArea
- setScrollbarParams(): now disable the Qt scrollbar tracking.
- paintEvent(): scrollbar related code deleted
* qt3/QWorkArea
- setScrollbarParams(): now disable the Qt scrollbar tracking.
* qt3/QContentPane
- paintEvent(): scrollbar related code deleted
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14704 a592a061-630c-0410-9148-cb99ea01b6c8
gcc 3.3.x and older. They were first supplied with the libstdc++ of
gcc 3.4.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14685 a592a061-630c-0410-9148-cb99ea01b6c8
- simplify setting/unsetting of item
- consolidate 2 methods that set bulletSelected
- store character (int) instead of pointer to item
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14672 a592a061-630c-0410-9148-cb99ea01b6c8
(Buffer::errorList): simplify
* src/buffer.h
emptyErrorList_ move to buffer.C and make it static const
* src/lyx_main.C
(LyX::exec2): Use for_each instead of for loop
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14667 a592a061-630c-0410-9148-cb99ea01b6c8
- src/support/unicode.[Ch]: new files with functions for converting
to and fro ucs4, ucs2 and utf8.
- src/support/docstring.h: specialization of basic_string that
holds a uint32_t internally.
- Several functions changed to use char_type instead of char or unsigned char.
- Qt3 and Qt4 sends ucs2 on to core
- Gtk sends ucs4 on to core
- Read and write utf-8 .lyx files.
- font_metrics and painter updated to handle ucs4 chars as input.
- Quite a bit of ugly compability code, conversion string->docstring, etc.
- Have fun...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14661 a592a061-630c-0410-9148-cb99ea01b6c8
* src/graphics/GraphicsConverter.C
(Converter::Impl::Impl): Don't call the default converter directly,
but create a temporary script with build_script() as for the
configured converters. This makes sure that the file name does not
need to be passed on the command line anymore.
(build_script): This cannot fail anymore, so change the return type
to void
(build_script): Use build_conversion_command also for the default
converter. This has the advantage that the special code for moving
${outfile}.0, ${outfile}.1 is actually used for ImageMagick's convert.
(build_conversion_command): factored out from build_script
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14657 a592a061-630c-0410-9148-cb99ea01b6c8
I had no choice but to use string for the map key. This is
because the only information that could be passed to the controller is a
string.
With this new architecture, persistent error lists are now possible.
* Buffer
- errorList_, addError(), : deleted
- std::map<std::string, ErrorList> errorLists_ : new member
- errorList(std::string const & type): associated accessors
* buffer_funcs.C
- bufferErrors(Buffer const & buf, TeXErrors const & terr): now needs a third errorList argument
- bufferErrors(Buffer const & buf, ErrorList const & el): deleted.
* Converter
- convert(): now needs an ErrorList argument instead of filling the Buffer errorList member directly.
- runLaTeX(): ditto
- scanLog(): ditto
* CutAndPaste.C
- pasteParagraphList(): ditto
- pasteSelection(): ditto
* lyxtext.h/text.C
- readParagraph(): ditto
- LyXText::read(): ditto
* importer:
- Importer::Import(): ditto
* BufferView_pimpl.C
- loadLyXFile(): send the Buffer::errors() signal instead of calling LyXView::showErrorList() directly.
* exporter.C
- Export(): send the Buffer::errors() signal instead of calling LyXView::showErrorList() directly in lyxfunc.C
* ControlErrorList.C
- initialiseParams(): translation operation transfered here from LyXView::showErrorList().
* LyXView.C
- LoadLyXFile(): add a showErrorList("Parse") call.
- showErrorList(): simplified due to code transferred to the ControlErrorList.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14652 a592a061-630c-0410-9148-cb99ea01b6c8
* src/tex2lyx/text.C
(void parse_noweb): new, parse a noweb code chunck
(void parse_text): handle noweb <<xxx>>= and [[xxx]] constructs
* src/tex2lyx/tex2lyx.[Ch]: new global variable noweb_mode and
command line option to set it
* src/tex2lyx/preamble.C
(parse_preamble): prepend "literate-" to the textclass name in
noweb mode
* lib/configure.py
(checkConverterEntries): fix literate -> lyx converter
(checkConverterEntries): fix typo in latex -> sxw converter
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14635 a592a061-630c-0410-9148-cb99ea01b6c8
* lib/layouts/revtex4.layout: refer to tex2lyx rather than
reLyX in comments
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14627 a592a061-630c-0410-9148-cb99ea01b6c8
preferences
* src/lyxfunc.C
(quoteArg): move to LyXLex
(LyXFunc::dispatch): adjust to the change above
* src/lyxlex.[Ch]
(quoteString): new, moved from lyxfunc.C
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14620 a592a061-630c-0410-9148-cb99ea01b6c8
* src/BufferView_pimpl.C (dispatch/LFUN_NEXT_INSET_TOGGLE): moved from
LyXText.
* src/text3.C (dispatch/LFUN_NEXT_INSET_TOGGLE): moved to
BufferView::Pimpl, since this should work in mathed too.
* src/mathed/math_nestinset.C (doDispatch/LFUN_INSET_TOGGLE): do not try to
do the work which belongs to LFUN_NEXT_INSET_TOGGLE (bug 2756).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14617 a592a061-630c-0410-9148-cb99ea01b6c8
* src/LyXAction.C:
* src/lfuns.h:
- add new lfun LFUN_INSET_DISSOLVE.
* src/insets/insettext.C
(void InsetText::doDispatch):
- dissolve inset when hitting backspace in the
very first or delete in the very last position
of an inset.
* src/text3.C
(void LyXText::dispatch):
(bool LyXText::getStatus):
- implement new lfun LFUN_INSET_DISSOLVE.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14572 a592a061-630c-0410-9148-cb99ea01b6c8
* src/graph.C
(Graph::getReachable): Only add a child format to only viewable
formats if the child or parent has a viewer. Previously a child
format was also added when there was no viewer at all.
* lib/configure.py
(checkFormatEntries): add text2, text3 and text4 formats
(checkConverterEntries): add ps2ascii , pstotext and catdvi converters
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14528 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/gtk/GWorkArea.C
(GWorkArea::onScroll): redraw the workarea
(GWorkArea::onButtonPress): Call WorkArea::dispatch instead of
BufferView::workAreaDispatch in order to redraw the workarea
(GWorkArea::onButtonRelease): ditto
(GWorkArea::onMotionNotify): ditto
* src/frontends/WorkArea.h
(dispatch): make public
* src/frontends/qt3/QContentPane.C
(QContentPane::scrollBarChanged): redraw the workarea
(QContentPane::generateSyntheticMous): Call WorkArea::dispatch instead
of BufferView::workAreaDispatch in order to redraw the workarea
(QContentPane::mousePressEvent): ditto
(QContentPane::mouseReleaseEvent): ditto
(QContentPane::mouseMoveEvent): ditto
(QContentPane::doubleClickTimeout): ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14517 a592a061-630c-0410-9148-cb99ea01b6c8
* src/LaTeX.C
(LaTeX::deplog): Add the toc file to the dependencies if a line
\tf@toc=\write#
is present in the log file, since miktex does not write the line
\openout# = `sample.toc'.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14496 a592a061-630c-0410-9148-cb99ea01b6c8
* src/tex2lyx/preamble.C
(parse_preamble): ignore the definition of the lyxgreyedout
environment
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14495 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/controllers/tex_helpers.h: doxyfy comment
* src/frontends/controllers/tex_helpers.C
(rescanTexStyles): Pop up a message box when TeXFiles.py fails
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14488 a592a061-630c-0410-9148-cb99ea01b6c8
* src/mathed/math_factory.C
(createMathInset): Create a MathFracInset of kind OVER for \over
* src/mathed/math_fracinset.C
(MathFracInset::draw): handle kind OVER
(MathFracInset::drawT): ditto
(MathFracInset::write): ditto
(MathFracInset::name): ditto
(MathFracInset::extraBraces): ditto
* src/mathed/math_fracinset.h
(Kind): New kind OVER
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14487 a592a061-630c-0410-9148-cb99ea01b6c8
* src/lyxfunc.C
(quoteArg): new, quotes arguments for the "log" dialog
(LyXFunc::dispatch): quote log filename
* src/frontends/controllers/ControlLog.C
(ControlLog::initialiseParams): parse \" as " and \\ as \ in filename
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14481 a592a061-630c-0410-9148-cb99ea01b6c8
(BufferList::close): Don't ignore unsaved changes if quitting == true
(BufferList::close): Use menuWrite(buf) instead of buf->save(),
because menuWrite tells the user if the file could not be saved and
asks for another name
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14475 a592a061-630c-0410-9148-cb99ea01b6c8
* src/lyx_cb.C
(newFile): Only set the new buffer if it is valid
* src/BufferView_pimpl.C
(BufferView::Pimpl::loadLyXFile): Test whether newFile succeeded
* src/lyxfunc.C
(LyXFunc::menuNew): Only set the new buffer if it is valid
(LyXFunc::open): ditto
* src/importer.C
(Importer::Import): ditto
* src/lyx_main.C
(LyX::exec2): Only use the new buffer if newFile succeeded
* src/buffer_funcs.C
(newFile): discard the buffer and return 0 if the template is invalid
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14474 a592a061-630c-0410-9148-cb99ea01b6c8
* src/tex2lyx/tex2lyx.C
(tex2lyx): output an empty paragraph if the document is empty
* src/tex2lyx/context.C
(Context::check_layout): set empty to false
* src/tex2lyx/context.[Ch]
(empty): new flag, tells whether all contexts are empty
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14469 a592a061-630c-0410-9148-cb99ea01b6c8
TODO 1: All occurrences of "LyXView::showErrorList()" in the "kernel" should be replaced by a boost signal emission (Buffer::errors()). This signal is already connected to this showErrorList() slot.
TODO 2: The ErrorList mechanism is used wrongly in a number of place, most notably in "Converter.C". Instead of replacing the ErrorList in the "Buffer" class, the "Converter" class should maintain its own list instead and connect directly to the LyXView::showErrorList() slot.
Buffer:
* errorList_: new private member and associated access methods.
* setErrorList(): new accessor method.
* addError(): apend an error to the errorList_.
* error(): deleted.
* errors(): new boost signal, unused for now. Shall be used instead of LyXView::showErrorList().
LyXView:
* getErrorList(), addError(), errorlist_, errorConnection_: deleted.
* errorsConnection_: new boost connection for the Buffer::errors() signal.
lyx_main.C:
* LyX::exec2(): manually print all errors.
BufferView.h: remove unneeded ErrorList forward declaration.
BufferView::pimpl::menuInsertLyXFile(): delete Buffer::error() connection and add a FIXME comment
text.C: Use Buffer::addError() instead of Buffer::error() signal emission.
ControlErrorList.C: get the ErrorList from the Buffer instead of LyXView
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14467 a592a061-630c-0410-9148-cb99ea01b6c8
* src/graphics/GraphicsCacheItem.C
(CacheItem::Impl::convertToDisplayFormat): Don't derive the temp
file name from the original file name. This ensures that it is
composed of valid characters only.
* src/graphics/GraphicsConverter.C: remove example script, since it
will get out of date.
(build_script): Copy the original file to a temp file before the
conversion chain starts. This avoids problems with converters that
can't handle ' in filenames.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14459 a592a061-630c-0410-9148-cb99ea01b6c8
With this change, the only difference between BufferView.h and BufferView_pimpl.h is "cursor.h" so I think it is time to merge the two classes at last.
BufferView:
* showErrorList(), getErrorList(): transfered to LyXView.
BufferView::pimpl
* addError(), showReadonly(), connectBuffer(), disconnectBuffer(): transfered to LyXView.
CutAndPaste.C: adapted to API changes
frontends/controllers/ControlErrorList.C: ditto
lyxfunc.C: ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14458 a592a061-630c-0410-9148-cb99ea01b6c8
The performance may suffer a bit because we do the second drawing step in all cases. This could be possibly optimized out by checking the return value of the BufferView::update() method in "lyxfunc.C:1610". But it is maybe better to keep those two parts of the frontend ignorant of each other: the event handling and the drawing.
BufferView:
* needRedra(), need_redraw_: deleted.
* updateMetrics(): now public.
* update(): only do the first drawing step. Returns true if a full updateMetrics is needed before drawing on screen.
WorkArea:
* redraw(): no check on BufferView::needRedraw(), call updateMetrics() unconditionally.
* processKeySim(): uneeded "redraw()" call commented out. When/if the call to LyXView::redrawWorkArea() in "lyxfunc.C:1610" is not needed anymore, this line should be uncommented out.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14456 a592a061-630c-0410-9148-cb99ea01b6c8
movement LFUNs; use LCursor::selHandle consistently (fixes bugs 2119
and 2259, and also a crash related to with dEPM)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14436 a592a061-630c-0410-9148-cb99ea01b6c8
* src/LyXAction.C
(LyXAction::init): handle new LFUN_CLIPBOARD_PASTE
* src/insets/insettabular.C
(InsetTabular::doDispatch): ditto
* src/insets/insetbox.C
(InsetBox::doDispatch): ditto
* src/insets/insetert.C
(InsetERT::doDispatch): ditto
(InsetERT::getStatus): ditto
* src/insets/insetcharstyle.C
(InsetCharStyle::doDispatch): ditto
* src/BufferView_pimpl.C
(BufferView::Pimpl::selectionRequest): stuff selection, not clipboard
* src/mathed/math_nestinset.C
(MathNestInset::lfunMousePress): get stuff selection, not clipboard
(MathNestInset::lfunMouseRelease): clipboard -> selection in
commented code
* src/CutAndPaste.C
(cutSelection): ditto
* src/frontends/{qt3,gtk}/GuiImplementation.C
(GuiImplementation::newWorkArea): create new selection, not clipboard,
since the clipboard is now an object
(GuiImplementation::destroyWorkArea): destroy selection, not clipboard
* src/frontends/{qt4,qt3,gtk}/GuiSelection.h: new, copied from
GuiClipboard.h
* src/frontends/{qt4,qt3,gtk}/GuiSelection.C: new, copied from
GuiClipboard.C
* src/frontends/{qt3,gtk}/GuiImplementation.h
(selection): new accessor for selection_
(selection_): new, the global selection object
* src/frontends/{qt4,qt3,gtk}/Makefile.am: add GuiSelection.C and
GuiSelection.h
* src/frontends/{qt4,qt3,gtk}/GuiClipboard.C
(GuiClipboard::get): return clipboard, not selection
(GuiClipboard::put): stuff clipboard, not selection
* src/frontends/{qt4,qt3,gtk}/GuiClipboard.h
(haveSelection): remove (this is now in GuiSelection)
* src/frontends/{qt3,gtk}/GuiClipboard.h
(old_work_area_): remove, since it is not needed anymore
* src/frontends/gtk/ghelpers.C
(getGTKStockIcon): handle LFUN_CLIPBOARD_PASTE
* src/frontends/Clipboard.h
(haveSelection): remove (this is now in Selection)
* src/frontends/qt4/GuiImplementation.[Ch]
(GuiImplementation::selection): new accessor for selection_
* src/frontends/Gui.h
(selection): New accessor for the global selection object
* src/frontends/Selection.h; new, copied from Clipboard.h
* src/frontends/Makefile.am: add Selection.h
* src/text3.C
(various): s/clipboard().haveSelection/selection().haveSelection/
(LyXText::dispatch): handle LFUN_CLIPBOARD_PASTE
(LyXText::getStatus): ditto
* src/lfuns.h: new lfun LFUN_CLIPBOARD_PASTE
* lib/ui/stdmenus.ui: add new lfun LFUN_CLIPBOARD_PASTE
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14408 a592a061-630c-0410-9148-cb99ea01b6c8
(build_script): replace unused code for equal formats by an assert
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14400 a592a061-630c-0410-9148-cb99ea01b6c8
* rowpainter:
- paintText: take the painter as an argument
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14384 a592a061-630c-0410-9148-cb99ea01b6c8
* frontends/WorkArea:
- processKeySym(): new method that should be used by all frontends
instead of buffer_view_->workAreaKeyPress().
* frontends/qt4/GuiWorkArea:
- keyPressEvent(): call WorkArea::processKeySym() instead of
buffer_view_->workAreaKeyPress().
* frontends/gtk/GWorkArea.C:
* frontends/qt3/QContentPane.C:
- call WorkArea::processKeySym() instead of
buffer_view_->workAreaKeyPress()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14383 a592a061-630c-0410-9148-cb99ea01b6c8
* CoordCache:
- startUpdating(), doneUpdating(): deleted because the screen drawing
is now done at one place (WorkArea::redraw()) and cannot be called
for within itself. Those debug methods are then not useful.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14382 a592a061-630c-0410-9148-cb99ea01b6c8
* frontends/LyXView:
- redrawWorkArea(): new temporary method called from within
BufferView::pimpl::update() that calls WorkArea::redraw()
in order to do the actual screen redrawing.
* frontends/WorkArea:
- the redraw() method now check if the the attached bufferView
needs a screen redraw().
* BufferView:
- needsRedraw(): new method for WorkArea::redraw()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14381 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/controllers/ControlPreamble.[Ch]:
remove files, since this controller was only used
by the xforms frontend
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14352 a592a061-630c-0410-9148-cb99ea01b6c8
- Change unsigned -> signed
- Change signed -> unsigned
- Add a cast or two (really few of those)
- Remove/comment out unused variables
- Comment out unused arguments
- Add missing cases to switches.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14344 a592a061-630c-0410-9148-cb99ea01b6c8
* src/main.C
(main): return LyX::exec()
* src/frontends/{gtk,qt3,qt4}/lyx_gui.C
(lyx_gui::exec): Change return value to int
(lyx_gui::start): ditto
* src/frontends/qt[3,4]/lyx_gui.C
(lyx_gui::exit): Call QApplication::exit instead of ::exit, this
hack is not needed anymore
* src/frontends/lyx_gui.h
(lyx_gui::exec): Change return value to int
(lyx_gui::start): ditto
* src/lyxtextclasslist.[Ch]
(LyXSetStyle): SChange return value to bool and don't call ::exit
* src/lyx_main.C
(showFileError): Don't exit anymore
* src/lyx_main.[Ch]
(LyX::exec): Change return value to int
(LyX::priv_exec): ditto
(LyX::exec2): ditto
(LyX::init): Change return value to bool
(LyX::readRcFile): ditto
(LyX::readUIFile): ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14339 a592a061-630c-0410-9148-cb99ea01b6c8
- slight speedup by checking if debugging before creating
the debug output.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14333 a592a061-630c-0410-9148-cb99ea01b6c8
- streamline a bit to only run updateMetrics once
- do not take a backup copy of theCoords
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14332 a592a061-630c-0410-9148-cb99ea01b6c8
* BufferView, BufferView::pimpl:
- metrics_info_: private variable holding ViewMetricsInfo
- viewMetricsInfo(): accessor function
- updateMetrics(): renamed from metrics(), sets metrics_info_
- update(): change to use updateMetrics()
* frontends/WorkArea:
- redraw(): get the ViewMetricsInfo through accessor to BufferView.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14331 a592a061-630c-0410-9148-cb99ea01b6c8
* BufferView,BufferView::Pimple:
- workArea_ removed
* frontends/LyXView:
- now contains a pointer reference to the current
WorkArea instead of the BufferView.
- workArea(): temporary access method
* frontends/WorkArea:
- bufferView(): new access methods.
* GuiImplementation: updated due to above changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14329 a592a061-630c-0410-9148-cb99ea01b6c8
* BufferView and Bufferview::pimpl: repaintAll() methods deleted.
* rowpainter.C:
- refreshInside : new variable in the anonymous namespace.
- use of refreshInside instead of the repaintAll() methods
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14324 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/os_win32.C: Query the registry about cygwin, instead of
calling uname
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14276 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/os.[Ch]
(python): new function, return the python command
* lib/lyx2lyx/lyx_1_5.py
(revert_font_settings): replace tabs with spaces
The rest is simply s/python/python -tt/ and
s/"python"/lyx::support::os::python()/ where appropriate.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14270 a592a061-630c-0410-9148-cb99ea01b6c8
- natbib style (the combox) works
- when moving/up down the item stays selected (allowing sequential ups/downs)
- when deleting the next selected entry gets focus (allowing sequential deletes)
- the info is now shown and updated
- find subsets the available entries as you type
- no additional find dialog (removed QCitationFind.ui)
- selecting with double-click
- removal of unused: Citation class, toVector() function
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14252 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/xforms/FormSpellchecker.C (update):
* src/frontends/qt[34]/QSpellchecker.C (update_contents): fix bug
2218: Spellchecker doesn't pop up dialogue window for the first
misspelled word.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14246 a592a061-630c-0410-9148-cb99ea01b6c8
* lyx_main.C set width and height to 0
* frontends/qt3/lyx_gui.C test on 0
* frontends/qt4/lyx_gui.C test on 0
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14235 a592a061-630c-0410-9148-cb99ea01b6c8
(doDispatch): fix off by one error when checking cur.idx() (bug 2655)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14185 a592a061-630c-0410-9148-cb99ea01b6c8
* QLPainter::start() now re-initialize qp_
* QLPainter::end() now end qp_
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14184 a592a061-630c-0410-9148-cb99ea01b6c8
in available space instead of line pairs.
* rowpainter.C
(paintPar): change background rectangle
* insets/insettext.C
(InsetText::draw):
(InsetText::drawSelection): simplify rectangle drawing
* insets/insettext.h: dump Tall()
* insets/insetcollapsable.C
(InsetCollapsable::metrics): subtract button from available
space in case of inlined inset
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14161 a592a061-630c-0410-9148-cb99ea01b6c8
* qt4/Application.[Ch]: was not merged (GUI API cleanup merge) for an unknown reason
* qt4/clipboard.C: ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14153 a592a061-630c-0410-9148-cb99ea01b6c8
* lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM).
* lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM).
* lib/chkconfig.ltx: Test for newly supported font packages
* lib/doc/LaTeXConfig.lyx.in: document newly supported font packages
* lib/doc/UserGuide.lyx: document new UI.
* lib/doc/Extended.lyx: update PostScript font documentation
* development/FORMAT: document file format change 246->247.
* src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans,
tex_fonts_monospaced (with GUI equivalents).
* src/buffer.C: Format up to 247.
* src/bufferparams.C:
new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily,
fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale
(LyXFont const BufferParams::getFont): consider switch of default family.
(string const BufferParams::loadFonts): new method to get all the LaTeX
font stuff done.
* src/paragraph.C
(LyXFont const Paragraph::getFont):
(LyXFont const Paragraph::getLabelFont):
(LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's
default font
* src/text.C
(int LyXText::leftMargin):
(int LyXText::rightMargin): user buffer's not textclass's default font
* src/text2.C
(LyXFont LyXText::getFont):
(LyXFont LyXText::getLayoutFont):
(LyXFont LyXText::getLabelFont): check if the family of the default document
font has been customized.
* src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM).
* src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM).
* src/frontends/qt3/Makefile.dialogs: add new FontModuleBase
* src/frontends/qt3/ui/FontModuleBase.ui: new File
* src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets
* src/frontends/qt3/QDocument.C
* src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui
* src/frontends/qt4/Makefile.dialogs: add new FontUi
* src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui
* src/frontends/qt4/ui/FontUi.ui: new File
* src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets
* src/frontends/qt4/ui/compile_uic.sh: add new FontUi
* src/frontends/xforms/FormDocument.[Ch]: implement new font ui
* src/frontends/xforms/forms/form_document.fd: add new font tab.
* src/frontends/controllers/ControlDocument.[Ch]
(char ControlDocument::fontfamilies):
(char ControlDocument::fontfamilies_gui):
(bool ControlDocument::isFontAvailable):
(bool ControlDocument::providesSC):
(bool ControlDocument::providesOSF):
(bool ControlDocument::providesScale): new methods, providing font info.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
(Formats::view): Call the viewer with the absolute filename instead
of changing the working directory to avoid a race condition on
systems with a slow fork().
(Formats::edit): Ditto (editor instead of viewer)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14142 a592a061-630c-0410-9148-cb99ea01b6c8
Don't use multiple QPainter::begin on the same QPaintDevice.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14101 a592a061-630c-0410-9148-cb99ea01b6c8
* src/lyx_cb.C
(quitLyX): lyx_gui::exit takes now an argument
* src/frontends/{gtk,xforms}/lyx_gui.C
(lyx_gui::parse_init): rename to lyx_gui::exec and call LyX::exec2
(void lyx_gui::exit): add exit status argument
* src/frontends/qt{3,4}/lyx_gui.C
(cleanup): new function for pointer cleanup
(lyx_gui::parse_init): rename to lyx_gui::exec and call LyX::exec2,
turn static variables into automatic variables
(void lyx_gui::exit): add exit status argument
(start): Use cleanup()
(exit): ditto
* src/frontends/lyx_gui.h
(parse_init): remove
(exec): new
(exit): Take exist status argument
* src/lyx_main.[Ch]
(LyX::priv_exec): split into LyX::priv_exec and LyX::exec2
* src/lyx_main.C
(lyx_exit): New, choose the right exit function
(showFileError): call lyx_exit
(LyX::queryUserLyXDir): ditto
(LyX::init): ditto
(LyX::priv_exec): ditto
(LyX::priv_exec): Replace want_gui by lyx_gui::use_gui
(LyX::priv_exec): replace lyx_gui::parse_init by lyx_gui::exec and
exec2
(LyX::init): Replace gui argument by lyx_gui::use_gui
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14036 a592a061-630c-0410-9148-cb99ea01b6c8
a warning.
* src/text.C (readParToken): handle \change_inserted and
\change_deleted tokens with wrong author index (bug 2614).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14028 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/ALLFRONTENDS/lyx_gui.C: use passed width/height/posx/posy in lyx_gui::start
* src/frontends/lyx_gui.h: prototype change for lyx_gui::start
* src/lyx_main.C: determine windows size and position from lyxrc or session.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13953 a592a061-630c-0410-9148-cb99ea01b6c8
TODO: reorganize this code. In particular make sure that this advise from Qt documentation is respected:
Since the QApplication object does so much initialization, it must be created before any other objects related to the user interface are created.
Right now this is not the case. For example, "FontLoader::initFontPath()" is called before the QApplication creation. Moreover, I suspect that a number of global variables contains Qt object that are initialized before the passage through parse_init(). This might also explain the message displayed by Qt that caused the hanging:
QObject::killTimer: timers cannot be stopped from another thread
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13948 a592a061-630c-0410-9148-cb99ea01b6c8
(LyXServerSocket::~LyXServerSocket): Don't try to unregister and
close fd_ if the socket is disabled (avoids crash on win, from Peter
KÃŒmmel)
(LyXServerSocket::~LyXServerSocket): Check the return value of close()
(LyXDataSocket::~LyXDataSocket): ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13941 a592a061-630c-0410-9148-cb99ea01b6c8
"Don't view/edit this format", and 'auto' means "Use the default viewer/editor".
* src/format.C
(fixCommand): Change semantics: "none" is equal to "", and "auto"
is removed if canAutoOpenFile returns false.
* src/frontends/xforms/FormPreferences.C
(FormPreferences::SpellOptions::apply): "none" -> ""
* src/lyxrc.C
(LyXRC::read): "none" -> ""
* lib/doc/Customization.lyx: Document the autoopen feature
* lib/configure.py
(checkProg): add optional not_found argument, defaulting to 'none'
(checkViewer): new, equivalent to checkProg with not_found = 'auto'
(checkFormatEntries): call checkViewer instead of checkProg for
viewers and editors
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13929 a592a061-630c-0410-9148-cb99ea01b6c8
qt4/qfont_loader.h: reverted to last version and added comment about pointer reference.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13927 a592a061-630c-0410-9148-cb99ea01b6c8
Disable saving of bookmarks in mathed for it is not yet supported
and makes LyX crash (bug 2597)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13911 a592a061-630c-0410-9148-cb99ea01b6c8
do not mark the cursor undispatched after mouse (button 3) press
(prevents the cursor from leaving the tabular when opening the
dialog).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13906 a592a061-630c-0410-9148-cb99ea01b6c8
fix crash due to invalidated
cursor after insertAciiString (bug 2603).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13905 a592a061-630c-0410-9148-cb99ea01b6c8
(InsetGraphics::prepareFile): Rename file in the temp dir if the
extension does not match the format (bug 2235)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13898 a592a061-630c-0410-9148-cb99ea01b6c8
is changed
* src/cursor.C: remove unused 'using std::swap'
* src/BufferView.C: ditto
* src/CutAndPaste.[Ch]
(switchBetweenClasses): replace ParagraphList argument with InsetText
argument. This avoids an unnecessary swap in lyxfunc.C.
* src/CutAndPaste.C
(pasteSelectionHelper): Adjust to the changes above
(pasteSelectionHelper): Use ParagraphList::swap instead of std::swap.
This fixes the crash.
* src/lyxfunc.C
(LyXFunc::dispatch): Adjust to switchBetweenClasses changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13895 a592a061-630c-0410-9148-cb99ea01b6c8
(document_): new flag, telling whether this is a document format and
we want to show this format in the export and view menus
(documentFormat): accessor for document_
* src/format.h: Add some documentation
* src/frontends/qt3/QPrefsDialog.C
(QPrefsDialog::QPrefsDialog): handle new documentCB checkbox
(QPrefsDialog::switch_format): ditto
(QPrefsDialog::updateFormatsButtons): ditto
(QPrefsDialog::new_format): ditto
(QPrefsDialog::modify_format): ditto
* src/frontends/qt3/ui/QPrefFileformatsModule.ui: Add documentCB checkbox
* src/frontends/qt4/QPrefsDialog.C
(QPrefsDialog::QPrefsDialog): handle new documentCB checkbox
(QPrefsDialog::switch_format): ditto
(QPrefsDialog::updateFormatsButtons): ditto
(QPrefsDialog::new_format): ditto
(QPrefsDialog::modify_format): ditto
* src/frontends/qt4/ui/QPrefFileformatsUi.ui: Add documentCB checkbox
* src/frontends/xforms/FormPreferences.C
(FormPreferences::Formats::build): handle new check_document checkbox
(FormPreferences::Formats::input): ditto
(FormPreferences::Formats::Add): ditto
(FormPreferences::Formats::Browser): ditto
* src/frontends/xforms/forms/form_preferences.fd: Add check_document
checkbox
* src/lyxrc.C
(LyXRC::read): Remove compatibility code for 1.3 \format entries.
Read the new format flags (but don't require them for 1.4
compatibility)
(LyXRC::write): Write the new format flags
* src/MenuBackend.C
(expandFormats): Remove the hardcoded exception for image formats
and use Format::isDocument() instead
* lib/doc/Customization.lyx: Document auto viever/editor and the
"document format" flag
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13887 a592a061-630c-0410-9148-cb99ea01b6c8
* panelstack.C: automatic creation of parent category if not already created.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13886 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt4/qfontloader.C (initFontPath, ~FontLoader): add fonts in
lyxdir/fonts to system fonts in windows; remove them in destructor.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13877 a592a061-630c-0410-9148-cb99ea01b6c8
* CutAndPaste.C
(eraseSelectionHelper): merge (conditionally) only first and last
paragraph of selection
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13875 a592a061-630c-0410-9148-cb99ea01b6c8
* src/insets/insetinclude.h
(updateBibfilesCache): adjust comment
(getBibfilesCache): ditto
* src/insets/insetinclude.C
(getChildBuffer): new, return the buffer of the child if it exists
(updateBibfilesCache): update the child buffer only if already loaded
(getBibfilesCache): scan the child buffer only if already loaded
* src/buffer.h
(updateBibfilesCache): adjust comment
(getBibfilesCache): ditto
(bibfilesCache_): ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13869 a592a061-630c-0410-9148-cb99ea01b6c8
atm this does not work because it depends on the order in which these entries were added.
now the order is alphabetical and things are messed up.
the attached patch adds the nr of the format/converter to the listwidgetitem as a type and uses that to get to the right details
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13864 a592a061-630c-0410-9148-cb99ea01b6c8
Can you move the SUBDIRS var back to the top of the file pleae.
Also EXTRA_DIST should be at the top.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13863 a592a061-630c-0410-9148-cb99ea01b6c8
* configure.ac: removed frontends/qt4/moc compilation.
* frontends/qt4/: moc files (*_moc.cpp) are now included at the end of relevant source file (*.C)
* SConscript: adapted to "moc included in .C file" change.
* frontends/qt4/Makefile.am: adapted to "moc included in .C file" change.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13860 a592a061-630c-0410-9148-cb99ea01b6c8
* src/lyx_main.C (init): call Formats::setAutoOpen.
* src/lyxrc.C (read): do not reset editor/viewer values of "none".
* src/format.C (fixCommand): helper function: tweak command depending
of the availability of OS viewer/editor.
(setAutoOpen): run fixCommand over all the formats.
* src/support/Makefile.am: under win32, link against shlwapi.dll.
* src/support/os_*.C (canAutoOpenFile, autoOpenFile): new
functions, used to let the OS handle viewers and editors it knows about.
* configure.ac: improve check for shlwapi.
* lib/configure.py: remove check for native windows viewers.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13855 a592a061-630c-0410-9148-cb99ea01b6c8
lyxrc.dist, but before reading lyxrc.defaults; add extra_prefix to
the PATH before reconfiguring.
(needsUpdate): new helper function; returns true if file does not
exist or is older than configure.py.
(queryUserLyXDir): check textclass.lst and packages.lst in
addition to lyxrc.defaults.
(reconfigureUserLyXDir): use SystemCall, since system() does not
wait on windows.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13816 a592a061-630c-0410-9148-cb99ea01b6c8
* SConstruct: force the use of g++ under windows, and use the right libraries
* config/qt4.py: check QtGui4 etc as well.
* src/SConscript: link to the right libraries
* src/tex2lyx/SConscript: use the right libraries
* src/frontends/qt3/SConscript: manually moc .h files under windows
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13814 a592a061-630c-0410-9148-cb99ea01b6c8
remove lookupChangeType;
rename setChange to setChangeType;
rename setChangeFull to setChange
src/paragraph_pimpl.h:
remove lookupChange;
rename lookupChangeFull to lookupChange;
rename setChange to setChangeType;
rename setChangeFull to setChange
src/changes.h: remove lookup;
rename lookupFull to lookup;
rename loose_contains to containsOrPrecedes;
adjust the other files accordingly
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13812 a592a061-630c-0410-9148-cb99ea01b6c8
adjust some commands according to the LyX naming conventions
(toggle-tooltip => tooltip-toggle, *-change(s) => change(s)-*)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13811 a592a061-630c-0410-9148-cb99ea01b6c8
browsebox is not build anymore and commented out in bulletsmodule
bullets are disabled in documentdialog: wasn't working before either
remove qt3support!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13809 a592a061-630c-0410-9148-cb99ea01b6c8
* SConstruct: pass -Wl, options correctly
* scons_utils.py: find boost libraries with more complex names
* qt4.py: fix a bug regarding the use of pkg_config
* src/SConscript: build a static library for src/*
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13808 a592a061-630c-0410-9148-cb99ea01b6c8
Index: src/frontends/qt4/QCitationDialog.C
Index: src/frontends/qt4/QCitationDialog.h
Index: src/frontends/qt4/ui/QCitationFindUi.ui
Index: src/frontends/qt4/QPrefsDialog.C
Index: src/frontends/qt4/QPrefsDialog.h
Index: src/frontends/qt4/ui/QPrefColorsUi.ui
Index: src/frontends/qt4/ui/QPrefCopiersUi.ui
Index: src/frontends/qt4/ui/QPrefFileformatsUi.ui
Index: src/frontends/qt4/ui/QPrefConvertersUi.ui
Index: src/frontends/qt4/QParagraphDialog.C
no more qt3 drag n drop:
Index: src/frontends/qt4/QWorkArea.C
as discussed on list:
Index: src/frontends/qt4/QLyXKeySym.C
Index: src/frontends/qt4/QLyXKeySym.h
bit of repair here:
Index: src/frontends/qt4/ui/QAboutUi.ui
Index: src/frontends/qt4/QAbout.C
bit of cleaning here (no separate color column, but rather icon)
Index: src/frontends/qt4/QBranches.C
got rid of this altogether:
Index: src/frontends/qt4/qcoloritem.C
Index: src/frontends/qt4/qcoloritem.h
Index: src/frontends/qt4/Makefile.am
+ filedialog to qt4 one
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13805 a592a061-630c-0410-9148-cb99ea01b6c8
* insetcaption.[Ch]
(InsetCaption::draw): draw label with surrounding-float-sensitive name
and true counter number
cursorPos, metrics, edit, editXY: add
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13797 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt3/ui/moc/Makefile.am: ditto
* src/frontends/qt3/ui/*.ui: Add extra includes to the
implementation rather than the declaration
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13789 a592a061-630c-0410-9148-cb99ea01b6c8
found.
(init): read lyxrc.dist before lyxrc.defaults; remove code to read
lyxrc (LyX 1.1.5 compatibility code).
* src/encoding.C (read):
* src/language.C (read): set debug to the INFO channel.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13788 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt3/moc/Makefile.am: Add src/frontends/qt3 to includes
* src/frontends/qt3/ui/moc/Makefile.am: ditto
* src/frontends/qt3/ui/*.ui: Convert to qt3 format, no functional
change
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13787 a592a061-630c-0410-9148-cb99ea01b6c8
* src/cursor.C
(LCursor::plainInsert): Move special \bigl stuff from here to
MathNestInset::interpret
(LCursor::macroModeClose): try to intepret the current macro before
it is simply inserted
* src/mathed/math_nestinset.C
(MathNestInset::doDispatch): try to intepret the argument of
LFUN_SELFINSERT also if it is longer than one character
* src/mathed/math_nestinset.[Ch]
(MathNestInset::interpret): new, moved from LCursor::plainInsert
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13786 a592a061-630c-0410-9148-cb99ea01b6c8
* src/bufferlist.C: save opened file list here, do not save slave document
* src/lyxfunc.C: not here
* src/session.[nC]: change to single file addition
* src/lyx_main.C: needed change because of single file addition
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13777 a592a061-630c-0410-9148-cb99ea01b6c8
instead of lyxrc.defaults. Simplify the check for
chkconfig.ltx.
* configure.ac: do not run lib/configure.py
* lib/doc/Makefile.am: LaTeXConfig.lyx is not generated anymore.
* lib/configure.py (removeExtraFiles): remove.
* lib/Makefile.am: no files are generated in there.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13763 a592a061-630c-0410-9148-cb99ea01b6c8
(infoize2): Implement to show name if the cursor is to the right
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13757 a592a061-630c-0410-9148-cb99ea01b6c8
* src/tex2lyx/text.C
(parse_arguments): Eat space in front of required arguments
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13753 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt3/QPrefs.C, QPrefsDialog.C, ui/QPrefUIModule.ui: add two checkboxes
* src/lyxrc.C: turn off load_session by default (since we now can turn it on)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13741 a592a061-630c-0410-9148-cb99ea01b6c8
(LaTeX::scanLogFile): remove \0 characters inserted by MikTeX before
further processing
(LaTeX::deplog): likewise
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13737 a592a061-630c-0410-9148-cb99ea01b6c8
* toc.[Ch]:
- rewritten to take advantage of new TocBackend class. The toc
cache is implemented as a static variable:
static map<Buffer const *, lyx::TocBackend> toc_backend_;
* buffer_funcs.C:
updateLabels(Buffer const & buf) now calls
"lyx::toc::updateToc(buf);"
* pariterator.h: added default constructor
ParConstIterator(): DocIterator() {}
* insetfloat.C: added pit parameter to TocItem construction
* insetwrap.C: added pit parameter to TocItem construction
* MenuBackend.C: use a const ref instead of a copy of TocList
* ControlToc.[Ch]: optimisation of the API by using const reference instead of copy.
* qt4/TocPanel.[Ch]:
- optimisation of the API by using const reference instead of
copy
- directly use of TocBackend::TocIterator instead of identification by paragraph contents.
* qt4/QToc.C:
- optimisation of the API by using const reference instead of
copy
- makes use of TocBackend::Item::uid()
* qt2/QToc.C:
- use TocItem::depth() and TocItem::str() instead of public member access.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13713 a592a061-630c-0410-9148-cb99ea01b6c8
don't update the screen after saving (avoids scrolling back to
cursor)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13702 a592a061-630c-0410-9148-cb99ea01b6c8
* src/cursor.C
(LCursor::plainInsert): combine the previous math atom with the new
one to a MathBigInset if possible
* src/mathed/math_biginset.[Ch]
(MathBigInset::name): implement
(MathBigInset::isBigInsetDelim): new, test whether a given token is
a valid MathBigInset delimiter
* src/mathed/math_biginset.C
(MathBigInset::size): handle Big, Bigg and Biggg
(MathBigInset::increase): ditto
(MathBigInset::draw): fix deco drawing
(MathBigInset::write): append space if necessary
* src/mathed/math_factory.C
(createMathInset): handle l->inset == "big"
* src/mathed/math_parser.C
(Token::asInput): return a token as input, stolen from tex2lyx
(void Parser::parse1): Create a MathBigInset when needed
* src/mathed/math_support.C:
(deco_table): add lbrace and rbrace
* src/mathed/math_nestinset.C
(MathNestInset::interpret): combine the previous math atom with the
new character to a MathBigInset if possible
* src/ParagraphParameters.C
(findToken): move from here
* src/support/lstrings.[Ch]
(findToken): to here
* lib/symbols: add MathBigInset symbols
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13700 a592a061-630c-0410-9148-cb99ea01b6c8
* src/CutAndPaste.C
(resetOwnerAndChanges): rename to resetParagraph and reset the
language of ERT paragraphs, too
(copySelectionHelper): adapt to changes above
(cutSelection): ditto
(copySelection): ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13699 a592a061-630c-0410-9148-cb99ea01b6c8
(BufferView::Pimpl::dispatch): prevent crash with section header
not in the main lyxtext
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13696 a592a061-630c-0410-9148-cb99ea01b6c8
* Toc.[Ch]: new function getCurrentTocItem()
* ControlToc.[Ch]: new function getCurrentTocItem()
* QToc.[Ch]: new function getCurrentIndex()
* QTocDialog.C
- QTocDialog::update() calls QToc::getCurrentIndex()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13695 a592a061-630c-0410-9148-cb99ea01b6c8
- bool ControlToc::canOutline(): new method to test if outline is possible.
* TocModel: new class
* QToc is now the controller (inheriting ControlToc directly) and the model (using TocModel)
* QTocDialog is now only the view (inheriting Dialogs::View directly)
* Dialogs.C: updated toc controller and view correspondingly
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13692 a592a061-630c-0410-9148-cb99ea01b6c8
* src/BufferView_pimpl.C
(bool BufferView::Pimpl::dispatch): update bibfiles cache after adding or
deleting a bib database
* src/buffer.C
(bool Buffer::readDocument): update bibfiles cache after the document
was read
* src/buffer.[Ch]
(void Buffer::updateBibfilesCache): new method to build or update a cached
vector with all used bibtex databases.
(void Buffer::getBibfilesCache): new method that returns the actual cache.
(Buffer * Buffer::getMasterBuffer): new (non-const) method to get the buffer
of the master document
* src/insets/insetbibtex.C
(void InsetBibtex::doDispatch): update the bibfiles cache after the inset has
been modified.
* src/insets/insetinclude.C.
(void Insetinclude::doDispatch): update the bibfiles cache after the inset
has Been modified.
* src/insets/insetinclude.[Ch]:
(void Insetinclude::updateBibfilesCache): new method to build or update
a cached vector with all used bibtex databases.
(void Insetinclude::getBibfilesCache): new method that returns the actual
cache.
* src/insets/insetcite.C
(string const getNatbibLabel): store a map of timestamps for all used bibtex
files (buffer's bibfiles cache) and rebuild the list of keys only if the timestamps
or the list of files have changed. This is the actual performance boost.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13681 a592a061-630c-0410-9148-cb99ea01b6c8
indicating if ct is used in the current buffer.
(cleanChanges): pass enum ChangeTracking.
* src/paragraph_pimpl.C (cleanChanges): delete ct marks from
paste content if ct is of in the buffer. Set content INSERTED
if ct is on (bug 2207).
* src/CutAndPaste.C (pasteSelectionHelper): pass information
about the current change tracking state to cleanChanges.
* src/paragraph_pimpl.h (cleanChanges): pass enum ChangeTracking.
* src/paragraph.C (cleanChanges): pass enum ChangeTracking.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13666 a592a061-630c-0410-9148-cb99ea01b6c8
LFUN_PASTESELECTION. Simplifies the code a lot and fixes
wrong language settings.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13665 a592a061-630c-0410-9148-cb99ea01b6c8
* BufferView_pimpl.h: delete LyXKeySymPtr typedef
* kbmap.h: include LyXKeysym.h and remove forward declaration of LyXKeySym,
and delete LyXKeySymPtr typedef
* kbsequence.h:
* frontends/WorkArea.h: delete LyXKeySymPtr typedef, include LyXKeySym.h
and don't include boost/shared_ptr.hpp, remove forward declaration of
LyXKeySym.
* frontends/LyXKeySym.h: include boost/shared_ptr.hpp, and add typedef
for LyXKeySymPtr
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13663 a592a061-630c-0410-9148-cb99ea01b6c8
(MathNestInset::doDispatch): replace recordUndo by recordUndoInset for
LFUN_DELETE, to fix undo behaviour
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13658 a592a061-630c-0410-9148-cb99ea01b6c8
* src/mathed/math_amsarrayinset.C
(metrics): use ArrayChanger to change the style
(draw): ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13648 a592a061-630c-0410-9148-cb99ea01b6c8
In frontend/qt4/Dialog.C, we use these class like this:
} else if (name == "citation") {
QCitation * ci = new QCitation(*dialog);
dialog->setController(ci);
dialog->setView(new QCitationDialog(*dialog, ci));
dialog->bc().bp(new NoRepeatedApplyReadOnlyPolicy);
Now, it should be possible to define another view like this:
} else if (name == "citation-inline") {
QCitation * ci = new QCitation(*dialog);
dialog->setController(ci);
dialog->setView(new QCitationInline(*dialog, ci));
All the citation functionalities are not there yet but the basic ones are there. There are still a few "intelligence" still to be transfered from the view to the dialog.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13635 a592a061-630c-0410-9148-cb99ea01b6c8
* src/text3.C, src/lyxfunc.C: no special treatment of view-source dialog now.
* src/frontends/controllers/ControlViewSource.h, .C:
handle everything (get source type, code) in the controller.
* src/insets/insetbibtex.C, insetexternal.C insetinclude.C:
add dryrun mode to file copying etc.
* src/frontends/qt2/QViewSource.C: small changes when calling the controller.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13627 a592a061-630c-0410-9148-cb99ea01b6c8
Also move reponse to middle mouse from Release to Press
* math_nestinset.C
(MathNestInset::lfunMousePress): Add and convert to editXY
(MathNestInset::lfunMouseRelease): Remove
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13617 a592a061-630c-0410-9148-cb99ea01b6c8
QMathDialog.C: set icon paths
QMathUi.ui: set icon paths to lib/images/math for visual feedback in designer
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13614 a592a061-630c-0410-9148-cb99ea01b6c8
layout file in the same directory as .lyx file will be used. .cls can also
be in this directory.
* src/buffer.C, bufferparams.C: move filepath to bufferparams so this
info will be available in getToken()
* src/lyxtextclasslist.h, .C: add addTextClass() that read a .layout file
from filepath.
* src/lyxtextclass.h, .C: pass filepath to LyXTextClass::load(). .layout
file in filepath will be loaded before system ones.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13611 a592a061-630c-0410-9148-cb99ea01b6c8
* paragraph.h: make value_type point at char_type
* other files: change some bald 'char' to 'char_type'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13609 a592a061-630c-0410-9148-cb99ea01b6c8
capitalized to have first letter lowercased.
* Adjust all affected files.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13605 a592a061-630c-0410-9148-cb99ea01b6c8
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
* text.C:
- LyXText::breakParagraph(): test if needsUpdateCounters() is enough before a full updateCounter
- LyXText::backspacePos0(): ditto
* text2.C:
- LyXText::deleteEmptyParagraphMechanism(): ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13593 a592a061-630c-0410-9148-cb99ea01b6c8
QtView.C: typo in include
QPrefsDialog.C: update after changing color
QPrefsDialog.h: default parent in constructor
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13580 a592a061-630c-0410-9148-cb99ea01b6c8
- replaced the sqrt etc QPushButton with QToolButton
- modified the layout
* QMathDialog::QMathDialog
- got rid of the fixed width for function QWidgetList
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13571 a592a061-630c-0410-9148-cb99ea01b6c8
session support that
* handle recent opened files (previously lastfile)
* save/load bookmarks when quit lyx
* save/load buffer cursor location whan a file is closed
* save/load windows position and size when a file is closed
* add rc entries load_session, use_lastfilepos,
screen_geometry_height, screen_geometry_width,
screen_geometry_xysaved.
* trigger LFUN_QUIT when Alt-F4 or close-button is used to close lyx.
* remove lastfile.h lastfile.C (merged in session.h, session.C)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13561 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt2/QPrefs.C:
(internal_path_list, external_path_list): Handle the PATH prefix
style according to the user-prefs style.
(QPrefs::apply, QPrefs::update_contents): fix inverted logic of
rc.cygwin_path_fix
* src/support/os.h: New declarations to deal with PATH lists.
* src/support/os_cygwin.C: Major rewrite to account for path style
problems.
* src/support/os_unix.C:
* src/support/os_win32.C: Stub functions for PATH lists.
* src/support/environment.C: fix bug 2344: Wrong path_prefix handling
in cygwin
* src/support/filetools.C (ChangeExtension): fix for the path
style to be written in .tex files (cygwin related).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13558 a592a061-630c-0410-9148-cb99ea01b6c8
* QMathUi.ui: Port to Qt4, icons paths are hacked to point to ../lib/images/
* QMathDialog: Port to qt4
* iconpalette.C: fix cols calculation
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13557 a592a061-630c-0410-9148-cb99ea01b6c8
layout upon paste.
* insettext.[Ch]: add forceParagraphsToDefault method
* insettabular.C
(InsetTabular::doDispatch): use it for cell
* insetbox.C
(InsetBox::doDispatch): use it
* insetert.C
(InsetERT::doDispatch): use it
* insetcharstyle.C
(InsetCharStyle::doDispatch): use it
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13535 a592a061-630c-0410-9148-cb99ea01b6c8
The Toc dialog is not finished yet, there's some clean-up to do especially in select_adapdator which doesn't seem to work. This makes lyx crash when clicking on the Up, Down, In or Out buttons.
* frontends/qt4/QTocDialog.[Ch]: add automatic slots
* frontends/qt4/QTocDialog.[Ch]: add "enableButtons(bool)"
* frontends/qt4/ui/QTocUi.ui: add pushbuttons
* frontends/qt4/QToc.[Ch]: add move* methods.
The following Qt4 equivalent changes to revision r13521 are not done yet:
* frontends/qt2/QToc.[Ch]: add move* method.
(QToc::updateToc):
(QToc::select): add code for TOC window positioning, and
outlining methods
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13530 a592a061-630c-0410-9148-cb99ea01b6c8
(handleFoundFile): do not add directories to dep table (crashes cygwin)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13529 a592a061-630c-0410-9148-cb99ea01b6c8
* src/LaTeXFeatures.[Ch]: replace nice_ by runparams_
* src/insets/insetexternal.C
(InsetExternal::validate): Use the correct template for the desired
output format
* src/insets/insetgraphics.C
(InsetGraphics::prepareFile): Record the needed files for "latex"
or "pdflatex" format, dependant on the desired output format
* src/insets/insetinclude.C
(InsetInclude::latex): ditto
* src/BufferView_pimpl.C
(BufferView::Pimpl::getStatus): adapt to LaTeXFeatures changes
* src/paragraph_pimpl.C
(Paragraph::Pimpl::simpleTeXSpecialC): ditto
* src/buffer.C
(Buffer::makeLaTeXFile): ditto
(Buffer::makeLinuxDocFile): ditto
(Buffer::makeDocBookFile): ditto
* src/paragraph.C
(Paragraph::simpleTeXOnePar): ditto
* src/exporter.C
(Backends): Add "pdflatex" backend format
(Exporter::Export): set runparams.flavor correctly for "pdflatex" format
* lib/external_templates
(RasterImage): Use "pdflatex" format in PDFLaTeX template
(XFig): ditto
(ChessDiagram): Add PDFLaTeX template
(Date): ditto
* lib/configure.py: Add "pdflatex" format
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13520 a592a061-630c-0410-9148-cb99ea01b6c8
* src/insets/insettabular.C
(InsetTabular::hasPasteBuffer):
(InsetTabular::doDispatch):
(InsetTabular::insertAsciiString): Construct LyXTabulars with a
BufferView
* src/tabular.[Ch]
(cellstruct): Set bv_owner of the text inset
(LyXTabular::fixCellNums):
(LyXTabular::appendRow):
(LyXTabular::deleteRow):
(LyXTabular::appendColumn):
(LyXTabular::read): Construct cellstructs with a BufferView
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13516 a592a061-630c-0410-9148-cb99ea01b6c8
Prevent deletion of file formats if they are used by a converter
and warn the user accordingly.
Fixes crash (bug 2431).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13514 a592a061-630c-0410-9148-cb99ea01b6c8
* QCitationDialog::on_applyPB_clicked(): calls form_->apply
* QCitationDialog::on_oKPB_clicked(): calls form_->apply
TBDone: extract the code from controller&co in order to update the view with a new citation inset (or a modified one).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13499 a592a061-630c-0410-9148-cb99ea01b6c8
- two panes for Selected/Available keys
- find as you search (Regular expression are supported)
- advanced search button
There are a lot of work still:
- selected citations are not inserted in the document
- find does not select the found key
- the graying/un-graying of buttons does not work properly
- the Advanced Search Dialog (which will search inside the citation) is not done yet
- ...
But the good news is that I have used the Model/View separation of Qt4. QCitation contains the list models and QCitationDialog contains the list views. The idea would be to reuse the model for a new dialog, I am thinking of a simple combo box placed on the toolbar which insert citations with default style, etc. Or a context menu insert->citation...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13496 a592a061-630c-0410-9148-cb99ea01b6c8
(bool LyXText::Delete):
move cursor to next par after deleting a paragraph break
in change tracking mode.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13495 a592a061-630c-0410-9148-cb99ea01b6c8
itemize too readily enter into charstyle insets.
* insetcharstyle.C
(InsetCharStyle::doDispatch): force pasted paragraphs to document
default style
* insetcharstyle.h: add forceDefaultParagraphs to true
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13494 a592a061-630c-0410-9148-cb99ea01b6c8
don't try to go to previous par when in first par
(fix crash in change tracking mode).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13492 a592a061-630c-0410-9148-cb99ea01b6c8
(void QDocumentDialog::apply):
(void QDocumentDialog::update_contents): only take action when there is a ToC structure
* port of preampleUi from Q3MultilineEdit to QTextEdit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13485 a592a061-630c-0410-9148-cb99ea01b6c8
(bruteFind): only iterate over the paragraphs that are
in the CoordCache (bug 2217)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13476 a592a061-630c-0410-9148-cb99ea01b6c8
* src/bufferparams.C
(bool BufferParams::writeLaTeX):
(void BufferParams::useClassDefaults): only take action when there is
a ToC structure
* src/frontends/qt2/QDocument.C
(void QDocument::apply):
(void QDocument::update_contents): only take action when there is
a ToC structure
* src/frontends/xforms/FormDocument.C
(bool FormDocument::language_apply):
(bool FormDocument::options_apply):
(void FormDocument::options_update): only take action when there is
a ToC structure; disable
(void FormDocument::UpdateClassParams): disable the secnumdepth and
tocdepth widgets when there is no ToC structure
* src/frontends/xforms/FormDocument.h
(options_apply): do not return a bool (was not used)
* src/lyxtextclass.C
(hasTocLevels): new method.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13471 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/xforms/Color.[Ch]: move to src
* src/Color.[Ch] (getRGBColor): move to src/frontends/*/lyx_gui.C
* src/BranchList.h
(Branch::color_): change type to lyx::RGBColor
* src/BranchList.[Ch]
(Branch): new constrcutor, set color_ to LColor::background
(getColor, setColor): adapt to type change of color_
* src/bufferparams.C
(BufferParams::writeFile): adapt to type change of branch color
* src/frontends/lyx_gui.h
* src/frontends/gtk/lyx_gui.C
* src/frontends/qt2/lyx_gui.C
* src/frontends/qt4/lyx_gui.C
* src/frontends/xforms/lyx_gui.C
(getRGBColor): move from src/Color.[Ch] here
* src/frontends/gtk/lyx_gui.C
* src/frontends/xforms/lyx_gui.C
(hexname): use getRGBColor
* src/frontends/gtk/GDocument.C
(update): adapt to type change of branch color
(apply): add comment about color chooser
* src/frontends/qt2/QDocumentDialog.C
(updateBranchView): adapt to type change of branch color
(toggleBranchColor): ditto
* src/frontends/qt2/lcolorcache.[Ch]
* src/frontends/qt4/lcolorcache.[Ch]
(rgb2qcolor): new utility function
* src/frontends/qt4/QBranches.C
(QBranches::update): adapt to type change of branch color
(QBranches::on_colorPB_clicked): ditto
* src/frontends/xforms/FormDocument.C
(get_current_color): adapt to type change of branch color
(FormDocument::branch_update):
* src/frontends/xforms/FormPreferences.C
(FormPreferences::Colors::LoadBrowse): adapt to RGBColor changes
* src/frontends/xforms/FormPreferences.h: remove unneeded RGBColor
forward declaration
* src/frontends/xforms/XWorkArea.C
(XWorkArea::XWorkArea): adapt to RGBColor changes
* src/frontends/xforms/Makefile.am: remove Color.[Ch]
* src/frontends/xforms/FormColorpicker.[Ch]: adapt to RGBColor changes
* src/frontends/xforms/xformsImage.C: adapt to RGBColor changes
* src/frontends/controllers/ControlDocument.C
(ControlDocument::dispatchParams): adapt to type change of branch color
* src/Makefile.am: add Color.[Ch]
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13466 a592a061-630c-0410-9148-cb99ea01b6c8
(LyXFunc::getStatus): enable LFUN_MENUWRITE for a new document.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13463 a592a061-630c-0410-9148-cb99ea01b6c8
* QDialogView.h: interface methods and slots are now public instead of protected. This allow to avoid making friend classes.
* QPrefs.[Ch]: removed everything GUI related. The controller does not know anything about what the Dialog is doing, it is here only to transfer request one way or the other.
* QPrefsDialogs.[Ch]: transfered everything GUI related here. Things are gathered per module in contructor, apply() and update() methods so that it will be easy to transfer code to separate class afterward
- QPrefsDialogs::apply(LyXRC & rc): fill in rc parameters from GUI.
- QPrefsDialogs::update(LyXRC const & rc): update GUI from rc parameters.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13453 a592a061-630c-0410-9148-cb99ea01b6c8
- fix from Edwin Leuven: colorsModule did not recognize colornames grey40, etc.
- delete unused variable.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13445 a592a061-630c-0410-9148-cb99ea01b6c8
(QWorkArea::QWorkArea): do not set background of the workarea (bug 2197)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13433 a592a061-630c-0410-9148-cb99ea01b6c8
* metricsinfo.h
(ViewMetricsInfo): add size parameter
* BufferView_pimpl.C
(BufferView::Pimpl::metrics): return size
* frontends/screen.C
(LyXScreen::redraw): expose selectively, using y1, y2 in vi, and
exposing lower grey at end using size test
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13432 a592a061-630c-0410-9148-cb99ea01b6c8
patch, avoiding class data member for nestinset
* cursor.h: remove paste() (was forgotten)
* mathed/math_nestinset.C
(MathNestInset::doDispatch):
(MathNestInset::lfunMouseRelease):
(MathNestInset::interpret): incorporate saved selection into
script() call parameters
(MathNestInset::script): saved selection is extra parameter
* mathed/math_nestinset.h: extra parameter; remove safe_
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13431 a592a061-630c-0410-9148-cb99ea01b6c8
When you click the "Alter button" on a added branch in "Document Settings/Branches" Dialog, clicking on the palette on the right to select a color won't work (selected color stays black). After selecting a color from the "Basic Colors" or the "Custon colors"
(which works fine), the color selection from the palette will work correctly. The problems lies in that the QColor() constructor produces an invalid color (RGB 0,0,0). "lightskyblue" is now the default color for a branch when you click the alter button.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13429 a592a061-630c-0410-9148-cb99ea01b6c8
- Cursor handing is done on the server -> *cursor are
QPixmap
- Use new drawScreen and copyScreen methods.
* QWorkArea.[Ch]:
- Pixel manipulation is done on the client -> paint_device_ is a
QImage
- an intermediate Screen device is updated whenever expose is called
-> sreen_device_ is a QPixmap. This screen_device is the one that is
painted on screen in QWorkArea::repaintEvent().
- new update, drawScreen and copyScreen methods.
* QLPainter.C: use the new paintDevice interface.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13428 a592a061-630c-0410-9148-cb99ea01b6c8
which hold functionality that has been moved from the frontends
and implement a method to use a default stylefile for new bibtex
insets (bug 2322).
frontends/gtk/GBibtex.C:
frontends/qt2/QBibtex.C:
frontends/qt4/QBibtex.C:
frontends/xforms/FormBibTex.C: Move parsing of Options (stylefile, bibtotoc) to the
controller (bug 2322).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13427 a592a061-630c-0410-9148-cb99ea01b6c8
(MathNestInset::doDispatch): fix bug 2345: C-M on text in math gives
an empty mbox
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13425 a592a061-630c-0410-9148-cb99ea01b6c8
regression)
* cursor.C: get rid of paste()
* mathed/math_nestinset.C
(MathNestInset::doDispatch):
(MathNestInset::lfunMouseRelease): define safe_ (selection) in
several places
(MathNestInset::script): use data member safe_ to insert selection
* mathed/math_nestinset.h: data member safe_
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13424 a592a061-630c-0410-9148-cb99ea01b6c8
* entries in the combobox in the toolbar are not legible
* same for entries in the listview in the preferences dialog
* the color is not updated after changing it (i always change the murky pink color of lyx's background to white)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13387 a592a061-630c-0410-9148-cb99ea01b6c8
The MACX specific menubar hack present in qt2 frontend is still not ported to the qt4 frontend.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13376 a592a061-630c-0410-9148-cb99ea01b6c8
QWorkArea.h: Added comments
Reverted to Q_WS_X11 and Q_WS_MACX instead of Q_OS_*
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13371 a592a061-630c-0410-9148-cb99ea01b6c8
* QWorkArea.[Ch] cleanup:
- Added private members workWidth_ and workHeight_ in order to
make sure QWorkArea is always able to draw (link to
workArea::WorkAreaResize).
- deleted superfluous debugging stuff
- deleted superfluous commented out code.
- placed all specific stuff (Qt-immodule, X11 and Mac OSX) in a
separate place at the end of QWorkArea.C.
- initial support for Wheel mouse (still does not work).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13348 a592a061-630c-0410-9148-cb99ea01b6c8
There's no <windef.h>, so just use <windows.h>
s/PATH_MAX/MAX_PATH/
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10508 a592a061-630c-0410-9148-cb99ea01b6c8