UI/Qt: Simplify browser chrome layout
Remove dead vertical-tab separator and sidebar traffic-light paths from the unified chrome layout. Keep the toolbar stack owned by TabWidget so layout changes no longer move each tab toolbar in and out of its page. Share the vertical New Tab button setup between initial layout and hover expansion, and keep window-control sizing helpers private.
This commit is contained in:
parent
4f314b0aa0
commit
be2cbc0f07
6 changed files with 60 additions and 109 deletions
|
|
@ -785,12 +785,6 @@ QWidget#LadybirdVerticalTabsContentSeparator {{
|
|||
max-height: 1px;
|
||||
}}
|
||||
|
||||
QWidget#LadybirdVerticalTabsSeparator {{
|
||||
background: {8};
|
||||
min-height: 1px;
|
||||
max-height: 1px;
|
||||
}}
|
||||
|
||||
QPushButton#LadybirdAudioState,
|
||||
QToolButton#LadybirdNewTabButton,
|
||||
QPushButton#LadybirdTabButton {{
|
||||
|
|
|
|||
|
|
@ -155,7 +155,6 @@ Tab::Tab(BrowserWindow* window, RefPtr<WebView::WebContentClient> parent_client,
|
|||
|
||||
toolbar_container_layout->addWidget(m_toolbar);
|
||||
toolbar_container_layout->addWidget(m_bookmarks_bar);
|
||||
tab_layout->addWidget(m_toolbar_container);
|
||||
tab_layout->addWidget(m_view);
|
||||
tab_layout->addWidget(m_find_in_page);
|
||||
|
||||
|
|
|
|||
144
UI/Qt/TabBar.cpp
144
UI/Qt/TabBar.cpp
|
|
@ -65,7 +65,6 @@ static constexpr int VERTICAL_TABS_RESIZE_HIT_AREA_WIDTH = 5;
|
|||
static constexpr int VERTICAL_TABS_COLLAPSED_SIDE_MARGIN = 6;
|
||||
static constexpr int VERTICAL_TABS_EXPANDED_SIDE_MARGIN = 5;
|
||||
static constexpr int VERTICAL_TABS_TOP_MARGIN = 8;
|
||||
static constexpr int VERTICAL_TABS_MACOS_TRAFFIC_LIGHTS_LEFT_MARGIN = 12;
|
||||
static constexpr int TAB_CARD_SHAPE_HORIZONTAL_INSET = 5;
|
||||
static constexpr int TAB_CARD_SHAPE_VERTICAL_INSET = 3;
|
||||
static constexpr int VERTICAL_TAB_CONTENT_HORIZONTAL_INSET = 8;
|
||||
|
|
@ -116,19 +115,9 @@ static constexpr int vertical_tabs_side_margin(bool expanded)
|
|||
return expanded ? VERTICAL_TABS_EXPANDED_SIDE_MARGIN : VERTICAL_TABS_COLLAPSED_SIDE_MARGIN;
|
||||
}
|
||||
|
||||
static constexpr int vertical_tabs_left_margin(TabLayout tab_layout)
|
||||
{
|
||||
return vertical_tabs_side_margin(tab_layout != TabLayout::VerticalCollapsed);
|
||||
}
|
||||
|
||||
static constexpr int vertical_tabs_right_margin(TabLayout tab_layout)
|
||||
{
|
||||
return vertical_tabs_side_margin(tab_layout != TabLayout::VerticalCollapsed);
|
||||
}
|
||||
|
||||
static constexpr int vertical_tabs_horizontal_margin_width(TabLayout tab_layout)
|
||||
{
|
||||
return vertical_tabs_left_margin(tab_layout) + vertical_tabs_right_margin(tab_layout);
|
||||
return vertical_tabs_side_margin(tab_layout != TabLayout::VerticalCollapsed) * 2;
|
||||
}
|
||||
|
||||
static constexpr int vertical_tab_width(int available_width, TabLayout tab_layout)
|
||||
|
|
@ -149,11 +138,6 @@ static QRectF tab_card_shape_rect(QRectF const& rect)
|
|||
return rect.adjusted(TAB_CARD_SHAPE_HORIZONTAL_INSET, TAB_CARD_SHAPE_VERTICAL_INSET, -TAB_CARD_SHAPE_HORIZONTAL_INSET, -TAB_CARD_SHAPE_VERTICAL_INSET);
|
||||
}
|
||||
|
||||
static QRectF horizontal_tab_card_shape_rect(QRectF const& rect)
|
||||
{
|
||||
return rect.adjusted(TAB_CARD_SHAPE_HORIZONTAL_INSET, TAB_CARD_SHAPE_VERTICAL_INSET, -TAB_CARD_SHAPE_HORIZONTAL_INSET, -TAB_CARD_SHAPE_VERTICAL_INSET);
|
||||
}
|
||||
|
||||
static QRect tab_card_shape_rect(QRect const& rect)
|
||||
{
|
||||
return rect.adjusted(TAB_CARD_SHAPE_HORIZONTAL_INSET, TAB_CARD_SHAPE_VERTICAL_INSET, -TAB_CARD_SHAPE_HORIZONTAL_INSET, -TAB_CARD_SHAPE_VERTICAL_INSET);
|
||||
|
|
@ -647,8 +631,7 @@ void TabBar::mousePressEvent(QMouseEvent* event)
|
|||
|
||||
void TabBar::mouseMoveEvent(QMouseEvent* event)
|
||||
{
|
||||
auto hovered_tab = tab_index_at(event->pos());
|
||||
set_hovered_tab_index(hovered_tab);
|
||||
set_hovered_tab_index(tab_index_at(event->pos()));
|
||||
|
||||
if (count() == 0) {
|
||||
if (tab_layout() == TabLayout::Horizontal)
|
||||
|
|
@ -1094,6 +1077,10 @@ TabWidget::TabWidget(QWidget* parent)
|
|||
m_toolbar_container = new QStackedWidget(this);
|
||||
m_toolbar_container->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
|
||||
m_stacked_widget = new QStackedWidget(this);
|
||||
m_page_column = new QWidget(this);
|
||||
m_page_column_layout = new QVBoxLayout(m_page_column);
|
||||
m_page_column_layout->setSpacing(0);
|
||||
m_page_column_layout->setContentsMargins(0, 0, 0, 0);
|
||||
|
||||
m_new_tab_button = new NewTabButton(*m_tab_bar, this);
|
||||
m_new_tab_button->setObjectName("LadybirdNewTabButton");
|
||||
|
|
@ -1109,12 +1096,6 @@ TabWidget::TabWidget(QWidget* parent)
|
|||
m_maximize_window_button = window_control_buttons.maximize;
|
||||
m_close_window_button = window_control_buttons.close;
|
||||
|
||||
m_vertical_tabs_new_tab_separator = new QWidget(this);
|
||||
m_vertical_tabs_new_tab_separator->setObjectName("LadybirdVerticalTabsSeparator");
|
||||
m_vertical_tabs_new_tab_separator->setFixedHeight(1);
|
||||
m_vertical_tabs_new_tab_separator->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
|
||||
m_vertical_tabs_new_tab_separator->installEventFilter(this);
|
||||
|
||||
recreate_icons();
|
||||
|
||||
m_tab_bar_row = new QWidget(this);
|
||||
|
|
@ -1211,6 +1192,7 @@ void TabWidget::insert_tab(int index, Tab* widget, QString const& label)
|
|||
{
|
||||
m_stacked_widget->insertWidget(index, widget);
|
||||
m_tab_bar->insertTab(index, label);
|
||||
widget->set_toolbar_container_in_tab_layout(false);
|
||||
m_toolbar_container->insertWidget(index, widget->toolbar_container());
|
||||
|
||||
widget->set_vertical_tabs_enabled(m_vertical_tabs_enabled);
|
||||
|
|
@ -1414,8 +1396,7 @@ bool TabWidget::eventFilter(QObject* watched, QEvent* event)
|
|||
|
||||
auto is_vertical_tabs_hover_target = watched == m_vertical_tab_bar_column
|
||||
|| watched == m_tab_bar
|
||||
|| watched == m_new_tab_button
|
||||
|| watched == m_vertical_tabs_new_tab_separator;
|
||||
|| watched == m_new_tab_button;
|
||||
|
||||
if (is_vertical_tabs_hover_target) {
|
||||
if (event->type() == QEvent::Enter) {
|
||||
|
|
@ -1429,7 +1410,7 @@ bool TabWidget::eventFilter(QObject* watched, QEvent* event)
|
|||
auto is_empty_chrome_area = [this, watched](QMouseEvent const& mouse_event) {
|
||||
if (watched == m_vertical_tab_bar_column) {
|
||||
auto* child = m_vertical_tab_bar_column->childAt(mouse_event.pos());
|
||||
return child == nullptr || child == m_vertical_tabs_new_tab_separator;
|
||||
return child == nullptr;
|
||||
}
|
||||
|
||||
return m_tab_bar_row->childAt(mouse_event.pos()) == nullptr;
|
||||
|
|
@ -1565,19 +1546,8 @@ void TabWidget::update_toolbar_placement()
|
|||
toolbar->style()->unpolish(toolbar);
|
||||
toolbar->style()->polish(toolbar);
|
||||
toolbar->update();
|
||||
|
||||
if (use_full_width_toolbar) {
|
||||
current_tab->set_toolbar_container_in_tab_layout(false);
|
||||
if (m_toolbar_container->indexOf(toolbar) == -1)
|
||||
m_toolbar_container->insertWidget(index, toolbar);
|
||||
} else {
|
||||
if (m_toolbar_container->indexOf(toolbar) != -1)
|
||||
m_toolbar_container->removeWidget(toolbar);
|
||||
current_tab->set_toolbar_container_in_tab_layout(true);
|
||||
}
|
||||
}
|
||||
|
||||
m_toolbar_container->setVisible(use_full_width_toolbar);
|
||||
m_toolbar_container->setCurrentIndex(m_tab_bar->currentIndex());
|
||||
update_tab_toolbar_window_controls_visibility();
|
||||
}
|
||||
|
|
@ -1593,6 +1563,7 @@ void TabWidget::rebuild_layout()
|
|||
{
|
||||
clear_layout(*m_main_layout);
|
||||
clear_layout(*m_tab_bar_row_layout);
|
||||
clear_layout(*m_page_column_layout);
|
||||
clear_layout(*m_vertical_tab_bar_column_layout);
|
||||
clear_layout(*m_vertical_tabs_content_layout);
|
||||
|
||||
|
|
@ -1601,18 +1572,27 @@ void TabWidget::rebuild_layout()
|
|||
|
||||
if (m_tab_bar->tab_layout() != TabLayout::Horizontal) {
|
||||
rebuild_layout_for_vertical_tabs();
|
||||
auto use_full_width_toolbar = uses_full_width_toolbar_for_current_layout();
|
||||
|
||||
if (uses_full_width_toolbar_for_current_layout())
|
||||
if (use_full_width_toolbar) {
|
||||
m_main_layout->addWidget(m_toolbar_container);
|
||||
m_page_column->hide();
|
||||
} else {
|
||||
rebuild_page_column();
|
||||
m_page_column->show();
|
||||
}
|
||||
|
||||
m_vertical_tabs_content_layout->addWidget(m_vertical_tabs_reserved_space);
|
||||
m_vertical_tabs_content_layout->addWidget(m_stacked_widget, 1);
|
||||
m_vertical_tabs_content_layout->addWidget(use_full_width_toolbar ? static_cast<QWidget*>(m_stacked_widget) : m_page_column, 1);
|
||||
m_main_layout->addWidget(m_vertical_tabs_content, 1);
|
||||
m_vertical_tabs_content->show();
|
||||
} else {
|
||||
rebuild_layout_for_horizontal_tabs();
|
||||
rebuild_page_column();
|
||||
|
||||
m_main_layout->addWidget(m_tab_bar_row);
|
||||
m_main_layout->addWidget(m_stacked_widget, 1);
|
||||
m_main_layout->addWidget(m_page_column, 1);
|
||||
m_page_column->show();
|
||||
m_vertical_tabs_content->hide();
|
||||
}
|
||||
|
||||
|
|
@ -1653,54 +1633,30 @@ void TabWidget::rebuild_layout_for_horizontal_tabs()
|
|||
|
||||
void TabWidget::rebuild_layout_for_vertical_tabs()
|
||||
{
|
||||
auto expanded = vertical_tabs_effectively_expanded();
|
||||
auto reserved_width = vertical_tabs_layout_width();
|
||||
auto const chrome_layout_policy = browser_chrome_layout_policy();
|
||||
auto side_bar_width = current_vertical_tabs_width();
|
||||
m_vertical_tabs_reserved_space->setFixedWidth(reserved_width);
|
||||
m_vertical_tab_bar_column->setFixedWidth(side_bar_width);
|
||||
|
||||
m_vertical_tab_bar_column_layout->setSpacing(0);
|
||||
auto tab_layout = m_tab_bar->tab_layout();
|
||||
auto left_margin = vertical_tabs_left_margin(tab_layout);
|
||||
auto right_margin = vertical_tabs_right_margin(tab_layout);
|
||||
auto tab_width = max(0, side_bar_width - vertical_tabs_horizontal_margin_width(tab_layout));
|
||||
auto top_margin = VERTICAL_TABS_TOP_MARGIN;
|
||||
auto window_controls_bottom_spacing = 0;
|
||||
auto show_sidebar_traffic_lights = chrome_layout_policy.controls_placement == WindowControlsPlacement::LeftTrafficLights
|
||||
&& m_vertical_tabs_expanded
|
||||
&& !uses_full_width_toolbar_for_current_layout();
|
||||
if (show_sidebar_traffic_lights) {
|
||||
auto window_controls_height = WindowControlButton::default_size({ 40, 40 }).height();
|
||||
top_margin = max(0, (chrome_layout_policy.toolbar_height - window_controls_height) / 2);
|
||||
window_controls_bottom_spacing = max(0, chrome_layout_policy.toolbar_height - window_controls_height - top_margin) + VERTICAL_TABS_TOP_MARGIN;
|
||||
auto window_controls_left_padding = max(0, VERTICAL_TABS_MACOS_TRAFFIC_LIGHTS_LEFT_MARGIN - left_margin);
|
||||
m_window_controls->layout()->setContentsMargins(window_controls_left_padding, 0, 0, 0);
|
||||
} else {
|
||||
m_window_controls->layout()->setContentsMargins(0, 0, 0, 0);
|
||||
}
|
||||
m_vertical_tab_bar_column_layout->setContentsMargins(left_margin, top_margin, right_margin, 8);
|
||||
auto side_margin = vertical_tabs_side_margin(tab_layout != TabLayout::VerticalCollapsed);
|
||||
m_window_controls->layout()->setContentsMargins(0, 0, 0, 0);
|
||||
m_vertical_tab_bar_column_layout->setContentsMargins(side_margin, VERTICAL_TABS_TOP_MARGIN, side_margin, 8);
|
||||
|
||||
if (show_sidebar_traffic_lights) {
|
||||
m_vertical_tab_bar_column_layout->addWidget(m_window_controls, 0, Qt::AlignLeft);
|
||||
if (window_controls_bottom_spacing > 0)
|
||||
m_vertical_tab_bar_column_layout->addSpacing(window_controls_bottom_spacing);
|
||||
}
|
||||
|
||||
m_new_tab_button->setToolButtonStyle(expanded ? Qt::ToolButtonTextBesideIcon : Qt::ToolButtonIconOnly);
|
||||
update_vertical_tabs_action_labels();
|
||||
m_new_tab_button->setProperty(VERTICAL_TABS_BUTTON_PROPERTY, true);
|
||||
m_new_tab_button->setProperty(VERTICAL_TABS_EXPANDED_PROPERTY, expanded);
|
||||
m_new_tab_button->style()->unpolish(m_new_tab_button);
|
||||
m_new_tab_button->style()->polish(m_new_tab_button);
|
||||
m_vertical_tabs_new_tab_separator->hide();
|
||||
update_vertical_new_tab_button_geometry(tab_width);
|
||||
update_vertical_tabs_button_layout();
|
||||
|
||||
m_vertical_tab_bar_column_layout->addWidget(m_tab_bar);
|
||||
m_vertical_tab_bar_column_layout->addWidget(m_new_tab_button);
|
||||
m_vertical_tab_bar_column_layout->addStretch(1);
|
||||
}
|
||||
|
||||
void TabWidget::rebuild_page_column()
|
||||
{
|
||||
m_page_column_layout->addWidget(m_toolbar_container);
|
||||
m_page_column_layout->addWidget(m_stacked_widget, 1);
|
||||
}
|
||||
|
||||
int TabWidget::current_vertical_tabs_width() const
|
||||
{
|
||||
return vertical_tabs_effectively_expanded() ? m_vertical_tabs_expanded_width : VERTICAL_TABS_COLLAPSED_WIDTH;
|
||||
|
|
@ -1775,27 +1731,30 @@ void TabWidget::update_vertical_tabs_hover_layout()
|
|||
m_tab_bar->set_tab_layout(current_tab_layout());
|
||||
|
||||
auto tab_layout = m_tab_bar->tab_layout();
|
||||
auto left_margin = vertical_tabs_left_margin(tab_layout);
|
||||
auto right_margin = vertical_tabs_right_margin(tab_layout);
|
||||
auto side_bar_width = current_vertical_tabs_width();
|
||||
auto tab_width = max(0, side_bar_width - vertical_tabs_horizontal_margin_width(tab_layout));
|
||||
auto expanded = vertical_tabs_effectively_expanded();
|
||||
auto side_margin = vertical_tabs_side_margin(tab_layout != TabLayout::VerticalCollapsed);
|
||||
|
||||
m_vertical_tab_bar_column_layout->setContentsMargins(left_margin, VERTICAL_TABS_TOP_MARGIN, right_margin, 8);
|
||||
m_vertical_tab_bar_column_layout->setContentsMargins(side_margin, VERTICAL_TABS_TOP_MARGIN, side_margin, 8);
|
||||
update_vertical_tabs_button_layout();
|
||||
|
||||
update_tab_button_visibility();
|
||||
update_tab_layout();
|
||||
}
|
||||
|
||||
int TabWidget::vertical_tabs_tab_width() const
|
||||
{
|
||||
return max(0, current_vertical_tabs_width() - vertical_tabs_horizontal_margin_width(m_tab_bar->tab_layout()));
|
||||
}
|
||||
|
||||
void TabWidget::update_vertical_tabs_button_layout()
|
||||
{
|
||||
auto expanded = vertical_tabs_effectively_expanded();
|
||||
m_new_tab_button->setToolButtonStyle(expanded ? Qt::ToolButtonTextBesideIcon : Qt::ToolButtonIconOnly);
|
||||
update_vertical_tabs_action_labels();
|
||||
m_new_tab_button->setProperty(VERTICAL_TABS_BUTTON_PROPERTY, true);
|
||||
m_new_tab_button->setProperty(VERTICAL_TABS_EXPANDED_PROPERTY, expanded);
|
||||
m_new_tab_button->style()->unpolish(m_new_tab_button);
|
||||
m_new_tab_button->style()->polish(m_new_tab_button);
|
||||
update_vertical_new_tab_button_geometry(tab_width);
|
||||
|
||||
update_tab_button_visibility();
|
||||
update_tab_layout();
|
||||
}
|
||||
|
||||
void TabWidget::update_vertical_new_tab_button_geometry(int tab_width)
|
||||
{
|
||||
auto tab_width = vertical_tabs_tab_width();
|
||||
m_new_tab_button->setFixedSize(tab_width, VERTICAL_TAB_HEIGHT);
|
||||
m_new_tab_button->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
||||
}
|
||||
|
|
@ -1805,13 +1764,12 @@ void TabWidget::update_tab_layout()
|
|||
if (m_tab_bar->tab_layout() != TabLayout::Horizontal) {
|
||||
auto reserved_width = vertical_tabs_layout_width();
|
||||
auto side_bar_width = current_vertical_tabs_width();
|
||||
auto tab_width = max(0, side_bar_width - vertical_tabs_horizontal_margin_width(m_tab_bar->tab_layout()));
|
||||
m_vertical_tabs_reserved_space->setFixedWidth(reserved_width);
|
||||
m_vertical_tab_bar_column->setFixedWidth(side_bar_width);
|
||||
update_vertical_new_tab_button_geometry(tab_width);
|
||||
update_vertical_tabs_button_layout();
|
||||
update_vertical_tabs_overlay_geometry();
|
||||
m_vertical_tabs_content_layout->activate();
|
||||
m_tab_bar->set_available_width(tab_width);
|
||||
m_tab_bar->set_available_width(vertical_tabs_tab_width());
|
||||
update_vertical_tabs_resize_handle();
|
||||
update_vertical_tabs_content_separator();
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -178,6 +178,7 @@ private:
|
|||
void rebuild_layout();
|
||||
void rebuild_layout_for_horizontal_tabs();
|
||||
void rebuild_layout_for_vertical_tabs();
|
||||
void rebuild_page_column();
|
||||
void update_toolbar_placement();
|
||||
void update_tab_toolbar_window_controls_visibility();
|
||||
int current_vertical_tabs_width() const;
|
||||
|
|
@ -188,7 +189,8 @@ private:
|
|||
void set_resize_handle_property(char const* property, bool enabled);
|
||||
void update_vertical_tabs_action_labels();
|
||||
void update_vertical_tabs_hover_layout();
|
||||
void update_vertical_new_tab_button_geometry(int tab_width);
|
||||
int vertical_tabs_tab_width() const;
|
||||
void update_vertical_tabs_button_layout();
|
||||
void update_tab_layout();
|
||||
void update_tab_chrome_visibility();
|
||||
void recreate_icons();
|
||||
|
|
@ -210,8 +212,8 @@ private:
|
|||
QToolButton* m_close_window_button { nullptr };
|
||||
QWidget* m_window_controls { nullptr };
|
||||
QStackedWidget* m_toolbar_container { nullptr };
|
||||
QWidget* m_page_column { nullptr };
|
||||
QWidget* m_tab_bar_row { nullptr };
|
||||
QWidget* m_vertical_tabs_new_tab_separator { nullptr };
|
||||
QWidget* m_vertical_tabs_reserved_space { nullptr };
|
||||
QWidget* m_vertical_tab_bar_column { nullptr };
|
||||
QWidget* m_vertical_tabs_content_separator { nullptr };
|
||||
|
|
@ -220,6 +222,7 @@ private:
|
|||
QTimer* m_vertical_tabs_hover_collapse_timer { nullptr };
|
||||
QBoxLayout* m_main_layout { nullptr };
|
||||
QBoxLayout* m_tab_bar_row_layout { nullptr };
|
||||
QBoxLayout* m_page_column_layout { nullptr };
|
||||
QBoxLayout* m_vertical_tab_bar_column_layout { nullptr };
|
||||
QBoxLayout* m_vertical_tabs_content_layout { nullptr };
|
||||
bool m_tab_bar_visible { true };
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ static bool window_control_group_hovered(QWidget const* widget)
|
|||
}
|
||||
#endif
|
||||
|
||||
QSize WindowControlButton::default_size(QSize non_macos_size)
|
||||
static QSize default_window_control_button_size(QSize non_macos_size)
|
||||
{
|
||||
#if defined(AK_OS_MACOS)
|
||||
Q_UNUSED(non_macos_size);
|
||||
|
|
@ -81,7 +81,7 @@ QSize WindowControlButton::default_size(QSize non_macos_size)
|
|||
#endif
|
||||
}
|
||||
|
||||
int WindowControlButton::default_spacing()
|
||||
static int default_window_control_button_spacing()
|
||||
{
|
||||
#if defined(AK_OS_MACOS)
|
||||
return 7;
|
||||
|
|
@ -142,10 +142,10 @@ WindowControlButtons create_window_control_buttons(QWidget& parent, char const*
|
|||
container->setObjectName(object_name);
|
||||
|
||||
auto* layout = new QHBoxLayout(container);
|
||||
layout->setSpacing(WindowControlButton::default_spacing());
|
||||
layout->setSpacing(default_window_control_button_spacing());
|
||||
layout->setContentsMargins(0, 0, 0, 0);
|
||||
|
||||
auto const button_size = WindowControlButton::default_size(non_macos_button_size);
|
||||
auto const button_size = default_window_control_button_size(non_macos_button_size);
|
||||
auto* minimize = new WindowControlButton(WindowControlButtonType::Minimize, "Minimize", icon_size, button_size, container);
|
||||
auto* maximize = new WindowControlButton(WindowControlButtonType::Maximize, "Maximize", icon_size, button_size, container);
|
||||
auto* close = new WindowControlButton(WindowControlButtonType::Close, "Close", icon_size, button_size, container);
|
||||
|
|
|
|||
|
|
@ -29,9 +29,6 @@ class WindowControlButton final : public QToolButton {
|
|||
public:
|
||||
WindowControlButton(WindowControlButtonType, QString const& tool_tip, QSize icon_size, QSize button_size, QWidget* parent = nullptr);
|
||||
|
||||
static QSize default_size(QSize non_macos_size);
|
||||
static int default_spacing();
|
||||
|
||||
private:
|
||||
virtual void paintEvent(QPaintEvent*) override;
|
||||
virtual void enterEvent(QEnterEvent*) override;
|
||||
|
|
|
|||
Loading…
Reference in a new issue