Commit Graph

126 Commits

Author SHA1 Message Date
Vincent van Ravesteijn
1520629d7c If we are hiding a buffer _and_ the buffer is visible in another view/tabgroup, then we don't need to ensure that the buffer is clean.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31065 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-15 21:46:39 +00:00
Vincent van Ravesteijn
5679ae92f2 Rename closeBuffer to closeWorkArea, because we'll have to await whether we'll actually close the buffer or not.
Now we can also pass the WorkArea we would like to close. This fixes also the problem that hideWorkArea still wasn't correct. That's a consequence of the fact that we relied on currentMainWorkArea(). I wanted to get rid of that anyway.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31063 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-15 21:29:14 +00:00
Vincent van Ravesteijn
7372c173a6 Make a new function to check whether a workArea is also shown in another view.
Use this function in closeBufferAll, and use closeBuffer to hide the buffer. Now, closeBuffer will decide whether we need to save the buffer or not. Previously, the buffer got hidden even if it was dirty.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31059 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-15 18:13:21 +00:00
Vincent van Ravesteijn
3c91fecb61 Among other problems still left. At least close the right tab if you use the context menu.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31050 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-15 14:07:05 +00:00
Vincent van Ravesteijn
bbafbc884c Extend saveBufferIsNeeded with a parameter indicating whether the buffer is going into a hidden state. If so, and the user discards his changes, the buffer will be reloaded to discard the changes.
Now, the option "Hide Tab" uses closeBuffer and asks for saving intead of instantly removing the workArea.

This is part of bug #5893: we try to make sure that there are no dirty hidden buffers.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31043 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-14 23:12:21 +00:00
Vincent van Ravesteijn
81554c90f1 Move layout from GuiToolbar to GuiView. Now, it is possible to use the popup also when the Toolbar has not been visible before.
see: 
http://www.mail-archive.com/lyx-users@lists.lyx.org/msg75503.html

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31042 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-14 22:58:57 +00:00
Abdelrazak Younes
5f2429b4e2 This move out the GuiLayoutBox class out of GuiToolbar where it was a mess. The new LayoutBox is less of a mess now but still a mess.
We need a proper LayoutModel class.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30995 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-12 21:51:10 +00:00
Vincent van Ravesteijn
797f13806d Whitespace and correct naming.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30994 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-12 20:06:29 +00:00
Vincent van Ravesteijn
5ba1f471c7 Explicitly pass to closeBuffer whether the tab should only be hidden or that the buffer should be released.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30993 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-12 20:03:34 +00:00
Vincent van Ravesteijn
3ac3ab1a78 Dissect closeBuffer() and saveBufferIfNeeded().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30992 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-12 18:50:09 +00:00
Vincent van Ravesteijn
97efae2561 Fix bug #740: Wish for added menu item: File->Close all.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30882 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-06 23:17:16 +00:00
Jürgen Spitzmüller
5a54d11157 * Pop up error dialog if issuing master-buffer-[view|update] and errors occured.
Navigating in such dialogs does not work yet, but at least the user is informed
  at all that LaTeX wasn't succesful.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30209 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-21 12:26:41 +00:00
Vincent van Ravesteijn
d1e3d75da2 Fix bug #5131: Remember last file active.
A bool is added to the entry of a last opened file in the Session file. This bool, indicates whether the file was the last one being edited.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29546 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-05 12:47:44 +00:00
Richard Heck
b0177410b0 Make LFUN_BUFFER_NEXT and _PREVIOUS skip documents that are open
but not shown.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28900 a592a061-630c-0410-9148-cb99ea01b6c8
2009-03-25 14:34:42 +00:00
Abdelrazak Younes
deef2728c7 The rest of Tommaso patch with some cleanups. Not very clean still but at least it compiles!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27525 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-16 01:20:34 +00:00
André Pönitz
f1cba8ff64 more latin1..utf8 schanges. all of src/* should be utf8 now
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27425 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-14 15:58:50 +00:00
Abdelrazak Younes
7bd33462a0 Avoid a complete Toc reset in case when only a toc item update is needed.
* Buffer: new updateTocItem() signal (with Delegates and GuiView associates).
* TocBackend: take care of the signal emission instead of the Cursor::checkBufferStructure()
* TocModel: new updateTocItem() method.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26636 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-30 09:50:54 +00:00
Richard Heck
8c6ba1dd6c Patch from Vincent. This resets the window title appropriately, after
the last BufferView has been closed.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26115 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-11 12:57:02 +00:00
Abdelrazak Younes
162b3b3b30 Fix toc and source-view initial showing.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25384 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-25 07:23:30 +00:00
Abdelrazak Younes
2ab92aba67 retro commit a bit. Should hopefully fix the crashes on Mac.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25328 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-19 20:48:49 +00:00
Abdelrazak Younes
65b37dfbb8 Some more fixes to multi-windows.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25327 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-19 17:30:30 +00:00
Abdelrazak Younes
fb47b716d7 Polish the one window per document user experience.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25325 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-19 15:39:15 +00:00
Abdelrazak Younes
57fb699944 Temptatively fix fullscreen problems on X11.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24960 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-27 13:16:50 +00:00
Abdelrazak Younes
5c0c53ccf8 Switch off fullscreen before closing a window.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24957 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-27 12:01:50 +00:00
Abdelrazak Younes
7bb8a5f183 Re-engineer the toolbar support code:
- We now rely more upon Qt features,
- the initial toolbar positioning defined in "lib/ui/default.ui" is now only used if there is no session or if session handling is disabled,
- The session saving/restoring is window dependent.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24954 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-27 11:15:17 +00:00
Abdelrazak Younes
033c3df44c a bunch of toolbar related renaming.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24931 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-25 08:30:06 +00:00
Jean-Marc Lasgouttes
b5d3d3b722 * frontends/LyXView.h:
* frontends/qt4/GuiView.h:
	* frontends/qt4/GuiView.cpp (getStatus): change signature to return a 
	bool indicating whether the view knows something about the lfun.

	* LyXFunc.cpp (getStatus): remove knowledge about what lfuns are 
	handled in view. Call LyXView::getStatus() when nothing is known at
	LyXFunc level.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24887 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-22 15:01:36 +00:00
Abdelrazak Younes
b9c526aaa2 * Delegates.h: clarify some comments.
* Dialog: get rid of updateData()


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24589 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-02 21:38:23 +00:00
Abdelrazak Younes
32fac28acf Simplify dialogs updating.
* GuiView::updateDialogs(): merge with GuiView::checkStatus()

* LyXFunc::processKeySym(): remove call to GuiView::restartCursor(), this has already been called in the call to dispatch() at the end of the methof.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24588 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-02 20:58:25 +00:00
Abdelrazak Younes
ffa722e0b7 Cleanup Toc dialog and GuiView interaction. The toc models are now part of GuiView. The TocWidget is just a view of this model.
* GuiView::tocModel(): new method to access the toc models.
* TocModels: new class with code transferred from GuiToc.
* TocWidget: only needs a TocModels reference.

Thoughts:
- We should find a way to get rid of GuiToc.{c,h}
- tocModels() should perhaps be transferred to GuiWorkArea instead of GuiView in order to have Buffer dependent navigators.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24578 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-02 12:09:51 +00:00
Jürgen Spitzmüller
74d1f2cb2f * GuiView.{cpp, h}:
- fix compilation (gcc didn't like the string arguments in the header file)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24530 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-28 04:57:31 +00:00
Abdelrazak Younes
bf27334cfa Some dialog consistency work:
* Dialog::updateData(): try to reset the dialog even if there's no Buffer.
* GuiView::updateBufferDependent():
- renamed to updateDialogs()
- don't hide when there's no current work area, try to disable instead.
- now also take care of toolbars and other elements. 
* TocWidget: delay item selection to avoid unwanted node collapsing after setting a new model.

Expect crash and/or assertions for dialogs that are not ready for this non-hiding change. I will fix them iteratively.
There are still too many dialogs updates going on...


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24529 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-27 22:24:20 +00:00
Abdelrazak Younes
f1d25c23f8 Don't hide dialogs upon buffer switch. I've been wanting to do this for a looonnng time...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24502 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-25 12:45:39 +00:00
Jürgen Spitzmüller
4d88adcde5 Fix bug 4750
* src/frontends/qt4/GuiView.{cpp,h}:
	- (closeBuffer): only add buffer to list of last opened files
	  if close buffer is called from within GuiView::closeEvent

* src/Session.cpp: typo.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24384 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-20 12:20:40 +00:00
Richard Heck
8a69ffd3bf Complete the removal of the embedding stuff. Maybe. It's hard to be sure we got everything, but this does compile, and it seems to work at least reasonably well. Any problems should of course be reported to the list.
For the record, this developer is sorry that the problems with this code were not noticed much earlier. It's not fun to do so much work and then have it all reverted.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24373 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-20 03:08:11 +00:00
Stefan Schimanski
fda541d46a * on Mac close GuiView when the last tab was closed
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23730 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-14 23:24:59 +00:00
Stefan Schimanski
8c4b08920e * bug fix to only do paragraph redraws, not fullscreen
* avoid an extra redraw due to completion when typing


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23349 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-29 09:18:46 +00:00
Abdelrazak Younes
9940ca7730 Cleanup app quitting and window closing now that there is a clean separation between the frontend and the core.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23271 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 10:35:28 +00:00
Stefan Schimanski
1bf7b59d60 * completion infrastructure
* completion support for mathed
* experimental completion support for text


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23104 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-21 19:42:34 +00:00
Abdelrazak Younes
9d40f89b58 Introducing LFUN_SPLIT_VIEW
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23084 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-20 21:46:49 +00:00
Abdelrazak Younes
1ff60667a6 Put LFUN_UI_TOGGLE in its own method and add FIXMEs WRT multple workareas.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22901 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-09 17:54:28 +00:00
Abdelrazak Younes
e6519eb5f6 Transfer some GUI oriented code from core to frontend.
* lyxFunc:
- doImport(): transfered to GuiView::inportDocument() together with LFUN_BUFFER_IMPORT


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22820 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-06 23:54:13 +00:00
Abdelrazak Younes
8d99df0c93 Transfer some GUI oriented code from core to frontend.
* Application/GuiApplication:
- restoreGuiSession(): new method for session restoration.

* LyXView/GuiView
- loadDocument(): new pure virtual interface

* lyxFunc:
- loadAndViewFile(): transfered to GuiView::loadDocument()
- openDocument(): transfered to GuiView.

* LyX.h
- Impl::files_to_load_ : now a simple vector<string>.
- restoreGuiSession(): removed.
- execBatchCommands(): simplified and make use of Application::restoreGuiSession().



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22816 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-06 23:02:57 +00:00
Abdelrazak Younes
acbb1c9b8c Split LyXFunc::menuNew() into LyXView::newDocument() and buffer_funcs::newUnnamedFile().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22002 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-07 11:57:13 +00:00
Abdelrazak Younes
ac08e89095 Sanitize the way Buffers are saved, renamed and closed.
* LyXFunc: Transfer and simplify LFUN_BUFFER_WRITE, LFUN_BUFFER_WRITE_AS  and LFUN_BUFFER_WRITE_ALL to GuiView.

* BufferList: Transfer quitWriteAll() and close() to GuiView.

* Buffer: Transfer writeAs() and menuWrite() functionalities to GuiView.

* LyXView::closeBuffer(): new pure virtual method.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21960 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-04 22:21:25 +00:00
Abdelrazak Younes
0743f576cb * BufferView:
- dispatch(): transfer LFUN_FILE_INSERT_PLAINTEXT_* to GuiView::dispatch()
- insertPlaintextFile(): split in BufferView::insertPlaintextFile() and GuiView::insertPlaintextFile()

This patch get rid of FileDialog use in BufferView. Remains Buffer, Converters and LyXFunc.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21930 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-02 20:05:17 +00:00
Abdelrazak Younes
c68601da9f * BufferView:
- dispatch(): transfer LFUN_FILE_INSERT to GuiView::dispatch()
- menuInsertLyXFile(): split in BufferView::insertLyXFile() and GuiView::insertLyXFile()


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21923 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-02 17:50:08 +00:00
Abdelrazak Younes
623389fdcc Move inclusion of "frontends/Delegates.h" to qt4/GuiView.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21815 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-27 08:24:56 +00:00
Abdelrazak Younes
1060f922f0 Please JMarc: Make sure we always pass through LyXFunc::dispatch() even if this is a waste of CPU.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21807 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-26 22:45:17 +00:00
Abdelrazak Younes
1133419a59 Cleanup LyXFunc::dispatch() following JMarc advice.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21797 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-26 14:36:50 +00:00