Skip to content

Commit

Permalink
Apply pre-commit
Browse files Browse the repository at this point in the history
  • Loading branch information
DanicaSTFC committed Aug 6, 2024
1 parent 3008a90 commit 7255421
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 10 deletions.
19 changes: 11 additions & 8 deletions eqt/ui/NoBorderScrollArea.py
Original file line number Diff line number Diff line change
@@ -1,33 +1,36 @@
import re

import qdarkstyle
from PySide2.QtWidgets import QPushButton, QScrollArea, QWidget
import qdarkstyle, re


class NoBorderScrollArea(QScrollArea):
"""Note: move this class to eqt."""

def __init__(self, widget, parent=None):
"""Creates an instance of a QScrollArea and sets its border to none.
"""Creates an instance of a QScrollArea and sets its border to none.
Sets its widget to resizable."""
super().__init__(parent)
self.setStyleSheet("QScrollArea { border: none; }")
self.setWidgetResizable(True)
self.setWidget(widget)
self.apply_qdarkstyle_to_buttons(widget)

def apply_qdarkstyle_to_buttons(self, widget):
"""Applies the qdarkstyle to all the buttons in the widget explicitly.
"""Applies the qdarkstyle to all the buttons in the widget explicitly.
This ensures that the style is consistent with the rest of the app."""
if isinstance(widget, QPushButton):

button_style = self._extract_qdarkstyle_button_style()
widget.setStyleSheet(button_style)
for child in widget.findChildren(QWidget):
self.apply_qdarkstyle_to_buttons(child)

def _extract_qdarkstyle_button_style(self):
"""Returns the QPushButton styles from qdarkstyle, including the different button styles."""
"""Returns the QPushButton styles from qdarkstyle, including the different
button styles."""
style = qdarkstyle.load_stylesheet(qt_api='pyside2')
pattern = re.compile(r"(QPushButton\s*{[^}]*}|QPushButton\s*:[^}]*{[^}]*})", re.DOTALL)
matches = pattern.findall(style)
if matches:
return ''.join(matches)
return ""
return ""
8 changes: 6 additions & 2 deletions test/test_NoBorderScrollArea.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
import unittest

from PySide2.QtWidgets import QHBoxLayout, QPushButton, QWidget

from eqt.ui.NoBorderScrollArea import NoBorderScrollArea
from PySide2.QtWidgets import QApplication, QHBoxLayout, QPushButton, QWidget


class TestNoBorderScrollArea(unittest.TestCase):

Expand All @@ -23,4 +26,5 @@ def test_scroll_area_creation(self):
'''
Tests the init method of the NoBorderScrollArea class.
'''
self.assertIsNotNone(self.scroll_area_widget, "NoBorderScrollArea widget should be created")
self.assertIsNotNone(self.scroll_area_widget,
"NoBorderScrollArea widget should be created")

0 comments on commit 7255421

Please sign in to comment.