Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Drake <dsd@laptop.org>2011-12-15 01:23:18 (GMT)
committer Simon Schampijer <simon@schampijer.de>2011-12-15 01:54:50 (GMT)
commit50b4246ea46cdf28dc31e003f55e724c1dce180e (patch)
tree8839433deac9963b52e6639221ac92e85e93b88c
parentfc35856329f79f7de71d2c9f6541fceb39748190 (diff)
Trivial GTK3 porting fixes
Fix some trivial issues missed earlier: various missing imports, some minor API changes to adapt to, do_size_request simple porting, etc.
-rw-r--r--src/sugar3/activity/activity.py1
-rw-r--r--src/sugar3/activity/namingalert.py9
-rw-r--r--src/sugar3/datastore/datastore.py2
-rw-r--r--src/sugar3/graphics/alert.py11
-rw-r--r--src/sugar3/graphics/colorbutton.py4
-rw-r--r--src/sugar3/graphics/combobox.py1
-rw-r--r--src/sugar3/graphics/icon.py2
-rw-r--r--src/sugar3/graphics/iconentry.py3
-rw-r--r--src/sugar3/graphics/objectchooser.py1
-rw-r--r--src/sugar3/graphics/panel.py1
-rw-r--r--src/sugar3/graphics/toolbox.py7
-rw-r--r--src/sugar3/graphics/tray.py28
-rw-r--r--src/sugar3/graphics/window.py26
-rw-r--r--src/sugar3/wm.py4
14 files changed, 60 insertions, 40 deletions
diff --git a/src/sugar3/activity/activity.py b/src/sugar3/activity/activity.py
index 6e23b14..5e9986d 100644
--- a/src/sugar3/activity/activity.py
+++ b/src/sugar3/activity/activity.py
@@ -58,6 +58,7 @@ from functools import partial
from gi.repository import GConf
from gi.repository import Gtk
from gi.repository import Gdk
+from gi.repository import GdkPixbuf
from gi.repository import GObject
import dbus
import dbus.service
diff --git a/src/sugar3/activity/namingalert.py b/src/sugar3/activity/namingalert.py
index b697d04..09c0cb4 100644
--- a/src/sugar3/activity/namingalert.py
+++ b/src/sugar3/activity/namingalert.py
@@ -20,6 +20,7 @@ import os
from gi.repository import Gio
from gi.repository import Gtk
+from gi.repository import Gdk
from gi.repository import GObject
from gi.repository import GConf
@@ -194,18 +195,18 @@ class NamingAlert(Gtk.Window):
header = self._create_header()
body.pack_start(header, False, False, style.DEFAULT_PADDING)
- body.pack_start(self._create_separator(style.DEFAULT_SPACING, True, True, 0), False, False, 0)
+ body.pack_start(self._create_separator(style.DEFAULT_SPACING), False, False, 0)
- body.pack_start(self._create_label(_('Description:', True, True, 0)), False, False, 0)
+ body.pack_start(self._create_label(_('Description:')), False, False, 0)
description = self._activity.metadata.get('description', '')
description_box, self._description = self._create_text_view(description)
body.pack_start(description_box, True, True, 0)
- body.pack_start(self._create_separator(style.DEFAULT_PADDING, True, True, 0), False, False, 0)
+ body.pack_start(self._create_separator(style.DEFAULT_PADDING), False, False, 0)
- body.pack_start(self._create_label(_('Tags:', True, True, 0)), False, False, 0)
+ body.pack_start(self._create_label(_('Tags:')), False, False, 0)
tags = self._activity.metadata.get('tags', '')
tags_box, self._tags = self._create_text_view(tags)
diff --git a/src/sugar3/datastore/datastore.py b/src/sugar3/datastore/datastore.py
index 2ada474..c7a741e 100644
--- a/src/sugar3/datastore/datastore.py
+++ b/src/sugar3/datastore/datastore.py
@@ -231,7 +231,7 @@ class RawObject(object):
'uid': file_path,
'title': os.path.basename(file_path),
'timestamp': stat.st_mtime,
- 'mime_type': Gio.content_type_guess(filename=file_path),
+ 'mime_type': Gio.content_type_guess(file_path, None)[0],
'activity': '',
'activity_id': '',
'icon-color': client.get_string('/desktop/sugar/user/color'),
diff --git a/src/sugar3/graphics/alert.py b/src/sugar3/graphics/alert.py
index e85598a..16392cd 100644
--- a/src/sugar3/graphics/alert.py
+++ b/src/sugar3/graphics/alert.py
@@ -354,10 +354,13 @@ class _TimeoutIcon(Gtk.Alignment):
self._draw(context)
return False
- def do_size_request(self, requisition):
- requisition.height, requisition.width = \
- Gtk.icon_size_lookup(Gtk.IconSize.BUTTON)
- self._text.size_request()
+ def do_get_preferred_width(self):
+ width = Gtk.icon_size_lookup(Gtk.IconSize.BUTTON)[1]
+ return width, width
+
+ def do_get_preferred_height(self):
+ height = Gtk.icon_size_lookup(Gtk.IconSize.BUTTON)[2]
+ return height, height
def _draw(self, context):
w = self.get_allocated_width()
diff --git a/src/sugar3/graphics/colorbutton.py b/src/sugar3/graphics/colorbutton.py
index fbda30d..9f490bb 100644
--- a/src/sugar3/graphics/colorbutton.py
+++ b/src/sugar3/graphics/colorbutton.py
@@ -17,6 +17,8 @@
# Boston, MA 02111-1307, USA.
import gettext
+from gi.repository import Gdk
+from gi.repository import GdkPixbuf
from gi.repository import Gtk
from gi.repository import GObject
import struct
@@ -261,7 +263,7 @@ class _ColorPalette(Palette):
self._swatch_tray = Gtk.Table()
self._picker_hbox.pack_start(self._swatch_tray, True, True, 0)
- self._picker_hbox.pack_start(Gtk.VSeparator(, True, True, 0),
+ self._picker_hbox.pack_start(Gtk.VSeparator(), True, True,
padding=style.DEFAULT_SPACING)
self._chooser_table = Gtk.Table(3, 2)
diff --git a/src/sugar3/graphics/combobox.py b/src/sugar3/graphics/combobox.py
index 3b70f11..170c528 100644
--- a/src/sugar3/graphics/combobox.py
+++ b/src/sugar3/graphics/combobox.py
@@ -21,6 +21,7 @@ STABLE.
from gi.repository import GObject
from gi.repository import Gtk
+from gi.repository import GdkPixbuf
class ComboBox(Gtk.ComboBox):
diff --git a/src/sugar3/graphics/icon.py b/src/sugar3/graphics/icon.py
index 2d98f8a..a1800c7 100644
--- a/src/sugar3/graphics/icon.py
+++ b/src/sugar3/graphics/icon.py
@@ -27,6 +27,8 @@ import logging
from gi.repository import GObject
from gi.repository import Gtk
+from gi.repository import Gdk
+from gi.repository import GdkPixbuf
import cairo
from sugar3.graphics import style
diff --git a/src/sugar3/graphics/iconentry.py b/src/sugar3/graphics/iconentry.py
index 6e1d341..154dfd0 100644
--- a/src/sugar3/graphics/iconentry.py
+++ b/src/sugar3/graphics/iconentry.py
@@ -15,7 +15,10 @@
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
+from gi.repository import GObject
from gi.repository import Gtk
+from gi.repository import Gdk
+from gi.repository import GdkPixbuf
from sugar3.graphics import style
from sugar3.graphics.icon import _SVGLoader
diff --git a/src/sugar3/graphics/objectchooser.py b/src/sugar3/graphics/objectchooser.py
index ed59a94..a904f25 100644
--- a/src/sugar3/graphics/objectchooser.py
+++ b/src/sugar3/graphics/objectchooser.py
@@ -23,6 +23,7 @@ import logging
from gi.repository import GObject
from gi.repository import Gtk
+from gi.repository import Gdk
import dbus
from sugar3.datastore import datastore
diff --git a/src/sugar3/graphics/panel.py b/src/sugar3/graphics/panel.py
index 0e3d76a..c254c21 100644
--- a/src/sugar3/graphics/panel.py
+++ b/src/sugar3/graphics/panel.py
@@ -20,6 +20,7 @@ STABLE.
"""
from gi.repository import Gtk
+from gi.repository import GObject
class Panel(Gtk.VBox):
diff --git a/src/sugar3/graphics/toolbox.py b/src/sugar3/graphics/toolbox.py
index e4e4c32..fedca0b 100644
--- a/src/sugar3/graphics/toolbox.py
+++ b/src/sugar3/graphics/toolbox.py
@@ -50,7 +50,7 @@ class Toolbox(Gtk.VBox):
self._separator.modify_bg(Gtk.StateType.NORMAL,
style.COLOR_PANEL_GREY.get_gdk_color())
self._separator.set_size_request(1, style.TOOLBOX_SEPARATOR_HEIGHT)
- self.pack_start(self._separator, False)
+ self.pack_start(self._separator, False, False, 0)
self._notebook.connect('notify::page', self._notify_page_cb)
@@ -59,8 +59,9 @@ class Toolbox(Gtk.VBox):
def add_toolbar(self, name, toolbar):
label = Gtk.Label(label=name)
- width, height_ = label.size_request()
- label.set_size_request(max(width, style.TOOLBOX_TAB_LABEL_WIDTH), -1)
+ req = label.size_request()
+ label.set_size_request(max(req.width, style.TOOLBOX_TAB_LABEL_WIDTH),
+ -1)
label.set_alignment(0.0, 0.5)
event_box = Gtk.EventBox()
diff --git a/src/sugar3/graphics/tray.py b/src/sugar3/graphics/tray.py
index 07bf3e2..ae8b772 100644
--- a/src/sugar3/graphics/tray.py
+++ b/src/sugar3/graphics/tray.py
@@ -76,14 +76,15 @@ class _TrayViewport(Gtk.Viewport):
assert item in self.traybar.get_children()
# Get the allocation, and make sure that it is visible
+ allocation = item.get_allocation()
if self.orientation == Gtk.Orientation.HORIZONTAL:
adj = self.get_hadjustment()
- start = item.allocation.x
- stop = item.allocation.x + item.allocation.width
+ start = allocation.x
+ stop = allocation.x + allocation.width
else:
adj = self.get_vadjustment()
- start = item.allocation.y
- stop = item.allocation.y + item.allocation.height
+ start = allocation.y
+ stop = allocation.y + allocation.height
if start < adj.get_value():
adj.set_value(start)
@@ -112,14 +113,17 @@ class _TrayViewport(Gtk.Viewport):
new_value = adj.get_value() - allocation.height
adj.set_value(max(adj.get_lower(), new_value))
- def do_size_request(self, requisition):
- child_requisition = self.get_child().size_request()
- if self.orientation == Gtk.Orientation.HORIZONTAL:
- requisition[0] = 0
- requisition[1] = child_requisition[1]
- else:
- requisition[0] = child_requisition[0]
- requisition[1] = 0
+ def do_get_preferred_width(self):
+ if self.orientation == Gtk.Orientation.HORIZONTAL:
+ return Gtk.Viewport.do_get_preferred_width(self)
+ child_minimum, child_natural = self.get_child().get_preferred_size()
+ return child_minimum.width, child_natural.width
+
+ def do_get_preferred_height(self):
+ if self.orientation != Gtk.Orientation.HORIZONTAL:
+ return Gtk.Viewport.do_get_preferred_width(self)
+ child_minimum, child_natural = self.get_child().get_preferred_size()
+ return child_minimum.height, child_natural.height
def do_get_property(self, pspec):
if pspec.name == 'scrollable':
diff --git a/src/sugar3/graphics/window.py b/src/sugar3/graphics/window.py
index 253b74c..965aecd 100644
--- a/src/sugar3/graphics/window.py
+++ b/src/sugar3/graphics/window.py
@@ -22,6 +22,7 @@ STABLE.
from gi.repository import GObject
from gi.repository import Gdk
+from gi.repository import GdkX11
from gi.repository import Gtk
import warnings
@@ -35,7 +36,7 @@ _UNFULLSCREEN_BUTTON_VISIBILITY_TIMEOUT = 2
class UnfullscreenButton(Gtk.Window):
def __init__(self):
- GObject.GObject.__init__(self)
+ Gtk.Window.__init__(self)
self.set_decorated(False)
self.set_resizable(False)
@@ -46,12 +47,10 @@ class UnfullscreenButton(Gtk.Window):
self.props.accept_focus = False
#Setup estimate of width, height
- w, h = Gtk.icon_size_lookup(Gtk.IconSize.LARGE_TOOLBAR)
+ valid_, w, h = Gtk.icon_size_lookup(Gtk.IconSize.LARGE_TOOLBAR)
self._width = w
self._height = h
- self.connect('size-request', self._size_request_cb)
-
screen = self.get_screen()
screen.connect('size-changed', self._screen_size_changed_cb)
@@ -73,10 +72,11 @@ class UnfullscreenButton(Gtk.Window):
x = Gdk.Screen.width() - self._width
self.move(x, 0)
- def _size_request_cb(self, widget, req):
- self._width = req.width
- self._height = req.height
+ def do_get_preferred_width(self):
+ minimum, natural = Gtk.Window.do_get_preferred_width(self)
+ self._width = minimum
self._reposition()
+ return minimum, natural
def _screen_size_changed_cb(self, screen):
self._reposition()
@@ -193,7 +193,7 @@ class Window(Gtk.Window):
self.__vbox.remove(self._toolbar_box)
if toolbar_box:
- self.__vbox.pack_start(toolbar_box, False)
+ self.__vbox.pack_start(toolbar_box, False, False, 0)
self.__vbox.reorder_child(toolbar_box, 0)
self._toolbar_box = toolbar_box
@@ -206,18 +206,18 @@ class Window(Gtk.Window):
box.remove(self.tray)
if position == Gtk.PositionType.LEFT:
- self.__hbox.pack_start(tray, False)
+ self.__hbox.pack_start(tray, False, False, 0)
elif position == Gtk.PositionType.RIGHT:
- self.__hbox.pack_end(tray, False)
+ self.__hbox.pack_end(tray, False, False, 0)
elif position == Gtk.PositionType.BOTTOM:
- self.__vbox.pack_end(tray, False)
+ self.__vbox.pack_end(tray, False, False, 0)
self.tray = tray
def add_alert(self, alert):
self._alerts.append(alert)
if len(self._alerts) == 1:
- self.__vbox.pack_start(alert, False)
+ self.__vbox.pack_start(alert, False, False, 0)
if self._toolbar_box is not None:
self.__vbox.reorder_child(alert, 1)
else:
@@ -230,7 +230,7 @@ class Window(Gtk.Window):
if alert.get_parent() is not None:
self.__vbox.remove(alert)
if len(self._alerts) >= 1:
- self.__vbox.pack_start(self._alerts[0], False)
+ self.__vbox.pack_start(self._alerts[0], False, False, 0)
if self._toolbar_box is not None:
self.__vbox.reorder_child(self._alerts[0], 1)
else:
diff --git a/src/sugar3/wm.py b/src/sugar3/wm.py
index 66db65e..f7bda6a 100644
--- a/src/sugar3/wm.py
+++ b/src/sugar3/wm.py
@@ -82,9 +82,9 @@ def get_sugar_window_type(wnck_window):
def set_activity_id(window, activity_id):
_property_change_trapped(window, '_SUGAR_ACTIVITY_ID', 'STRING', 8,
- Gdk.PROP_MODE_REPLACE, activity_id)
+ Gdk.PropMode.REPLACE, activity_id)
def set_bundle_id(window, bundle_id):
_property_change_trapped(window, '_SUGAR_BUNDLE_ID', 'STRING', 8,
- Gdk.PROP_MODE_REPLACE, bundle_id)
+ Gdk.PropMode.REPLACE, bundle_id)