Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSantiago Collazo <scollazo@activitycentral.com>2013-02-26 05:40:04 (GMT)
committer Santiago Collazo <scollazo@activitycentral.com>2013-02-26 05:40:04 (GMT)
commitfb78deebfd5b8a9a4143d8c7ddde557118d8e103 (patch)
treed0876fc3447ce5135ac2163e98f138d31b6629b8
parent29d32189c7d6d862f77ab367a58de617e10a0162 (diff)
parentaf580ced171c3b8badf178091286fdf22bbd549a (diff)
Merge remote-tracking branch 'ajay/0.97.7-as-base' into devel
-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 6b0f240..0a53a60 100644
--- a/src/jarabe/controlpanel/gui.py
+++ b/src/jarabe/controlpanel/gui.py
@@ -16,6 +16,7 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
import os
+from math import ceil
import logging
from gettext import gettext as _
@@ -43,14 +44,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)
@@ -89,15 +84,30 @@ 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'):
+ rows = int(ceil(len(self._options.keys()) / self._max_columns))
+ self._table.resize(rows, self._max_columns)
+
def _set_canvas(self, canvas):
if self._canvas:
self._main_view.remove(self._canvas)