def __init__(self): VTray.__init__(self) self._shared_activity = None self._buddies = {} shell.get_model().connect('active-activity-changed', self.__active_activity_changed_cb) neighborhood.get_model().connect('activity-added', self.__neighborhood_activity_added_cb)
def _set_current_activity(self, activity_id): logging.debug('FriendsTray._set_current_activity') neighborhood_model = neighborhood.get_model() self._shared_activity = neighborhood_model.get_activity(activity_id) if self._shared_activity is None: return for buddy in self._shared_activity.get_buddies(): self.add_buddy(buddy) self._shared_activity.connect('buddy-added', self.__buddy_added_cb) self._shared_activity.connect('buddy-removed', self.__buddy_removed_cb)
def __init__(self, nick, key, account=None, contact_id=None): self._online_buddy = None BuddyModel.__init__(self, nick=nick, key=key, account=account, contact_id=contact_id) neighborhood_model = neighborhood.get_model() neighborhood_model.connect('buddy-added', self.__buddy_added_cb) neighborhood_model.connect('buddy-removed', self.__buddy_removed_cb) buddy = neighborhood_model.get_buddy_by_key(key) if buddy is not None: self._set_online_buddy(buddy)
def __init__(self): logging.debug('STARTUP: Loading the mesh view') gobject.GObject.__init__(self) self.wireless_networks = {} self._adhoc_manager = None self._adhoc_networks = [] self._model = neighborhood.get_model() self._buddies = {} self._activities = {} self._mesh = [] self._buddy_to_activity = {} self._suspended = True self._query = '' self._owner_icon = None self._toolbar = MeshToolbar() self._toolbar.connect('query-changed', self._toolbar_query_changed_cb) self.pack_start(self._toolbar, expand=False) self._toolbar.show() canvas = hippo.Canvas() self.add(canvas) canvas.show() self._layout_box = hippo.CanvasBox( \ background_color=style.COLOR_WHITE.get_int()) canvas.set_root(self._layout_box) self._layout = SpreadLayout() self._layout_box.set_layout(self._layout) for buddy_model in self._model.get_buddies(): self._add_buddy(buddy_model) self._model.connect('buddy-added', self._buddy_added_cb) self._model.connect('buddy-removed', self._buddy_removed_cb) for activity_model in self._model.get_activities(): self._add_activity(activity_model) self._model.connect('activity-added', self._activity_added_cb) self._model.connect('activity-removed', self._activity_removed_cb) netmgr_observer = NetworkManagerObserver(self) netmgr_observer.listen()
def join(self): logging.error("ActivityInvite.join handler %r", self._handler) registry = bundleregistry.get_registry() bundle_id = self.get_bundle_id() bundle = registry.get_bundle(bundle_id) if bundle is None: self._call_handle_with() return bus = dbus.SessionBus() bus.add_signal_receiver( self._name_owner_changed_cb, "NameOwnerChanged", "org.freedesktop.DBus", arg0=self._handler ) model = neighborhood.get_model() activity_id = model.get_activity_by_room(self._handle).activity_id misc.launch(bundle, color=self.get_color(), invited=True, activity_id=activity_id)
def set_channel(self, channel): self.channel = channel self.channel[CHANNEL_TYPE_FILE_TRANSFER].connect_to_signal( 'FileTransferStateChanged', self.__state_changed_cb) self.channel[CHANNEL_TYPE_FILE_TRANSFER].connect_to_signal( 'TransferredBytesChanged', self.__transferred_bytes_changed_cb) self.channel[CHANNEL_TYPE_FILE_TRANSFER].connect_to_signal( 'InitialOffsetDefined', self.__initial_offset_defined_cb) channel_properties = self.channel[dbus.PROPERTIES_IFACE] props = channel_properties.GetAll(CHANNEL_TYPE_FILE_TRANSFER) self._state = props['State'] self.title = props['Filename'] self.file_size = props['Size'] self.description = props['Description'] self.mime_type = props['ContentType'] handle = channel_properties.Get(CHANNEL, 'TargetHandle') self.buddy = neighborhood.get_model().get_buddy_by_handle(handle)
def join(self): logging.debug('ActivityInvite.join handler %r', self._handler) registry = bundleregistry.get_registry() bundle_id = self.get_bundle_id() bundle = registry.get_bundle(bundle_id) if bundle is None: self._call_handle_with() return bus = dbus.SessionBus() bus.add_signal_receiver(self._name_owner_changed_cb, 'NameOwnerChanged', 'org.freedesktop.DBus', arg0=self._handler) model = neighborhood.get_model() activity_id = model.get_activity_by_room(self._handle).activity_id misc.launch(bundle, color=self.get_color(), invited=True, activity_id=activity_id)
def __init__(self, toolbar): logging.debug('STARTUP: Loading the mesh view') layout = SpreadLayout() # Round off icon size to an even number to ensure that the icon owner_icon = BuddyIcon(get_owner_instance(), style.STANDARD_ICON_SIZE & ~1) ViewContainer.__init__(self, layout, owner_icon) self.set_can_focus(False) self.wireless_networks = {} self._adhoc_manager = None self._adhoc_networks = [] self._model = neighborhood.get_model() self._buddies = {} self._activities = {} self._mesh = [] self._buddy_to_activity = {} self._suspended = True self._query = '' toolbar.connect('query-changed', self._toolbar_query_changed_cb) toolbar.search_entry.connect('icon-press', self.__clear_icon_pressed_cb) for buddy_model in self._model.get_buddies(): self._add_buddy(buddy_model) self._model.connect('buddy-added', self._buddy_added_cb) self._model.connect('buddy-removed', self._buddy_removed_cb) for activity_model in self._model.get_activities(): self._add_activity(activity_model) self._model.connect('activity-added', self._activity_added_cb) self._model.connect('activity-removed', self._activity_removed_cb) netmgr_observer = NetworkManagerObserver(self) netmgr_observer.listen()
def _add_selection(self, object_id, selection): if not selection.get_data(): return selection_data = selection.get_data() selection_type_atom = selection.get_data_type() selection_type = selection_type_atom.name() logging.debug('ClipboardTray: adding type %r', selection_type) cb_service = clipboard.get_instance() if selection_type == 'text/uri-list': uris = selection.get_uris() if len(uris) > 1: raise NotImplementedError('Multiple uris in text/uri-list' ' still not supported.') file_name = uris[0] buddies = neighborhood.get_model().get_buddies() mime_type = mime.get_for_file(file_name) title = os.path.basename(file_name) dialog = Gtk.MessageDialog(None, Gtk.DialogFlags.MODAL, Gtk.MessageType.INFO, Gtk.ButtonsType.YES_NO, "Do you want to start file transfer ?") response = dialog.run() dialog.destroy() if response == Gtk.ResponseType.YES: for buddy in buddies: if buddy != get_owner_instance(): filetransfer.start_transfer(buddy, file_name, title, "dummy", mime_type) cb_service.add_object_format(object_id, selection_type, uris[0], on_disk=True) else: cb_service.add_object_format(object_id, selection_type, selection_data, on_disk=False)
def __init__(self): self._shared_journal_entry = None self._model = neighborhood.get_model() self.unused_download_tubes = set() self.url_cache = None