def test_view_tab_bar(qtbot: QtBot): viewspace = ViewSpace() qtbot.addWidget(viewspace) viewspace.show() viewspace.splitActiveHorizontal() view = viewspace.views[0] tabs = view.tabs tabs.view.addTab("1", _TestViewWidget(1, view, editable=True)) tabs.view.addTab("2", _TestViewWidget(2, view)) # Test double click rename dlg = tabs.tabRenameDialog(0) assert dlg.textValue() == "1" dlg.textValueSelected.emit("3") dlg.close() assert tabs.tabText(0) == "3" # Rename on non editable will not open dialog assert tabs.tabRenameDialog(1) is None # Test drag and drop same bar with qtbot.assertNotEmitted(tabs.view.numTabsChanged, wait=100): qtbot.mousePress(tabs, QtCore.Qt.LeftButton, pos=tabs.tabRect(0).center()) qtbot.mouseRelease(tabs, QtCore.Qt.LeftButton, pos=tabs.tabRect(1).center()) assert tabs.tabText(0) == "3" assert tabs.tabText(1) == "2"
def test_mouse_press_redirect_filter(qtbot: QtBot): a = EventTestWidget() b = EventTestWidget() qtbot.addWidget(a) qtbot.addWidget(b) b.installEventFilter(MousePressRedirectFilter(a)) with qtbot.waitSignal(a.eventSuccess): qtbot.mousePress(b, QtCore.Qt.LeftButton) with qtbot.waitSignal(b.eventSuccess): qtbot.mousePress(b, QtCore.Qt.LeftButton) with qtbot.assertNotEmitted(a.eventSuccess): qtbot.keyPress(b, QtCore.Qt.Key_Enter)