165 Commits

Author SHA1 Message Date
Juergen Spitzmueller
154b4fdece Give textstyle-apply a history
The last 20 applications are saved now and accessible both via the lfun
(textstyle-apply n) and the toolbar (via button menu)

Fixes: #7133

This also changes the default icon and toolbar position of the action,
as requested in #11427
2018-12-26 15:46:14 +01:00
Richard Heck
cc4bfc7f04 Add toolbar menus for custom insets and character styles.
I'm open to putting this elsewhere on the toolbar, or even on a
different toolbar. Also, we need decent icons. These ones are not
intended seriously but were just borrowed for testing purposes.
Anyone have good ideas about icons?
2018-05-02 20:31:24 -04:00
Enrico Forestieri
3b43fbfbb1 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).
2017-10-18 13:12:20 +02:00
Christian Ridderström
e30f3d76d2 Bulk cleanup/fix incorrect annotation at the end of namespaces.
This commit does a bulk fix of incorrect annotations (comments) at the
end of namespaces.

The commit was generated by initially running clang-format, and then
from the diff of the result extracting the hunks corresponding to
fixes of namespace comments. The changes being applied and all the
results have been manually reviewed. The source code successfully
builds on macOS.

Further details on the steps below, in case they're of interest to
someone else in the future.

1. Checkout a fresh and up to date version of src/

    git pull && git checkout -- src && git status src

2. Ensure there's a suitable .clang-format in place, i.e. with options
   to fix the comment at the end of namespaces, including:

    FixNamespaceComments:                           true
    SpacesBeforeTrailingComments:                   1

and that clang-format is >= 5.0.0, by doing e.g.:

    clang-format -dump-config | grep Comments:
    clang-format --version

3. Apply clang-format to the source:

    clang-format -i $(find src -name "*.cpp" -or -name "*.h")

4. Create and filter out hunks related to fixing the namespace

    git diff -U0 src > tmp.patch
    grepdiff '^} // namespace' --output-matching=hunk tmp.patch  > fix_namespace.patch

5. Filter out hunks corresponding to simple fixes into to a separate patch:

    pcregrep -M -e '^diff[^\n]+\nindex[^\n]+\n--- [^\n]+\n\+\+\+ [^\n]+\n'  \
        -e '^@@ -[0-9]+ \+[0-9]+ @@[^\n]*\n-\}[^\n]*\n\+\}[^\n]*\n'         \
        fix_namespace.patch > fix_namespace_simple.patch

6. Manually review the simple patch and then apply it, after first
   restoring the source.

    git checkout -- src
    patch -p1 < fix_namespace_simple.path

7. Manually review the (simple) changes and then stage the changes

    git diff src
    git add src

8. Again apply clang-format and filter out hunks related to any
   remaining fixes to the namespace, this time filter with more
   context. There will be fewer hunks as all the simple cases have
   already been handled:

    clang-format -i $(find src -name "*.cpp" -or -name "*.h")
    git diff src > tmp.patch
    grepdiff '^} // namespace' --output-matching=hunk tmp.patch  > fix_namespace2.patch

9. Manually review/edit the resulting patch file to remove hunks for files
   which need to be dealt with manually, noting the file names and
   line numbers. Then restore files to as before applying clang-format
   and apply the patch:

    git checkout src
    patch -p1 < fix_namespace2.patch

10. Manually fix the files noted in the previous step. Stage files,
    review changes and commit.
2017-07-23 13:11:54 +02:00
Richard Heck
75bfed5507 Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
Guillaume MM
1acb42911a Cosmetic 2017-05-07 14:18:17 +02:00
Daniel Ramöller
e2f864efe4 Lock toolbars (#10283)
- LFUNs to (un)lock toolbars positions (both individually and all at once)

- corresponding menu entry to "Lock Toolbars" menu.
2017-05-07 14:17:54 +02:00
Guillaume Munch
4d99112056 Action.cpp: replace a reference with a shared_ptr
Replace the member reference to FuncRequest in Action.cpp with a
shared_ptr. Compared to copying the FuncRequest, the shared_ptr has two
advantages:

* Recreating the menu each time creates a lot of new actions, so we avoid a lot
  of copies.

* FuncRequest can remain forward-declared in Action.h.
2016-08-28 22:49:21 +01:00
Jean-Marc Lasgouttes
65b0e84b54 Let M-x give focus to minibuffer when it is already open 2016-08-22 18:20:09 +02:00
Jean-Marc Lasgouttes
7ac700920f Auto feature for minibuffer toolbar
Now the minibuffer toolbar is "auto" by default. It is opened by
command-execute (M-x) and closed when the command is executed without error.

* make lyx::dispatch return a DispatchResult struct

* there is a new MINIBUFFER type of toolbar, that can be used for this use.

* remove special handling of M-x in minnibuffer; Escape can be used instead. Fix focus in this case.

* when minibuffer toolbar is "auto", make the toolbar close itself after
  - a command has been executed without error
  - an empty command has been executed
  - the Escape key has been used

[this is actually commit fdcff02a, which was later reverted at dd61d8cf]
2015-07-15 17:41:09 +02:00
Jean-Marc Lasgouttes
dd61d8cf3f Revert "Auto feature for minibuffer toolbar"
This reverts commit fdcff02a3124845d1033d3d804cede127850ff0f.

This was pushed too early, we are not ready yet.
2015-06-30 11:09:48 +02:00
Jean-Marc Lasgouttes
fdcff02a31 Auto feature for minibuffer toolbar
Now the minibuffer toolbar is "auto" by default. It is opened by
command-execute (M-x) and closed when the command is executed without error.

* make lyx::dispatch return a DispatchResult struct

* there is a new MINIBUFFER type of toolbar, that can be used for this use.

* remove special handling of M-x in minnibuffer; Escape can be used instead. Fix focus in this case.

* when minibuffer toolbar is "auto", make the toolbar close itself after
  - a command has been executed without error
  - an empty command has been executed
  - the Escape key has been used
2015-06-29 09:21:15 +02:00
Jean-Marc Lasgouttes
8b36c090b7 Simplify the code for "auto" toolbars handling
Instaead of passing a number of booleans, it make more sense to pass
the relevant visibility values in a single flag.
2015-06-18 15:51:53 +02:00
Enrico Forestieri
7be2a5d815 Prefer svg icons.
If a compressed svg icon is present, load it instead of a png one.
Also introduce two more sizes (huge and giant icons) that should be
useful when using hires displays, as svg icons automatically scale
to the desired size without loss of quality.
2015-03-13 00:47:21 +01:00
Stephan Witt
4d51ad339f #9130 Text in main work area isn't rendered with high resolution
Load images with search mode check_hidpi to read images with double size when present.
2014-10-18 15:50:22 +02:00
Pavel Sanda
de9d8cc0ba Header cleanup cont. 2013-05-22 19:58:58 -07:00
Vincent van Ravesteijn
c8d685c665 Fix zombie toolbars (bug 8520)
If there is a new toolbar, it will not be restored by Qt and we need to
initialize it ourselves. However, it is not so easy to find out which
toolbars are restored by Qt and which are not. For this, the setVisible
function of GuiToolbar is 'misused'. If the visibility is set, the toolbar
must have been restored by Qt and we should leave it alone.
2013-05-19 22:17:16 +02:00
Jean-Marc Lasgouttes
ea6240b785 Even more llvm/clang warnings
Remove lyxview_ member of lyx::Action, fix a prototype in TexStream and comment out a Cursor function.
2013-05-02 19:22:10 +02:00
Jean-Marc Lasgouttes
623d2f9530 More llvm/clang warnings
This is mostly unused private class members.

There are also a few unused functions that got #if'ed out. I never know in this case whether the code should be nuked.
2013-05-02 18:27:32 +02:00
Lars Gullik Bjønnes
43f6b1672b Use empty() to check empty and non-empty'ness not size()
Also add FormatList::empty().
2012-10-27 01:25:38 +02:00
Vincent van Ravesteijn
6b8ed2fa1d Initialize toolbar pop menu button on start
In 0aead96461997 it was introduced that the toolbar popup menu buttons are not
initialized until they are being used (i.e. pressed at for the first
time). As a consequence, these buttons are always enabled on start. Now
that we have the sticky button for view and update, I'm now annoyed by
this every time I start LyX.
2012-09-22 23:15:51 +02:00
Juergen Spitzmueller
b6a63bfce8 An IPA toolbar
Translators: sorry ;-)
2012-08-21 14:56:34 +02:00
Jean-Marc Lasgouttes
02ce050fb8 Make the toolbar code less noisy when the session file is not found 2012-07-16 23:11:26 +02:00
Juergen Spitzmueller
1e0f2426ce Fix bug #8069: View/Update other formats button disabled with non-TeX fonts 2012-03-15 12:55:40 +01:00
Pavel Sanda
b90ef20d36 Typo
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38588 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-05 09:19:34 +00:00
Enrico Forestieri
a99340cd10 Infrastructure for choosing different icon sets. This currently works
through the rc setting \icon_set. Preferences dialog will follow shortly.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38038 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-25 01:59:34 +00:00
Vincent van Ravesteijn
46d7462ea7 This comment introduced in r37075 was wrong. We should never end up here!
However, it cannot hurt to warn the user and fall back to the defaults in case.

The real cause of bug #7099 is something else (which I will fix soon).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37076 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-03 15:56:27 +00:00
Vincent van Ravesteijn
94ede89c57 Fix bug #7099: Math toolbars don't autoshow.
In GuiApplication::readUIFile() the settings for views gets removed if the ui file is newer than the saved timestamp in the settings. Later the non existing settings will be used to initialize the visibility. The default value for a non existing setting is 0. The visibility_ variable does never get changed afterwards. And therefore
we will again write 0 to the registry.

We should have read the ui file instead when we can't find the registry value.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37075 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-03 14:39:41 +00:00
Vincent van Ravesteijn
e38c604887 Remove GuiToolbar::allowauto_ and define this property in the Toolbars.h::Visibility enum.
Now, there is the bug that autoallow is incorrectly set to true when visibility_ has the Visibility::SAMEROW flag. One shouldn't use >= on an enum (GuiToolbar::setVisibility), as newly added items will exhibit unexpected behaviour.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37068 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-03 11:42:01 +00:00
Abdelrazak Younes
377cdd5f6c Transfer LyXfunc code to GuiApplication::dispatch() and getStatus(). Now
a lot of simplification is possible. Except some instability period...


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33389 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-09 16:11:13 +00:00
Enrico Forestieri
74f6083a33 Constify.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31388 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-13 18:12:11 +00:00
Enrico Forestieri
b43aa05ff1 Fix display of toolbar icons after r31255.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31387 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-13 18:09:40 +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
Vincent van Ravesteijn
7215b099d3 Remove GuiToolbar * member from the LayoutBox ctor: Why should we limit a LayoutBox to the Toolbar and it doesn't even have to know where it is.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31041 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-14 22:47:57 +00:00
Pavel Sanda
dc18e925a8 Compil fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30998 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-12 22:22:26 +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
Abdelrazak Younes
730a67e0d1 Text::Inset(): now returns a reference in order to make clear that the owner is mandatory.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30947 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-09 16:19:43 +00:00
Jean-Marc Lasgouttes
aeb5d2f1e6 add binding information to toolbar button tooltips
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30019 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-08 15:36:32 +00:00
Jürgen Spitzmüller
051a50439d remember the last selection on the view/update popup button.
This introduces a new "sticky" popup button.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29309 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-18 10:44:44 +00:00
Pavel Sanda
5806be1528 Fix bug http://www.lyx.org/trac/ticket/5812
(Icons replacement broken)

Patch from Martin Engbers.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29057 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-03 17:00:09 +00:00
Jürgen Spitzmüller
6edb56cf03 * GuiToolbar.cpp (set):
- honour obsoleted styles (part of bug 2607).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27772 a592a061-630c-0410-9148-cb99ea01b6c8
2008-12-05 14:02:03 +00:00
Abdelrazak Younes
e55abfd359 gcc warning...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27509 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-15 23:04:43 +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
André Pönitz
1fc477efac thrid attempt at changing the naming pattern of the intermediated 'mocced' files
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27420 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-14 14:28:50 +00:00
Jean-Marc Lasgouttes
53fdda3e7a fix crash when filtering layout combox with non-ascii character
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27207 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-31 09:26:59 +00:00
Abdelrazak Younes
8e4d2d66ce Reset the geometry and ui settings whenever a change in the ui files is selected. This commit will destroy any current geometry session. The "view-id/" nodes are converted into "view/id/" nodes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26484 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-21 21:28:37 +00:00
Abdelrazak Younes
f83a38b3de Paragraph::inInset() shall not be used if the owner inset was not initialized. Make this rule clear and unavoidable.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26385 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-13 17:01:54 +00:00
Jean-Marc Lasgouttes
d0827e017e Fix crash when the Gui Name of a toolbar is not plain ascii. This
happens for example with fr.po. 


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26176 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-15 18:43:46 +00:00
Richard Heck
cca78e3c8a Change the "empty layout" to the "plain layout", to try to avoid confusion.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26025 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-01 20:57:27 +00:00
Jürgen Spitzmüller
f4e185a299 * GuiToolbar.cpp:
- do not add "ObsoletedBy" layouts to the combo (bug 5083).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25861 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-24 06:13:43 +00:00