Commit Graph

172 Commits

Author SHA1 Message Date
Bo Peng
b5538c32aa Separate PrefShortcuts from PrefUi, in preparation for a shortcuts configuration panel
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20989 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-16 14:41:46 +00:00
Uwe Stöhr
7075eaadef The huge URL patch:
- rename the lfun to href-insert.png
- rename the files to Hyperlink...
- the former URLUi produces now \href commands (hyperref)

Only missing thing is the lyx2lyx conversion routine - this will be done by Richard

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20950 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-13 19:06:09 +00:00
André Pönitz
fee6fea248 some controller simplification
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20871 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-09 19:52:34 +00:00
André Pönitz
6f3cdf8da8 move Controller inheritance further up the tree
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20870 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-09 19:34:27 +00:00
André Pönitz
72344cfbe6 delete controllers dir
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20830 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-07 21:38:06 +00:00
André Pönitz
f1c1cba9c3 math stuff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20826 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-07 20:34:09 +00:00
André Pönitz
86af8a2811 move LaTeXHighlighte
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20796 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-06 19:03:41 +00:00
André Pönitz
1aed51c75c configure chack for rcc
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20733 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-04 16:57:16 +00:00
André Pönitz
1bf589ad1e generate Qt resources for lib/images/*. Unused so far.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20719 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-03 21:56:32 +00:00
André Pönitz
19ab5ceef9 s/pkglib_/noinst_/
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20669 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-02 20:34:55 +00:00
Abdelrazak Younes
3ca9ddb6ed Move most of the Gui specific code in Toolbars to its new qt4 specialization GuiToolbars.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20644 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-01 20:45:50 +00:00
Abdelrazak Younes
16f4f20fca Potentially fix slowness issue with Selection. Cache the Selection status when the data is changed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20622 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-01 08:18:14 +00:00
Abdelrazak Younes
e3e83d1c65 Fix slowness issue with Clipboard. Cache the Clipboard status when the data is changed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20617 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-30 20:28:15 +00:00
Abdelrazak Younes
738d5b06ba * qt4/DialogView.h: new template class based on QDialog.
* qt4/Dialogs.cpp: use DialogView by default instead of DockView for GuiParagraph


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20534 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-27 11:27:52 +00:00
André Pönitz
3ff14b8300 Pavel Sanda's "PDFOptions" patch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20389 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-20 22:31:18 +00:00
André Pönitz
50de85396c some remnaming
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20298 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-15 20:31:50 +00:00
André Pönitz
d348b0183b Rename class socket_callback into SocketCallback; adjust buidl systems;
prevent double deletion of socket notifier


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20296 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-15 17:47:35 +00:00
Edwin Leuven
76e3fbcf7a * new file formats panel that includes copier
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20292 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-15 17:09:57 +00:00
André Pönitz
d5c3b142ba remove duplicated entry
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20194 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-10 18:09:37 +00:00
André Pönitz
c9ea6e6eef the fun begins....
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20077 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-05 20:33:29 +00:00
André Pönitz
212386be8a merge ButtonController and its view (Qt2BC in this case)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20018 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-03 05:59:32 +00:00
Edwin Leuven
80a05b1eb5 get rid of (cyg)win path panel in prefs by moving it to the latex panel
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20013 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-02 20:17:36 +00:00
André Pönitz
904fd84bba all CheckedWidgets are line edits...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19988 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-02 08:19:43 +00:00
André Pönitz
d5483e3551 somewhat more uniform naming
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19962 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-31 22:37:05 +00:00
André Pönitz
fc36725282 Merge QController into individual dialogs. Also various cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19961 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-31 22:16:11 +00:00
André Pönitz
7bf090853f fix make dist
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19958 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-31 18:30:23 +00:00
Bo Peng
cc6fe67c35 Embedding feature patch 3: basic gui support
*  lib/ui/stdmenus.inc: add menu item embedded files
	*  src/BufferParams.cpp: set default embedded status to false
	*  src/EmbeddedFiles.h|cpp: add a few member functions
	*  src/frontends/qt4/Dialogs.cpp: add embedding dialog
	*  src/frontends/qt4/GuiEmbeddedFiles.h|cpp: embedding dialog
	*  src/frontends/qt4/ui/EmbeddedFilesUi.ui: embedding dialog
	*  src/frontends/controllers/ControlEmbeddedFiles.h|cpp: embedding dialog control
	*  src/frontends/qt4/Makefile.am: build system update
	*  src/frontends/controllers/Makefile.am
	*  development/scons/scons_manifest.py


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19953 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-31 15:42:35 +00:00
André Pönitz
a1cec91afa move our stuff off the Q* namespace
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19935 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-31 05:53:55 +00:00
Richard Heck
53bc63d95c This is one of a series of patches that will merge the layout modules development in personal/branches/rgheck back into the tree.
Design goal: Allow the use of layout "modules", which are to LaTeX packages as layout files are to LaTeX document classes. Thus, one could have a module that defined certain character styles, environments, commands, or what have you, and include it in various documents, each of which uses a different document class, without having to modify the layout files themselves. For example, a theorems.module could be used with article.layout to provide support for theorem-type environments, without having to modify article.layout itself, and the same module could be used with book.layout, etc.

This third patch just re-factors some code presently in QCitation*. (It also incorporates some bug fixes that have been committed separately.) We're going to use essentially the same set of widgets for choosing modules that is used for choosing citation keys, so we pull the controlling logic out into a new class, QSelectionManager. I did not make this a QWidget. That seemed to me to be overkill, and it would have made things much more complicated, I think...and I'm not all that experienced with Qt, anyway. Anyone who wants to do that is of course welcome.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19860 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 16:49:40 +00:00
André Pönitz
6d5a52b8e3 implement --enable-monolithic-{client,frontend-qt4,controllers}. Careful with frontend-qt4, it takes ~490 MB to build (but 3 instead of 8 minutes...)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19641 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-19 09:44:34 +00:00
André Pönitz
a4e8658088 moccable files are special after all
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19445 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-11 23:36:42 +00:00
André Pönitz
848c89564f remove lyxrc dependence from support/*
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19441 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-11 22:37:09 +00:00
Jean-Marc Lasgouttes
8f818f241a typo
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19440 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-11 21:22:33 +00:00
Jean-Marc Lasgouttes
7c6a6e02c4 fix linking of qt4 frontend
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19435 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-11 20:55:10 +00:00
André Pönitz
da1c04ea9a fix linking error in the frontend
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19430 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-11 18:24:00 +00:00
André Pönitz
8cea333572 fix building with automake; break scons, cmake and qmake
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19427 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-11 15:48:15 +00:00
André Pönitz
8a79744d8b merge qt4/Makefile.am and qt4/ui/Makefile.am
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19414 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-10 23:19:07 +00:00
André Pönitz
67e61a3956 enable building of shared libraries. reduces final linktime. also combine boost stuff into a single library
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19410 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-10 22:33:54 +00:00
Bo Peng
4ce743a0a7 Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
	* src/insets/Inset.h,cpp: LISTINGS_CODE
	* src/insets/InsetInclude.cpp: handle \lstinputlisting
	* src/insets/InsetListings.h,cpp: new listings inset
	* src/insets/InsetListingsParams.h,cpp: parameters from listings package
	* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
	* src/Bidi.cpp: handle LISTINGS_CODE
	* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
	* src/frontends/qt4/ui/ListingsUi.ui: new dialog
	* src/frontends/qt4/ui/IncludeUi.ui: update UI
	* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
	* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
	* src/frontends/qt4/QListings.h,cpp: new listings inset
	* src/frontends/qt4/Dialogs.cpp: new listings dialog
	* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
	* src/frontends/controllers/ControlListings.h,cpp: new listings inset
	* src/LyXFunc.cpp: handle LISTING_CODE
	* src/Paragraph.cpp: handle LISTING_CODE
	* src/factory.cpp: new listings inset
	* src/CutAndPaste.cpp: handle LISTINGS_CODE
	* src/LaTeXFeatures.cpp: require listings
	* src/Text3.cpp: Handle LISTINGS_CODE
	* src/lfuns.h: add LFUN_LISTING_INSERT
	* src/Buffer.cpp: change lyx file format to 269
	* src/BufferParams.h,cpp: add listings_params to preamble
	* lib/lyx2lyx/LyX.py: lyx2lyx 
	* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
	* lib/ui/stdmenus.inc: new menu item (no shortcut!)
	* src/insets/Makefile.am: update autotools
	* src/frontends/controllers/Makefile.am
	* src/frontends/qt4/Makefile.dialogs
	* src/frontends/qt4/Makefile.am
	* po/POTFILES.in: a few more translatable files.
	* development/scons/scons_manifest.py: scons build system
	* development/FORMAT: document format changes


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
Bo Peng
e36fba33ab Last (?) batch of renames:
src/frontends/Alert.h src/frontends/alert.h
src/frontends/Alert.cpp src/frontends/alert.cpp
src/frontends/Alert_pimpl.cpp src/frontends/alert_pimpl.cpp
src/frontends/qt4/Alert_pimpl.cpp src/frontends/qt4/alert_pimpl.cpp
src/frontends/controllers/ButtonPolicies.cpp src/frontends/controllers/ButtonPolicy.cpp
src/frontends/controllers/ButtonPolicies.h src/frontends/controllers/ButtonPolicy.h
src/insets/InsetEnv.cpp src/insets/InsetEnvironment.cpp
src/insets/InsetEnv.h src/insets/InsetEnvironment.h
src/mathed/MathMacroTable.h src/mathed/MacroTable.h
src/mathed/MathMacroTable.cpp src/mathed/MacroTable.cpp
src/lyx_cb.h src/callback.h
src/lyx_cb.cpp src/callback.cpp
src/UpdateFlags.h src/update_flags.h


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18076 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-28 20:44:46 +00:00
André Pönitz
50016ccf3a rename LyXKeySym into KeySymbol
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18059 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-27 08:43:38 +00:00
André Pönitz
71797f6d72 fix Makefile.am after .C -> .cpp conversion
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18028 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-26 06:55:43 +00:00
Bo Peng
6fdb8bf85a Rename .C ==> .cpp for files in src/frontends/qt4, part one
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18014 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-26 03:53:02 +00:00
André Pönitz
a77a19e497 more dialog merging
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17981 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-25 10:57:54 +00:00
André Pönitz
ee2966faba more dialog merging
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17979 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-25 10:25:37 +00:00
André Pönitz
163a95106e more dialog merging
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17977 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-25 08:42:22 +00:00
André Pönitz
2dcd61cc9c merge QPref and QPrefDialog
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17971 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-25 07:13:54 +00:00
André Pönitz
24bb9669a5 more Foo/FooDialog merge
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17956 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-24 19:37:34 +00:00
André Pönitz
078bdf9c27 merge the tabular/gui related files
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17954 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-24 17:46:08 +00:00
André Pönitz
2c7f20e2ec merge QSpellChecker and QSpellcheckerDialog
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17953 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-24 15:32:14 +00:00
André Pönitz
735934a376 merge QTexinfo and QTexinfoDialog
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17952 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-24 15:10:14 +00:00
André Pönitz
1ed0c6be12 merge QWrapDialog and QWrap
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17951 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-24 14:59:51 +00:00
Edwin Leuven
22fb43fd8f * removal of math panel
some code is moved from QMath 
  to QDelimiterDialog and QMathMatrixDialog
  for the rest pretty mechanical

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17872 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-19 21:42:42 +00:00
Abdelrazak Younes
cb81965b1e * ControlToc:
- initialiseParams(): overload ControlCommand::initialiseParams() so that we can update the model at this point (QToc is the controller _and_ the model).
  - update(): new 
  - updateBackend(): new protected method to update the TocBackend (called for the "Update" button).

* QToc:
  - is now a QObject
  - modelReset: new Qt signal to indicate a model reset to associated dialog(s).
  - QToc(): avoid the duplicate update() call that will be done in the show command anyway.

* Dialogs.C
  - use new TocWidget in a DockView.

* TocWidget.[Ch]: renamed from QTocDialog. This striped down widget is only a widget that connects to the 'QToc' model/controller.

* DockView.h: new template class that encapsulates a given Widget inside a DockWidget and presents a Dialog::View interface.

* QTocUi.ui:
  - now is a simple Widget.
  - rearrange the buttons a bit
  - get rid of the unneeded close button.
  - modify the shortcut to "Promote" to 'r' because of a clash with "Alt-p" number (we really need real, always valid, shortcuts for all outline action!)




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17416 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-12 14:23:44 +00:00
Georg Baum
e35725d5c0 New nomenclature inset from Ugras
* src/LyXAction.C
	(LyXAction::init): Add LFUN_NOMENCL_INSERT and LFUN_NOMENCL_PRINT

	* src/insets/insetbase.C
	(build_translator): ditto

	* src/LaTeXFeatures.C
	(LaTeXFeatures::getPackages): Add nomencl

	* src/insets/insetnomencl.[Ch]: new insets InsetNomencl and
	InsetPrintNomencl

	* src/insets/insetbase.h: Add NOMENCL_CODE and NOMENCL_PRINT_CODE

	* src/insets/insetcommandparams.C
	(InsetCommandParams::findInfo): Add nomenclature and printnomenclature
	(InsetCommandParams::getCommand): Extend end of command protection to
	cover commands with only optional arguments like printnomenclature

	* src/insets/insetert.C
	(InsetERT::getStatus): disable LFUN_NOMENCL_INSERT and
	LFUN_NOMENCL_PRINT

	* src/insets/Makefile.am: Add new files
	* src/frontends/qt4/Makefile.dialogs: ditto
	* src/frontends/qt4/Makefile.am: ditto

	* src/factory.C
	(createInset): Handle InsetNomencl and InsetPrintNomencl
	(readInset): ditto

	* src/buffer.C
	(LYX_FORMAT): increase

	* src/lyxfunc.C
	(LyXFunc::dispatch): Handle nomenclature

	* src/LaTeX.C
	(LaTeX::deleteFilesOnError): Delete .nls file
	(LaTeX::run): Run makeindex for nomenclature
	(LaTeX::runMakeIndex): handle nomenclature options
	(LaTeX::deplog): Recognize nomenclature file

	* src/frontends/qt4/QNomenclDialog.[Ch]: new
	* src/frontends/qt4/QNomencl.[Ch]: ditto
	* src/frontends/qt4/ui/QNomenclUi.ui: ditto

	* src/frontends/qt4/Dialogs.C
	(Dialogs::build): handle nomenclature dialog

	* src/text3.C
	(LyXText::dispatch): Handle LFUN_NOMENCL_INSERT and
	LFUN_NOMENCL_PRINT
	(LyXText::getStatus): Ditto

	* src/lfuns.h
	(kb_action): Add LFUN_NOMENCL_INSERT and LFUN_NOMENCL_PRINT

	* lib/lyx2lyx/LyX.py
	(format_relation): Update 1.5 format range

	* lib/lyx2lyx/lyx_1_5.py
	(revert_nomenclature): New
	(revert_printnomenclature): ditto

	* lib/chkconfig.ltx: Test for nomencl package

	* lib/doc/LaTeXConfig.lyx.in: Add nomencl package

	* lib/doc/Extended.lyx: Add documentation for nomencl

	* lib/ui/stdtoolbars.ui
	(Toolbar "extra" "Extra"): Add nomencl-insert

	* lib/ui/classic.ui: Add nomencl-insert and nomencl-print
	* lib/ui/stdmenus.ui: ditto

	* development/scons/scons_manifest.py: Add new files

	* development/FORMAT: Describe new format


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15739 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-04 17:55:36 +00:00
Abdelrazak Younes
8571d4c0b8 compile fix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15543 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-25 07:48:48 +00:00
Abdelrazak Younes
f4857dab04 new LFUN_WINDOW_CLOSE
* 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
2006-10-23 16:29:24 +00:00
Abdelrazak Younes
83ffa28e77 This commit is purely mechanical and get rid of lyx_gui.[Ch].
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
2006-10-12 14:10:13 +00:00
Abdelrazak Younes
00edcc582f This commit is a big rework of the FontLoader/FontMetrics interaction. Only Qt4 for now, I would be grateful is somebody steps up for qt3 and gtk.
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
2006-10-07 16:15:06 +00:00
Abdelrazak Younes
205096733a This commit introduces the FontLoader interface class. In the future, I intend to extend it with a proper encapsulation of font metrics.
* 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
2006-10-03 16:17:32 +00:00
Georg Baum
c2ffa71fa7 compile fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15129 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-22 18:45:22 +00:00
Georg Baum
c9c6ed0b7f Split clipboard and X selection
* 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
2006-07-10 11:32:25 +00:00
Abdelrazak Younes
9f5f309ea2 QURL renamed to UrlView
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14256 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-28 12:09:25 +00:00
Abdelrazak Younes
d8ae51dbe1 This is the merging of the GUI API cleanup branch that was developed in svn+ssh://svn.lyx.org/lyx/lyx-devel/branches/personal/younes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14152 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-20 08:39:16 +00:00
Abdelrazak Younes
30649ec3b6 Those classes (and their associated [Ch] files) are renamed :
QLAction -> Action
lcolorcache -> ColorCache
qfont_loader.C -> FontLoader




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14136 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-17 09:14:58 +00:00
Georg Baum
20802b7c9b remove references to deleted file QtLyXView.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14112 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-14 19:26:23 +00:00
Abdelrazak Younes
6a742b7aa0 This patch removes qscreen.[Ch] and simplify the cursor drawing on screen. Basically, we paint now only if needed. So there's no need anymore to handle the "no cursor" pixmap saving.
SConscript: removed qscreen.C
frontends/qt4/Makefile.am: removed qscreen.C
frontends/screen.h: remove workarea() constness
frontends/qt3/qscreen.[Ch]: ditto
frontends/gtk/GScreen.[Ch]: ditto
frontends/xforms/xscreen.[Ch]: ditto
frontends/qt4/LyXScreenFactory.C: now return the QWorkarea directly
frontends/qt4/QWorkArea.[Ch]: inherits LyXScreen, handle the cursor painting
frontends/qt4/qscreen.[Ch]: removed 

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13981 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-02 12:01:28 +00:00
Abdelrazak Younes
4a8ffce850 Small cleanup recommended by Lars Gullik Bjønnes:
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
2006-05-18 09:37:35 +00:00
Abdelrazak Younes
995da7bafc Qt4 compilation speedup patch by Bo Peng and me.
* 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
2006-05-18 08:51:12 +00:00
Edwin Leuven
123cc28dba getting rid of qt4 convenience classes:
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
2006-05-07 10:20:43 +00:00
Bo Peng
2f3ac2d20f Initial Qt4 support for view-source feature (r13610), from Bo Peng (ben.bob@gmail.com)
* add src/frontend/qt4/QViewSource.h/C, QViewSourceDialog.h/C, ui/QViewSourceUi.ui
	* modify corresponding qt4/Makefile.am Makefile.dialogs, Dialogs.C


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13682 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-15 14:13:41 +00:00
Lars Gullik Bjønnes
12e5a52b92 Added initial qt4 work by Abdelrazak Younes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13294 a592a061-630c-0410-9148-cb99ea01b6c8
2006-03-05 17:24:44 +00:00