Commit Graph

128 Commits

Author SHA1 Message Date
Bo Peng
0fc684e6e6 class session reorganization
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15581 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-27 14:18:03 +00:00
André Pönitz
6c300f72a2 move everything into namespace lyx
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15422 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 00:16:43 +00:00
Abdelrazak Younes
1f8fe29384 This commit transfers the singletons defined in the Application class to the private LyX::Singletons implementation. It also put the session_ member and top_level_keymap global variable into this Singleton structure.
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
2006-10-19 07:20:32 +00:00
Georg Baum
34b7650cbb Introduce wide streams. This fixes the remaining problems of plain text
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
2006-10-11 19:40:50 +00:00
Abdelrazak Younes
28ad960255 This commit cleans up everything related to singleton. The other important change is that lyx::dispatch() and lyx::getStatus become _the_ official way to use LyXFunc equivalent methods.
* 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
2006-10-11 17:24:46 +00:00
Abdelrazak Younes
34694773c6 This commit splits the add() method in two methods add() and
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
2006-09-29 21:40:56 +00:00
Abdelrazak Younes
1396c73262 replace global variable bufferlist with Application class member access.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15161 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-27 10:24:13 +00:00
Abdelrazak Younes
a6444784dc A bunch of conversion to docstring.
- bformat(): contributed by Georg Beaum
- Alert::XXX
- error(): in SpellBase, ispell, psell, aspell, buffer, etc.
- message(), message signal
- displayMessage(), setMessage,
- ErrorItems
- prettyName()
- makeDisplayPath()

and maybe some more...


- etc... 

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14970 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-11 08:54:10 +00:00
Lars Gullik Bjønnes
0dc81f2463 Change MenuBackend and the other menuclasses to store a docstring. Do the required updates to lstrings/convert.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14955 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-09 22:27:22 +00:00
Lars Gullik Bjønnes
43b77ba2d7 Change _() to return a docstring. Fixup callers with the help of lyx::to_utf8.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14952 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-09 15:27:44 +00:00
Georg Baum
1fc0c01877 convert lfun arguments to docstring
* src/support/docstring.[Ch]
	(from_ascii): new conversion function
	(from_utf8): new conversion function
	(to_utf8): new conversion function
	(operator==) new, compare docstring and ASCII C string
	(operator!=) new, compare docstring and ASCII C string

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

	* development/scons/scons_manifest.py: ditto

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

	* all other files: adjust to the FuncRequest changes above


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14861 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-01 15:41:38 +00:00
Jean-Marc Lasgouttes
a719e89ffe src/MenuBackend.C (expandFormats): add default case to switch; handle
UpdateFormat like the others cases.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13969 a592a061-630c-0410-9148-cb99ea01b6c8
2006-05-30 13:48:27 +00:00
Georg Baum
5b83287abe * src/format.[Ch]
(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
2006-05-20 12:03:40 +00:00
André Pönitz
da65e2b7fb rename LFUN enum values according to their command (as used in th minibuffer/bind files
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13801 a592a061-630c-0410-9148-cb99ea01b6c8
2006-05-05 20:23:12 +00:00
Abdelrazak Younes
8c0bd3a77b * TocBackend.[Ch]: new files defining class TocBackend. This class contains adapted code from former toc.C
* 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
2006-04-22 18:48:28 +00:00
Lars Gullik Bjønnes
cf4293824f * Change several freestanding and class methods with first letter
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
2006-04-09 00:26:19 +00:00
Lars Gullik Bjønnes
8c93f63b48 * filetools.[Ch]: Make functions that start with a capital
letter start with a lower letter.
	* All other .C and .h in the cs: adjust for above change


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13603 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-08 22:31:11 +00:00
Lars Gullik Bjønnes
b2effebe20 2006-04-06 Bo Peng <ben.bob@gmail.com>
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
2006-04-05 22:56:18 +00:00
Jean-Marc Lasgouttes
d300f93cec make sure we clear menu contents before expand()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13379 a592a061-630c-0410-9148-cb99ea01b6c8
2006-03-15 15:07:20 +00:00
Georg Baum
e4ddd93da4 fix bug 2174
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10807 a592a061-630c-0410-9148-cb99ea01b6c8
2006-02-03 21:47:25 +00:00
Jean-Marc Lasgouttes
409037f1bb bug 2092: branches not propagated to child documents
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10577 a592a061-630c-0410-9148-cb99ea01b6c8
2005-10-25 15:21:49 +00:00
Jean-Marc Lasgouttes
b2cd9a9093 se Floating::listName() as title of
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10369 a592a061-630c-0410-9148-cb99ea01b6c8
2005-07-28 14:36:16 +00:00
Angus Leeming
70572847e2 Whitespace, only whitespace. s/ +$//
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10024 a592a061-630c-0410-9148-cb99ea01b6c8
2005-06-09 09:58:08 +00:00
Jürgen Spitzmüller
c776e0754a Michael's "ASCII->Plain Text" changes (bug 1572)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9965 a592a061-630c-0410-9148-cb99ea01b6c8
2005-05-21 13:26:13 +00:00
Jean-Marc Lasgouttes
2b6b957d3e various toc-related fixes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9938 a592a061-630c-0410-9148-cb99ea01b6c8
2005-05-12 10:16:04 +00:00
Lars Gullik Bjønnes
9c2ba3c4ff rename tostr.[Ch] to convert.[Ch]
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9448 a592a061-630c-0410-9148-cb99ea01b6c8
2005-01-06 16:39:35 +00:00
Lars Gullik Bjønnes
6a55be9506 tostr -> convert and some bformat work
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9446 a592a061-630c-0410-9148-cb99ea01b6c8
2005-01-06 15:40:49 +00:00
Jean-Marc Lasgouttes
cb15371de3 add possibility to specify the origin of a FuncRequest; use it to get rid of the "verbose" flag in dispatch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9205 a592a061-630c-0410-9148-cb99ea01b6c8
2004-11-08 10:54:29 +00:00
Angus Leeming
e978fa42e3 Whitespace, only whitespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9044 a592a061-630c-0410-9148-cb99ea01b6c8
2004-10-05 10:11:42 +00:00
Jean-Marc Lasgouttes
a9114d0e44 the Qt/Mac merge menu patch; this is actually different from macmove8, so I hope it still works...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8926 a592a061-630c-0410-9148-cb99ea01b6c8
2004-08-14 18:06:10 +00:00
Jean-Marc Lasgouttes
025f30b361 cleanup reading of lfun bindings
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8832 a592a061-630c-0410-9148-cb99ea01b6c8
2004-07-02 10:03:22 +00:00
André Pönitz
0d43ba149a the stuff from the sneak preview:
For one, it still contains a few things that are already in CVS (the
'brown paperbag' changes).

Secondly, this changes the ParagraphList to a std::vector but does not
yet take full advantage of it except removing LyXText::parOffset() and
similar.

I had an extensive talk with my profiler and we are happy nevertheless.

This also moves almost all Cut&Paste specific stuff from text.C to
CutAndPaste.C. Much smaller interface now... Namespace CutAndPaste is
now  lyx::cap::. Was inconsistent with the rest....

Make ParagraphList a proper class. We'll need this later for a
specialized erase/insert.

Remove some unneeded prototypes and function declarations

Use ParameterStruct directly instead of ShareContainer<ParameterStruct>

Inline a few accesses to CursorSlice members as suggested by the profiler.

Fix commandline conversion crash reported by Kayvan.

Replace PosIterator by DocumentIterator. The latter can also iterate
through math and nested text in math...

Remove math specific hack from Documentiterator

Derive InsetCollapsable from InsetText instead of using an InsetText
member. This give us the opportunity to get rid of the InsetOld::owner_
backpointer.

Cosmetics in CutAndPaste.C and cursor.C. Fix nasty crash (popping slices
off an empty selection anchor). Add a few asserts.

Remove all 'manual' update calls. We do now one per user interaction which
is completely sufficient.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8527 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-25 09:16:36 +00:00
André Pönitz
b634b3eb3b split LyXFunc::getStatus() into inset specific chunks
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8500 a592a061-630c-0410-9148-cb99ea01b6c8
2004-03-18 13:57:20 +00:00
Lars Gullik Bjønnes
3420904448 The func.diff patch. Functors work and some tiny cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8377 a592a061-630c-0410-9148-cb99ea01b6c8
2004-01-31 15:30:24 +00:00
Martin Vermeer
59fefa0759 The Character Style and XML short element inset.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8078 a592a061-630c-0410-9148-cb99ea01b6c8
2003-11-12 14:38:26 +00:00
Lars Gullik Bjønnes
c38370d1c3 the exception safety patch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8020 a592a061-630c-0410-9148-cb99ea01b6c8
2003-11-03 17:47:28 +00:00
Martin Vermeer
6d1789d4db Partial fix to nav menu/branch inset problem reported by Kayvan
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7979 a592a061-630c-0410-9148-cb99ea01b6c8
2003-10-25 09:20:51 +00:00
Angus Leeming
50257b8690 Turn LyX into a singleton class. Kill the BufferView cache.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7922 a592a061-630c-0410-9148-cb99ea01b6c8
2003-10-14 21:30:23 +00:00
Lars Gullik Bjønnes
b5b225c657 remove some more debug noise
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7885 a592a061-630c-0410-9148-cb99ea01b6c8
2003-10-09 13:33:19 +00:00
Lars Gullik Bjønnes
44cd0fc9a1 The std::string mammoth path.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7862 a592a061-630c-0410-9148-cb99ea01b6c8
2003-10-06 15:43:21 +00:00
Lars Gullik Bjønnes
495cd0eea0 more action work
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7801 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-21 23:00:47 +00:00
Lars Gullik Bjønnes
2994fe5511 Get rid of Pseudo Actions
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7799 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-21 18:57:15 +00:00
Angus Leeming
57a24ea912 Replace 'using namespace abc;' with 'using abc::xyz;'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7725 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-09 22:13:45 +00:00
Lars Gullik Bjønnes
fcdb71906b Change Assert to BOOST_ASSERT.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7722 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-09 17:25:35 +00:00
Angus Leeming
f9c1cafbe6 Pragmatic pimpl-ing of BufferParams.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7721 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-09 17:00:19 +00:00
Angus Leeming
e835c9477b Pimpl Buffer.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7719 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-09 11:24:33 +00:00
Angus Leeming
fd36f5ad76 Make buffer's member variables private; use accessor functions.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7717 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-09 09:47:59 +00:00
Angus Leeming
4c6e0fe422 Removed all redundant using directives from the source.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7704 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-08 00:33:41 +00:00
Angus Leeming
1dffc5cfe4 Move #includes out of header files.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7659 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-04 03:54:04 +00:00
Lars Gullik Bjønnes
b881ed2d5a Use Buffer const reference in most placees possible.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7623 a592a061-630c-0410-9148-cb99ea01b6c8
2003-08-28 07:41:31 +00:00