Support correct widget sizes for HiDPI displays

This commit is contained in:
Victor Kareh 2018-02-07 00:25:58 -05:00 committed by Clement Lefebvre
parent eab381470d
commit ce03b1674d

View File

@ -656,20 +656,23 @@ class MenuWin( object ):
self.button_icon.hide() self.button_icon.hide()
else: else:
self.button_icon.show() self.button_icon.show()
# This code calculates width and height for the button_box
# and takes the orientation in account # This code calculates width and height for the button_box
bi_req = self.button_icon.size_request() # and takes the orientation and scale factor in account
sl_req = self.systemlabel.size_request() bi_req = self.button_icon.get_preferred_size()[1]
bi_scale = self.button_icon.get_scale_factor()
sl_req = self.systemlabel.get_preferred_size()[1]
sl_scale = self.systemlabel.get_scale_factor()
if self.applet.get_orient() == MatePanelApplet.AppletOrient.UP or self.applet.get_orient() == MatePanelApplet.AppletOrient.DOWN: if self.applet.get_orient() == MatePanelApplet.AppletOrient.UP or self.applet.get_orient() == MatePanelApplet.AppletOrient.DOWN:
if self.hideIcon: if self.hideIcon:
self.applet.set_size_request( sl_req.width + 2, bi_req.height ) self.applet.set_size_request( sl_req.width / sl_scale + 2, bi_req.height )
else: else:
self.applet.set_size_request( sl_req.width + bi_req.width + 5, bi_req.height ) self.applet.set_size_request( sl_req.width / sl_scale + bi_req.width / bi_scale + 5, bi_req.height )
else: else:
if self.hideIcon: if self.hideIcon:
self.applet.set_size_request( bi_req.width, sl_req.height + 2 ) self.applet.set_size_request( bi_req.width, sl_req.height / sl_scale + 2 )
else: else:
self.applet.set_size_request( bi_req.width, sl_req.height + bi_req.height + 5 ) self.applet.set_size_request( bi_req.width, sl_req.height / sl_scale + bi_req.height / bi_scale + 5 )
def reloadSettings( self, *args ): def reloadSettings( self, *args ):
self.loadSettings() self.loadSettings()