[arch-commits] Commit in sugar-activity-calculate/trunk (2 files)
Balló György
bgyorgy at archlinux.org
Sat Jun 17 14:41:52 UTC 2017
Date: Saturday, June 17, 2017 @ 14:41:49
Author: bgyorgy
Revision: 237908
upgpkg: sugar-activity-calculate 44-1
Update to new version
Modified:
sugar-activity-calculate/trunk/PKGBUILD
Deleted:
sugar-activity-calculate/trunk/0001-Port-to-GTK3.patch
-------------------------+
0001-Port-to-GTK3.patch | 964 ----------------------------------------------
PKGBUILD | 9
2 files changed, 3 insertions(+), 970 deletions(-)
Deleted: 0001-Port-to-GTK3.patch
===================================================================
--- 0001-Port-to-GTK3.patch 2017-06-17 14:40:36 UTC (rev 237907)
+++ 0001-Port-to-GTK3.patch 2017-06-17 14:41:49 UTC (rev 237908)
@@ -1,964 +0,0 @@
-From 80a5111bd2bde5cc1cafeddd13a76a4a083f5bf5 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ball=C3=83=C2=83=C3=82=C2=B3=20Gy=C3=83=C2=83=C3=82=C2=B6r?=
- =?UTF-8?q?gy?= <ballogyor at gmail.com>
-Date: Tue, 14 Feb 2017 20:49:52 +0100
-Subject: [PATCH] Port to GTK3
-
----
- calculate.py | 105 +++++++++---------
- layout.py | 293 +++++++++++++++++++++++---------------------------
- setup.py | 2 +-
- shareable_activity.py | 10 +-
- svgimage.py | 8 +-
- toolbars.py | 57 +++++-----
- 6 files changed, 227 insertions(+), 248 deletions(-)
-
-diff --git a/calculate.py b/calculate.py
-index d7eeef8..8abb103 100644
---- a/calculate.py
-+++ b/calculate.py
-@@ -25,13 +25,14 @@ from gettext import gettext as _
- import logging
- _logger = logging.getLogger('Calculate')
-
--import pygtk
--pygtk.require('2.0')
--import gtk
-+import gi
-+gi.require_version('Gtk', '3.0')
-+from gi.repository import Gtk
-+from gi.repository import Gdk
- import base64
-
--import sugar.profile
--from sugar.graphics.xocolor import XoColor
-+import sugar3.profile
-+from sugar3.graphics.xocolor import XoColor
-
- from shareable_activity import ShareableActivity
- from layout import CalcLayout
-@@ -63,8 +64,8 @@ def findchar(text, chars, ofs=0):
-
- def _textview_realize_cb(widget):
- '''Change textview properties once window is created.'''
-- win = widget.get_window(gtk.TEXT_WINDOW_TEXT)
-- win.set_cursor(gtk.gdk.Cursor(gtk.gdk.HAND1))
-+ win = widget.get_window(Gtk.TextWindowType.TEXT)
-+ win.set_cursor(Gdk.Cursor.new(Gdk.CursorType.HAND1))
- return False
-
-
-@@ -131,7 +132,7 @@ class Equation:
- return size
-
- def append_with_superscript_tags(self, buf, text, *tags):
-- '''Add a text to a gtk.TextBuffer with superscript tags.'''
-+ '''Add a text to a Gtk.TextBuffer with superscript tags.'''
- fontsize = self.determine_font_size(*tags)
- _logger.debug('font-size: %d', fontsize)
- tagsuper = buf.create_tag(rise=fontsize / 2)
-@@ -184,16 +185,16 @@ class Equation:
-
- def create_lasteq_textbuf(self):
- '''
-- Return a gtk.TextBuffer properly formatted for last equation
-- gtk.TextView.
-+ Return a Gtk.TextBuffer properly formatted for last equation
-+ Gtk.TextView.
- '''
-
- is_error = isinstance(self.result, ParserError)
-- buf = gtk.TextBuffer()
-+ buf = Gtk.TextBuffer()
- tagsmallnarrow = buf.create_tag(font=CalcLayout.FONT_SMALL_NARROW)
- tagbignarrow = buf.create_tag(font=CalcLayout.FONT_BIG_NARROW)
- tagbigger = buf.create_tag(font=CalcLayout.FONT_BIGGER)
-- tagjustright = buf.create_tag(justification=gtk.JUSTIFY_RIGHT)
-+ tagjustright = buf.create_tag(justification=Gtk.Justification.RIGHT)
- tagred = buf.create_tag(foreground='#FF0000')
-
- # Add label and equation
-@@ -233,39 +234,39 @@ class Equation:
- """
- Create a history object for this equation.
- In case of an SVG result this will be the image, otherwise it will
-- return a properly formatted gtk.TextView.
-+ return a properly formatted Gtk.TextView.
- """
-
- if isinstance(self.result, SVGImage):
- return self.result.get_image()
-
-- w = gtk.TextView()
-+ w = Gtk.TextView()
- w.modify_base(
-- gtk.STATE_NORMAL, gtk.gdk.color_parse(self.color.get_fill_color()))
-+ Gtk.StateType.NORMAL, Gdk.color_parse(self.color.get_fill_color()))
- w.modify_bg(
-- gtk.STATE_NORMAL,
-- gtk.gdk.color_parse(self.color.get_stroke_color()))
-- w.set_wrap_mode(gtk.WRAP_WORD_CHAR)
-- w.set_border_window_size(gtk.TEXT_WINDOW_LEFT, 4)
-- w.set_border_window_size(gtk.TEXT_WINDOW_RIGHT, 4)
-- w.set_border_window_size(gtk.TEXT_WINDOW_TOP, 4)
-- w.set_border_window_size(gtk.TEXT_WINDOW_BOTTOM, 4)
-+ Gtk.StateType.NORMAL,
-+ Gdk.color_parse(self.color.get_stroke_color()))
-+ w.set_wrap_mode(Gtk.WrapMode.WORD_CHAR)
-+ w.set_border_window_size(Gtk.TextWindowType.LEFT, 4)
-+ w.set_border_window_size(Gtk.TextWindowType.RIGHT, 4)
-+ w.set_border_window_size(Gtk.TextWindowType.TOP, 4)
-+ w.set_border_window_size(Gtk.TextWindowType.BOTTOM, 4)
- w.connect('realize', _textview_realize_cb)
- buf = w.get_buffer()
-
- tagsmall = buf.create_tag(font=CalcLayout.FONT_SMALL)
- tagsmallnarrow = buf.create_tag(font=CalcLayout.FONT_SMALL_NARROW)
- tagbig = buf.create_tag(font=CalcLayout.FONT_BIG,
-- justification=gtk.JUSTIFY_RIGHT)
-+ justification=Gtk.Justification.RIGHT)
- # TODO Fix for old Sugar 0.82 builds, red_float not available
- bright = (
-- gtk.gdk.color_parse(self.color.get_fill_color()).red_float +
-- gtk.gdk.color_parse(self.color.get_fill_color()).green_float +
-- gtk.gdk.color_parse(self.color.get_fill_color()).blue_float) / 3.0
-+ Gdk.color_parse(self.color.get_fill_color()).red_float +
-+ Gdk.color_parse(self.color.get_fill_color()).green_float +
-+ Gdk.color_parse(self.color.get_fill_color()).blue_float) / 3.0
- if bright < 0.5:
-- col = gtk.gdk.color_parse('white')
-+ col = Gdk.color_parse('white')
- else:
-- col = gtk.gdk.color_parse('black')
-+ col = Gdk.color_parse('black')
- tagcolor = buf.create_tag(foreground=col)
-
- # Add label, equation and result
-@@ -371,7 +372,7 @@ class Calculate(ShareableActivity):
- self.KEYMAP['divide'] = self.ml.div_sym
- self.KEYMAP['equal'] = self.ml.equ_sym
-
-- self.clipboard = gtk.Clipboard()
-+ self.clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
- self.select_reason = self.SELECT_SELECT
- self.buffer = u""
- self.showing_version = 0
-@@ -381,7 +382,7 @@ class Calculate(ShareableActivity):
-
- self.connect("key_press_event", self.keypress_cb)
- self.connect("destroy", self.cleanup_cb)
-- self.color = sugar.profile.get_color()
-+ self.color = sugar3.profile.get_color()
-
- self.layout = CalcLayout(self)
- self.label_entry = self.layout.label_entry
-@@ -561,34 +562,34 @@ class Calculate(ShareableActivity):
- return res is not None
-
- def create_var_textview(self, name, value):
-- """Create a gtk.TextView for a variable"""
-+ """Create a Gtk.TextView for a variable"""
-
- reserved = ["Ans", "LastEqn", "help"]
- if name in reserved:
- return None
-- w = gtk.TextView()
-+ w = Gtk.TextView()
- w.modify_base(
-- gtk.STATE_NORMAL, gtk.gdk.color_parse(self.color.get_fill_color()))
-+ Gtk.StateType.NORMAL, Gdk.color_parse(self.color.get_fill_color()))
- w.modify_bg(
-- gtk.STATE_NORMAL,
-- gtk.gdk.color_parse(self.color.get_stroke_color()))
-- w.set_wrap_mode(gtk.WRAP_WORD_CHAR)
-- w.set_border_window_size(gtk.TEXT_WINDOW_LEFT, 4)
-- w.set_border_window_size(gtk.TEXT_WINDOW_RIGHT, 4)
-- w.set_border_window_size(gtk.TEXT_WINDOW_TOP, 4)
-- w.set_border_window_size(gtk.TEXT_WINDOW_BOTTOM, 4)
-+ Gtk.StateType.NORMAL,
-+ Gdk.color_parse(self.color.get_stroke_color()))
-+ w.set_wrap_mode(Gtk.WrapMode.WORD_CHAR)
-+ w.set_border_window_size(Gtk.TextWindowType.LEFT, 4)
-+ w.set_border_window_size(Gtk.TextWindowType.RIGHT, 4)
-+ w.set_border_window_size(Gtk.TextWindowType.TOP, 4)
-+ w.set_border_window_size(Gtk.TextWindowType.BOTTOM, 4)
- w.connect('realize', _textview_realize_cb)
- buf = w.get_buffer()
-
- # TODO Fix for old Sugar 0.82 builds, red_float not available
- bright = (
-- gtk.gdk.color_parse(self.color.get_fill_color()).red_float +
-- gtk.gdk.color_parse(self.color.get_fill_color()).green_float +
-- gtk.gdk.color_parse(self.color.get_fill_color()).blue_float) / 3.0
-+ Gdk.color_parse(self.color.get_fill_color()).red_float +
-+ Gdk.color_parse(self.color.get_fill_color()).green_float +
-+ Gdk.color_parse(self.color.get_fill_color()).blue_float) / 3.0
- if bright < 0.5:
-- col = gtk.gdk.color_parse('white')
-+ col = Gdk.color_parse('white')
- else:
-- col = gtk.gdk.color_parse('black')
-+ col = Gdk.color_parse('black')
-
- tag = buf.create_tag(font=CalcLayout.FONT_SMALL_NARROW,
- foreground=col)
-@@ -785,7 +786,7 @@ class Calculate(ShareableActivity):
- def text_copy(self):
- if self.layout.graph_selected is not None:
- self.clipboard.set_image(
-- self.layout.graph_selected.child.get_pixbuf())
-+ self.layout.graph_selected.get_child().get_pixbuf())
- self.layout.toggle_select_graph(self.layout.graph_selected)
- else:
- str = self.text_entry.get_text()
-@@ -817,20 +818,20 @@ class Calculate(ShareableActivity):
- if not self.text_entry.is_focus():
- return
-
-- key = gtk.gdk.keyval_name(event.keyval)
-+ key = Gdk.keyval_name(event.keyval)
- if event.hardware_keycode == 219:
-- if (event.state & gtk.gdk.SHIFT_MASK):
-+ if (event.get_state() & Gdk.ModifierType.SHIFT_MASK):
- key = 'divide'
- else:
- key = 'multiply'
- _logger.debug('Key: %s (%r, %r)', key,
- event.keyval, event.hardware_keycode)
-
-- if event.state & gtk.gdk.CONTROL_MASK:
-+ if event.get_state() & Gdk.ModifierType.CONTROL_MASK:
- if key in self.CTRL_KEYMAP:
- f = self.CTRL_KEYMAP[key]
- return f(self)
-- elif (event.state & gtk.gdk.SHIFT_MASK) and key in self.SHIFT_KEYMAP:
-+ elif (event.get_state() & Gdk.ModifierType.SHIFT_MASK) and key in self.SHIFT_KEYMAP:
- f = self.SHIFT_KEYMAP[key]
- return f(self)
- elif unicode(key) in self.IDENTIFIER_CHARS:
-@@ -965,9 +966,9 @@ class Calculate(ShareableActivity):
-
-
- def main():
-- win = gtk.Window(gtk.WINDOW_TOPLEVEL)
-+ win = Gtk.Window(Gtk.WindowType.TOPLEVEL)
- t = Calculate(win)
-- gtk.main()
-+ Gtk.main()
- return 0
-
- if __name__ == "__main__":
-diff --git a/layout.py b/layout.py
-index 6075afb..22560f1 100644
---- a/layout.py
-+++ b/layout.py
-@@ -19,13 +19,14 @@
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
- from gettext import gettext as _
--import pygtk
--pygtk.require('2.0')
--import gtk
--import pango
--from sugar.activity import activity
--import sugar.profile
--from sugar.graphics.combobox import ComboBox
-+import gi
-+gi.require_version('Gtk', '3.0')
-+from gi.repository import Gtk
-+from gi.repository import Gdk
-+from gi.repository import Pango
-+from sugar3.activity import activity
-+import sugar3.profile
-+from sugar3.graphics.combobox import ComboBox
- from toolbars import EditToolbar
- from toolbars import AlgebraToolbar
- from toolbars import TrigonometryToolbar
-@@ -33,9 +34,9 @@ from toolbars import BooleanToolbar
- from toolbars import MiscToolbar
-
- try:
-- from sugar.graphics.toolbarbox import ToolbarButton, ToolbarBox
-- from sugar.activity.widgets import ActivityToolbarButton
-- from sugar.activity.widgets import StopButton
-+ from sugar3.graphics.toolbarbox import ToolbarButton, ToolbarBox
-+ from sugar3.activity.widgets import ActivityToolbarButton
-+ from sugar3.activity.widgets import StopButton
- except ImportError:
- pass
-
-@@ -64,7 +65,7 @@ class CalcLayout:
- self.create_dialog()
-
- def create_color(self, rf, gf, bf):
-- return gtk.gdk.Color(int(rf * 0xFFFF), int(gf * 0xFFFF),
-+ return Gdk.Color(int(rf * 0xFFFF), int(gf * 0xFFFF),
- int(bf * 0xFFFF))
-
- def create_button_data(self):
-@@ -134,75 +135,51 @@ class CalcLayout:
- """Setup most of the dialog."""
-
- # Toolbar
-- try:
-- self._toolbar_box = ToolbarBox()
--
-- activity_button = ActivityToolbarButton(self._parent)
-- self._toolbar_box.toolbar.insert(activity_button, 0)
--
-- def append(icon_name, label, page, position):
-- toolbar_button = ToolbarButton()
-- toolbar_button.props.page = page
-- toolbar_button.props.icon_name = icon_name
-- toolbar_button.props.label = label
-- self._toolbar_box.toolbar.insert(toolbar_button, position)
--
-- append('toolbar-edit',
-- _('Edit'),
-- EditToolbar(self._parent),
-- -1)
--
-- append('toolbar-algebra',
-- _('Algebra'),
-- AlgebraToolbar(self._parent),
-- -1)
--
-- append('toolbar-trigonometry',
-- _('Trigonometry'),
-- TrigonometryToolbar(self._parent),
-- -1)
--
-- append('toolbar-boolean',
-- _('Boolean'),
-- BooleanToolbar(self._parent),
-- -1)
--
-- self._misc_toolbar = MiscToolbar(
-- self._parent,
-- target_toolbar=self._toolbar_box.toolbar)
--
-- append('toolbar-constants',
-- _('Miscellaneous'),
-- self._misc_toolbar,
-- 5)
--
-- self._stop_separator = gtk.SeparatorToolItem()
-- self._stop_separator.props.draw = False
-- self._stop_separator.set_expand(True)
-- self._stop_separator.show()
-- self._toolbar_box.toolbar.insert(self._stop_separator, -1)
--
-- self._stop = StopButton(self._parent)
-- self._toolbar_box.toolbar.insert(self._stop, -1)
--
-- self._toolbar_box.show_all()
-- self._parent.set_toolbar_box(self._toolbar_box)
--
-- except NameError:
-- # Use old toolbar design
-- toolbox = activity.ActivityToolbox(self._parent)
-- self._parent.set_toolbox(toolbox)
-- toolbox.add_toolbar(_('Edit'), EditToolbar(self._parent))
-- toolbox.add_toolbar(_('Algebra'), AlgebraToolbar(self._parent))
-- toolbox.add_toolbar(
-- _('Trigonometry'), TrigonometryToolbar(self._parent))
-- toolbox.add_toolbar(_('Boolean'), BooleanToolbar(self._parent))
-- toolbox.add_toolbar(_('Miscellaneous'), MiscToolbar(self._parent))
-- toolbox.show_all()
-+ self._toolbar_box = ToolbarBox()
-+ activity_button = ActivityToolbarButton(self._parent)
-+ self._toolbar_box.toolbar.insert(activity_button, 0)
-+ def append(icon_name, label, page, position):
-+ toolbar_button = ToolbarButton()
-+ toolbar_button.props.page = page
-+ toolbar_button.props.icon_name = icon_name
-+ toolbar_button.props.label = label
-+ self._toolbar_box.toolbar.insert(toolbar_button, position)
-+ append('toolbar-edit',
-+ _('Edit'),
-+ EditToolbar(self._parent),
-+ -1)
-+ append('toolbar-algebra',
-+ _('Algebra'),
-+ AlgebraToolbar(self._parent),
-+ -1)
-+ append('toolbar-trigonometry',
-+ _('Trigonometry'),
-+ TrigonometryToolbar(self._parent),
-+ -1)
-+ append('toolbar-boolean',
-+ _('Boolean'),
-+ BooleanToolbar(self._parent),
-+ -1)
-+ self._misc_toolbar = MiscToolbar(
-+ self._parent,
-+ target_toolbar=self._toolbar_box.toolbar)
-+ append('toolbar-constants',
-+ _('Miscellaneous'),
-+ self._misc_toolbar,
-+ 5)
-+ self._stop_separator = Gtk.SeparatorToolItem()
-+ self._stop_separator.props.draw = False
-+ self._stop_separator.set_expand(True)
-+ self._stop_separator.show()
-+ self._toolbar_box.toolbar.insert(self._stop_separator, -1)
-+ self._stop = StopButton(self._parent)
-+ self._toolbar_box.toolbar.insert(self._stop, -1)
-+ self._toolbar_box.show_all()
-+ self._parent.set_toolbar_box(self._toolbar_box)
-
- # Some layout constants
-- self.input_font = pango.FontDescription(str='sans bold 12')
-- self.button_font = pango.FontDescription(str='sans bold 16')
-+ self.input_font = Pango.FontDescription('sans bold 12')
-+ self.button_font = Pango.FontDescription('sans bold 16')
- self.col_white = self.create_color(1.00, 1.00, 1.00)
- self.col_gray1 = self.create_color(0.76, 0.76, 0.76)
- self.col_gray2 = self.create_color(0.50, 0.50, 0.50)
-@@ -211,31 +188,31 @@ class CalcLayout:
- self.col_red = self.create_color(1.00, 0.00, 0.00)
-
- # Big - Table, 16 rows, 10 columns, homogeneously divided
-- self.grid = gtk.Table(26, 11, True)
-- self.grid.set_border_width(0)
-- self.grid.set_row_spacings(0)
-- self.grid.set_col_spacings(4)
-+ self.grid = Gtk.Grid()
-+ self.grid.set_column_homogeneous (True)
-+ self.grid.set_row_spacing(0)
-+ self.grid.set_column_spacing(4)
-
- # Left part: container and input
-- vc1 = gtk.VBox(False, 0)
-- hc1 = gtk.HBox(False, 10)
-- eb = gtk.EventBox()
-+ vc1 = Gtk.VBox(False, 0)
-+ hc1 = Gtk.HBox(False, 10)
-+ eb = Gtk.EventBox()
- eb.add(hc1)
-- eb.modify_bg(gtk.STATE_NORMAL, self.col_black)
-+ eb.modify_bg(Gtk.StateType.NORMAL, self.col_black)
- eb.set_border_width(12)
-- eb2 = gtk.EventBox()
-+ eb2 = Gtk.EventBox()
- eb2.add(eb)
-- eb2.modify_bg(gtk.STATE_NORMAL, self.col_black)
-- label1 = gtk.Label(_('Label:'))
-- label1.modify_fg(gtk.STATE_NORMAL, self.col_white)
-+ eb2.modify_bg(Gtk.StateType.NORMAL, self.col_black)
-+ label1 = Gtk.Label(label=_('Label:'))
-+ label1.modify_fg(Gtk.StateType.NORMAL, self.col_white)
- label1.set_alignment(1, 0.5)
- hc1.pack_start(label1, expand=False, fill=False, padding=10)
-- self.label_entry = gtk.Entry()
-- self.label_entry.modify_bg(gtk.STATE_INSENSITIVE, self.col_black)
-+ self.label_entry = Gtk.Entry()
-+ self.label_entry.modify_bg(Gtk.StateType.INSENSITIVE, self.col_black)
- hc1.pack_start(self.label_entry, expand=True, fill=True, padding=0)
-- vc1.pack_start(eb2, expand=False)
-+ vc1.pack_start(eb2, False, True, 0)
-
-- self.text_entry = gtk.Entry()
-+ self.text_entry = Gtk.Entry()
- try:
- self.text_entry.props.im_module = 'gtk-im-context-simple'
- except AttributeError:
-@@ -243,95 +220,95 @@ class CalcLayout:
- self.text_entry.set_size_request(-1, 75)
- self.text_entry.connect('key_press_event', self._parent.ignore_key_cb)
- self.text_entry.modify_font(self.input_font)
-- self.text_entry.modify_bg(gtk.STATE_INSENSITIVE, self.col_black)
-- eb = gtk.EventBox()
-+ self.text_entry.modify_bg(Gtk.StateType.INSENSITIVE, self.col_black)
-+ eb = Gtk.EventBox()
- eb.add(self.text_entry)
-- eb.modify_bg(gtk.STATE_NORMAL, self.col_black)
-+ eb.modify_bg(Gtk.StateType.NORMAL, self.col_black)
- eb.set_border_width(12)
-- eb2 = gtk.EventBox()
-+ eb2 = Gtk.EventBox()
- eb2.add(eb)
-- eb2.modify_bg(gtk.STATE_NORMAL, self.col_black)
-+ eb2.modify_bg(Gtk.StateType.NORMAL, self.col_black)
- vc1.pack_start(eb2, expand=True, fill=True, padding=0)
-- self.grid.attach(vc1, 0, 7, 0, 6)
-+ self.grid.attach(vc1, 0, 0, 7, 6)
-
- # Left part: buttons
-- self.pad = gtk.Table(9, 6, True)
-- self.pad.set_row_spacings(12)
-- self.pad.set_col_spacings(12)
-- self.pad.set_border_width(12)
-+ self.pad = Gtk.Grid()
-+ self.pad.set_column_homogeneous (True)
-+ self.pad.set_row_spacing(6)
-+ self.pad.set_column_spacing(6)
- self.create_button_data()
- self.buttons = {}
- for x, y, w, h, cap, bgcol, cb in self.button_data:
- button = self.create_button(
- _(cap), cb, self.col_white, bgcol, w, h)
- self.buttons[cap] = button
-- self.pad.attach(button, x, x + w, y, y + h)
-+ self.pad.attach(button, x, y, w, h)
-
-- eb = gtk.EventBox()
-+ eb = Gtk.EventBox()
- eb.add(self.pad)
-- eb.modify_bg(gtk.STATE_NORMAL, self.col_black)
-- self.grid.attach(eb, 0, 7, 6, 26)
-+ eb.modify_bg(Gtk.StateType.NORMAL, self.col_black)
-+ self.grid.attach(eb, 0, 6, 7, 20)
-
- # Right part: container and equation button
-- hc2 = gtk.HBox()
-+ hc2 = Gtk.HBox()
- combo = ComboBox()
- combo.append_item(0, _('All equations'))
- combo.append_item(1, _('My equations'))
- combo.append_item(2, _('Show variables'))
- combo.set_active(0)
- combo.connect('changed', self._history_filter_cb)
-- hc2.pack_start(combo)
-+ hc2.pack_start(combo, True, True, 0)
- hc2.set_border_width(6)
-- self.grid.attach(hc2, 7, 11, 0, 2)
-+ self.grid.attach(hc2, 7, 0, 4, 2)
-
- # Right part: last equation
-- self.last_eq = gtk.TextView()
-+ self.last_eq = Gtk.TextView()
- self.last_eq.set_editable(False)
-- self.last_eq.set_wrap_mode(gtk.WRAP_WORD_CHAR)
-+ self.last_eq.set_wrap_mode(Gtk.WrapMode.WORD_CHAR)
- self.last_eq.connect('realize', self._textview_realize_cb)
-- self.last_eq.modify_base(gtk.STATE_NORMAL, gtk.gdk.color_parse(
-- sugar.profile.get_color().get_fill_color()))
-- self.last_eq.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse(
-- sugar.profile.get_color().get_stroke_color()))
-- self.last_eq.set_border_window_size(gtk.TEXT_WINDOW_LEFT, 4)
-- self.last_eq.set_border_window_size(gtk.TEXT_WINDOW_RIGHT, 4)
-- self.last_eq.set_border_window_size(gtk.TEXT_WINDOW_TOP, 4)
-- self.last_eq.set_border_window_size(gtk.TEXT_WINDOW_BOTTOM, 4)
-+ self.last_eq.modify_base(Gtk.StateType.NORMAL, Gdk.color_parse(
-+ sugar3.profile.get_color().get_fill_color()))
-+ self.last_eq.modify_bg(Gtk.StateType.NORMAL, Gdk.color_parse(
-+ sugar3.profile.get_color().get_stroke_color()))
-+ self.last_eq.set_border_window_size(Gtk.TextWindowType.LEFT, 4)
-+ self.last_eq.set_border_window_size(Gtk.TextWindowType.RIGHT, 4)
-+ self.last_eq.set_border_window_size(Gtk.TextWindowType.TOP, 4)
-+ self.last_eq.set_border_window_size(Gtk.TextWindowType.BOTTOM, 4)
-
- # TODO Fix for old Sugar 0.82 builds, red_float not available
-- xo_color = sugar.profile.get_color()
-+ xo_color = sugar3.profile.get_color()
- bright = (
-- gtk.gdk.color_parse(xo_color.get_fill_color()).red_float +
-- gtk.gdk.color_parse(xo_color.get_fill_color()).green_float +
-- gtk.gdk.color_parse(xo_color.get_fill_color()).blue_float) / 3.0
-+ Gdk.color_parse(xo_color.get_fill_color()).red_float +
-+ Gdk.color_parse(xo_color.get_fill_color()).green_float +
-+ Gdk.color_parse(xo_color.get_fill_color()).blue_float) / 3.0
- if bright < 0.5:
-- self.last_eq.modify_text(gtk.STATE_NORMAL, self.col_white)
-+ self.last_eq.modify_text(Gtk.StateType.NORMAL, self.col_white)
- else:
-- self.last_eq.modify_text(gtk.STATE_NORMAL, self.col_black)
-+ self.last_eq.modify_text(Gtk.StateType.NORMAL, self.col_black)
-
-- self.grid.attach(self.last_eq, 7, 11, 2, 7)
-+ self.grid.attach(self.last_eq, 7, 2, 4, 5)
-
- # Right part: history
-- scrolled_window = gtk.ScrolledWindow()
-- scrolled_window.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
-+ scrolled_window = Gtk.ScrolledWindow()
-+ scrolled_window.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)
-
-- self.history_vbox = gtk.VBox()
-+ self.history_vbox = Gtk.VBox()
- self.history_vbox.set_homogeneous(False)
- self.history_vbox.set_border_width(0)
- self.history_vbox.set_spacing(4)
-
-- self.variable_vbox = gtk.VBox()
-+ self.variable_vbox = Gtk.VBox()
- self.variable_vbox.set_homogeneous(False)
- self.variable_vbox.set_border_width(0)
- self.variable_vbox.set_spacing(4)
-
-- vbox = gtk.VBox()
-- vbox.pack_start(self.history_vbox)
-- vbox.pack_start(self.variable_vbox)
-+ vbox = Gtk.VBox()
-+ vbox.pack_start(self.history_vbox, True, True, 0)
-+ vbox.pack_start(self.variable_vbox, True, True, 0)
- scrolled_window.add_with_viewport(vbox)
-- self.grid.attach(scrolled_window, 7, 11, 7, 26)
-+ self.grid.attach(scrolled_window, 7, 7, 4, 19)
-
-- gtk.gdk.screen_get_default().connect('size-changed',
-+ Gdk.Screen.get_default().connect('size-changed',
- self._configure_cb)
-
- def _configure_cb(self, event):
-@@ -369,19 +346,19 @@ class CalcLayout:
- widget.set_visible_window(True)
- widget.set_above_child(True)
- self.graph_selected = widget
-- white = gtk.gdk.color_parse('white')
-- widget.modify_bg(gtk.STATE_NORMAL, white)
-+ white = Gdk.color_parse('white')
-+ widget.modify_bg(Gtk.StateType.NORMAL, white)
- else:
- widget.set_visible_window(False)
- self.graph_selected = False
-
- def add_equation(self, textview, own, prepend=False):
-- """Add a gtk.TextView of an equation to the history_vbox."""
-+ """Add a Gtk.TextView of an equation to the history_vbox."""
-
- GraphEventBox = None
-- if isinstance(textview, gtk.Image):
-+ if isinstance(textview, Gtk.Image):
- # Add the image inside the eventBox
-- GraphEventBox = gtk.EventBox()
-+ GraphEventBox = Gtk.EventBox()
- GraphEventBox.add(textview)
- GraphEventBox.set_visible_window(False)
- GraphEventBox.connect(
-@@ -390,10 +367,10 @@ class CalcLayout:
-
- if prepend:
- if GraphEventBox:
-- self.history_vbox.pack_start(GraphEventBox, False, True)
-+ self.history_vbox.pack_start(GraphEventBox, False, True, 0)
- self.history_vbox.reorder_child(GraphEventBox, 0)
- else:
-- self.history_vbox.pack_start(textview, False, True)
-+ self.history_vbox.pack_start(textview, False, True, 0)
- self.history_vbox.reorder_child(textview, 0)
- else:
- if GraphEventBox:
-@@ -404,7 +381,7 @@ class CalcLayout:
- if own:
- if GraphEventBox:
- self._own_equations.append(GraphEventBox)
-- GraphEventBox.child.show()
-+ GraphEventBox.get_child().show()
- else:
- self._own_equations.append(textview)
- textview.show()
-@@ -412,7 +389,7 @@ class CalcLayout:
- if self._showing_all_history:
- if GraphEventBox:
- self._other_equations.append(GraphEventBox)
-- GraphEventBox.child.show()
-+ GraphEventBox.get_child().show()
- else:
- self._other_equations.append(textview)
- textview.show()
-@@ -421,8 +398,8 @@ class CalcLayout:
- """Show both owned and other equations."""
- self._showing_all_history = True
- for key in self._other_equations:
-- if isinstance(key, gtk.EventBox):
-- key.child.show()
-+ if isinstance(key, Gtk.EventBox):
-+ key.get_child().show()
- else:
- key.show()
-
-@@ -430,20 +407,20 @@ class CalcLayout:
- """Show only owned equations."""
- self._showing_all_history = False
- for key in self._other_equations:
-- if isinstance(key, gtk.EventBox):
-- key.child.hide()
-+ if isinstance(key, Gtk.EventBox):
-+ key.get_child().hide()
- else:
- key.hide()
-
- def add_variable(self, varname, textview):
-- """Add a gtk.TextView of a variable to the variable_vbox."""
-+ """Add a Gtk.TextView of a variable to the variable_vbox."""
-
- if varname in self._var_textviews:
- self.variable_vbox.remove(self._var_textviews[varname])
- del self._var_textviews[varname]
-
- self._var_textviews[varname] = textview
-- self.variable_vbox.pack_start(textview, False, True)
-+ self.variable_vbox.pack_start(textview, False, True, 0)
-
- # Reorder textviews for a sorted list
- names = self._var_textviews.keys()
-@@ -461,7 +438,7 @@ class CalcLayout:
-
- def create_button(self, cap, cb, fgcol, bgcol, width, height):
- """Create a button that is set up properly."""
-- button = gtk.Button(_(cap))
-+ button = Gtk.Button(_(cap))
- self.modify_button_appearance(button, fgcol, bgcol, width, height)
- button.connect("clicked", cb)
- button.connect("key_press_event", self._parent.ignore_key_cb)
-@@ -473,9 +450,9 @@ class CalcLayout:
- height = 50 * height
- button.get_child().set_size_request(width, height)
- button.get_child().modify_font(self.button_font)
-- button.get_child().modify_fg(gtk.STATE_NORMAL, fgcol)
-- button.modify_bg(gtk.STATE_NORMAL, bgcol)
-- button.modify_bg(gtk.STATE_PRELIGHT, bgcol)
-+ button.get_child().modify_fg(Gtk.StateType.NORMAL, fgcol)
-+ button.modify_bg(Gtk.StateType.NORMAL, bgcol)
-+ button.modify_bg(Gtk.StateType.PRELIGHT, bgcol)
-
- def _history_filter_cb(self, combo):
- selection = combo.get_active()
-@@ -490,6 +467,6 @@ class CalcLayout:
-
- def _textview_realize_cb(self, widget):
- '''Change textview properties once window is created.'''
-- win = widget.get_window(gtk.TEXT_WINDOW_TEXT)
-- win.set_cursor(gtk.gdk.Cursor(gtk.gdk.HAND1))
-+ win = widget.get_window(Gtk.TextWindowType.TEXT)
-+ win.set_cursor(Gdk.Cursor.new(Gdk.CursorType.HAND1))
- return False
-diff --git a/setup.py b/setup.py
-index ec0f64e..9a141b3 100755
---- a/setup.py
-+++ b/setup.py
-@@ -1,3 +1,3 @@
- #!/usr/bin/env python
--from sugar.activity import bundlebuilder
-+from sugar3.activity import bundlebuilder
- bundlebuilder.start()
-diff --git a/shareable_activity.py b/shareable_activity.py
-index 2f38737..79bdb3b 100644
---- a/shareable_activity.py
-+++ b/shareable_activity.py
-@@ -1,10 +1,10 @@
- import dbus
--import gobject
-+from gi.repository import GObject
- import telepathy
-
--from sugar.activity import activity
--from sugar.presence import presenceservice
--from sugar.presence.sugartubeconn import SugarTubeConnection
-+from sugar3.activity import activity
-+from sugar3.presence import presenceservice
-+from sugar3.presence.sugartubeconn import SugarTubeConnection
-
- import logging
- _logger = logging.getLogger('ShareableActivity')
-@@ -258,7 +258,7 @@ class ShareableActivity(activity.Activity):
- return
-
- self._syncreq_buddy = 0
-- self._sync_hid = gobject.timeout_add(2000, self._request_sync_cb)
-+ self._sync_hid = GObject.timeout_add(2000, self._request_sync_cb)
- self._request_sync_cb()
-
- def _request_sync_cb(self):
-diff --git a/svgimage.py b/svgimage.py
-index 6a70b2b..96234a4 100644
---- a/svgimage.py
-+++ b/svgimage.py
-@@ -20,8 +20,8 @@
- import logging
- _logger = logging.getLogger('SVGImage')
-
--import gtk
--import rsvg
-+from gi.repository import Gtk
-+from gi.repository import Rsvg
-
-
- class SVGImage:
-@@ -39,9 +39,9 @@ class SVGImage:
- return self._svg_data
-
- def render_svg(self):
-- self._handle = rsvg.Handle(data=self._svg_data)
-+ self._handle = Rsvg.Handle.new_from_data(self._svg_data)
- self._pixbuf = self._handle.get_pixbuf()
-- self._image = gtk.Image()
-+ self._image = Gtk.Image()
- self._image.set_from_pixbuf(self._pixbuf)
- self._image.set_alignment(0.5, 0)
- return self._image
-diff --git a/toolbars.py b/toolbars.py
-index 0513944..c6b7102 100644
---- a/toolbars.py
-+++ b/toolbars.py
-@@ -1,16 +1,17 @@
- # -*- coding: utf-8 -*-
- # toolbars.py, see CalcActivity.py for info
-
--import pygtk
--pygtk.require('2.0')
--import gtk
-+import gi
-+gi.require_version('Gtk', '3.0')
-+from gi.repository import Gtk
-+from gi.repository import Gdk
- from mathlib import MathLib
-
--from sugar.graphics.palette import Palette
--from sugar.graphics.menuitem import MenuItem
--from sugar.graphics.toolbutton import ToolButton
--from sugar.graphics.toggletoolbutton import ToggleToolButton
--from sugar.graphics.style import GRID_CELL_SIZE
-+from sugar3.graphics.palette import Palette
-+from sugar3.graphics.menuitem import MenuItem
-+from sugar3.graphics.toolbutton import ToolButton
-+from sugar3.graphics.toggletoolbutton import ToggleToolButton
-+from sugar3.graphics.style import GRID_CELL_SIZE
-
- import logging
- _logger = logging.getLogger('calc-activity')
-@@ -22,7 +23,7 @@ def _icon_exists(name):
- if name == '':
- return False
-
-- theme = gtk.icon_theme_get_default()
-+ theme = Gtk.IconTheme.get_default()
- info = theme.lookup_icon(name, 0, 0)
- if info:
- return True
-@@ -36,12 +37,12 @@ class IconToolButton(ToolButton):
- ToolButton.__init__(self)
-
- if _icon_exists(icon_name):
-- self.set_icon(icon_name)
-+ self.props.icon_name = icon_name
- else:
- if alt_html == '':
- alt_html = icon_name
-
-- label = gtk.Label()
-+ label = Gtk.Label()
- label.set_markup(alt_html)
- label.show()
- self.set_label_widget(label)
-@@ -68,7 +69,7 @@ class IconToggleToolButton(ToggleToolButton):
- ToggleToolButton.__init__(self)
- self.items = items
- if 'icon' in items[0] and _icon_exists(items[0]['icon']):
-- self.set_named_icon(items[0]['icon'])
-+ self.props.icon_name = items[0]['icon']
- elif 'html' in items[0]:
- self.set_label(items[0]['html'])
- # self.set_tooltip(items[0][1])
-@@ -81,7 +82,7 @@ class IconToggleToolButton(ToggleToolButton):
- self.selected = (self.selected + 1) % len(self.items)
- but = self.items[self.selected]
- if 'icon' in but and _icon_exists(but['icon']):
-- self.set_named_icon(but['icon'])
-+ self.props.icon_name = but['icon']
- elif 'html' in but:
- _logger.info('Setting html: %s', but['html'])
- self.set_label(but['html'])
-@@ -93,10 +94,10 @@ class IconToggleToolButton(ToggleToolButton):
- self.callback(but)
-
-
--class TextToggleToolButton(gtk.ToggleToolButton):
-+class TextToggleToolButton(Gtk.ToggleToolButton):
-
- def __init__(self, items, cb, desc, index=False):
-- gtk.ToggleToolButton.__init__(self)
-+ Gtk.ToggleToolButton.__init__(self)
- self.items = items
- self.set_label(items[0])
- self.selected = 0
-@@ -116,17 +117,17 @@ class TextToggleToolButton(gtk.ToggleToolButton):
- self.callback(but)
-
-
--class LineSeparator(gtk.SeparatorToolItem):
-+class LineSeparator(Gtk.SeparatorToolItem):
-
- def __init__(self):
-- gtk.SeparatorToolItem.__init__(self)
-+ Gtk.SeparatorToolItem.__init__(self)
- self.set_draw(True)
-
-
--class EditToolbar(gtk.Toolbar):
-+class EditToolbar(Gtk.Toolbar):
-
- def __init__(self, calc):
-- gtk.Toolbar.__init__(self)
-+ Gtk.Toolbar.__init__(self)
-
- copy_tool = ToolButton('edit-copy')
- copy_tool.set_tooltip(_('Copy'))
-@@ -152,10 +153,10 @@ class EditToolbar(gtk.Toolbar):
- self.show_all()
-
-
--class AlgebraToolbar(gtk.Toolbar):
-+class AlgebraToolbar(Gtk.Toolbar):
-
- def __init__(self, calc):
-- gtk.Toolbar.__init__(self)
-+ Gtk.Toolbar.__init__(self)
-
- self.insert(IconToolButton('algebra-square', _('Square'),
- lambda x: calc.button_pressed(
-@@ -211,10 +212,10 @@ class AlgebraToolbar(gtk.Toolbar):
- self.show_all()
-
-
--class TrigonometryToolbar(gtk.Toolbar):
-+class TrigonometryToolbar(Gtk.Toolbar):
-
- def __init__(self, calc):
-- gtk.Toolbar.__init__(self)
-+ Gtk.Toolbar.__init__(self)
-
- self.insert(IconToolButton(
- 'trigonometry-sin', _('Sine'),
-@@ -268,10 +269,10 @@ class TrigonometryToolbar(gtk.Toolbar):
- self.show_all()
-
-
--class BooleanToolbar(gtk.Toolbar):
-+class BooleanToolbar(Gtk.Toolbar):
-
- def __init__(self, calc):
-- gtk.Toolbar.__init__(self)
-+ Gtk.Toolbar.__init__(self)
-
- self.insert(IconToolButton(
- 'boolean-and', _('Logical and'),
-@@ -300,12 +301,12 @@ class BooleanToolbar(gtk.Toolbar):
- self.show_all()
-
-
--class MiscToolbar(gtk.Toolbar):
-+class MiscToolbar(Gtk.Toolbar):
-
- def __init__(self, calc, target_toolbar=None):
- self._target_toolbar = target_toolbar
-
-- gtk.Toolbar.__init__(self)
-+ Gtk.Toolbar.__init__(self)
-
- self.insert(IconToolButton('constants-pi', _('Pi'),
- lambda x: calc.button_pressed(
-@@ -381,7 +382,7 @@ class MiscToolbar(gtk.Toolbar):
- self.show_all()
-
- def update_layout(self):
-- if gtk.gdk.screen_width() < 14 * GRID_CELL_SIZE or \
-+ if Gdk.Screen.width() < 14 * GRID_CELL_SIZE or \
- self._target_toolbar is None:
- target_toolbar = self
- if self._target_toolbar is not None:
---
-2.11.1
-
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2017-06-17 14:40:36 UTC (rev 237907)
+++ PKGBUILD 2017-06-17 14:41:49 UTC (rev 237908)
@@ -3,7 +3,7 @@
pkgname=sugar-activity-calculate
_pkgname=Calculate
-pkgver=43
+pkgver=44
pkgrel=1
pkgdesc="Graphing calculator for Sugar"
arch=('any')
@@ -12,15 +12,12 @@
groups=('sugar-fructose')
depends=('sugar-toolkit-gtk3')
optdepends=('python2-matplotlib: alternative plotting backend')
-source=(https://download.sugarlabs.org/sources/sucrose/fructose/$_pkgname/$_pkgname-$pkgver.tar.bz2
- 0001-Port-to-GTK3.patch)
-sha256sums=('8fa75a00c5e2799708fdca8ee189c5596558c9c98c6cada3c2e4d6002911a5ed'
- '28fbbe30673dea2a69d1a6600ac35a56b0e3ffe81797b963f87d98364e1b27ab')
+source=(https://download.sugarlabs.org/sources/sucrose/fructose/$_pkgname/$_pkgname-$pkgver.tar.bz2)
+sha256sums=('917c5be892f50e95209c952330bd22c3e4768bfdfe09b5fa78e9e1fa3c9385ab')
prepare() {
cd $_pkgname-$pkgver
sed -i 's@^#!.*python$@#!/usr/bin/python2@' setup.py
- patch -Np1 -i ../0001-Port-to-GTK3.patch
}
package() {
More information about the arch-commits
mailing list