mirror of
https://github.com/onionshare/onionshare.git
synced 2025-05-04 15:35:13 -04:00
OnionShareGui.adjust_size now recursively runs adjustSize() on all widgets
This commit is contained in:
parent
4bec79f494
commit
e29bb99f16
3 changed files with 39 additions and 12 deletions
|
@ -445,8 +445,35 @@ class OnionShareGui(QtWidgets.QMainWindow):
|
|||
self.settings_action.setEnabled(not active)
|
||||
|
||||
def adjust_size(self):
|
||||
self.share_mode.adjustSize()
|
||||
self.receive_mode.adjustSize()
|
||||
"""
|
||||
Recursively adjust size on all widgets
|
||||
"""
|
||||
# Recursively adjust sizes for the modes
|
||||
def adjust_size_layout(layout):
|
||||
count = layout.count()
|
||||
for i in range(count):
|
||||
item = layout.itemAt(i)
|
||||
if item:
|
||||
child_widget = item.widget()
|
||||
if child_widget:
|
||||
adjust_size_widget(child_widget)
|
||||
child_layout = item.layout()
|
||||
if child_layout:
|
||||
adjust_size_layout(child_layout)
|
||||
|
||||
def adjust_size_widget(widget):
|
||||
layout = widget.layout()
|
||||
if layout:
|
||||
adjust_size_layout(layout)
|
||||
# Processing Qt events before adjusting size makes each .adjustSize() actually count
|
||||
self.qtapp.processEvents()
|
||||
widget.adjustSize()
|
||||
|
||||
# Adjust sizes of each mode
|
||||
for mode in [self.share_mode, self.receive_mode]:
|
||||
adjust_size_widget(mode)
|
||||
|
||||
# Adjust window size
|
||||
self.adjustSize()
|
||||
|
||||
def closeEvent(self, e):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue