|
3 | 3 | from pathlib import Path |
4 | 4 |
|
5 | 5 | from Qt.QtCore import Qt |
6 | | -from Qt.QtGui import QIcon |
7 | | -from Qt.QtWidgets import QHBoxLayout, QMessageBox, QToolButton, QWidget |
| 6 | +from Qt.QtWidgets import QHBoxLayout, QMessageBox, QSizePolicy, QToolButton, QWidget |
8 | 7 |
|
9 | | -from ... import resourcePath |
10 | 8 | from ...prefs import VersionTypes, get_backup_version_info |
11 | 9 | from ..drag_tab_bar import DragTabBar |
12 | 10 | from ..workbox_text_edit import WorkboxTextEdit |
|
16 | 14 |
|
17 | 15 | DEFAULT_STYLE_SHEET = """ |
18 | 16 | /* Make the two buttons in the GroupTabWidget take up the |
19 | | - same horizontal space as the GroupedTabWidget's buttons. */ |
| 17 | + same horizontal space as the GroupedTabWidget's buttons. |
20 | 18 | GroupTabWidget>QTabBar::tab{ |
21 | 19 | max-height: 1.5em; |
22 | | -} |
| 20 | +}*/ |
23 | 21 | /* We have an icon, no need to show the menu indicator */ |
24 | 22 | #group_tab_widget_menu_btn::menu-indicator{ |
25 | 23 | width: 0px; |
@@ -51,26 +49,37 @@ def __init__(self, editor_kwargs=None, core_name=None, *args, **kwargs): |
51 | 49 | corner = QWidget(self) |
52 | 50 | lyt = QHBoxLayout(corner) |
53 | 51 | lyt.setSpacing(0) |
54 | | - lyt.setContentsMargins(0, 0, 0, 0) |
| 52 | + lyt.setContentsMargins(0, 5, 0, 0) |
55 | 53 |
|
56 | 54 | corner.uiNewTabBTN = QToolButton(corner) |
57 | 55 | corner.uiNewTabBTN.setObjectName('group_tab_widget_new_btn') |
58 | 56 | corner.uiNewTabBTN.setText('+') |
59 | | - corner.uiNewTabBTN.setIcon(QIcon(resourcePath('img/file-plus.png'))) |
60 | 57 | corner.uiNewTabBTN.released.connect(lambda: self.add_new_tab(None)) |
| 58 | + |
61 | 59 | lyt.addWidget(corner.uiNewTabBTN) |
62 | 60 |
|
63 | 61 | corner.uiMenuBTN = QToolButton(corner) |
64 | | - corner.uiMenuBTN.setIcon(QIcon(resourcePath('img/chevron-down.png'))) |
| 62 | + corner.uiMenuBTN.setText('\u2630') |
65 | 63 | corner.uiMenuBTN.setObjectName('group_tab_widget_menu_btn') |
66 | 64 | corner.uiMenuBTN.setPopupMode(QToolButton.ToolButtonPopupMode.InstantPopup) |
67 | 65 | corner.uiCornerMENU = GroupTabMenu(self, parent=corner.uiMenuBTN) |
68 | 66 | corner.uiMenuBTN.setMenu(corner.uiCornerMENU) |
| 67 | + |
| 68 | + self.adjustSizePolicy(corner) |
| 69 | + self.adjustSizePolicy(corner.uiNewTabBTN) |
| 70 | + self.adjustSizePolicy(corner.uiMenuBTN) |
| 71 | + self.adjustSizePolicy(corner.uiCornerMENU) |
| 72 | + |
69 | 73 | lyt.addWidget(corner.uiMenuBTN) |
70 | 74 |
|
71 | 75 | self.uiCornerBTN = corner |
72 | 76 | self.setCornerWidget(self.uiCornerBTN, Qt.Corner.TopRightCorner) |
73 | 77 |
|
| 78 | + def adjustSizePolicy(self, button): |
| 79 | + sp = button.sizePolicy() |
| 80 | + sp.setVerticalPolicy(QSizePolicy.Policy.Preferred) |
| 81 | + button.setSizePolicy(sp) |
| 82 | + |
74 | 83 | def add_new_tab(self, group, title=None, prefs=None): |
75 | 84 | """Adds a new tab to the requested group, creating the group if the group |
76 | 85 | doesn't exist. |
@@ -110,6 +119,7 @@ def add_new_tab(self, group, title=None, prefs=None): |
110 | 119 | editor = parent.add_new_editor(title, prefs) |
111 | 120 | self.setCurrentIndex(self.indexOf(parent)) |
112 | 121 | self.window().focusToWorkbox() |
| 122 | + self.tabBar().setFont(self.window().font()) |
113 | 123 | return parent, editor |
114 | 124 |
|
115 | 125 | def all_widgets(self): |
|
0 commit comments