[meld/deprecation-cleanup: 17/48] ui.emblemcellrenderer: Use newer GObject property declaration style
- From: Kai Willadsen <kaiw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [meld/deprecation-cleanup: 17/48] ui.emblemcellrenderer: Use newer GObject property declaration style
- Date: Sun, 2 Dec 2018 02:43:33 +0000 (UTC)
commit 0b18604d04a10a8e486d4445ed0bc3429263e6a3
Author: Kai Willadsen <kai willadsen gmail com>
Date: Thu Apr 26 08:39:33 2018 +1000
ui.emblemcellrenderer: Use newer GObject property declaration style
meld/ui/emblemcellrenderer.py | 85 +++++++++++++++++--------------------------
1 file changed, 33 insertions(+), 52 deletions(-)
---
diff --git a/meld/ui/emblemcellrenderer.py b/meld/ui/emblemcellrenderer.py
index 3851e9bc..d9f369fb 100644
--- a/meld/ui/emblemcellrenderer.py
+++ b/meld/ui/emblemcellrenderer.py
@@ -24,59 +24,40 @@ class EmblemCellRenderer(Gtk.CellRenderer):
__gtype_name__ = "EmblemCellRenderer"
- __gproperties__ = {
- "icon-name": (str, "Named icon",
- "Name for base icon",
- "text-x-generic", GObject.ParamFlags.READWRITE),
- "emblem-name": (str, "Named emblem icon",
- "Name for emblem icon to overlay",
- None, GObject.ParamFlags.READWRITE),
- "secondary-emblem-name": (
- str, "Named secondary emblem icon",
- "Name for secondary emblem icon to overlay",
- None, GObject.ParamFlags.READWRITE),
- "icon-tint": (Gdk.RGBA, "Icon tint",
- "GDK-parseable color to be used to tint icon",
- GObject.ParamFlags.READWRITE),
- }
-
icon_cache = {}
+ icon_name = GObject.Property(
+ type=str,
+ nick='Named icon',
+ blurb='Name for base icon',
+ default='text-x-generic',
+ )
+
+ emblem_name = GObject.Property(
+ type=str,
+ nick='Named emblem icon',
+ blurb='Name for emblem icon to overlay',
+ )
+
+ secondary_emblem_name = GObject.Property(
+ type=str,
+ nick='Named secondary emblem icon',
+ blurb='Name for secondary emblem icon to overlay',
+ )
+
+ icon_tint = GObject.Property(
+ type=Gdk.RGBA,
+ nick='Icon tint',
+ blurb='GDK-parseable color to be used to tint icon',
+ )
+
def __init__(self):
super().__init__()
- self._icon_name = "text-x-generic"
- self._emblem_name = None
- self._secondary_emblem_name = None
- self._icon_tint = None
self._state = None
# FIXME: hardcoded sizes
self._icon_size = 16
self._emblem_size = 8
- def do_set_property(self, pspec, value):
- if pspec.name == "icon-name":
- self._icon_name = value
- elif pspec.name == "emblem-name":
- self._emblem_name = value
- elif pspec.name == "secondary-emblem-name":
- self._secondary_emblem_name = value
- elif pspec.name == "icon-tint":
- self._icon_tint = value
- else:
- raise AttributeError("unknown property %s" % pspec.name)
-
- def do_get_property(self, pspec):
- if pspec.name == "icon-name":
- return self._icon_name
- elif pspec.name == "emblem-name":
- return self._emblem_name
- elif pspec.name == "secondary-emblem-name":
- return self._secondary_emblem_name
- elif pspec.name == "icon-tint":
- return self._icon_tint
- else:
- raise AttributeError("unknown property %s" % pspec.name)
-
def _get_pixbuf(self, name, size):
if (name, size) not in self.icon_cache:
icon_theme = Gtk.IconTheme.get_default()
@@ -91,8 +72,8 @@ class EmblemCellRenderer(Gtk.CellRenderer):
# TODO: Incorporate padding
context.push_group()
- if self._icon_name:
- pixbuf = self._get_pixbuf(self._icon_name, self._icon_size)
+ if self.icon_name:
+ pixbuf = self._get_pixbuf(self.icon_name, self._icon_size)
context.set_operator(cairo.OPERATOR_SOURCE)
# Assumes square icons; may break if we don't get the requested
# size
@@ -102,8 +83,8 @@ class EmblemCellRenderer(Gtk.CellRenderer):
pixbuf.get_width(), pixbuf.get_height())
context.fill()
- if self._icon_tint:
- c = self._icon_tint
+ if self.icon_tint:
+ c = self.icon_tint
r, g, b = c.red, c.green, c.blue
# Figure out the difference between our tint colour and an
# empirically determined (i.e., guessed) satisfying luma and
@@ -115,8 +96,8 @@ class EmblemCellRenderer(Gtk.CellRenderer):
context.set_operator(cairo.OPERATOR_ATOP)
context.paint()
- if self._emblem_name:
- pixbuf = self._get_pixbuf(self._emblem_name, self._emblem_size)
+ if self.emblem_name:
+ pixbuf = self._get_pixbuf(self.emblem_name, self._emblem_size)
x_offset = self._icon_size - self._emblem_size
context.set_operator(cairo.OPERATOR_OVER)
Gdk.cairo_set_source_pixbuf(context, pixbuf, x_offset, 0)
@@ -124,9 +105,9 @@ class EmblemCellRenderer(Gtk.CellRenderer):
cell_area.width, self._emblem_size)
context.fill()
- if self._secondary_emblem_name:
+ if self.secondary_emblem_name:
pixbuf = self._get_pixbuf(
- self._secondary_emblem_name, self._emblem_size)
+ self.secondary_emblem_name, self._emblem_size)
x_offset = self._icon_size - self._emblem_size
y_offset = self._icon_size - self._emblem_size + height_offset
context.set_operator(cairo.OPERATOR_OVER)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]