本文整理汇总了Python中sugar3.graphics.palettemenu.PaletteMenuItem.set_label方法的典型用法代码示例。如果您正苦于以下问题:Python PaletteMenuItem.set_label方法的具体用法?Python PaletteMenuItem.set_label怎么用?Python PaletteMenuItem.set_label使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sugar3.graphics.palettemenu.PaletteMenuItem
的用法示例。
在下文中一共展示了PaletteMenuItem.set_label方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _add_menu
# 需要导入模块: from sugar3.graphics.palettemenu import PaletteMenuItem [as 别名]
# 或者: from sugar3.graphics.palettemenu.PaletteMenuItem import set_label [as 别名]
def _add_menu(self, font_name, activate_cb):
label = '<span font="%s">%s</span>' % (font_name, font_name)
menu_item = PaletteMenuItem()
menu_item.set_label(label)
menu_item.connect('activate', activate_cb, font_name)
self._menu_box.append_item(menu_item)
menu_item.show()
示例2: _add_menu
# 需要导入模块: from sugar3.graphics.palettemenu import PaletteMenuItem [as 别名]
# 或者: from sugar3.graphics.palettemenu.PaletteMenuItem import set_label [as 别名]
def _add_menu(self, option, icon=None, activate_cb=None):
if icon is not None:
menu_item = PaletteMenuItem(icon_name=icon)
if activate_cb is not None:
menu_item.connect('activate', activate_cb, [option, icon])
else:
menu_item = PaletteMenuItem()
if activate_cb is not None:
menu_item.connect('activate', activate_cb, option)
menu_item.set_label(option)
self._menu_box.append_item(menu_item)
menu_item.show()
示例3: set_palette_list
# 需要导入模块: from sugar3.graphics.palettemenu import PaletteMenuItem [as 别名]
# 或者: from sugar3.graphics.palettemenu.PaletteMenuItem import set_label [as 别名]
def set_palette_list(self, options):
_menu_item = PaletteMenuItem(text_label=options[options.keys()[0]])
req2 = _menu_item.get_preferred_size()[1]
menuitem_width = req2.width
menuitem_height = req2.height
palette_width = Gdk.Screen.width() - style.GRID_CELL_SIZE
palette_height = Gdk.Screen.height() - style.GRID_CELL_SIZE * 3
nx = min(self._MAXIMUM_PALETTE_COLUMNS,
int(palette_width / menuitem_width))
ny = min(int(palette_height / menuitem_height), len(options) + 1)
if ny >= len(options):
nx = 1
ny = len(options)
grid = Gtk.Grid()
grid.set_row_spacing(style.DEFAULT_PADDING)
grid.set_column_spacing(0)
grid.set_border_width(0)
grid.show()
x = 0
y = 0
for key in options.keys():
menu_item = PaletteMenuItem()
menu_item.set_label(options[key])
menu_item.set_size_request(style.GRID_CELL_SIZE * 3, -1)
menu_item.connect('button-release-event', self._option_selected,
key)
grid.attach(menu_item, x, y, 1, 1)
x += 1
if x == nx:
x = 0
y += 1
menu_item.show()
if palette_height < (y * menuitem_height + style.GRID_CELL_SIZE):
# if the grid is bigger than the palette, put in a scrolledwindow
scrolled_window = Gtk.ScrolledWindow()
scrolled_window.set_policy(Gtk.PolicyType.NEVER,
Gtk.PolicyType.AUTOMATIC)
scrolled_window.set_size_request(nx * menuitem_width,
(ny + 1) * menuitem_height)
scrolled_window.add_with_viewport(grid)
return scrolled_window
else:
return grid
示例4: _show_menu
# 需要导入模块: from sugar3.graphics.palettemenu import PaletteMenuItem [as 别名]
# 或者: from sugar3.graphics.palettemenu.PaletteMenuItem import set_label [as 别名]
def _show_menu(self):
logging.error('Show menu ')
if self._palette_invoker is not None:
self._palette = Palette(_('Select tag'))
menu_box = PaletteMenuBox()
self._palette.set_content(menu_box)
menu_box.show()
for tag in TAG_LIST:
menu_item = PaletteMenuItem()
menu_item.set_label(tag)
menu_item.connect('activate', self._add_tag, tag)
menu_box.append_item(menu_item)
menu_item.show()
self._palette_invoker.set_palette(self._palette)
self._palette.popup(immediate=True)
示例5: set_palette_list
# 需要导入模块: from sugar3.graphics.palettemenu import PaletteMenuItem [as 别名]
# 或者: from sugar3.graphics.palettemenu.PaletteMenuItem import set_label [as 别名]
def set_palette_list(palette_list, nx, ny, item_height, return_dict=False):
palette_dict = {}
item_width = style.GRID_CELL_SIZE * 3
grid = Gtk.Grid()
grid.set_row_spacing(style.DEFAULT_PADDING)
grid.set_column_spacing(0)
grid.set_border_width(0)
scrolled_window = Gtk.ScrolledWindow()
scrolled_window.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)
scrolled_window.set_size_request(nx * item_width, ny * item_height)
scrolled_window.set_shadow_type(Gtk.ShadowType.ETCHED_IN)
scrolled_window.add_with_viewport(grid)
grid.show()
x = 0
y = 0
for item in palette_list:
menu_item = PaletteMenuItem()
menu_item.set_label(item['label'])
menu_item.set_image(item['icon'])
item['icon'].show()
if return_dict:
menu_item.set_image(item['selected'])
item['selected'].hide()
if return_dict:
palette_dict[item['label']] = {'menu': menu_item,
'icon': item['icon'],
'selected': item['selected']}
menu_item.connect('button-release-event', item['callback'],
item['label'])
grid.attach(menu_item, x, y, 1, 1)
x += 1
if x == nx:
x = 0
y += 1
menu_item.show()
if return_dict:
return scrolled_window, palette_dict
else:
return scrolled_window
示例6: SpeechPalette
# 需要导入模块: from sugar3.graphics.palettemenu import PaletteMenuItem [as 别名]
# 或者: from sugar3.graphics.palettemenu.PaletteMenuItem import set_label [as 别名]
class SpeechPalette(Palette):
def __init__(self, primary_text, manager):
Palette.__init__(self, label=primary_text)
self._manager = manager
self._manager.connect('play', self._set_menu_state, 'play')
self._manager.connect('stop', self._set_menu_state, 'stop')
self._manager.connect('pause', self._set_menu_state, 'pause')
box = PaletteMenuBox()
self.set_content(box)
box.show()
self._play_icon = Icon(icon_name='player_play')
self._pause_icon = Icon(icon_name='player_pause')
self._play_pause_menu = PaletteMenuItem(
icon_name='player_play',
text_label=_('Say selected text'))
self._play_pause_menu.set_image(self._play_icon)
self._play_pause_menu.connect('activate', self.__play_activated_cb)
box.append_item(self._play_pause_menu)
self._play_pause_menu.show()
self._stop_menu = PaletteMenuItem(icon_name='player_stop',
text_label=_('Stop playback'))
self._stop_menu.connect('activate', self.__stop_activated_cb)
self._stop_menu.set_sensitive(False)
box.append_item(self._stop_menu)
separator = PaletteMenuItemSeparator()
box.append_item(separator)
separator.show()
pitch_label = Gtk.Label(_('Pitch'))
box.append_item(pitch_label, vertical_padding=0)
pitch_label.show()
self._adj_pitch = Gtk.Adjustment(value=self._manager.get_pitch(),
lower=self._manager.MIN_PITCH,
upper=self._manager.MAX_PITCH)
hscale_pitch = Gtk.HScale()
hscale_pitch.set_adjustment(self._adj_pitch)
hscale_pitch.set_draw_value(False)
box.append_item(hscale_pitch, vertical_padding=0)
hscale_pitch.show()
rate_label = Gtk.Label(_('Rate'))
box.append_item(rate_label, vertical_padding=0)
rate_label.show()
self._adj_rate = Gtk.Adjustment(value=self._manager.get_rate(),
lower=self._manager.MIN_RATE,
upper=self._manager.MAX_RATE)
hscale_rate = Gtk.HScale()
hscale_rate.set_adjustment(self._adj_rate)
hscale_rate.set_draw_value(False)
box.append_item(hscale_rate, vertical_padding=0)
hscale_rate.show()
self._adj_pitch.connect('value_changed', self.__adj_pitch_changed_cb)
self._adj_rate.connect('value_changed', self.__adj_rate_changed_cb)
def __adj_pitch_changed_cb(self, adjustment):
self._manager.set_pitch(int(adjustment.get_value()))
def __adj_rate_changed_cb(self, adjustment):
self._manager.set_rate(int(adjustment.get_value()))
def __play_activated_cb(self, widget):
if self._manager.is_paused:
self._manager.restart()
elif not self._manager.is_playing:
self._manager.say_selected_text()
else:
self._manager.pause()
def __stop_activated_cb(self, widget):
self._manager.stop()
def _set_menu_state(self, manager, signal):
if signal == 'play':
self._play_pause_menu.set_image(self._pause_icon)
self._play_pause_menu.set_label(_('Pause playback'))
self._stop_menu.set_sensitive(True)
elif signal == 'pause':
self._play_pause_menu.set_image(self._play_icon)
self._play_pause_menu.set_label(_('Say selected text'))
self._stop_menu.set_sensitive(True)
elif signal == 'stop':
self._play_pause_menu.set_image(self._play_icon)
self._play_pause_menu.set_label(_('Say selected text'))
self._stop_menu.set_sensitive(False)
示例7: PrimaryToolbar
# 需要导入模块: from sugar3.graphics.palettemenu import PaletteMenuItem [as 别名]
# 或者: from sugar3.graphics.palettemenu.PaletteMenuItem import set_label [as 别名]
class PrimaryToolbar(ToolbarBase):
__gtype_name__ = 'PrimaryToolbar'
__gsignals__ = {
'add-link': (GObject.SignalFlags.RUN_FIRST, None, ([])),
'remove-link': (GObject.SignalFlags.RUN_FIRST, None, ([])),
'go-home': (GObject.SignalFlags.RUN_FIRST, None, ([])),
'set-home': (GObject.SignalFlags.RUN_FIRST, None, ([])),
'reset-home': (GObject.SignalFlags.RUN_FIRST, None, ([])),
'go-library': (GObject.SignalFlags.RUN_FIRST, None, ([])),
}
def __init__(self, tabbed_view, act):
ToolbarBase.__init__(self)
self._url_toolbar = UrlToolbar()
self._activity = act
self.model = act.model
self.model.link_removed_signal.connect(self.__link_removed_cb)
self._tabbed_view = self._canvas = tabbed_view
self._loading = False
self._download_running_hid = None
toolbar = self.toolbar
activity_button = ActivityToolbarButton(self._activity)
toolbar.insert(activity_button, 0)
separator = Gtk.SeparatorToolItem()
'''
Disabled since the python gi bindings don't expose the critical
WebKit2.PrintOperation.print function
save_as_pdf = ToolButton('save-as-pdf')
save_as_pdf.set_tooltip(_('Save page as pdf'))
save_as_pdf.connect('clicked', self.save_as_pdf)
activity_button.props.page.insert(separator, -1)
activity_button.props.page.insert(save_as_pdf, -1)
separator.show()
save_as_pdf.show()
'''
inspect_view = ToolButton('emblem-view-source')
inspect_view.set_tooltip(_('Show Web Inspector'))
inspect_view.connect('clicked', self.inspect_view)
activity_button.props.page.insert(separator, -1)
activity_button.props.page.insert(inspect_view, -1)
separator.show()
inspect_view.show()
self._go_home = ToolButton('go-home')
self._go_home.set_tooltip(_('Home page'))
self._go_home.connect('clicked', self._go_home_cb)
# add a menu to save the home page
menu_box = PaletteMenuBox()
self._go_home.props.palette.set_content(menu_box)
menu_item = PaletteMenuItem()
menu_item.set_label(_('Select as initial page'))
menu_item.connect('activate', self._set_home_cb)
menu_box.append_item(menu_item)
self._reset_home_menu = PaletteMenuItem()
self._reset_home_menu.set_label(_('Reset initial page'))
self._reset_home_menu.connect('activate', self._reset_home_cb)
menu_box.append_item(self._reset_home_menu)
if os.path.isfile(LIBRARY_PATH):
library_menu = PaletteMenuItem()
library_menu.set_label(_('Library'))
library_menu.connect('activate', self._go_library_cb)
menu_box.append_item(library_menu)
menu_box.show_all()
# verify if the home page is configured
client = GConf.Client.get_default()
self._reset_home_menu.set_visible(
client.get_string(HOME_PAGE_GCONF_KEY) is not None)
toolbar.insert(self._go_home, -1)
self._go_home.show()
self.entry = WebEntry()
self.entry.set_icon_from_name(iconentry.ICON_ENTRY_SECONDARY,
'entry-stop')
self.entry.connect('icon-press', self._stop_and_reload_cb)
self.entry.connect('activate', self._entry_activate_cb)
self.entry.connect('focus-in-event', self.__focus_in_event_cb)
self.entry.connect('focus-out-event', self.__focus_out_event_cb)
self.entry.connect('key-press-event', self.__key_press_event_cb)
self.entry.connect('changed', self.__changed_cb)
# In an event box so that it can render the background
entry_box = Gtk.EventBox()
entry_box.add(self.entry)
entry_box.show()
#.........这里部分代码省略.........
示例8: BuddyMenu
# 需要导入模块: from sugar3.graphics.palettemenu import PaletteMenuItem [as 别名]
# 或者: from sugar3.graphics.palettemenu.PaletteMenuItem import set_label [as 别名]
#.........这里部分代码省略.........
home_model = shell.get_model()
self._active_activity_changed_hid = home_model.connect(
'active-activity-changed', self._cur_activity_changed_cb)
activity = home_model.get_active_activity()
self._update_invite_menu(activity)
def _add_my_items(self):
item = PaletteMenuItem(_('Shutdown'), 'system-shutdown')
item.connect('activate', self.__shutdown_activate_cb)
self.menu_box.pack_start(item, True, True, 0)
client = GConf.Client.get_default()
if client.get_bool('/desktop/sugar/show_restart'):
item = PaletteMenuItem(_('Restart'), 'system-restart')
item.connect('activate', self.__reboot_activate_cb)
self.menu_box.pack_start(item, True, True, 0)
item.show()
if client.get_bool('/desktop/sugar/show_logout'):
item = PaletteMenuItem(_('Logout'), 'system-logout')
item.connect('activate', self.__logout_activate_cb)
self.menu_box.pack_start(item, True, True, 0)
item.show()
item = PaletteMenuItem(_('My Settings'), 'preferences-system')
item.connect('activate', self.__controlpanel_activate_cb)
self.menu_box.pack_start(item, True, True, 0)
item.show()
def _quit(self, action):
home_window = jarabe.desktop.homewindow.get_instance()
home_window.busy_during_delayed_action(action)
def __logout_activate_cb(self, menu_item):
self._quit(get_session_manager().logout)
def __reboot_activate_cb(self, menu_item):
self._quit(get_session_manager().reboot)
def __shutdown_activate_cb(self, menu_item):
self._quit(get_session_manager().shutdown)
def __controlpanel_activate_cb(self, menu_item):
panel = ControlPanel()
panel.set_transient_for(self._widget.get_toplevel())
panel.show()
def _update_invite_menu(self, activity):
buddy_activity = self._buddy.props.current_activity
if buddy_activity is not None:
buddy_activity_id = buddy_activity.activity_id
else:
buddy_activity_id = None
if activity is None or activity.is_journal() or \
activity.get_activity_id() == buddy_activity_id:
self._invite_menu.hide()
else:
title = activity.get_title()
self._invite_menu.set_label(_('Invite to %s') % title)
icon = Icon(file=activity.get_icon_path(),
icon_size=Gtk.IconSize.SMALL_TOOLBAR)
icon.props.xo_color = activity.get_icon_color()
self._invite_menu.set_image(icon)
icon.show()
self._invite_menu.show()
def _cur_activity_changed_cb(self, home_model, activity_model):
self._update_invite_menu(activity_model)
def __buddy_notify_nick_cb(self, buddy, pspec):
self.set_primary_text(glib.markup_escape_text(buddy.props.nick))
def _make_friend_cb(self, menuitem):
friends.get_model().make_friend(self._buddy)
def _remove_friend_cb(self, menuitem):
friends.get_model().remove(self._buddy)
def _invite_friend_cb(self, menuitem):
activity = shell.get_model().get_active_activity()
service = activity.get_service()
if service:
try:
service.InviteContact(self._buddy.props.account,
self._buddy.props.contact_id)
except dbus.DBusException, e:
expected_exceptions = [
'org.freedesktop.DBus.Error.UnknownMethod',
'org.freedesktop.DBus.Python.NotImplementedError']
if e.get_dbus_name() in expected_exceptions:
logging.warning('Trying deprecated Activity.Invite')
service.Invite(self._buddy.props.key)
else:
raise
else:
示例9: SpeakerPalette
# 需要导入模块: from sugar3.graphics.palettemenu import PaletteMenuItem [as 别名]
# 或者: from sugar3.graphics.palettemenu.PaletteMenuItem import set_label [as 别名]
class SpeakerPalette(Palette):
def __init__(self, primary_text, model):
Palette.__init__(self, label=primary_text)
self._model = model
box = PaletteMenuBox()
self.set_content(box)
box.show()
self._mute_item = PaletteMenuItem("")
self._mute_icon = Icon(icon_size=Gtk.IconSize.MENU)
self._mute_item.set_image(self._mute_icon)
box.append_item(self._mute_item)
self._mute_item.show()
self._mute_item.connect("activate", self.__mute_activate_cb)
separator = PaletteMenuItemSeparator()
box.append_item(separator)
separator.show()
vol_step = sound.VOLUME_STEP
self._adjustment = Gtk.Adjustment(
value=self._model.props.level,
lower=0,
upper=100 + vol_step,
step_incr=vol_step,
page_incr=vol_step,
page_size=vol_step,
)
hscale = Gtk.HScale()
hscale.props.draw_value = False
hscale.set_adjustment(self._adjustment)
hscale.set_digits(0)
box.append_item(hscale, vertical_padding=0)
hscale.show()
self._adjustment_handler_id = self._adjustment.connect("value_changed", self.__adjustment_changed_cb)
self._model_notify_level_handler_id = self._model.connect("notify::level", self.__level_changed_cb)
self._model.connect("notify::muted", self.__muted_changed_cb)
self.connect("popup", self.__popup_cb)
def _update_muted(self):
if self._model.props.muted:
mute_item_text = _("Unmute")
mute_item_icon_name = "dialog-ok"
else:
mute_item_text = _("Mute")
mute_item_icon_name = "dialog-cancel"
self._mute_item.set_label(mute_item_text)
self._mute_icon.props.icon_name = mute_item_icon_name
self._mute_icon.show()
def _update_level(self):
if self._adjustment.props.value != self._model.props.level:
self._adjustment.handler_block(self._adjustment_handler_id)
try:
self._adjustment.props.value = self._model.props.level
finally:
self._adjustment.handler_unblock(self._adjustment_handler_id)
def __adjustment_changed_cb(self, adj_):
self._model.handler_block(self._model_notify_level_handler_id)
try:
self._model.props.level = self._adjustment.props.value
finally:
self._model.handler_unblock(self._model_notify_level_handler_id)
self._model.props.muted = self._adjustment.props.value == 0
def __level_changed_cb(self, pspec_, param_):
self._update_level()
def __mute_activate_cb(self, menuitem_):
self._model.props.muted = not self._model.props.muted
def __muted_changed_cb(self, pspec_, param_):
self._update_muted()
def __popup_cb(self, palette_):
self._update_level()
self._update_muted()
示例10: __init__
# 需要导入模块: from sugar3.graphics.palettemenu import PaletteMenuItem [as 别名]
# 或者: from sugar3.graphics.palettemenu.PaletteMenuItem import set_label [as 别名]
def __init__(self, tabbed_view, act):
ToolbarBase.__init__(self)
self._url_toolbar = UrlToolbar()
self._activity = act
self._tabbed_view = self._canvas = tabbed_view
self._loading = False
toolbar = self.toolbar
activity_button = ActivityToolbarButton(self._activity)
toolbar.insert(activity_button, 0)
separator = Gtk.SeparatorToolItem()
save_as_pdf = ToolButton("save-as-pdf")
save_as_pdf.set_tooltip(_("Save page as pdf"))
save_as_pdf.connect("clicked", self.save_as_pdf)
activity_button.props.page.insert(separator, -1)
activity_button.props.page.insert(save_as_pdf, -1)
separator.show()
save_as_pdf.show()
self._go_home = ToolButton("go-home")
self._go_home.set_tooltip(_("Home page"))
self._go_home.connect("clicked", self._go_home_cb)
# add a menu to save the home page
menu_box = PaletteMenuBox()
self._go_home.props.palette.set_content(menu_box)
menu_item = PaletteMenuItem()
menu_item.set_label(_("Select as initial page"))
menu_item.connect("activate", self._set_home_cb)
menu_box.append_item(menu_item)
self._reset_home_menu = PaletteMenuItem()
self._reset_home_menu.set_label(_("Reset initial page"))
self._reset_home_menu.connect("activate", self._reset_home_cb)
menu_box.append_item(self._reset_home_menu)
if os.path.isfile(LIBRARY_PATH):
library_menu = PaletteMenuItem()
library_menu.set_label(_("Library"))
library_menu.connect("activate", self._go_library_cb)
menu_box.append_item(library_menu)
menu_box.show_all()
# verify if the home page is configured
client = GConf.Client.get_default()
self._reset_home_menu.set_visible(client.get_string(HOME_PAGE_GCONF_KEY) is not None)
toolbar.insert(self._go_home, -1)
self._go_home.show()
self.entry = WebEntry()
self.entry.set_icon_from_name(iconentry.ICON_ENTRY_SECONDARY, "entry-stop")
self.entry.connect("icon-press", self._stop_and_reload_cb)
self.entry.connect("activate", self._entry_activate_cb)
self.entry.connect("focus-in-event", self.__focus_in_event_cb)
self.entry.connect("focus-out-event", self.__focus_out_event_cb)
self.entry.connect("key-press-event", self.__key_press_event_cb)
self.entry.connect("changed", self.__changed_cb)
self._entry_item = Gtk.ToolItem()
self._entry_item.set_expand(True)
self._entry_item.add(self.entry)
self.entry.show()
toolbar.insert(self._entry_item, -1)
self._entry_item.show()
self._back = ToolButton("go-previous-paired")
self._back.set_tooltip(_("Back"))
self._back.props.sensitive = False
self._back.connect("clicked", self._go_back_cb)
toolbar.insert(self._back, -1)
self._back.show()
palette = self._back.get_palette()
self._back_box_menu = Gtk.VBox()
self._back_box_menu.show()
palette.set_content(self._back_box_menu)
# FIXME, this is a hack, should be done in the theme:
palette._content.set_border_width(1)
self._forward = ToolButton("go-next-paired")
self._forward.set_tooltip(_("Forward"))
self._forward.props.sensitive = False
self._forward.connect("clicked", self._go_forward_cb)
toolbar.insert(self._forward, -1)
self._forward.show()
palette = self._forward.get_palette()
self._forward_box_menu = Gtk.VBox()
self._forward_box_menu.show()
palette.set_content(self._forward_box_menu)
#.........这里部分代码省略.........
示例11: PrimaryToolbar
# 需要导入模块: from sugar3.graphics.palettemenu import PaletteMenuItem [as 别名]
# 或者: from sugar3.graphics.palettemenu.PaletteMenuItem import set_label [as 别名]
class PrimaryToolbar(ToolbarBase):
__gtype_name__ = "PrimaryToolbar"
__gsignals__ = {
"add-link": (GObject.SignalFlags.RUN_FIRST, None, ([])),
"go-home": (GObject.SignalFlags.RUN_FIRST, None, ([])),
"set-home": (GObject.SignalFlags.RUN_FIRST, None, ([])),
"reset-home": (GObject.SignalFlags.RUN_FIRST, None, ([])),
"go-library": (GObject.SignalFlags.RUN_FIRST, None, ([])),
"go-to-JSshell": (GObject.SignalFlags.RUN_FIRST, None, ([])),
"get-shell-input": (GObject.SignalFlags.RUN_FIRST, None, ([])),
}
def __init__(self, tabbed_view, act):
ToolbarBase.__init__(self)
self._url_toolbar = UrlToolbar()
self._activity = act
self._tabbed_view = self._canvas = tabbed_view
self._loading = False
toolbar = self.toolbar
activity_button = ActivityToolbarButton(self._activity)
toolbar.insert(activity_button, 0)
separator = Gtk.SeparatorToolItem()
save_as_pdf = ToolButton("save-as-pdf")
save_as_pdf.set_tooltip(_("Save page as pdf"))
save_as_pdf.connect("clicked", self.save_as_pdf)
activity_button.props.page.insert(separator, -1)
activity_button.props.page.insert(save_as_pdf, -1)
separator.show()
save_as_pdf.show()
self._go_home = ToolButton("go-home")
self._go_home.set_tooltip(_("Home page"))
self._go_home.connect("clicked", self._go_home_cb)
# add a menu to save the home page
menu_box = PaletteMenuBox()
self._go_home.props.palette.set_content(menu_box)
menu_item = PaletteMenuItem()
menu_item.set_label(_("Select as initial page"))
menu_item.connect("activate", self._set_home_cb)
menu_box.append_item(menu_item)
self._reset_home_menu = PaletteMenuItem()
self._reset_home_menu.set_label(_("Reset initial page"))
self._reset_home_menu.connect("activate", self._reset_home_cb)
menu_box.append_item(self._reset_home_menu)
if os.path.isfile(LIBRARY_PATH):
library_menu = PaletteMenuItem()
library_menu.set_label(_("Library"))
library_menu.connect("activate", self._go_library_cb)
menu_box.append_item(library_menu)
menu_box.show_all()
# verify if the home page is configured
client = GConf.Client.get_default()
self._reset_home_menu.set_visible(client.get_string(HOME_PAGE_GCONF_KEY) is not None)
toolbar.insert(self._go_home, -1)
self._go_home.show()
self.entry = WebEntry()
self.entry.set_icon_from_name(iconentry.ICON_ENTRY_SECONDARY, "entry-stop")
self.entry.connect("icon-press", self._stop_and_reload_cb)
self.entry.connect("activate", self._entry_activate_cb)
self.entry.connect("focus-in-event", self.__focus_in_event_cb)
self.entry.connect("focus-out-event", self.__focus_out_event_cb)
self.entry.connect("key-press-event", self.__key_press_event_cb)
self.entry.connect("changed", self.__changed_cb)
self._entry_item = Gtk.ToolItem()
self._entry_item.set_expand(True)
self._entry_item.add(self.entry)
self.entry.show()
toolbar.insert(self._entry_item, -1)
self._entry_item.show()
self._back = ToolButton("go-previous-paired")
self._back.set_tooltip(_("Back"))
self._back.props.sensitive = False
self._back.connect("clicked", self._go_back_cb)
toolbar.insert(self._back, -1)
self._back.show()
palette = self._back.get_palette()
self._back_box_menu = Gtk.VBox()
self._back_box_menu.show()
palette.set_content(self._back_box_menu)
# FIXME, this is a hack, should be done in the theme:
#.........这里部分代码省略.........
示例12: __init__
# 需要导入模块: from sugar3.graphics.palettemenu import PaletteMenuItem [as 别名]
# 或者: from sugar3.graphics.palettemenu.PaletteMenuItem import set_label [as 别名]
def __init__(self, pc, toolbar_box):
GObject.GObject.__init__(self)
self._abiword_canvas = pc.abiword_canvas
copy = CopyButton()
copy.props.accelerator = '<Ctrl>C'
copy.connect('clicked', lambda button: pc.abiword_canvas.copy())
self.insert(copy, -1)
copy.show()
paste = PasteButton()
paste.props.accelerator = '<Ctrl>V'
paste.connect('clicked', self.__paste_button_cb)
self.insert(paste, -1)
paste.show()
menu_box = PaletteMenuBox()
paste.props.palette.set_content(menu_box)
menu_box.show()
menu_item = PaletteMenuItem()
menu_item.set_label(_('Paste unformatted'))
menu_item.connect('activate', self.__paste_special_button_cb)
menu_box.append_item(menu_item)
separator = Gtk.SeparatorToolItem()
self.insert(separator, -1)
separator.show()
undo = UndoButton(sensitive=True)
undo.connect('clicked', lambda button: pc.abiword_canvas.undo())
pc.abiword_canvas.connect("can-undo", lambda abi, can_undo:
undo.set_sensitive(can_undo))
self.insert(undo, -1)
undo.show()
redo = RedoButton(sensitive=True)
redo.connect('clicked', lambda button: pc.abiword_canvas.redo())
pc.abiword_canvas.connect("can-redo", lambda abi, can_redo:
redo.set_sensitive(can_redo))
self.insert(redo, -1)
redo.show()
pc.abiword_canvas.connect('text-selected', lambda abi, b:
copy.set_sensitive(True))
pc.abiword_canvas.connect('image-selected', lambda abi, b:
copy.set_sensitive(True))
pc.abiword_canvas.connect('selection-cleared', lambda abi, b:
copy.set_sensitive(False))
separator = Gtk.SeparatorToolItem()
self.insert(separator, -1)
separator.show()
search_label = Gtk.Label(label=_("Search") + ": ")
search_label.show()
search_item_page_label = Gtk.ToolItem()
search_item_page_label.add(search_label)
self.insert(search_item_page_label, -1)
search_item_page_label.show()
# setup the search options
self._search_entry = iconentry.IconEntry()
self._search_entry.set_icon_from_name(iconentry.ICON_ENTRY_PRIMARY,
'system-search')
self._search_entry.connect('activate', self._search_entry_activated_cb)
self._search_entry.connect('changed', self._search_entry_changed_cb)
self._search_entry.add_clear_button()
self._add_widget(self._search_entry, expand=True)
self._findprev = ToolButton('go-previous-paired')
self._findprev.set_tooltip(_('Find previous'))
self.insert(self._findprev, -1)
self._findprev.show()
self._findprev.connect('clicked', self._findprev_cb)
self._findnext = ToolButton('go-next-paired')
self._findnext.set_tooltip(_('Find next'))
self.insert(self._findnext, -1)
self._findnext.show()
self._findnext.connect('clicked', self._findnext_cb)
# set the initial state of the search controls
# note: we won't simple call self._search_entry_changed_cb
# here, as that will call into the abiword_canvas, which
# is not mapped on screen here, causing the set_find_string
# call to fail
self._findprev.set_sensitive(False)
self._findnext.set_sensitive(False)
示例13: __init__
# 需要导入模块: from sugar3.graphics.palettemenu import PaletteMenuItem [as 别名]
# 或者: from sugar3.graphics.palettemenu.PaletteMenuItem import set_label [as 别名]
def __init__(self, tabbed_view, act):
ToolbarBase.__init__(self)
self._url_toolbar = UrlToolbar()
self._activity = act
self.model = act.model
self.model.link_removed_signal.connect(self.__link_removed_cb)
self._tabbed_view = self._canvas = tabbed_view
self._loading = False
self._download_running_hid = None
toolbar = self.toolbar
activity_button = ActivityToolbarButton(self._activity)
toolbar.insert(activity_button, 0)
separator = Gtk.SeparatorToolItem()
'''
Disabled since the python gi bindings don't expose the critical
WebKit2.PrintOperation.print function
save_as_pdf = ToolButton('save-as-pdf')
save_as_pdf.set_tooltip(_('Save page as pdf'))
save_as_pdf.connect('clicked', self.save_as_pdf)
activity_button.props.page.insert(separator, -1)
activity_button.props.page.insert(save_as_pdf, -1)
separator.show()
save_as_pdf.show()
'''
inspect_view = ToolButton('emblem-view-source')
inspect_view.set_tooltip(_('Show Web Inspector'))
inspect_view.connect('clicked', self.inspect_view)
activity_button.props.page.insert(separator, -1)
activity_button.props.page.insert(inspect_view, -1)
separator.show()
inspect_view.show()
self._go_home = ToolButton('go-home')
self._go_home.set_tooltip(_('Home page'))
self._go_home.connect('clicked', self._go_home_cb)
# add a menu to save the home page
menu_box = PaletteMenuBox()
self._go_home.props.palette.set_content(menu_box)
menu_item = PaletteMenuItem()
menu_item.set_label(_('Select as initial page'))
menu_item.connect('activate', self._set_home_cb)
menu_box.append_item(menu_item)
self._reset_home_menu = PaletteMenuItem()
self._reset_home_menu.set_label(_('Reset initial page'))
self._reset_home_menu.connect('activate', self._reset_home_cb)
menu_box.append_item(self._reset_home_menu)
if os.path.isfile(LIBRARY_PATH):
library_menu = PaletteMenuItem()
library_menu.set_label(_('Library'))
library_menu.connect('activate', self._go_library_cb)
menu_box.append_item(library_menu)
menu_box.show_all()
# verify if the home page is configured
client = GConf.Client.get_default()
self._reset_home_menu.set_visible(
client.get_string(HOME_PAGE_GCONF_KEY) is not None)
toolbar.insert(self._go_home, -1)
self._go_home.show()
self.entry = WebEntry()
self.entry.set_icon_from_name(iconentry.ICON_ENTRY_SECONDARY,
'entry-stop')
self.entry.connect('icon-press', self._stop_and_reload_cb)
self.entry.connect('activate', self._entry_activate_cb)
self.entry.connect('focus-in-event', self.__focus_in_event_cb)
self.entry.connect('focus-out-event', self.__focus_out_event_cb)
self.entry.connect('key-press-event', self.__key_press_event_cb)
self.entry.connect('changed', self.__changed_cb)
# In an event box so that it can render the background
entry_box = Gtk.EventBox()
entry_box.add(self.entry)
entry_box.show()
self._entry_item = Gtk.ToolItem()
self._entry_item.set_expand(True)
self._entry_item.add(entry_box)
self.entry.show()
toolbar.insert(self._entry_item, -1)
self._entry_item.show()
self._back = ToolButton('go-previous-paired',
accelerator='<ctrl>Left')
#.........这里部分代码省略.........
示例14: ActivityListPalette
# 需要导入模块: from sugar3.graphics.palettemenu import PaletteMenuItem [as 别名]
# 或者: from sugar3.graphics.palettemenu.PaletteMenuItem import set_label [as 别名]
class ActivityListPalette(ActivityPalette):
__gtype_name__ = 'SugarActivityListPalette'
__gsignals__ = {
'erase-activated': (GObject.SignalFlags.RUN_FIRST, None,
([str])),
}
def __init__(self, activity_info):
ActivityPalette.__init__(self, activity_info)
self._bundle_id = activity_info.get_bundle_id()
self._version = activity_info.get_activity_version()
registry = bundleregistry.get_registry()
self._favorite = registry.is_bundle_favorite(self._bundle_id,
self._version)
self._favorite_item = PaletteMenuItem()
self._favorite_icon = Icon(icon_name='emblem-favorite',
icon_size=Gtk.IconSize.MENU)
self._favorite_item.set_image(self._favorite_icon)
self._favorite_icon.show()
self._favorite_item.connect('activate',
self.__change_favorite_activate_cb)
self.menu_box.append_item(self._favorite_item)
self._favorite_item.show()
if activity_info.is_user_activity():
self._add_erase_option(registry, activity_info)
registry = bundleregistry.get_registry()
self._activity_changed_sid = \
registry.connect('bundle_changed',
self.__activity_changed_cb)
self._update_favorite_item()
self.menu_box.connect('destroy', self.__destroy_cb)
def _add_erase_option(self, registry, activity_info):
menu_item = PaletteMenuItem(_('Erase'), 'list-remove')
menu_item.connect('activate', self.__erase_activate_cb)
self.menu_box.append_item(menu_item)
menu_item.show()
if not os.access(activity_info.get_path(), os.W_OK) or \
registry.is_activity_protected(self._bundle_id):
menu_item.props.sensitive = False
def __destroy_cb(self, palette):
registry = bundleregistry.get_registry()
registry.disconnect(self._activity_changed_sid)
def _update_favorite_item(self):
if self._favorite:
self._favorite_item.set_label(_('Remove favorite'))
xo_color = XoColor('%s,%s' % (style.COLOR_WHITE.get_svg(),
style.COLOR_TRANSPARENT.get_svg()))
else:
self._favorite_item.set_label(_('Make favorite'))
client = GConf.Client.get_default()
xo_color = XoColor(client.get_string('/desktop/sugar/user/color'))
self._favorite_icon.props.xo_color = xo_color
def __change_favorite_activate_cb(self, menu_item):
registry = bundleregistry.get_registry()
registry.set_bundle_favorite(self._bundle_id,
self._version,
not self._favorite)
def __activity_changed_cb(self, activity_registry, activity_info):
if activity_info.get_bundle_id() == self._bundle_id and \
activity_info.get_activity_version() == self._version:
registry = bundleregistry.get_registry()
self._favorite = registry.is_bundle_favorite(self._bundle_id,
self._version)
self._update_favorite_item()
def __erase_activate_cb(self, menu_item):
self.emit('erase-activated', self._bundle_id)
示例15: BuddyMenu
# 需要导入模块: from sugar3.graphics.palettemenu import PaletteMenuItem [as 别名]
# 或者: from sugar3.graphics.palettemenu.PaletteMenuItem import set_label [as 别名]
#.........这里部分代码省略.........
self.menu_box.pack_start(item, True, True, 0)
item.show()
item = PaletteMenuItem(_("My Settings"), "preferences-system")
item.connect("activate", self.__controlpanel_activate_cb)
self.menu_box.pack_start(item, True, True, 0)
item.show()
def _quit(self, action):
jarabe.desktop.homewindow.get_instance().busy()
action()
GObject.timeout_add_seconds(3, self.__quit_timeout_cb)
def __quit_timeout_cb(self):
jarabe.desktop.homewindow.get_instance().unbusy()
alert = TimeoutAlert(30)
alert.props.title = _("An activity is not responding.")
alert.props.msg = _("You may lose unsaved work if you continue.")
alert.connect("response", self.__quit_accept_cb)
jarabe.desktop.homewindow.get_instance().add_alert(alert)
alert.show()
def __quit_accept_cb(self, alert, response_id):
jarabe.desktop.homewindow.get_instance().remove_alert(alert)
if response_id is Gtk.ResponseType.CANCEL:
get_session_manager().cancel_shutdown()
else:
jarabe.desktop.homewindow.get_instance().busy()
get_session_manager().shutdown_completed()
def __logout_activate_cb(self, menu_item):
self._quit(get_session_manager().logout)
def __reboot_activate_cb(self, menu_item):
self._quit(get_session_manager().reboot)
def __shutdown_activate_cb(self, menu_item):
self._quit(get_session_manager().shutdown)
def __controlpanel_activate_cb(self, menu_item):
# hide the frame when control panel is shown
import jarabe.frame
frame = jarabe.frame.get_view()
frame.hide()
# show the control panel
panel = ControlPanel()
panel.show()
def _update_invite_menu(self, activity):
buddy_activity = self._buddy.props.current_activity
if buddy_activity is not None:
buddy_activity_id = buddy_activity.activity_id
else:
buddy_activity_id = None
if activity is None or activity.is_journal() or activity.get_activity_id() == buddy_activity_id:
self._invite_menu.hide()
else:
title = activity.get_title()
self._invite_menu.set_label(_("Invite to %s") % title)
icon = Icon(file=activity.get_icon_path(), pixel_size=style.SMALL_ICON_SIZE)
icon.props.xo_color = activity.get_icon_color()
self._invite_menu.set_image(icon)
icon.show()
self._invite_menu.show()
def _cur_activity_changed_cb(self, home_model, activity_model):
self._update_invite_menu(activity_model)
def __buddy_notify_nick_cb(self, buddy, pspec):
self.set_primary_text(buddy.props.nick)
def _make_friend_cb(self, menuitem):
friends.get_model().make_friend(self._buddy)
def _remove_friend_cb(self, menuitem):
friends.get_model().remove(self._buddy)
def _invite_friend_cb(self, menuitem):
activity = shell.get_model().get_active_activity()
service = activity.get_service()
if service:
try:
service.InviteContact(self._buddy.props.account, self._buddy.props.contact_id)
except dbus.DBusException, e:
expected_exceptions = [
"org.freedesktop.DBus.Error.UnknownMethod",
"org.freedesktop.DBus.Python.NotImplementedError",
]
if e.get_dbus_name() in expected_exceptions:
logging.warning("Trying deprecated Activity.Invite")
service.Invite(self._buddy.props.key)
else:
raise
else: