This is the default behavior of Chromium and Firefox. The main
appeal is that instead of having to precisely click on the 'x' to
close a tab, one can more easily middle-click anywhere in the tab.
The tab is closed if the middle button is pressed on a tab and is
relased on the same tab. After pressing, the user may move the mouse
over other tabs but as long as they move it back to the tab where
they initiated the press before they release, the close will
execute. This is how the feature works in Chromium and Firefox.
Nothing is done if the user middle-clicks on the blank part of the
tab bar. This is consistent with Chromium. Firefox, on the other
hand, opens a new tab. In LyX one can already double-click the blank
part to open a new tab, and in feedback from lyx-users [1] most
expected and desired that nothing be done in this case.
[1] https://www.mail-archive.com/search?l=mid&q=20160720063306.6fyarf3kywexbxvd%40steph
* Fix bug #10261 : KDE smartly adds conflicting accelerators.
* Prevent bugs like #9495 in the future.
Issues (non-regression):
* It does not appear possible to prevent Ubuntu's Unity from grabbing the
accelerators for the menus. For instance Alt+A still opens _Affichage in the
French localization.
Control + Shift + PgDn now moves a tab to the right.
Control + Shift + PgUp now moves a tab to the left.
These keybindings are consistent with Chromium, Firefox,
Nautilus, and gnome-terminal.
Note that I allow for wrapping. This is consistent with
allowing wrapping for buffer-{next,previous}, but there
might be reasons to disable it in the future.
Introduce the concept of pixel ratio: the ratio of physical and device independent pixels.
This is useful for rendering of content on Retina-displays of Mac hardware with high resolution.
Qt has real support for this starting with Qt5 - therefore it has to be compiled conditionally.
This change uses some work of Marcelo Galvão Póvoa, thank you.
When there is a single document open, the tabbar gets hidden. The only and selected tab is still visible though as a break in the line delining the tabwidget. To fix this we paint the tabwidget ourselves and remove the presence of the hidden tab.
I also added 2 FIXME where we should not call GuiView directly.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39948 a592a061-630c-0410-9148-cb99ea01b6c8
This was a similar problem as for bug #5796 in r30807. There I made sure that the position that is used for the context menu is set at mousepress. That was because also the cursor was set at mousepress and we want to get the context menu at the place where the mousebutton was pressed, and not where the mousebutton was released.
However, in this case, the position of the context menu is stored on mousepress, but we don't take into account that the cursor might move afterwards due to the DEPM.
So, the solution is not to save the position of the mouseclick, but to save the name of the context menu we requested.
PS. Perhaps we could save the cursor position, but this seems to work too.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37669 a592a061-630c-0410-9148-cb99ea01b6c8
It's not very fast, but I guess that's a general problem with our scrolling. At least it works now, but it's not perfect.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34659 a592a061-630c-0410-9148-cb99ea01b6c8
Store the position for the context menu on mouse press. This is also done in qt but then only on the widget level.
This avoids that e.g. the edit menu will call getStatus() of math (which causes a crash actually).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30807 a592a061-630c-0410-9148-cb99ea01b6c8
http://www.lyx.org/trac/ticket/4464
Thanks to Vincent for showing the way.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29394 a592a061-630c-0410-9148-cb99ea01b6c8
currently the whole path is (possibly with some unmotivated ... in
the middle) used which is usually far too long.
The algorithm implemented here will start with absolute paths. From
left to right path segments are added to the display string if they
help to make the display strings more unique. Otherwise nothing is
added, or if some middle path segments are omitted otherwise, three
dots ... are used.
The result is that we get just the base filename without extension if
they are unique in the tabbar.
The patch is open for discussion. If there is demand we can create
yet another preference option to get back the old behaviour.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24555 a592a061-630c-0410-9148-cb99ea01b6c8
when creating/loading a document.
This regularily happens on documents with more than one page.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24138 a592a061-630c-0410-9148-cb99ea01b6c8
* add tab popup menu to hide and close a buffer.
* remove the very non-standard hide-button on the left of the tabbar.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23748 a592a061-630c-0410-9148-cb99ea01b6c8
* 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