Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/jarabe/controlpanel/gui.py24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/jarabe/controlpanel/gui.py b/src/jarabe/controlpanel/gui.py
index f28b248..c61fb4e 100644
--- a/src/jarabe/controlpanel/gui.py
+++ b/src/jarabe/controlpanel/gui.py
@@ -42,14 +42,8 @@ class ControlPanel(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self)
- self._max_columns = int(0.285 * (float(Gdk.Screen.width()) /
- style.GRID_CELL_SIZE - 3))
-
+ self._calculate_max_columns()
self.set_border_width(style.LINE_WIDTH)
- offset = style.GRID_CELL_SIZE
- width = Gdk.Screen.width() - offset * 2
- height = Gdk.Screen.height() - offset * 2
- self.set_size_request(width, height)
self.set_position(Gtk.WindowPosition.CENTER_ALWAYS)
self.set_decorated(False)
self.set_resizable(False)
@@ -88,15 +82,31 @@ class ControlPanel(Gtk.Window):
self._setup_main()
self._setup_section()
self._show_main_view()
+ Gdk.Screen.get_default().connect('size-changed', self.__size_changed_cb)
def __realize_cb(self, widget):
self.set_type_hint(Gdk.WindowTypeHint.DIALOG)
self.get_window().set_accept_focus(True)
+ def __size_changed_cb(self, event):
+ self._calculate_max_columns()
+
def grab_focus(self):
# overwrite grab focus in order to grab focus on the view
self._main_view.get_child().grab_focus()
+ def _calculate_max_columns(self):
+ self._max_columns = int(0.285 * (float(Gdk.Screen.width()) /
+ style.GRID_CELL_SIZE - 3))
+ offset = style.GRID_CELL_SIZE
+ width = Gdk.Screen.width() - offset * 2
+ height = Gdk.Screen.height() - offset * 2
+ self.set_size_request(width, height)
+ if hasattr(self, '_table'):
+ for child in self._table.get_children():
+ child.destroy()
+ self._setup_options()
+
def _set_canvas(self, canvas):
if self._canvas:
self._main_view.remove(self._canvas)