History log of /haiku/src/apps/terminal/SmartTabView.cpp
Revision Date Author Comments
# 341f767d 26-Aug-2022 Augustin Cavalier <waddlesplash@gmail.com>

Terminal: Use BControlLook for scrollbar sizing.

Improves appearance under HiDPI.


# 4429c2c8 16-Jun-2019 Adrien Destugues <pulkomandy@pulkomandy.tk>

Terminal: remove fullscreen tooltip

Whenever using Terminal in fullscreen mode, there is a permanently on
tooltip with the shortcut to exit fullscreen mode wherever you leave
your mouse. This is super annoying and as a result I find myself rarely
using fullscreen mode.

Remove the tooltip, and instead add a button to the right of the tab bar
to exit fullscreen mode, as done in WonderBrush and WebPositive.

Change-Id: If42f038da3d644970de6214a31195882d4fc7eee
Reviewed-on: https://review.haiku-os.org/c/1507
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 4a13af49 11-Nov-2014 Adrien Destugues <pulkomandy@gmail.com>

Terminal: set B_NO_BORDER on the tab view.

This looks better and is what we want here. The difference is subtle,
just a few pixels on the left and right side of the tabview where it now
properly joins the window border.


# 52474b49 18-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Added MoveTab() method.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39489 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b28dba72 18-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* SmartTabView::MouseDown(): Also notify the listener when the click didn't hit
a tab.
* TermWindow: Add a new tab on double-click in the tab view's tab-free area.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39481 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d365030e 18-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added a listener interface to SmartTabView and moved functionality that
doesn't belong in SmartTabView to TermWindow. This also allowed to get rid of
TermWindow::TabView.
* Also check for double clicks on tabs. No action attached yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39480 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4eb0cbb0 07-May-2010 Matt Madia <mattmadia@gmail.com>

Updated TR_CONTEXT to be B_TRANSLATE_CONTEXT, relating to #5408.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36733 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6c514d3e 06-May-2010 Matt Madia <mattmadia@gmail.com>

Updated to use B_TRANSLATE* macros. relates to #5408.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36675 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8989d8a5 06-May-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by Jorma Karvonen: Localization of the Terminal application. Thanks a lot.
Closes ticket #5850.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36640 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7974d3dc 13-Jan-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by Humdinger:
Updated Haiku apps to use sentence-case. What a huge undertaking...
The files where I had to apply the patch manually (for mysterious
reasons) have also gotten a whitespace cleanup. I've proof-read
everything so hopefully there should be no problems.

This should be the final part of #5169.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35049 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8fd171c8 04-Nov-2009 Axel Dörfler <axeld@pinc-software.de>

* SmartTabView can now also resize a vertical scroll bar, if needed (ie. if one
overlaps with the menu bar). Not a perfect solution, but works well enough.
* When you only have a single tab, the vertical scroll bar now overlaps again
with the menu bar.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33870 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0928ac39 04-Nov-2009 Axel Dörfler <axeld@pinc-software.de>

* Removed BeOS work-around in TermScrollView.cpp.
* Improved comments.
* Coding style cleanup, no functional change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33869 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 80aabca1 31-Mar-2009 Stephan Aßmus <superstippi@gmx.de>

When the window is already full screen (ie, zoomed, not the full-screen mode
without any window border), do not enlarge or shrink the window when going from
or into tabbed mode. Fixes ticket #3646.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29822 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 51ff40fe 13-Mar-2009 Stephan Aßmus <superstippi@gmx.de>

When adding/removing the second tab, check if the window is near the bottom of
the screen, and then move/resize the window upward, so that it's bottom doesn't
go beyond the screen border.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29496 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 272f87d6 15-Jun-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed various layout/size related issues (mostly off-by-one bugs). The
terminal opens with the correct size, now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25969 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 56e415dd 04-Feb-2008 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Opening the preferences window and hitting "cancel" would shrink the
window every time, without reason, since _Revert() was called even if no
changes were made.
Build the list of window sizes dynamically, this way we get rid of some
code duplication.
Removed implementation of TermWindow::QuitRequested(). The
B_QUIT_ON_WINDOW close takes care of quitting the application.
Some cleanups.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23860 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7014c8a3 17-Jan-2008 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Removed support for "Full font", which wasn't used anyway. Since
our Terminal only works correctly with fixed width fonts, now the font
menu filters out variable width ones. For some reason, though, Konatu
Tohaba isn't recognized as fixed. Various other changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23591 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d6f28abe 08-Aug-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Added a popup menu to the tabview: for now it only contains a "close
tab" item. Note that you can also close the tab by clicking on it with
the tertiary mouse button. Renamed some methods of TermWindow.
I'm not really happy with this code (tab creation/deletion code is
spread between TermWindow and SmartTabView), I will need to come up with
something better.
There are still some visual glitches when tabs are switched, created or
deleted.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21850 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2b87a97a 03-Aug-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Attach/DetachShell are now private. Added a new TermView constructor
which only specifies the rows and columns, view size is automatically
calculated, and used it in TermWindow. Added a TermView::SetTitle()
method, thus TermParse doesn't call Window() anymore. Some cleanups,
scrollbar was off by one.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21808 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 678f903e 02-Aug-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Implemented tabbed terminal (with a couple of bad hacks which will go
away soon, hopefully). The menuitem to open a new tab is still
disabled, until I figure out how to catch the exit signal... HELP ?
Plus there are still a couple of visual issues, but AFAICT without tabs
the Terminal appearance should be the same as it was before, so no one
should complain.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21790 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bba01ef7 02-Aug-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Try to have a really smart tab view... It won't show any tabs when
there's only one view attached.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21785 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 53763c54 30-Jul-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Don't use exceptions in TermView constructor, as it would cause problems
with instantiation. Note that if an error occurs in the constructor,
we're pretty much screwed. Made some TermView functions private. Some
small cleanup, and some WIP code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21742 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 258e9494 27-Jul-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

More work towards a tabbed terminal. Actually it already somewhat works
(code not enabled, though). Moved scripting from TermWindow to
TermView. Added a SmartTabView which (for now) only resizes the
child views to fit their size. Usual cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21723 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4a13af4977a03e11ad74fe2a1d9e0e7edee9ed28 11-Nov-2014 Adrien Destugues <pulkomandy@gmail.com>

Terminal: set B_NO_BORDER on the tab view.

This looks better and is what we want here. The difference is subtle,
just a few pixels on the left and right side of the tabview where it now
properly joins the window border.


# 52474b49a3282f5119c61c2657b8d85d0b070639 18-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Added MoveTab() method.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39489 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b28dba722e3c16470e94a5b2baae068bc86bb6b3 18-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* SmartTabView::MouseDown(): Also notify the listener when the click didn't hit
a tab.
* TermWindow: Add a new tab on double-click in the tab view's tab-free area.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39481 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d365030ea5013ef738a30274677d70e280a1f8eb 18-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added a listener interface to SmartTabView and moved functionality that
doesn't belong in SmartTabView to TermWindow. This also allowed to get rid of
TermWindow::TabView.
* Also check for double clicks on tabs. No action attached yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39480 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4eb0cbb044cf538f18c0d252934a5bcaa33bfd34 07-May-2010 Matt Madia <mattmadia@gmail.com>

Updated TR_CONTEXT to be B_TRANSLATE_CONTEXT, relating to #5408.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36733 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6c514d3e3bfc9c33f9f4a2edd0b593d734046c8f 06-May-2010 Matt Madia <mattmadia@gmail.com>

Updated to use B_TRANSLATE* macros. relates to #5408.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36675 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8989d8a52e0ca6b551f2a57b51a7f1c77726144b 06-May-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by Jorma Karvonen: Localization of the Terminal application. Thanks a lot.
Closes ticket #5850.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36640 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7974d3dcf39ce78e5885b481eee12e561ad6e096 13-Jan-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by Humdinger:
Updated Haiku apps to use sentence-case. What a huge undertaking...
The files where I had to apply the patch manually (for mysterious
reasons) have also gotten a whitespace cleanup. I've proof-read
everything so hopefully there should be no problems.

This should be the final part of #5169.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35049 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8fd171c8d1dd4682f04801b0d1010fc0cabc4137 04-Nov-2009 Axel Dörfler <axeld@pinc-software.de>

* SmartTabView can now also resize a vertical scroll bar, if needed (ie. if one
overlaps with the menu bar). Not a perfect solution, but works well enough.
* When you only have a single tab, the vertical scroll bar now overlaps again
with the menu bar.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33870 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0928ac390483a79f76357d89c79c78aeb2657a37 04-Nov-2009 Axel Dörfler <axeld@pinc-software.de>

* Removed BeOS work-around in TermScrollView.cpp.
* Improved comments.
* Coding style cleanup, no functional change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33869 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 80aabca1885c24406561daf703ef59e5750be76b 31-Mar-2009 Stephan Aßmus <superstippi@gmx.de>

When the window is already full screen (ie, zoomed, not the full-screen mode
without any window border), do not enlarge or shrink the window when going from
or into tabbed mode. Fixes ticket #3646.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29822 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 51ff40fed0e4b1947c13294fb74706fe59241944 13-Mar-2009 Stephan Aßmus <superstippi@gmx.de>

When adding/removing the second tab, check if the window is near the bottom of
the screen, and then move/resize the window upward, so that it's bottom doesn't
go beyond the screen border.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29496 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 272f87d67b5c9f9c1ce1023d533d601e50139c86 15-Jun-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed various layout/size related issues (mostly off-by-one bugs). The
terminal opens with the correct size, now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25969 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 56e415dda141250b366bc3d5edd71814960129dd 04-Feb-2008 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Opening the preferences window and hitting "cancel" would shrink the
window every time, without reason, since _Revert() was called even if no
changes were made.
Build the list of window sizes dynamically, this way we get rid of some
code duplication.
Removed implementation of TermWindow::QuitRequested(). The
B_QUIT_ON_WINDOW close takes care of quitting the application.
Some cleanups.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23860 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7014c8a3790cfbd79887ef7092b6c89ad9e548bd 17-Jan-2008 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Removed support for "Full font", which wasn't used anyway. Since
our Terminal only works correctly with fixed width fonts, now the font
menu filters out variable width ones. For some reason, though, Konatu
Tohaba isn't recognized as fixed. Various other changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23591 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d6f28abebe5323d306c9a7c63bd2f7bb7bc90d1c 08-Aug-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Added a popup menu to the tabview: for now it only contains a "close
tab" item. Note that you can also close the tab by clicking on it with
the tertiary mouse button. Renamed some methods of TermWindow.
I'm not really happy with this code (tab creation/deletion code is
spread between TermWindow and SmartTabView), I will need to come up with
something better.
There are still some visual glitches when tabs are switched, created or
deleted.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21850 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2b87a97ac6932e3421e0a8a071a7d31f00ec9c73 03-Aug-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Attach/DetachShell are now private. Added a new TermView constructor
which only specifies the rows and columns, view size is automatically
calculated, and used it in TermWindow. Added a TermView::SetTitle()
method, thus TermParse doesn't call Window() anymore. Some cleanups,
scrollbar was off by one.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21808 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 678f903e20f36c964206a017111370ec60376f42 02-Aug-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Implemented tabbed terminal (with a couple of bad hacks which will go
away soon, hopefully). The menuitem to open a new tab is still
disabled, until I figure out how to catch the exit signal... HELP ?
Plus there are still a couple of visual issues, but AFAICT without tabs
the Terminal appearance should be the same as it was before, so no one
should complain.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21790 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bba01ef7c1202cc5774564e4f05e8b2bf6d9985b 02-Aug-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Try to have a really smart tab view... It won't show any tabs when
there's only one view attached.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21785 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 53763c54d1c6dac22e9144cea381eddb0b64e89b 30-Jul-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Don't use exceptions in TermView constructor, as it would cause problems
with instantiation. Note that if an error occurs in the constructor,
we're pretty much screwed. Made some TermView functions private. Some
small cleanup, and some WIP code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21742 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 258e949475ef1971cc5560dd0715f7199123e7a4 27-Jul-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

More work towards a tabbed terminal. Actually it already somewhat works
(code not enabled, though). Moved scripting from TermWindow to
TermView. Added a SmartTabView which (for now) only resizes the
child views to fit their size. Usual cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21723 a95241bf-73f2-0310-859d-f6bbb57e9c96