Fixed resizing on add/remove columns.
This commit is contained in:
parent
96b04cc4b8
commit
341d733e4d
@ -11,7 +11,7 @@
|
|||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
@ -34,7 +34,7 @@
|
|||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
|
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
@ -49,6 +49,9 @@
|
|||||||
<locale language="English" country="UnitedStates"/>
|
<locale language="English" country="UnitedStates"/>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<property name="sizeConstraint">
|
||||||
|
<enum>QLayout::SetDefaultConstraint</enum>
|
||||||
|
</property>
|
||||||
<property name="margin">
|
<property name="margin">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
@ -58,7 +61,7 @@
|
|||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<widget class="QTableWidget" name="table">
|
<widget class="QTableWidget" name="table">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
<sizepolicy hsizetype="Fixed" vsizetype="Minimum">
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
|
@ -528,7 +528,7 @@ class VmShutdownMonitor(QObject):
|
|||||||
class VmManagerWindow(Ui_VmManagerWindow, QMainWindow):
|
class VmManagerWindow(Ui_VmManagerWindow, QMainWindow):
|
||||||
row_height = 30
|
row_height = 30
|
||||||
column_width = 200
|
column_width = 200
|
||||||
max_visible_rows = 7
|
min_visible_rows = 10
|
||||||
update_interval = 1000 # in msec
|
update_interval = 1000 # in msec
|
||||||
show_inactive_vms = True
|
show_inactive_vms = True
|
||||||
columns_indices = { "Label": 0,
|
columns_indices = { "Label": 0,
|
||||||
@ -573,7 +573,6 @@ class VmManagerWindow(Ui_VmManagerWindow, QMainWindow):
|
|||||||
|
|
||||||
self.table.horizontalHeader().setResizeMode(QHeaderView.Fixed)
|
self.table.horizontalHeader().setResizeMode(QHeaderView.Fixed)
|
||||||
|
|
||||||
|
|
||||||
self.table.sortItems(self.columns_indices["Label"], Qt.AscendingOrder)
|
self.table.sortItems(self.columns_indices["Label"], Qt.AscendingOrder)
|
||||||
self.sort_by_mem = None
|
self.sort_by_mem = None
|
||||||
self.sort_by_cpu = None
|
self.sort_by_cpu = None
|
||||||
@ -624,7 +623,7 @@ class VmManagerWindow(Ui_VmManagerWindow, QMainWindow):
|
|||||||
def show(self):
|
def show(self):
|
||||||
super(VmManagerWindow, self).show()
|
super(VmManagerWindow, self).show()
|
||||||
self.set_table_geom_height()
|
self.set_table_geom_height()
|
||||||
self.update_table_columns()
|
self.set_table_geom_width()
|
||||||
|
|
||||||
def set_table_geom_height(self):
|
def set_table_geom_height(self):
|
||||||
minH = self.table.horizontalHeader().height() +\
|
minH = self.table.horizontalHeader().height() +\
|
||||||
@ -634,10 +633,9 @@ class VmManagerWindow(Ui_VmManagerWindow, QMainWindow):
|
|||||||
#or if you know what you're doing :)
|
#or if you know what you're doing :)
|
||||||
|
|
||||||
n = self.table.rowCount();
|
n = self.table.rowCount();
|
||||||
|
|
||||||
maxH = minH
|
maxH = minH
|
||||||
if n >= self.max_visible_rows:
|
if n >= self.min_visible_rows:
|
||||||
minH += self.max_visible_rows*self.row_height
|
minH += self.min_visible_rows*self.row_height
|
||||||
maxH += n*self.row_height
|
maxH += n*self.row_height
|
||||||
else:
|
else:
|
||||||
minH += n*self.row_height
|
minH += n*self.row_height
|
||||||
@ -655,7 +653,9 @@ class VmManagerWindow(Ui_VmManagerWindow, QMainWindow):
|
|||||||
maxH += mainwindow_to_add
|
maxH += mainwindow_to_add
|
||||||
minH += mainwindow_to_add
|
minH += mainwindow_to_add
|
||||||
|
|
||||||
self.setMaximumHeight(maxH)
|
desktop_height = app.desktop().availableGeometry().height() - 2*self.row_height
|
||||||
|
|
||||||
|
self.setMaximumHeight(min(desktop_height, maxH))
|
||||||
self.setMinimumHeight(minH)
|
self.setMinimumHeight(minH)
|
||||||
|
|
||||||
|
|
||||||
@ -733,8 +733,11 @@ class VmManagerWindow(Ui_VmManagerWindow, QMainWindow):
|
|||||||
|
|
||||||
if self.reload_table or ((not self.show_inactive_vms) and some_vms_have_changed_power_state):
|
if self.reload_table or ((not self.show_inactive_vms) and some_vms_have_changed_power_state):
|
||||||
self.fill_table()
|
self.fill_table()
|
||||||
|
self.set_table_geom_height()
|
||||||
|
self.set_table_geom_width()
|
||||||
update_devs=True
|
update_devs=True
|
||||||
|
|
||||||
|
|
||||||
if self.sort_by_state != None and self.table.sort_state_by_upd and some_vms_have_changed_power_state:
|
if self.sort_by_state != None and self.table.sort_state_by_upd and some_vms_have_changed_power_state:
|
||||||
self.table.sort_state_by_upd = not self.table.sort_state_by_upd # sorter indicator changed will switch it...and we want it to remain unswtched.
|
self.table.sort_state_by_upd = not self.table.sort_state_by_upd # sorter indicator changed will switch it...and we want it to remain unswtched.
|
||||||
self.table.sortItems(self.columns_indices["State"], self.sort_by_state)
|
self.table.sortItems(self.columns_indices["State"], self.sort_by_state)
|
||||||
@ -789,7 +792,7 @@ class VmManagerWindow(Ui_VmManagerWindow, QMainWindow):
|
|||||||
self.counter += 1
|
self.counter += 1
|
||||||
QTimer.singleShot (self.update_interval, self.update_table)
|
QTimer.singleShot (self.update_interval, self.update_table)
|
||||||
|
|
||||||
def update_table_columns(self):
|
def set_table_geom_width(self):
|
||||||
|
|
||||||
table_width = self.table.horizontalHeader().length() +\
|
table_width = self.table.horizontalHeader().length() +\
|
||||||
self.table.verticalScrollBar().width() + \
|
self.table.verticalScrollBar().width() + \
|
||||||
@ -797,7 +800,9 @@ class VmManagerWindow(Ui_VmManagerWindow, QMainWindow):
|
|||||||
|
|
||||||
self.table.setFixedWidth( table_width )
|
self.table.setFixedWidth( table_width )
|
||||||
self.centralwidget.setFixedWidth(table_width)
|
self.centralwidget.setFixedWidth(table_width)
|
||||||
self.setFixedWidth(table_width)
|
# don't change the following two lines to setFixedWidth!
|
||||||
|
self.setMaximumWidth(table_width)
|
||||||
|
self.setMinimumWidth(table_width)
|
||||||
|
|
||||||
def update_block_devices(self):
|
def update_block_devices(self):
|
||||||
res, msg = self.blk_manager.update()
|
res, msg = self.blk_manager.update()
|
||||||
@ -1216,30 +1221,30 @@ class VmManagerWindow(Ui_VmManagerWindow, QMainWindow):
|
|||||||
self.context_menu.removeAction(self.action_toolbar)
|
self.context_menu.removeAction(self.action_toolbar)
|
||||||
|
|
||||||
|
|
||||||
def showhide_collumn(self, col_num, show):
|
def showhide_column(self, col_num, show):
|
||||||
self.table.setColumnHidden( col_num, not show)
|
self.table.setColumnHidden( col_num, not show)
|
||||||
self.update_table_columns()
|
self.set_table_geom_width()
|
||||||
|
|
||||||
def on_actionState_toggled(self, checked):
|
def on_actionState_toggled(self, checked):
|
||||||
self.showhide_collumn( self.columns_indices['State'], checked)
|
self.showhide_column( self.columns_indices['State'], checked)
|
||||||
|
|
||||||
def on_actionTemplate_toggled(self, checked):
|
def on_actionTemplate_toggled(self, checked):
|
||||||
self.showhide_collumn( self.columns_indices['Template'], checked)
|
self.showhide_column( self.columns_indices['Template'], checked)
|
||||||
|
|
||||||
def on_actionNetVM_toggled(self, checked):
|
def on_actionNetVM_toggled(self, checked):
|
||||||
self.showhide_collumn( self.columns_indices['NetVM'], checked)
|
self.showhide_column( self.columns_indices['NetVM'], checked)
|
||||||
|
|
||||||
def on_actionCPU_toggled(self, checked):
|
def on_actionCPU_toggled(self, checked):
|
||||||
self.showhide_collumn( self.columns_indices['CPU'], checked)
|
self.showhide_column( self.columns_indices['CPU'], checked)
|
||||||
|
|
||||||
def on_actionCPU_Graph_toggled(self, checked):
|
def on_actionCPU_Graph_toggled(self, checked):
|
||||||
self.showhide_collumn( self.columns_indices['CPU Graph'], checked)
|
self.showhide_column( self.columns_indices['CPU Graph'], checked)
|
||||||
|
|
||||||
def on_actionMEM_toggled(self, checked):
|
def on_actionMEM_toggled(self, checked):
|
||||||
self.showhide_collumn( self.columns_indices['MEM'], checked)
|
self.showhide_column( self.columns_indices['MEM'], checked)
|
||||||
|
|
||||||
def on_actionMEM_Graph_toggled(self, checked):
|
def on_actionMEM_Graph_toggled(self, checked):
|
||||||
self.showhide_collumn( self.columns_indices['MEM Graph'], checked)
|
self.showhide_column( self.columns_indices['MEM Graph'], checked)
|
||||||
|
|
||||||
|
|
||||||
def createPopupMenu(self):
|
def createPopupMenu(self):
|
||||||
|
Loading…
Reference in New Issue
Block a user