* Use B_WIDTH_FROM_WIDEST for tabs, so the titles aren't truncated
unnecessarily. * Invalidate the complete tab view after setting a label. Otherwise we'd get artifacts when the label gets shorter. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39478 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
a949fa2a67
commit
5afe0aef82
@ -119,9 +119,10 @@ struct TermWindow::Session {
|
||||
|
||||
class TermWindow::TabView : public SmartTabView {
|
||||
public:
|
||||
TabView(TermWindow* window, BRect frame, const char *name)
|
||||
TabView(TermWindow* window, BRect frame, const char *name,
|
||||
button_width width)
|
||||
:
|
||||
SmartTabView(frame, name),
|
||||
SmartTabView(frame, name, width),
|
||||
fWindow(window)
|
||||
{
|
||||
}
|
||||
@ -233,7 +234,7 @@ TermWindow::_InitWindow()
|
||||
BRect textFrame = Bounds();
|
||||
textFrame.top = fMenubar->Bounds().bottom + 1.0;
|
||||
|
||||
fTabView = new TabView(this, textFrame, "tab view");
|
||||
fTabView = new TabView(this, textFrame, "tab view", B_WIDTH_FROM_WIDEST);
|
||||
AddChild(fTabView);
|
||||
|
||||
// Make the scroll view one pixel wider than the tab view container view, so
|
||||
@ -1151,9 +1152,10 @@ TermWindow::_UpdateSessionTitle(int32 index)
|
||||
// set the tab title
|
||||
if (sessionTitle != session->title.title) {
|
||||
session->title.title = sessionTitle;
|
||||
BTab* tab = fTabView->TabAt(index);
|
||||
tab->SetLabel(session->title.title);
|
||||
fTabView->Invalidate(fTabView->TabFrame(index));
|
||||
fTabView->TabAt(index)->SetLabel(session->title.title);
|
||||
fTabView->Invalidate();
|
||||
// Invalidate the complete tab view, since other tabs might change
|
||||
// their positions.
|
||||
}
|
||||
|
||||
// If this is the active tab, also recompute the window title.
|
||||
|
Loading…
Reference in New Issue
Block a user