Commit Graph

1014 Commits

Author SHA1 Message Date
Abdelrazak Younes
e7101b70f1 header cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19852 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-28 15:07:39 +00:00
Abdelrazak Younes
a43e822c98 Transfer rowpainter.cpp:paintText() to BufferView::draw()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19843 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-27 22:53:16 +00:00
Abdelrazak Younes
42ad173cd7 Disable the pixmap cache for Qt4.1 because of font problems when resizing the window.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19830 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-27 11:13:09 +00:00
Abdelrazak Younes
9484768959 New 'Save all on shutdown or cancel' feature from Stephan Witt.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19824 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-27 06:35:24 +00:00
Abdelrazak Younes
a6936fe7d5 disable painting updates when adding/removing a workArea. This fixes these spurious messages with Qt4.1:
When opening another document, the following is printed to the console:

QWidget::repaint: recursive repaint detected.
QPixmap::operator=: Cannot assign to pixmap during painting
Painter must be active to set rendering hints
[repeated many times here]
Painter must be active to set rendering hints
QPainter:🔚 Painter is not active, aborted
QPixmap::operator=: Cannot assign to pixmap during painting
QPixmap::operator=: Cannot assign to pixmap during painting
currentTabChanged 1File/c/work/file2.lyx

and, when closing LyX:

QPixmap::operator=: Cannot assign to pixmap during painting
QPaintDevice: Cannot destroy paint device that is being painted.  Be sure to QPainter::end() painters!

I suspect that solving these issues might also solve the missing close
tab button problem.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19783 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-24 22:15:20 +00:00
Abdelrazak Younes
ebff6bd6fb Transfer command buffer handling to QLToolbar.
* Toolbar::focusCommandBuffer(): new pure virtual method.
* Toolbars::display(): now return the address of the found toolbar.
* GuiView: get rid of command_buffer_, transferred to QLToolbar.
* QCommandBuffer: replace focus_command with setFocusProxy on edit_;



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19767 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-24 07:13:07 +00:00
Richard Heck
6e93e77f22 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 first patch does some reworking of the infrastructrue. We need to distinguish between the TextClass that a particular document is using and the layout of that document, since modules, in particular, can modify the layout. The solution adopted here is to add a TextClass pointer to BufferParams, which will hold the layout. The layout itself is then constructed from the TextClass the document is using. At present, this is completely trivial, but that will change when modules are added.

The pointer in question is a boost::shared_ptr. This is needed because CutAndPaste saves a copy of the layout with each cut or copied selection. We cannot assume the selection vanishes when the document is closed, so there are two options: (i) keep a list of all the layouts that have ever been used by any document; (ii) used some kind of smart pointer. The latter seems preferable, as the former would waste memory. More importantly, the use of a smart pointer allows modules to be modified on disk and then reloaded while LyX is running, and it will eventually allow the same for layout files.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19756 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 16:41:13 +00:00
Alfredo Braunstein
68748f5344 compilation fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19754 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 14:35:31 +00:00
Abdelrazak Younes
c7d83abbac Put LyXView on a diet, step 2: Transfer ControlCommandBuffer handling from LyXView to QCommandBuffer.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19753 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 13:20:01 +00:00
Abdelrazak Younes
8381d36098 delete unneeded Menubar virtual interface.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19751 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 12:54:35 +00:00
Abdelrazak Younes
77d4d1256d Put LyXView on a diet, step 2: get rid of menubar direct access from the core. Menubar handling is a frontend thing.
* LyXView:
- getMenubars(): deleted.
- menubar_: transfered to GuiView::private.
- updateMenubar(): deleted, QLMenubar::update() is a void method anyway (to be deleted soon).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19750 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 12:44:21 +00:00
Abdelrazak Younes
674632104f Put LyXView on a diet, step 1: get rid of toolbars direct access from the core. Toolbar handling is a frontend thing; the goal is to progressively transfer that to the frontend.
* LyXView:
- getToolbars(): deleted.
- toolbars_: now protected. The goal is to transfer that to GuiView.
- openLayoutList(): new method. The core should not know how this list is displayed.
- showMiniBuffer(): new pure virtual method to show the mini-buffer.
- focus_command_buffer: deleted.

* GuiView:
- focus_command_widget(): deleted.
- showMiniBuffer(): implemented.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19748 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 12:21:47 +00:00
Abdelrazak Younes
a2022b1950 Delete include of config.h. This was needed only for the qt3 port.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19747 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 08:58:22 +00:00
Abdelrazak Younes
23c7c10656 Hide tab bar if there's only one tab.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19746 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 08:56:13 +00:00
André Pönitz
ef521debc2 add #include for BOOST_CURRENT_FUNCTION
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19738 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 22:58:31 +00:00
Abdelrazak Younes
13a2812c22 Fix crash on first load with mouse wheel: this was because the scrollbar was not updated.
* loadLyXFile::setBuffer(): get rid of a premature optimisation, we make sure that everything is properly drawn in any case.

* GuiView::setCurrentWorkArea(): make sure everything is updated if we don't change tab.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19717 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 08:48:01 +00:00
Abdelrazak Younes
0fcae6cc10 * BufferView::buffer() returns a reference instead of a pointer.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19691 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 13:03:55 +00:00
Abdelrazak Younes
1356543c45 The BufferView/WorkArea/LyXView reorg a.k.a Multiple WorkAreas:
* Buffer:
- get rid of cursor_ and anchor_
- ~Buffer(): update the labels of its master buffer before closing
- closing(): pass the Buffer address.

* BufferView():
- BufferView(): needs a valid Buffer (should be const in the future.
- most of the change is about removing all test of buffer_ nullity.
- resize(): deleted.
- setBuffer(): deleted.

* Application:
- newLyXView(): simplification
- updated design description in Application.h

* Gui/GuiImplementation: remove all WorkAreas and BufferView creation/Deletion. Workareas are directly handled by  LyXView/GuiView and BufferView is created/delete by WorkArea.

* LyXView/GuiView: implement the new design

What is not working yet:
- the close tab button: it is implemented but does not show up.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19686 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 07:33:46 +00:00
Abdelrazak Younes
7206f23872 fix MSVC warnings
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19685 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 07:17:49 +00:00
Georg Baum
d81eb848ff compile fix for qt 4.2.1.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19661 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-20 17:23:33 +00:00
Richard Heck
7a870a41d1 Fix margin problem.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19659 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-20 17:04:00 +00:00
Richard Heck
b3bff4232a Improvements to the citation dialog UI. It is now possible to search particular fields (author, title, etc) and to filter keys by entry types (article, book, etc).
The changes are essentially of three types. 

First, the std::maps previously used here for storing BibTeX data have become full-fledged classes and so what were previously just a bunch of functions have now become methods of these new  classes. This leads to a lot of minor changes in other files, to adapt to the  new signature. The changes in insets/ are mostly of this kind.

Second, there are some slightly more substantial changes in src/insets/InsetBibtex.cpp. We now store lists of the field names and entry types that have been used.

Finally, there are the changes to the citation UI. These are mostly straightforward, though adding the new functionality exposed some inadequacies in the previous code that also had to be fixed.

One other change: BibTeX keys are now docstring. This solves some Unicode issues.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19657 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-20 16:30:02 +00:00
Abdelrazak Younes
8ad113c30a Fix bug 4123:
http://bugzilla.lyx.org/show_bug.cgi?id=4123

* GuiView:
- closeEvent(): set quitting=true only when quitting. I don't know why and how this was changed but it was clearly wrong.
- update_view_state_qt(): only update when focus is in. Make sure this is the current LyXView.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19643 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-19 10:48:16 +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
Abdelrazak Younes
e62684db34 disable pixmap cache under X11
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19616 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-17 07:14:03 +00:00
Martin Vermeer
f0ece382e4 Streamlining CollapseStatus stuff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19610 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-16 16:36:50 +00:00
Abdelrazak Younes
5a82011b90 Fix color of \Omega.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19609 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-16 16:35:38 +00:00
Abdelrazak Younes
4d8c291cd0 cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19585 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-15 08:29:10 +00:00
Abdelrazak Younes
550649963c Transfer q_key_state() from GuiWorkArea.cpp to QKeySymbol.cpp. This will also be used later in GuiView.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19562 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-14 15:00:09 +00:00
Abdelrazak Younes
588c4ba3ec Probable compile fix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19557 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-14 13:20:16 +00:00
Abdelrazak Younes
3d1cfa550b Transfer Drag&Drop handling from GuiWorkArea to GuiView.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19556 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-14 13:14:47 +00:00
Abdelrazak Younes
32268e2632 cosmetics + move frontends/* to frontend namespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19553 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-14 09:54:59 +00:00
Richard Heck
b5ff56e5e8 Fix bug 4121. The cause was the empty on_available_entered method. Not sure why
that caused the bug, but it does.
Also fix some other UI bugs, relating to resets of the selection models. These
look gratuitous and cause problems in the current code.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19530 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-13 23:25:47 +00:00
Abdelrazak Younes
c5ed92e7df * QLPainter::text():
- reorganize the code to minimize indentation by returning early for special cases
- use a pixmap cache for word drawing. This can be disabled by setting USE_PIXMAP_CACHE to 0 at the top of QLPainter.cpp.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19513 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-13 17:35:09 +00:00
Jean-Marc Lasgouttes
1a0f7da043 compilation fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19504 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-13 15:22:13 +00:00
Alfredo Braunstein
6e34079211 This implements selection of current cursor position (and main selection) \
in the view source panel

* Buffer.cpp (getSourceCode, writeLaTeXSource): fix sync between output and texrow
* frontends/controllers/ControlViewSource.{h,cpp} (getRows): new method to get the current selection in term of latex rows
* frontends/qt4/QViewSource.{h,cpp}: make a selection in the ViewSource widget



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19503 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-13 14:24:49 +00:00
Abdelrazak Younes
484dd46b35 Optimisation: don't search twice the hash tables.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19501 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-13 13:56:54 +00:00
André Pönitz
e2a5dd2fc6 whitespace
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19453 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-12 12:51:00 +00:00
André Pönitz
ed73dc21ad cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19452 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-12 12:44:42 +00:00
André Pönitz
6b229b2250 cosmetics (whitespace and no-op functions)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19451 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-12 12:40:11 +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
Lars Gullik Bjønnes
5ae54ddafb Get rid of a few warnings.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19409 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-10 20:14:54 +00:00
Christian Ridderström
1050cc4471 Converted '#warning ...' into FIXME-comments
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19397 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-10 11:47:12 +00:00