def onConfigChange(self, *a, **kw): ud.BaseCalObj.onConfigChange(self, *a, **kw) ### if not self.isLoaded: if self.get_property("visible"): self.waitingDo(self.reloadEvents) ## FIXME return ### for action, eid, gid, path in ui.eventDiff: if action == "-": try: eventIter = self.eventsIter[eid] except KeyError: if gid in self.loadedGroupIds: print("trying to delete non-existing event row, eid=%s, path=%s" % (eid, path)) else: self.trees.remove(eventIter) elif action == "+": if gid in self.loadedGroupIds: parentIndex, eventIndex = path # print(gid, self.loadedGroupIds, parentIndex) parentIter = self.trees.get_iter((parentIndex,)) event = ui.getEvent(gid, eid) self.insertEventRow(parentIter, eventIndex, event) elif action == "e": try: eventIter = self.eventsIter[eid] except KeyError: if gid in self.loadedGroupIds: print("trying to edit non-existing event row, eid=%s, path=%s" % (eid, path)) else: event = ui.getEvent(gid, eid) self.updateEventRowByIter(event, eventIter) ### for gid in ui.changedGroups: group = ui.eventGroups[gid] groupIter = self.groupIterById[gid] for i, value in enumerate(self.getGroupRow(group)): self.trees.set_value(groupIter, i, value) ui.changedGroups = [] ### for gid in ui.reloadGroups: self.reloadGroupEvents(gid) ui.reloadGroups = [] ### if ui.reloadTrash: if self.trashIter: self.trees.remove(self.trashIter) self.appendTrash() ui.reloadTrash = False
def onEventLabelPopup(self, label, menu, ids): menu = gtk.Menu() self.labelMenuAddCopyItems(label, menu) #### groupId, eventId = ids event = ui.getEvent(groupId, eventId) if not event.readOnly: menu.add(gtk.SeparatorMenuItem()) ### winTitle = _('Edit ') + event.desc menu.add(labelStockMenuItem( winTitle, gtk.STOCK_EDIT, self.editEventClicked, winTitle, event, groupId, )) ### menu.add(gtk.SeparatorMenuItem()) ### menu.add(labelImageMenuItem( _('Move to %s') % ui.eventTrash.title, ui.eventTrash.icon, self.moveEventToTrash, event, groupId, )) #### menu.show_all() menu.popup(None, None, None, 3, 0) ui.updateFocusTime()
def onConfigChange(self, *a, **kw): ud.IntegratedCalObj.onConfigChange(self, *a, **kw) ### if not self.isLoaded: if self.get_property('visible'): self.waitingDo(self.reloadEvents)## FIXME return ### for gid in ui.newGroups: self.showNewGroup(ui.eventGroups[gid]) ui.newGroups = [] ### for gid in ui.changedGroups: groupIndex = ui.eventGroups.index(gid) group = ui.eventGroups[gid] try: groupIter = self.trees.get_iter((groupIndex,)) except: print 'changed group: invalid tree path: (%s,)'%groupIndex else: for i, value in enumerate(self.getGroupRow(group)): self.trees.set_value(groupIter, i, value) ui.changedGroups = [] ### for gid, eid in ui.newEvents: groupIndex = ui.eventGroups.index(gid) self.trees.append( self.trees.get_iter((groupIndex,)), self.getEventRow(ui.getEvent(gid, eid)), ) ui.newEvents = [] ### for gid, eid in ui.changedEvents: groupIndex = ui.eventGroups.index(gid) group = ui.eventGroups[gid] eventIndex = group.index(eid) try: eventIter = self.trees.get_iter((groupIndex, eventIndex)) except: print 'changed event: invalid tree path: (%s, %s)'%(groupIndex, eventIndex) else: for i, value in enumerate(self.getEventRow(group[eid])): self.trees.set_value(eventIter, i, value) ui.changedEvents = [] ### for gid, eid, eventIndex in ui.trashedEvents: groupIndex = ui.eventGroups.index(gid) try: eventIter = self.trees.get_iter((groupIndex, eventIndex)) except: print 'trashed event: invalid tree path: (%s, %s)'%(groupIndex, eventIndex) else: self.trees.remove(eventIter) self.trees.insert( self.trashIter, 0, self.getEventRow(ui.eventTrash[eid]), ) ui.trashedEvents = []
def onEventLabelPopup(self, label, menu, ids): menu = gtk.Menu() self.labelMenuAddCopyItems(label, menu) #### groupId, eventId = ids event = ui.getEvent(groupId, eventId) group = ui.eventGroups[groupId] if not event.readOnly: menu.add(gtk.SeparatorMenuItem()) ### winTitle = _('Edit ') + event.desc menu.add(labelStockMenuItem( winTitle, gtk.STOCK_EDIT, self.editEventClicked, winTitle, event, groupId, )) ### moveToItem = labelStockMenuItem( _('Move to %s')%'...', None,## FIXME ) moveToMenu = gtk.Menu() for new_group in ui.eventGroups: if new_group.id == group.id: continue if not new_group.enable: continue if event.name in new_group.acceptsEventTypes: new_groupItem = gtk.ImageMenuItem() new_groupItem.set_label(new_group.title) ## image = gtk.Image() image.set_from_pixbuf(newOutlineSquarePixbuf(new_group.color, 20)) new_groupItem.set_image(image) ## new_groupItem.connect('activate', self.moveEventToGroupFromMenu, event, group, new_group) ## moveToMenu.add(new_groupItem) moveToItem.set_submenu(moveToMenu) menu.add(moveToItem) ### menu.add(gtk.SeparatorMenuItem()) ### menu.add(labelImageMenuItem( _('Move to %s') % ui.eventTrash.title, ui.eventTrash.icon, self.moveEventToTrash, event, groupId, )) #### menu.show_all() menu.popup(None, None, None, 3, 0) ui.updateFocusTime()
def onLabelPopupPopulate(self, label, menu, ids): menu = gtk.Menu() #### itemCopyAll = gtk.ImageMenuItem(_('Copy _All')) itemCopyAll.set_image(gtk.image_new_from_stock(gtk.STOCK_COPY, gtk.ICON_SIZE_MENU)) itemCopyAll.connect('activate', self.copyAll, label) menu.add(itemCopyAll) #### itemCopy = gtk.ImageMenuItem(_('_Copy')) itemCopy.set_image(gtk.image_new_from_stock(gtk.STOCK_COPY, gtk.ICON_SIZE_MENU)) if label.get_property('cursor-position') != label.get_property('selection-bound'): itemCopy.connect('activate', self.copy, label) else: itemCopy.set_sensitive(False) menu.add(itemCopy) #### menu.add(gtk.SeparatorMenuItem()) #### (groupId, eventId) = ids event = ui.getEvent(groupId, eventId) ### winTitle = _('Edit ') + event.desc menu.add(labelStockMenuItem( winTitle, gtk.STOCK_EDIT, self.editEventClicked, winTitle, event, groupId, )) ### menu.add(gtk.SeparatorMenuItem()) ### menu.add(labelImageMenuItem( _('Move to %s')%ui.eventTrash.title, ui.eventTrash.icon, self.moveEventToTrash, event, groupId, )) #### menu.show_all() menu.popup(None, None, None, 3, 0)
def onEventLabelPopup(self, label, menu, occurData): from scal2.ui_gtk.event.utils import menuItemFromEventGroup menu = gtk.Menu() self.labelMenuAddCopyItems(label, menu) #### groupId, eventId = occurData['ids'] event = ui.getEvent(groupId, eventId) group = ui.eventGroups[groupId] if not event.readOnly: menu.add(gtk.SeparatorMenuItem()) ### winTitle = _('Edit ') + event.desc menu.add( labelStockMenuItem( winTitle, gtk.STOCK_EDIT, self.editEventClicked, winTitle, event, groupId, )) ### moveToItem = labelStockMenuItem( _('Move to %s') % '...', None, ## FIXME ) moveToMenu = gtk.Menu() for newGroup in ui.eventGroups: if newGroup.id == group.id: continue if not newGroup.enable: continue if event.name in newGroup.acceptsEventTypes: newGroupItem = menuItemFromEventGroup(newGroup) newGroupItem.connect( 'activate', self.moveEventToGroupFromMenu, event, group, newGroup, ) moveToMenu.add(newGroupItem) moveToItem.set_submenu(moveToMenu) menu.add(moveToItem) ### if not event.isSingleOccur: newEventType = 'allDayTask' if occurData[ 'is_allday'] else 'task' copyOccurItem = labelStockMenuItem( _('Copy as %s to...') % event_lib.classes.event. byName[newEventType].desc, ## FIXME None, ) copyOccurMenu = gtk.Menu() for newGroup in ui.eventGroups: if not newGroup.enable: continue if newEventType in newGroup.acceptsEventTypes: newGroupItem = menuItemFromEventGroup(newGroup) newGroupItem.connect( 'activate', self.copyOccurToGroupFromMenu, newGroup, newEventType, event, occurData, ) copyOccurMenu.add(newGroupItem) copyOccurItem.set_submenu(copyOccurMenu) menu.add(copyOccurItem) ### menu.add(gtk.SeparatorMenuItem()) ### menu.add( labelImageMenuItem( _('Move to %s') % ui.eventTrash.title, ui.eventTrash.icon, self.moveEventToTrash, event, groupId, )) #### menu.show_all() menu.popup(None, None, None, 3, 0) ui.updateFocusTime()
def onEventLabelPopup(self, label, menu, occurData): from scal2.ui_gtk.event.utils import menuItemFromEventGroup menu = gtk.Menu() self.labelMenuAddCopyItems(label, menu) #### groupId, eventId = occurData['ids'] event = ui.getEvent(groupId, eventId) group = ui.eventGroups[groupId] if not event.readOnly: menu.add(gtk.SeparatorMenuItem()) ### winTitle = _('Edit ') + event.desc menu.add(labelStockMenuItem( winTitle, gtk.STOCK_EDIT, self.editEventClicked, winTitle, event, groupId, )) ### moveToItem = labelStockMenuItem( _('Move to %s')%'...', None,## FIXME ) moveToMenu = gtk.Menu() for newGroup in ui.eventGroups: if newGroup.id == group.id: continue if not newGroup.enable: continue if event.name in newGroup.acceptsEventTypes: newGroupItem = menuItemFromEventGroup(newGroup) newGroupItem.connect( 'activate', self.moveEventToGroupFromMenu, event, group, newGroup, ) moveToMenu.add(newGroupItem) moveToItem.set_submenu(moveToMenu) menu.add(moveToItem) ### if not event.isSingleOccur: newEventType = 'allDayTask' if occurData['is_allday'] else 'task' copyOccurItem = labelStockMenuItem( _('Copy as %s to...') % event_lib.classes.event.byName[newEventType].desc,## FIXME None, ) copyOccurMenu = gtk.Menu() for newGroup in ui.eventGroups: if not newGroup.enable: continue if newEventType in newGroup.acceptsEventTypes: newGroupItem = menuItemFromEventGroup(newGroup) newGroupItem.connect( 'activate', self.copyOccurToGroupFromMenu, newGroup, newEventType, event, occurData, ) copyOccurMenu.add(newGroupItem) copyOccurItem.set_submenu(copyOccurMenu) menu.add(copyOccurItem) ### menu.add(gtk.SeparatorMenuItem()) ### menu.add(labelImageMenuItem( _('Move to %s') % ui.eventTrash.title, ui.eventTrash.icon, self.moveEventToTrash, event, groupId, )) #### menu.show_all() menu.popup(None, None, None, 3, 0) ui.updateFocusTime()