Icon: deprecate icon_size

pixel_size should be always used now.

Change SMALL_ICON_SIZE to cover the other sizes at settings.ini.

Adds a transformation to keep backwards compatibility for some
time. This will be removed in the future.
This commit is contained in:
Manuel Quiñones 2014-01-13 16:57:22 -03:00
parent 1ced93e14b
commit 5802d67ee1
2 changed files with 25 additions and 7 deletions

View File

@ -32,6 +32,7 @@ from gi.repository import GdkPixbuf
from gi.repository import Rsvg from gi.repository import Rsvg
import cairo import cairo
from sugar3.graphics import style
from sugar3.graphics.xocolor import XoColor from sugar3.graphics.xocolor import XoColor
from sugar3.util import LRU from sugar3.util import LRU
@ -238,10 +239,11 @@ class _IconBuffer(object):
icon_source.set_direction_wildcarded(False) icon_source.set_direction_wildcarded(False)
icon_source.set_size_wildcarded(False) icon_source.set_size_wildcarded(False)
style = widget.get_style() widget_style = widget.get_style()
pixbuf = style.render_icon(icon_source, widget.get_direction(), pixbuf = widget_style.render_icon(
Gtk.StateType.INSENSITIVE, -1, widget, icon_source, widget.get_direction(),
'sugar-icon') Gtk.StateType.INSENSITIVE, -1, widget,
'sugar-icon')
return pixbuf return pixbuf
@ -335,6 +337,10 @@ class Icon(Gtk.Image):
__gtype_name__ = 'SugarIcon' __gtype_name__ = 'SugarIcon'
#FIXME: deprecate icon_size
_MENU_SIZES = (Gtk.IconSize.MENU, Gtk.IconSize.DND,
Gtk.IconSize.SMALL_TOOLBAR, Gtk.IconSize.BUTTON)
def __init__(self, **kwargs): def __init__(self, **kwargs):
self._buffer = _IconBuffer() self._buffer = _IconBuffer()
# HACK: need to keep a reference to the path so it doesn't get garbage # HACK: need to keep a reference to the path so it doesn't get garbage
@ -344,6 +350,10 @@ class Icon(Gtk.Image):
self._alpha = 1.0 self._alpha = 1.0
self._scale = 1.0 self._scale = 1.0
#FIXME: deprecate icon_size
if 'icon_size' in kwargs:
logging.warning("icon_size is deprecated. Use pixel_size instead.")
GObject.GObject.__init__(self, **kwargs) GObject.GObject.__init__(self, **kwargs)
def get_file(self): def get_file(self):
@ -362,10 +372,18 @@ class Icon(Gtk.Image):
if self._buffer.file_name != self.props.file: if self._buffer.file_name != self.props.file:
self._buffer.file_name = self.props.file self._buffer.file_name = self.props.file
#FIXME: deprecate icon_size
pixel_size = None
if self.props.pixel_size == -1: if self.props.pixel_size == -1:
valid_, width, height = Gtk.icon_size_lookup(self.props.icon_size) if self.props.icon_size in self._MENU_SIZES:
pixel_size = style.SMALL_ICON_SIZE
else:
pixel_size = style.STANDARD_ICON_SIZE
else: else:
width = height = self.props.pixel_size pixel_size = self.props.pixel_size
width = height = pixel_size
if self._buffer.width != width or self._buffer.height != height: if self._buffer.width != width or self._buffer.height != height:
self._buffer.width = width self._buffer.width = width
self._buffer.height = height self._buffer.height = height

View File

@ -110,7 +110,7 @@ GRID_CELL_SIZE = zoom(75)
LINE_WIDTH = zoom(2) LINE_WIDTH = zoom(2)
STANDARD_ICON_SIZE = zoom(55) STANDARD_ICON_SIZE = zoom(55)
SMALL_ICON_SIZE = zoom(55 * 0.5) SMALL_ICON_SIZE = zoom(33)
MEDIUM_ICON_SIZE = zoom(55 * 1.5) MEDIUM_ICON_SIZE = zoom(55 * 1.5)
LARGE_ICON_SIZE = zoom(55 * 2.0) LARGE_ICON_SIZE = zoom(55 * 2.0)
XLARGE_ICON_SIZE = zoom(55 * 2.75) XLARGE_ICON_SIZE = zoom(55 * 2.75)