don't show context menu entries for ranges when range slider is disabled
This commit is contained in:
@@ -77,6 +77,7 @@ class BigText(QWidget):
|
|||||||
def __init__(self, model: LogFileModel, show_range_slider=True):
|
def __init__(self, model: LogFileModel, show_range_slider=True):
|
||||||
super(BigText, self).__init__()
|
super(BigText, self).__init__()
|
||||||
|
|
||||||
|
self.show_range_slider = show_range_slider
|
||||||
self.model = model
|
self.model = model
|
||||||
|
|
||||||
self.grid = QGridLayout()
|
self.grid = QGridLayout()
|
||||||
@@ -87,10 +88,7 @@ class BigText(QWidget):
|
|||||||
|
|
||||||
self.v_scroll_bar = ScaledScrollBar()
|
self.v_scroll_bar = ScaledScrollBar()
|
||||||
|
|
||||||
self.range_limit = RangeSlider()
|
self.big_text = InnerBigText(self, model, self.v_scroll_bar)
|
||||||
self.range_limit.value_changed.connect(self._range_limit_event)
|
|
||||||
|
|
||||||
self.big_text = InnerBigText(self, model, self.v_scroll_bar, self.range_limit)
|
|
||||||
self.big_text.setSizePolicy(QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding))
|
self.big_text.setSizePolicy(QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding))
|
||||||
|
|
||||||
self.h_scroll_bar = QScrollBar(Qt.Orientation.Horizontal)
|
self.h_scroll_bar = QScrollBar(Qt.Orientation.Horizontal)
|
||||||
@@ -102,9 +100,9 @@ class BigText(QWidget):
|
|||||||
self.v_scroll_bar.scaledValueChanged.connect(self.big_text.v_scroll_event)
|
self.v_scroll_bar.scaledValueChanged.connect(self.big_text.v_scroll_event)
|
||||||
self.v_scroll_bar.scrolled_to_end.connect(self.big_text.v_scroll_update_follow_tail)
|
self.v_scroll_bar.scrolled_to_end.connect(self.big_text.v_scroll_update_follow_tail)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if show_range_slider:
|
if show_range_slider:
|
||||||
|
self.range_limit = RangeSlider()
|
||||||
|
self.range_limit.value_changed.connect(self._range_limit_event)
|
||||||
self.grid.addWidget(self.range_limit, 0, 0)
|
self.grid.addWidget(self.range_limit, 0, 0)
|
||||||
self.grid.addWidget(self.big_text, 0, 1)
|
self.grid.addWidget(self.big_text, 0, 1)
|
||||||
self.grid.addWidget(self.h_scroll_bar, 1, 1)
|
self.grid.addWidget(self.h_scroll_bar, 1, 1)
|
||||||
@@ -149,14 +147,12 @@ class InnerBigText(QWidget):
|
|||||||
_range_start = 0
|
_range_start = 0
|
||||||
_range_end = -1
|
_range_end = -1
|
||||||
|
|
||||||
def __init__(self, parent: BigText, model: LogFileModel, v_scaled_scrollbar: ScaledScrollBar,
|
def __init__(self, parent: BigText, model: LogFileModel, v_scaled_scrollbar: ScaledScrollBar):
|
||||||
range_limit: RangeSlider):
|
|
||||||
super(InnerBigText, self).__init__()
|
super(InnerBigText, self).__init__()
|
||||||
self.char_height = None
|
self.char_height = None
|
||||||
self.char_width = None
|
self.char_width = None
|
||||||
self.model = model
|
self.model = model
|
||||||
self._v_scaled_scrollbar = v_scaled_scrollbar
|
self._v_scaled_scrollbar = v_scaled_scrollbar
|
||||||
self._range_limit = range_limit
|
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
self.setFocusPolicy(Qt.FocusPolicy.StrongFocus)
|
self.setFocusPolicy(Qt.FocusPolicy.StrongFocus)
|
||||||
self.setFocusPolicy(Qt.FocusPolicy.WheelFocus)
|
self.setFocusPolicy(Qt.FocusPolicy.WheelFocus)
|
||||||
@@ -219,7 +215,6 @@ class InnerBigText(QWidget):
|
|||||||
elif e.modifiers() == Qt.KeyboardModifier.ControlModifier and e.key() == 65: # ctrl + a
|
elif e.modifiers() == Qt.KeyboardModifier.ControlModifier and e.key() == 65: # ctrl + a
|
||||||
self._select_all()
|
self._select_all()
|
||||||
|
|
||||||
|
|
||||||
def wheelEvent(self, event: QWheelEvent):
|
def wheelEvent(self, event: QWheelEvent):
|
||||||
direction = 1 if event.angleDelta().y() < 0 else -1
|
direction = 1 if event.angleDelta().y() < 0 else -1
|
||||||
if event.modifiers() == Qt.KeyboardModifier.ControlModifier:
|
if event.modifiers() == Qt.KeyboardModifier.ControlModifier:
|
||||||
@@ -262,6 +257,7 @@ class InnerBigText(QWidget):
|
|||||||
manage_highlighting.setShortcut("CTRL+H")
|
manage_highlighting.setShortcut("CTRL+H")
|
||||||
menu.addAction(manage_highlighting)
|
menu.addAction(manage_highlighting)
|
||||||
|
|
||||||
|
if self.parent.show_range_slider:
|
||||||
menu.addSeparator()
|
menu.addSeparator()
|
||||||
|
|
||||||
set_range_start = QAction(
|
set_range_start = QAction(
|
||||||
@@ -559,6 +555,7 @@ class InnerBigText(QWidget):
|
|||||||
byte_count = self.model.byte_count()
|
byte_count = self.model.byte_count()
|
||||||
vmax = byte_count - 1 if self._range_end < 0 else min(self._range_end, self.model.byte_count() - 1)
|
vmax = byte_count - 1 if self._range_end < 0 else min(self._range_end, self.model.byte_count() - 1)
|
||||||
self.parent.v_scroll_bar.setMaximum(vmax)
|
self.parent.v_scroll_bar.setMaximum(vmax)
|
||||||
|
if self.parent.show_range_slider:
|
||||||
self.parent.range_limit.set_maximum(byte_count)
|
self.parent.range_limit.set_maximum(byte_count)
|
||||||
|
|
||||||
for line in self.lines:
|
for line in self.lines:
|
||||||
|
|||||||
Reference in New Issue
Block a user