From 1e06f8f03765cc73de9628749d98f0fa100d807e Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Sun, 24 Feb 2013 14:05:11 +0000 Subject: use palette palette if palettes won't fit; fix alignment; add sw --- (limited to 'TurtleArtActivity.py') diff --git a/TurtleArtActivity.py b/TurtleArtActivity.py index 8b5bb42..fbeed25 100644 --- a/TurtleArtActivity.py +++ b/TurtleArtActivity.py @@ -118,32 +118,38 @@ class TurtleArtActivity(activity.Activity): def check_buttons_for_fit(self): ''' Check to see which set of buttons to display ''' - if gtk.gdk.screen_width() > gtk.gdk.screen_height(): + if gtk.gdk.screen_width() > gtk.gdk.screen_height() and \ + gtk.gdk.screen_width() > 799: self.extras_separator.props.draw = True self.extras_separator.show() self.keep_button.show() self.stop_separator.show() - self.palette_toolbar_button.show() self.keep_button2.hide() self.keep_label2.hide() self.samples_button.show() self.samples_button2.hide() self.samples_label2.hide() - self.palette_palette_button.hide() else: self.extras_separator.props.draw = False self.extras_separator.hide() self.keep_button.hide() self.stop_separator.hide() - if self.palette_toolbar_button.is_expanded(): - self.palette_toolbar_button.set_expanded(False) - self.palette_toolbar_button.hide() self.keep_button2.show() self.keep_label2.show() self.samples_button.hide() self.samples_button2.show() self.samples_label2.show() + + # If there are too many palettes to fit, put them in a + # scrolling window + if gtk.gdk.screen_width() / (len(self.palette_buttons) + 2) < 55: + if self.palette_toolbar_button.is_expanded(): + self.palette_toolbar_button.set_expanded(False) + self.palette_toolbar_button.hide() self.palette_palette_button.show() + else: + self.palette_toolbar_button.show() + self.palette_palette_button.hide() # Activity toolbar callbacks def do_save_as_logo_cb(self, button): @@ -767,6 +773,14 @@ class TurtleArtActivity(activity.Activity): self._toolbox.toolbar) self._palette_palette = self.palette_palette_button.get_palette() button_box = gtk.VBox() + button_box.set_homogeneous(False) + button_sw = gtk.ScrolledWindow() + button_sw.set_size_request( + int(gtk.gdk.screen_width() / 3), + gtk.gdk.screen_height() - style.GRID_CELL_SIZE * 3) + button_sw.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC) + button_sw.add_with_viewport(button_box) + button_sw.show() self.palette_buttons = [] for i, palette_name in enumerate(palette_names): @@ -792,7 +806,7 @@ class TurtleArtActivity(activity.Activity): self._make_palette_buttons(self._palette_toolbar) self._palette_toolbar.show() button_box.show_all() - self._palette_palette.set_content(button_box) + self._palette_palette.set_content(button_sw) def _palette_palette_cb(self, button): if self._palette_palette: @@ -1393,10 +1407,12 @@ in order to use the plugin.')) ''' Add a button and a label to a box ''' button_and_label = gtk.HBox() button = self._add_button(name, None, cb, None, arg=cb_args) - button_and_label.pack_start(button) + button_and_label.pack_start(button, False, False, padding=5) label = gtk.Label(tooltip) + label.set_justify(gtk.JUSTIFY_LEFT) + label.set_line_wrap(True) label.show() - button_and_label.pack_start(label) + button_and_label.pack_start(label, False, False, padding=5) box.pack_start(button_and_label) button_and_label.show() return button, label -- cgit v0.9.1