|
@@ -178,7 +178,7 @@ void TabWidget::paint_event(PaintEvent& event)
|
|
Gfx::StylePainter::paint_tab_button(painter, button_rect, palette(), false, hovered, m_tabs[i].widget->is_enabled());
|
|
Gfx::StylePainter::paint_tab_button(painter, button_rect, palette(), false, hovered, m_tabs[i].widget->is_enabled());
|
|
auto text_rect = button_rect.translated(0, 1);
|
|
auto text_rect = button_rect.translated(0, 1);
|
|
paint_tab_icon_if_needed(m_tabs[i].icon, button_rect, text_rect);
|
|
paint_tab_icon_if_needed(m_tabs[i].icon, button_rect, text_rect);
|
|
- painter.draw_text(text_rect, m_tabs[i].title, m_text_alignment, palette().button_text());
|
|
|
|
|
|
+ painter.draw_text(text_rect, m_tabs[i].title, m_text_alignment, palette().button_text(), Gfx::TextElision::Right);
|
|
}
|
|
}
|
|
|
|
|
|
for (size_t i = 0; i < m_tabs.size(); ++i) {
|
|
for (size_t i = 0; i < m_tabs.size(); ++i) {
|
|
@@ -189,18 +189,25 @@ void TabWidget::paint_event(PaintEvent& event)
|
|
Gfx::StylePainter::paint_tab_button(painter, button_rect, palette(), true, hovered, m_tabs[i].widget->is_enabled());
|
|
Gfx::StylePainter::paint_tab_button(painter, button_rect, palette(), true, hovered, m_tabs[i].widget->is_enabled());
|
|
auto text_rect = button_rect.translated(0, 1);
|
|
auto text_rect = button_rect.translated(0, 1);
|
|
paint_tab_icon_if_needed(m_tabs[i].icon, button_rect, text_rect);
|
|
paint_tab_icon_if_needed(m_tabs[i].icon, button_rect, text_rect);
|
|
- painter.draw_text(text_rect, m_tabs[i].title, m_text_alignment, palette().button_text());
|
|
|
|
|
|
+ painter.draw_text(text_rect, m_tabs[i].title, m_text_alignment, palette().button_text(), Gfx::TextElision::Right);
|
|
painter.draw_line(button_rect.bottom_left().translated(1, 1), button_rect.bottom_right().translated(-1, 1), palette().button());
|
|
painter.draw_line(button_rect.bottom_left().translated(1, 1), button_rect.bottom_right().translated(-1, 1), palette().button());
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+int TabWidget::uniform_tab_width() const
|
|
|
|
+{
|
|
|
|
+ return 160;
|
|
|
|
+}
|
|
|
|
+
|
|
Gfx::Rect TabWidget::button_rect(int index) const
|
|
Gfx::Rect TabWidget::button_rect(int index) const
|
|
{
|
|
{
|
|
int x_offset = 2;
|
|
int x_offset = 2;
|
|
- for (int i = 0; i < index; ++i)
|
|
|
|
- x_offset += m_tabs[i].width(font());
|
|
|
|
- Gfx::Rect rect { x_offset, 0, m_tabs[index].width(font()), bar_height() };
|
|
|
|
|
|
+ for (int i = 0; i < index; ++i) {
|
|
|
|
+ auto tab_width = m_uniform_tabs ? uniform_tab_width() : m_tabs[i].width(font());
|
|
|
|
+ x_offset += tab_width;
|
|
|
|
+ }
|
|
|
|
+ Gfx::Rect rect { x_offset, 0, m_uniform_tabs ? uniform_tab_width() : m_tabs[index].width(font()), bar_height() };
|
|
if (m_tabs[index].widget != m_active_widget) {
|
|
if (m_tabs[index].widget != m_active_widget) {
|
|
rect.move_by(0, 2);
|
|
rect.move_by(0, 2);
|
|
rect.set_height(rect.height() - 2);
|
|
rect.set_height(rect.height() - 2);
|