Move completion widget when statusbar moves.
This commit is contained in:
parent
1a74cbee74
commit
9636432bd5
@ -83,6 +83,7 @@ class CompletionView(QTreeView):
|
|||||||
ignore_next = False
|
ignore_next = False
|
||||||
enabled = True
|
enabled = True
|
||||||
completing = False
|
completing = False
|
||||||
|
height = QPoint(0, 200)
|
||||||
|
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
@ -128,12 +129,20 @@ class CompletionView(QTreeView):
|
|||||||
"""
|
"""
|
||||||
bottomleft = geom.topLeft()
|
bottomleft = geom.topLeft()
|
||||||
bottomright = geom.topRight()
|
bottomright = geom.topRight()
|
||||||
delta = QPoint(0, 200)
|
topleft = bottomleft - self.height
|
||||||
topleft = bottomleft - delta
|
|
||||||
assert topleft.x() < bottomright.x()
|
assert topleft.x() < bottomright.x()
|
||||||
assert topleft.y() < bottomright.y()
|
assert topleft.y() < bottomright.y()
|
||||||
self.setGeometry(QRect(topleft, bottomright))
|
self.setGeometry(QRect(topleft, bottomright))
|
||||||
|
|
||||||
|
def move_to_bar(self, pos):
|
||||||
|
"""Move the completion area to the statusbar geometry.
|
||||||
|
|
||||||
|
Slot for the moved signal of the statusbar.
|
||||||
|
pos -- A QPoint containing the statusbar position.
|
||||||
|
|
||||||
|
"""
|
||||||
|
self.move(pos - self.height)
|
||||||
|
|
||||||
def cmd_text_changed(self, text):
|
def cmd_text_changed(self, text):
|
||||||
"""Check if completions are available and activate them.
|
"""Check if completions are available and activate them.
|
||||||
|
|
||||||
|
@ -61,6 +61,7 @@ class MainWindow(QMainWindow):
|
|||||||
self.vbox.addWidget(self.status)
|
self.vbox.addWidget(self.status)
|
||||||
|
|
||||||
self.status.resized.connect(self.completion.resize_to_bar)
|
self.status.resized.connect(self.completion.resize_to_bar)
|
||||||
|
self.status.moved.connect(self.completion.move_to_bar)
|
||||||
self.tabs.cur_progress.connect(self.status.prog.set_progress)
|
self.tabs.cur_progress.connect(self.status.prog.set_progress)
|
||||||
self.tabs.cur_load_finished.connect(self.status.prog.load_finished)
|
self.tabs.cur_load_finished.connect(self.status.prog.load_finished)
|
||||||
self.tabs.cur_load_started.connect(lambda:
|
self.tabs.cur_load_started.connect(lambda:
|
||||||
|
@ -35,6 +35,7 @@ class StatusBar(QWidget):
|
|||||||
txt = None
|
txt = None
|
||||||
prog = None
|
prog = None
|
||||||
resized = pyqtSignal('QRect')
|
resized = pyqtSignal('QRect')
|
||||||
|
moved = pyqtSignal('QPoint')
|
||||||
fgcolor = None
|
fgcolor = None
|
||||||
bgcolor = None
|
bgcolor = None
|
||||||
_stylesheet = """
|
_stylesheet = """
|
||||||
@ -98,3 +99,12 @@ class StatusBar(QWidget):
|
|||||||
"""
|
"""
|
||||||
super().resizeEvent(e)
|
super().resizeEvent(e)
|
||||||
self.resized.emit(self.geometry())
|
self.resized.emit(self.geometry())
|
||||||
|
|
||||||
|
def moveEvent(self, e):
|
||||||
|
"""Extend moveEvent of QWidget to emit a moved signal afterwards.
|
||||||
|
|
||||||
|
e -- The QMoveEvent.
|
||||||
|
|
||||||
|
"""
|
||||||
|
super().moveEvent(e)
|
||||||
|
self.moved.emit(e.pos())
|
||||||
|
Loading…
Reference in New Issue
Block a user