Commit Graph

39 Commits

Author SHA1 Message Date
Enrico Forestieri
5a3201a8c4 Speed up exit time
Instantiating a single QSettings and using it for each ui element
can significantly shorten the time required to save the various
states at exit. The speed up can be better appreciated on *nix,
where the settings are saved on disk, rather than on Windows where
they are held in memory (in the registry).

(cherry picked from commit 3b43fbfbb1)
2017-10-18 13:38:16 +02:00
Guillaume Munch
dc5d056dd5 Fix warning during runtime with qt4
Do not use "on_" as a prefix for functions unless the use of auto-connect is
intended.
2016-11-09 23:37:35 +01:00
Guillaume Munch
e0e765f6a9 Get rid of dirty BufferView pointer
Now that there is a signal to inform the controller when the buffer view has
changed, it is no longer necessary to store a perishable pointer to a buffer
view in the dialog view. (Indeed, it was only really useful for checking whether
the new buffer view pointer was different from the old one.)

TODO: other dialogs should be audited for similar hazards.
2016-10-17 00:16:59 +02:00
Guillaume Munch
01d6333db2 Implement reverse-search in the source panel
Double-clicking on a line in the source panel triggers the selection of the
corresponding line in the Buffer View.
2016-10-17 00:16:59 +02:00
Guillaume Munch
79a947c904 Work around dangling pointer
A better solution would be to entirely get rid of this borrowed pointer with
unclear lifetime, but this requires to introduce a new signal for when the
buffer view attached to the GuiView has changed.
2016-09-29 12:37:19 +02:00
Guillaume Munch
ca58674267 Better title for ViewSource
The title is changed to "LaTeX (pdflatex) Preview", etc. depending on the
format. The actual default format is computed.

The menu name "Source Pane" is replaced by "Code Preview Pane" to better reflect
its purpose.
2016-09-21 16:42:38 +02:00
Guillaume Munch
670efa8f64 Rationalise includes
Modifying TexRow.h or texstream.h no longer triggers the recompilation of the
complete source tree.
2016-07-04 02:42:17 +02:00
Guillaume Munch
557975a8de Replace auto_ptr with unique_ptr
This is a mechanical replacement. For now it seems that unique_ptrs are
essentially used for exception-safety. More could certainly be done to clarify
pointer ownership in general.
2016-06-09 15:21:39 +01:00
Guillaume Munch
789745df7a TexRow info in source panel and gotoCursor() for debugging
These features are active in DEVEL_VERSION when Debug is set to LATEX.

1. The TexRow information is prepended to the source panel.

2. Clicking on any line in the source triggers reverse search. (This would be an
interesting feature to implement on the user side, but we need a proper LFUN.)
2015-10-19 06:55:17 +01:00
Guillaume Munch
fd7b13f5ae Improvements to the display of the source.
Fix bugs #6501 and #7359.

* Selection highlighting has been broken since a conflict with
  reverse-search was repaired (at 00a62b7c), is now fixed.

* The selection highlighting was not accurate, for LaTeX formats (in
  full source view), and meaningless, for non LaTeX formats.

* fix regression at cc00b9aa: force_getcontent_ was always true
  therefore the code to detect changes in the generated source was
  dead. The consequence is that the source view would jump to the
  beginning at each updateView() even if no change occurred. Cc00b9aa
  was meant to fix #5600, which I cannot reproduce with the new
  implementation.

* Various improvements:
  *  When the position-to-line conversion is unavailable (LyXHTML, LyX
     source, etc.) we focus on the first difference instead.
  *  Get some space around the cursor
  *  Respect the scrollbars
  *  Highlight with QTextEdit::ExtraSelections instead of cursor
     selection (the latter used to break syntax highlighting of the
     TeX code... which was not so much of an issue before because the
     wrong part was selected)

Known issues:
  * The highlighting is off by one line in very last paragraph of a
    document. This appears to be a bug in TexRow.cpp.
  * The highlighting is off for any kind of inset. This could be
    solved by adapting TexRow so that it accepts CursorSlices as
    and argument for the conversion to line number. (this is bug
    #4725)
2015-09-13 00:45:52 +01:00
Guillaume Munch
120c99ae60 Better session management for the source panel.
We now remember the previous GUI values across sessions.
2015-09-13 00:45:47 +01:00
Guillaume Munch
ba3e6cb2d2 Improve the performance of the source panel by using a QTimer.
Fix bug #9493. The source panel was very slow with auto-update on. Now
we use a timer that ensures that the source is generated only at
rest. The delay is short or long depending on whether we show the
source of a paragraph or the whole source.
2015-09-13 00:45:41 +01:00
Pavel Sanda
de9d8cc0ba Header cleanup cont. 2013-05-22 19:58:58 -07:00
Jean-Marc Lasgouttes
151960440e Another try at making the source view dock arrange itself.
The idea is to minimize the size of the form that contains the buttons.

Since I do not really know what I am doing, I will revert if problems occur.
2013-05-07 11:30:46 +02:00
Pavel Sanda
49c2450f3f Add layout intelligence to View Source pane (bug #8653).
View Source pane layout now automatically switches between horizontal
and vertical design when docked in vertical or horizontal way.

Original idea and patch from Edwin.

http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg178801.html

Note: the long standing-fight with too bulky minimal QTextEdit size
is now solved via ViewSourceUi.sizePolicy=Ignored.
2013-05-04 23:05:51 -07:00
Pavel Sanda
154319d063 Remove some header leftovers based on Scott's script hints.
False positive rate of hints is quite high. Although the includes can be
technically removed (due to other includes) they logically belong to the
header.
2013-05-02 00:30:16 -07:00
Richard Heck
264cc1139c The View->Source pane resets the format every time you click into
a new paragraph, which is very annoying. This commit fixes this bug.

If anyone has a better idea, please let me know. I posted to devel
about it but got no response.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40456 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-09 19:48:50 +00:00
Richard Heck
9eaa64b2cb Initial work for view source improvements.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40073 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-29 21:00:23 +00:00
Vincent van Ravesteijn
cc00b9aaca Fix bug #5600: View source panel isn't updating after restart.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37096 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-04 00:00:20 +00:00
Jürgen Spitzmüller
1e98a4f240 Add the option to select the output format in Source View.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36806 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-10 10:34:24 +00:00
Abdelrazak Younes
bcbf7c6452 Code shuffling in order to fix http://bugzilla.lyx.org/show_bug.cgi?id=5347
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26940 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-18 13:20:17 +00:00
Abdelrazak Younes
42cb86adb9 Fix initial focus problem with outline and view-source panes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25213 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-09 14:52:38 +00:00
André Pönitz
2e968d0661 next try
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25000 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-29 17:57:57 +00:00
Abdelrazak Younes
c5c65daee4 Add session to view-source dialog.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24767 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-14 14:24:55 +00:00
Abdelrazak Younes
42d79d543b Fix bug http://bugzilla.lyx.org/show_bug.cgi?id=4860
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24754 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-13 21:28:04 +00:00
André Pönitz
b06df568f3 use structure with named members instead of pair<int, int>...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21868 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-29 22:12:19 +00:00
André Pönitz
9d0ea8aeff Move debug.{cpp,h}, Messages.{cpp,h} and gettext.{cpp,h} to support/.
Now support/* should have no dependencies on src/* anymore.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21851 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-29 07:04:28 +00:00
Abdelrazak Younes
ff189f6c70 Rename GuiViewBase to GuiView.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21436 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-05 13:52:37 +00:00
Abdelrazak Younes
c1472a5c78 * GuiViewSource: port back to DockView.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20866 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-09 09:43:56 +00:00
André Pönitz
3f554746dc one more
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20808 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-07 08:55:20 +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
58f5bed05d only a partial patch. will rework immediately.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20785 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-06 15:03:58 +00:00
Abdelrazak Younes
133041073b header cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20145 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-08 16:36:53 +00:00
Abdelrazak Younes
f044fc3dd0 Restore docked View source widget.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20142 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-08 16:04:25 +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
9a95d2a936 rename a few view functions from foo() to fooView()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20024 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-03 20:28:26 +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
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
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