Commit Graph

3101 Commits

Author SHA1 Message Date
Georg Baum
94c10102c0 Compile fix. This was easy, since the code is alsmost identical to qt4,
but I am not going to do gtk.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15271 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-08 07:39:02 +00:00
Georg Baum
3f0d2901c2 Avoid another name clash (probably #define check ...) on OS X with Qt 4.2.0
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15270 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-08 06:57:46 +00:00
Georg Baum
a774f10c0c remove double include
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15269 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-07 17:09:30 +00:00
Georg Baum
2b477c1f68 remove unused variable
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15268 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-07 17:07:46 +00:00
Georg Baum
6ada61e182 Rename namespace Alert to lyx::frontend::Alert.
This prevents a name clash with Qt 4.2.0 on OS X.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15267 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-07 16:47:54 +00:00
Abdelrazak Younes
a21259dd02 * qt_helpers:
- 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
2006-10-07 16:30:26 +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
f2ca75b3ac remove LFUN_TOOLTIPS_TOGGLE and associated Dialog::tooltipsEnabled() method.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15263 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-06 21:49:13 +00:00
Abdelrazak Younes
f54f0e2d4c * lyx_gui: parse_lyxrc() and getStatus() methods deleted.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15256 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-05 16:52:04 +00:00
Abdelrazak Younes
c77b5dbee1 enable the font width cache for Windows also, it saves three seconds on the UserGuide test on my machine (18s versus 21 second).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15235 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-04 12:43:13 +00:00
Abdelrazak Younes
78135f7751 enable Font cache only for MacOSX and inline width() for other platform.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15233 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-04 10:08:51 +00:00
Abdelrazak Younes
6c2577d98d MacOSX compilation fix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15230 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-04 09:34:56 +00:00
Georg Baum
b9f008e2ba compile fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15226 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 20:03:25 +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
Abdelrazak Younes
1b8c2a95df use theApp directly for default fonts.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15214 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 14:21:15 +00:00
Abdelrazak Younes
f1d2dfadbc Put back doxygen comments deleted from lyx_gui.h.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15212 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 13:59:01 +00:00
Abdelrazak Younes
85d2e4b917 * lyx_gui: create_view(), start() and exit() functions deleted.
* 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
2006-10-03 13:38:28 +00:00
Abdelrazak Younes
046c9bb9e3 transfer lyx_gui::exit() to frontends/lyx_gui.C
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15209 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 11:42:33 +00:00
Abdelrazak Younes
63ad5449fb This commit creates a new "frontends/lyx_gui.C" that contains all functions that are not frontend dependent any more. It also creates 3 new pure virtual methods in Application:
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
2006-10-03 10:34:10 +00:00
Abdelrazak Younes
d1e7c7e0ab Integrate Application_pimpl into Application.C.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15206 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-03 08:43:32 +00:00
Georg Baum
2c72e0ecaa Fix bug 2868
* 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
2006-10-03 08:34:59 +00:00
Enrico Forestieri
5070d2f660 Fix build on cygwin when using --without-x
* 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
2006-10-02 18:21:48 +00:00
Abdelrazak Younes
481e6a3ac7 A fix from Ozgur Ugras BARAN:
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
2006-10-02 15:40:39 +00:00
Abdelrazak Younes
6a947f349b This commit moves system font initialization and restoration to new support/fontutils.[Ch].
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
2006-10-02 10:48:03 +00:00
Georg Baum
6eab6ea732 remove unneeded include
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15188 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-30 10:24:05 +00:00
Georg Baum
e9f25b4861 Make it compile again: Add some includes to fix signals name clash
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15187 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-30 08:58:17 +00:00
Abdelrazak Younes
9a2427e0b8 remove a FIXME, sorry for the multiple commits...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15186 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-29 23:22:53 +00:00
Abdelrazak Younes
315d394338 Some cleanup
* Application.h: pimpl_ is now private

* GuiApplication.C: headers cleanup.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15185 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-29 23:21:03 +00:00
Abdelrazak Younes
0548914973 some qt3 and gtk compilation fixes (hopefully)...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15184 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-29 23:15:36 +00:00
Abdelrazak Younes
3a1f656e4e * Application: new createView() method
* 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
2006-09-29 23:10:17 +00:00
Abdelrazak Younes
ca5411f913 This commit introduces Application_pimpl and cleanup the header includes of the affected .C files.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15182 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-29 22:06:28 +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
Enrico Forestieri
12a6d46370 Small fixes for STLPort compliance
* src/cursor.C: add using std::for_each;

	* src/graphics/GraphicsTypes.h: add #include <string>

	* src/graph.C: add using std::fill;

	* src/frontends/controllers/helper_funcs.h: add #include <algorithm>

	* src/bufferview_funcs.C: add using std::find;

	* src/lyx_main.C: add using std::for_each;

	* configure.ac: don't use boost format on cygwin


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15176 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-28 00:42:47 +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
0da12b129a delete unneeded BufferView.h declaration.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15159 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-26 21:11:22 +00:00
Abdelrazak Younes
a9ddcfc77c 2 style and 1 compilation fixes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15156 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-26 12:46:27 +00:00
Abdelrazak Younes
c2cc205852 qt3 and gtk support for revision: 15153
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15155 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-26 11:55:46 +00:00
Abdelrazak Younes
b171e5f150 Free BufferView from LyXView!
* 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
2006-09-26 10:06:46 +00:00
Abdelrazak Younes
10d5ea0d8a replace colorcache global variable with GuiApplication::colorCache().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15151 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-26 09:57:47 +00:00
Georg Baum
e1acd31e28 Disable concept checks in the same way as in other gtk files since they
don't work with libsigc++ 2.0.6.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15146 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-25 16:58:40 +00:00
Georg Baum
063994371e make it compile again
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15132 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-22 21:00:42 +00:00
Georg Baum
ebaaff58fa make it compile again
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15131 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-22 20:48:42 +00:00
Georg Baum
884022b16a remove unused stuff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15130 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-22 19:17:29 +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
577f9fca6f fix eol-style
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15127 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-22 17:50:33 +00:00
Georg Baum
48bd3057a8 Add virtual destructor
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15126 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-22 17:47:15 +00:00
Abdelrazak Younes
12a82dd4f2 This commit replaces BufferView->LyXView->Gui->[selection,clipboard] with theApp->[selection,clipboard]
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15125 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-22 15:02:41 +00:00
Abdelrazak Younes
480b4f4fdc This commit replaces BufferView->LyXView->getLyXFunc() with theApp->lyxFunc() and BufferView->LyXView->dispatch() with theApp->lyxFunc().dispatch().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15121 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-22 14:26:06 +00:00
Abdelrazak Younes
6104eebe0d replace lyxserver and lyxsocket with theApp->server() and theApp->socket() equivalent methods.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15119 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-22 12:34:13 +00:00
Georg Baum
112f533459 Fix a crash that occured on exit if the clipboard was not empty
(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
2006-09-22 10:03:00 +00:00