예제 #1
0
def installParcel(parcel, oldName=None):

    from osaf.framework.blocks import BlockEvent

    # pref instances
    PreviewPrefs.update(parcel, "previewPrefs")
    CalendarPrefs.update(parcel, "calendarPrefs")

    # events
    for eventName in ('GoToNext', 'GoToPrev', 'GoToToday', 'GoToDate'):
        BlockEvent.template(eventName,
                            dispatchToBlockName='MiniCalendar').install(parcel)

    BlockEvent.template(
        'GoToCalendarItem',
        dispatchToBlockName='MainCalendarControl').install(parcel)

    from CalendarCanvas import ColorChange
    ColorChange.update(parcel, "colorChange")
예제 #2
0
def installParcel(parcel, oldName=None):

    from osaf.framework.blocks import BlockEvent
    
    # pref instances
    PreviewPrefs.update(parcel, "previewPrefs")
    CalendarPrefs.update(parcel, "calendarPrefs")

    # events
    for eventName in ('GoToNext','GoToPrev','GoToToday','GoToDate'):
        BlockEvent.template(eventName,
                            dispatchToBlockName='MiniCalendar'
                            ).install(parcel)

    BlockEvent.template('GoToCalendarItem',
                        dispatchToBlockName='MainCalendarControl'
                        ).install(parcel)


    from CalendarCanvas import ColorChange
    ColorChange.update(parcel, "colorChange")
예제 #3
0
def installParcel(parcel, old_version=None):
    main = schema.ns('osaf.views.main', parcel.itsView)
    controller = Controller.update(
        parcel, 'RecordingController',
        blockName = 'RecordingController')

    #Define the block events for use with the menu items to be created.

    # Add menu and event to record scripts
    ToggleRecording = BlockEvent.update(
        parcel, 'ToggleRecording',
        blockName = 'ToggleRecording',
        dispatchEnum = 'SendToBlockByReference',
        destinationBlockReference = controller)

    # Add menu and event to include testing in script
    ScriptVerification = BlockEvent.update(
        parcel, 'ScriptVerification',
        blockName = 'ScriptVerification',
        dispatchEnum = 'SendToBlockByReference',
        destinationBlockReference = controller)
    
    # Create a block event that will be used for the dynamic play script menu system
    PlayableSripts = BlockEvent.template('PlayableSripts',
                    dispatchToBlockName = 'ScriptMenu',
                    commitAfterDispatch = True).install(parcel)    
    
    # Add event to play a recording
    #create the block event that will handle the event raised by open script menu item
    BrowseScript = BlockEvent.update(
        parcel, 'BrowseScript',
        blockName = 'BrowseScript',
        dispatchEnum = 'SendToBlockByReference',
        destinationBlockReference = controller)
    
    Menu.template(
        'ScriptingMenuItem',
        title = _(u'Scriptin&g'),
        childBlocks = [
            MenuItem.template(
                'RecordingMenuItem',
                title = _(u'&Record Script'), # see onToggleRecordingEventUpdateUI
                helpString = _(u'Record commands in Chandler'),
                event = ToggleRecording),
            MenuItem.template(
                'ScriptVerificationMenuItem',
                title = _(u'&Verify Script'),
                helpString = _(u"When scripts run, verification ensure that the UI's data matches the state when the script was recorded"),
                menuItemKind = 'Check',
                event = ScriptVerification),
            
            # Create the block for the dynamic menu
            # Add a dynamic menu to display the playable scripts
            ScriptsMenu.template(
                'ScriptMenu',
                title = _(u'Run &Script'),
                event = PlayableSripts,
                childBlocks = [
                    # Add a menu item that allows user to browse for a specific playable script
                    MenuItem.template(
                        'PlayScriptMenuItem',
                        title = _(u'&Browse...'),
                        helpString = _(u'Open a script you recorded to play'),
                        event = BrowseScript)
                ])
            ],
        parentBlock = main.ToolsMenu)#don't .install(parcel)
예제 #4
0
def makeMainEvents(parcel):

    from application import schema
    import osaf.pim.notes
    import osaf.pim.calendar
    import osaf.pim.mail
    import osaf.pim.tasks
    from osaf import pim, messages

    repositoryView = parcel.itsView

    # NewItemEvent's commitAfterDispatch defaults to True
    NewItemEvent.update(parcel, 'NewItem',
                        blockName = 'NewItem')

    NewItemEvent.update(parcel, 'NewNote',
                        blockName = 'NewNote',
                        classParameter = osaf.pim.notes.Note)

    NewItemEvent.update(parcel, 'NewMailMessage',
                        blockName = 'NewMailMessage',
                        classParameter = osaf.pim.mail.MailStamp)

    NewItemEvent.update(parcel, 'NewStarredNote',
                        blockName = 'NewStarredNote',
                        classParameter = osaf.pim.mail.TaskStamp)

    NewItemEvent.update(parcel, 'NewCalendar',
                        blockName = 'NewCalendar',
                        classParameter = osaf.pim.calendar.Calendar.EventStamp)

    NewItemEvent.update(parcel, 'DisplayMailMessage',
                        blockName = 'DisplayMailMessage',
                        dispatchEnum = 'SendToBlockByName',
                        dispatchToBlockName = 'MainView',
                        collection = schema.ns("osaf.pim", repositoryView).outCollection)

    BlockEvent.template('ReminderTime',
                        dispatchEnum = 'SendToBlockByReference'
                        # destinatinBlockReference is assigned in makeMakeView
                        # because of a circular dependence
                        ).install(parcel)
    
    BlockEvent.template('AddSharingLogToSidebar',
                        commitAfterDispatch = True).install(parcel)

    BlockEvent.template('ResetShare',
                        commitAfterDispatch = True).install(parcel)

    BlockEvent.template('RecordSetDebugging',
                        commitAfterDispatch = True).install(parcel)

    BlockEvent.template('SwitchRepository').install(parcel)

    BlockEvent.template('CreateRepository').install(parcel),

    BlockEvent.template('CompactRepository').install(parcel)

    BlockEvent.template('IndexRepository').install(parcel)

    BlockEvent.template('UnsubscribePublishedCollection',
                        commitAfterDispatch = True).install(parcel)

    BlockEvent.template('UnpublishCollection',
                        commitAfterDispatch = True).install(parcel)

    BlockEvent.template('UnsubscribeCollection',
                        commitAfterDispatch = True).install(parcel)

    BlockEvent.template('ShowHideStatusBar',
                        methodName = 'onShowHideEvent',
                        dispatchToBlockName = 'StatusBar').install(parcel)

    BlockEvent.template('SyncManager',
                        commitAfterDispatch = True).install(parcel)

    BlockEvent.template('EnableTimezones',
                        commitAfterDispatch = True).install(parcel)

    BlockEvent.template('FocusTogglePrivate',
                        dispatchEnum = 'FocusBubbleUp',
                        commitAfterDispatch = True).install(parcel)

    BlockEvent.template('MarkAsRead',
                        dispatchEnum = 'FocusBubbleUp',
                        commitAfterDispatch = True).install(parcel)

    ClassParameterizedEvent.template('FocusStampMessage',
                                     methodName = 'onFocusStampEvent',
                                     classParameter = osaf.pim.mail.MailStamp,
                                     dispatchEnum = 'FocusBubbleUp',
                                     commitAfterDispatch = True).install(parcel)

    ClassParameterizedEvent.template('FocusStampTask',
                                     methodName = 'onFocusStampEvent',
                                     classParameter = osaf.pim.tasks.TaskStamp,
                                     dispatchEnum = 'FocusBubbleUp',
                                     commitAfterDispatch = True).install(parcel)

    ClassParameterizedEvent.template('FocusStampCalendar',
                                     methodName = 'onFocusStampEvent',
                                     classParameter = osaf.pim.calendar.Calendar.EventStamp,
                                     dispatchEnum = 'FocusBubbleUp',
                                     commitAfterDispatch = True).install(parcel)

    ClassParameterizedEvent.template('ReplyMessage',
                                     methodName = 'onReplyEvent',
                                     classParameter = osaf.pim.mail.MailStamp,
                                     dispatchEnum = 'FocusBubbleUp',
                                     commitAfterDispatch = True).install(parcel)

    ClassParameterizedEvent.template('ReplyAllMessage',
                                     methodName = 'onReplyAllEvent',
                                     classParameter = osaf.pim.mail.MailStamp,
                                     dispatchEnum = 'FocusBubbleUp',
                                     commitAfterDispatch = True).install(parcel)

    ClassParameterizedEvent.template('ForwardMessage',
                                     methodName = 'onForwardEvent',
                                     classParameter = osaf.pim.mail.MailStamp,
                                     dispatchEnum = 'FocusBubbleUp',
                                     commitAfterDispatch = True).install(parcel)

    BlockEvent.template('SubscribeToCollection',
                        commitAfterDispatch = True).install(parcel)

    BlockEvent.template('CheckRepository').install(parcel)

    BlockEvent.template('CheckAndRepairRepository').install(parcel)

    BlockEvent.template('i18nMailTest',
                        commitAfterDispatch = True).install(parcel)

    BlockEvent.template('ShowLogWindow').install(parcel)

    BlockEvent.template('ActivateWebserver').install(parcel)

    BlockEvent.template('ShowActivityViewer').install(parcel)

    BlockEvent.template('GetNewMail',
                        commitAfterDispatch = True).install(parcel)

    BlockEvent.template('ManageSidebarCollection').install(parcel)

    BlockEvent.template('SaveSettings').install(parcel)

    BlockEvent.template('RestoreSettings',
                        commitAfterDispatch = True).install(parcel)

    BlockEvent.template('EditAccountPreferences').install(parcel)

    BlockEvent.template('LocalePicker').install(parcel)

    BlockEvent.template('ConfigureProxies').install(parcel)

    BlockEvent.template('ProtectPasswords',
                        commitAfterDispatch = True).install(parcel)

    BlockEvent.template('ShowHideSidebar',
                        methodName = 'onShowHideEvent',
                        dispatchToBlockName = 'SidebarContainer').install(parcel)

    BlockEvent.template('Triage',
                        dispatchEnum = 'ActiveViewBubbleUp',
                        commitAfterDispatch = True).install(parcel)

    ClassParameterizedEvent.template('ApplicationBarAll',
                                     methodName = 'onClassParameterizedEvent',
                                     dispatchToBlockName = 'Sidebar').install(parcel)

    ClassParameterizedEvent.template('ApplicationBarEvent',
                                     methodName = 'onClassParameterizedEvent',
                                     classParameter = osaf.pim.calendar.Calendar.EventStamp,
                                     dispatchToBlockName = 'Sidebar').install(parcel)

    ClassParameterizedEvent.template('ApplicationBarTask',
                                     methodName = 'onClassParameterizedEvent',
                                     classParameter = osaf.pim.tasks.TaskStamp,
                                     dispatchToBlockName = 'Sidebar').install(parcel)

    BlockEvent.template('PublishCollection').install(parcel)

    BlockEvent.template('SetLoggingLevelCritical').install(parcel)

    BlockEvent.template('SetLoggingLevelError').install(parcel)

    BlockEvent.template('SetLoggingLevelWarning').install(parcel)

    BlockEvent.template('SetLoggingLevelInfo').install(parcel)

    BlockEvent.template('SetLoggingLevelDebug').install(parcel)

    BlockEvent.template('RestoreShares').install(parcel)

    BlockEvent.template('SyncPrefs').install(parcel)

    BlockEvent.template('SyncCollection').install(parcel)

    BlockEvent.template('ToggleMine',
                        dispatchToBlockName = 'Sidebar',
                        commitAfterDispatch = True).install(parcel)

    BlockEvent.template('DumpToFile').install(parcel)

    BlockEvent.template('ObfuscatedDumpToFile').install(parcel)

    BlockEvent.template('ReloadFromFile',
                        commitAfterDispatch = True).install(parcel)

    BlockEvent.template('ShowHideApplicationBar',
                        methodName = 'onShowHideEvent',
                        dispatchToBlockName = 'ApplicationBar').install(parcel)

    BlockEvent.template('SyncAll').install(parcel)

    untitledCollection = pim.SmartCollection.update(parcel,
                                                    'untitledCollection',
                                                    displayName=messages.UNTITLED)

    AddToSidebarEvent.update(
        parcel, 'NewCollection',
        blockName = 'NewCollection',
        editAttributeNamed = 'displayName',
        sphereCollection = schema.ns('osaf.pim', repositoryView).mine,
        item = untitledCollection)
        
    BlockEvent.template('EmptyTrash',
                        commitAfterDispatch = True).install(parcel)

    BlockEvent.template('EditItems',
                        commitAfterDispatch=True).install(parcel)

    BlockEvent.template('SyncWebDAV').install(parcel)

    BlockEvent.template('ImportICalendar').install(parcel)
    BlockEvent.template('ExportICalendar').install(parcel)

    BlockEvent.template('EnableAutoUpdate').install(parcel)
    BlockEvent.template('ResetAutoUpdate').install(parcel)

    BlockEvent.template('CollectionInvite').install(parcel)

    BlockEvent.template('TakeOnlineOffline',
                       commitAfterDispatch = True).install(parcel)

    BlockEvent.template('TakeAllOnlineOffline').install(parcel)
    
    BlockEvent.template('TakeMailOnlineOffline').install(parcel)

    BlockEvent.template('TakeSharesOnlineOffline').install(parcel)

    BlockEvent.template('RequestSelectSidebarItem',
                        dispatchToBlockName = 'Sidebar').install(parcel)
    
    BlockEvent.template('SendMail',
                       commitAfterDispatch = True).install(parcel)

    BlockEvent.template('QuickEntry',
                        dispatchEnum = 'FocusBubbleUp').install(parcel)

    BlockEvent.template('Search',
                        commitAfterDispatch = True,
                        dispatchToBlockName = 'MainView').install(parcel)
                        
    BlockEvent.template('SwitchToQuickEntry',
                        commitAfterDispatch = True,
                        dispatchToBlockName = 'MainView').install(parcel)

    BlockEvent.template('SendShareItem',
                        commitAfterDispatch = True,
                        dispatchEnum = 'FocusBubbleUp').install(parcel)

    BlockEvent.template('SelectedDateChanged',
                        dispatchEnum = 'BroadcastEverywhere').install(parcel)
    
    BlockEvent.template('DayMode',
                        dispatchEnum = 'BroadcastEverywhere').install(parcel)

    BlockEvent.template('WeekStartChanged',
                        dispatchEnum = 'BroadcastEverywhere').install(parcel)
        
    CalendarViewEvent.template('ViewAsDayCalendar',
                               viewTemplatePath = 'osaf.views.main.CalendarSummaryViewTemplate',
                               methodName = 'onCalendarViewEvent',
                               dayMode = 'day',
                               dispatchEnum = 'ActiveViewBubbleUp').install(parcel)

    CalendarViewEvent.template('ViewAsWeekCalendar',
                               viewTemplatePath = 'osaf.views.main.CalendarSummaryViewTemplate',
                               methodName = 'onCalendarViewEvent',
                               dayMode = 'week',
                               dispatchEnum = 'ActiveViewBubbleUp').install(parcel)

    CalendarViewEvent.template('ViewAsMultiWeek',
                       viewTemplatePath = 'osaf.views.main.MultiWeekViewTemplate',
                       methodName = 'onCalendarViewEvent',
                       dayMode = 'multiweek',
                       dispatchEnum = 'ActiveViewBubbleUp').install(parcel)

    ViewEvent.template('ViewAsDashboard',
                       viewTemplatePath = 'Dashboard',
                       methodName = 'onViewEvent',
                       dispatchEnum = 'ActiveViewBubbleUp').install(parcel)

    ViewEvent.template('ViewAsCalendar',
                       viewTemplatePath = 'Calendar',
                       methodName = 'onViewEvent',
                       dispatchEnum = 'ActiveViewBubbleUp').install(parcel)

    BlockEvent.template('DuplicateSidebarSelection',
                        methodName = 'onDuplicateEvent',
                        dispatchToBlockName = 'Sidebar',
                        commitAfterDispatch = True).install(parcel)

    BlockEvent.template('RenameCollection',
                        methodName = 'onRenameEvent',
                        dispatchToBlockName = 'Sidebar',
                        commitAfterDispatch = True).install(parcel),
    
    BlockEvent.template('DeleteCollection',
                        methodName = 'onDeleteEvent',
                        dispatchToBlockName = 'Sidebar',
                        commitAfterDispatch = True).install(parcel),

    BlockEvent.template('DeleteInActiveView',
                        methodName = 'onDeleteEvent',
                        dispatchEnum = 'ActiveViewBubbleUp',
                        commitAfterDispatch = True).install(parcel)

    BlockEvent.template('RemoveInActiveView',
                        dispatchEnum = 'ActiveViewBubbleUp',
                        methodName = 'onRemoveEvent',
                        commitAfterDispatch = True).install(parcel),

    BlockEvent.template('CutInActiveView',
                        dispatchEnum = 'ActiveViewBubbleUp',
                        methodName = 'onCutEvent',
                        commitAfterDispatch = True).install(parcel),

    BlockEvent.template('CopyInActiveView',
                        dispatchEnum = 'ActiveViewBubbleUp',
                        methodName = 'onCopyEvent',
                        commitAfterDispatch = True).install(parcel),

    BlockEvent.template('DuplicateInActiveView',
                        dispatchEnum = 'ActiveViewBubbleUp',
                        methodName = 'onDuplicateEvent',
                        commitAfterDispatch = True).install(parcel),

    BlockEvent.template('PasteInActiveView',
                        dispatchEnum = 'ActiveViewBubbleUp',
                        methodName = 'onPasteEvent',
                        commitAfterDispatch = True).install(parcel),

    BlockEvent.template('BrowsePlugins',
                        dispatchToBlockName = 'PluginsMenu').install(parcel)

    BlockEvent.template('InstallPlugins',
                        dispatchToBlockName = 'PluginsMenu',
                        commitAfterDispatch = True).install(parcel)

    BlockEvent.template('Plugin',
                        dispatchToBlockName = 'PluginsMenu',
                        commitAfterDispatch = True).install(parcel)

    AddToSidebarEvent.update(
        parcel, 'SaveResults',
        blockName = 'SaveResults',
        editAttributeNamed = 'displayName',
        sphereCollection = schema.ns('osaf.pim', repositoryView).mine,
        item = schema.ns('osaf.pim', repositoryView).searchResults)
        
예제 #5
0
파일: events.py 프로젝트: vogth/chandler
def makeMainEvents(parcel):

    from application import schema
    import osaf.pim.notes
    import osaf.pim.calendar
    import osaf.pim.mail
    import osaf.pim.tasks
    from osaf import pim, messages

    repositoryView = parcel.itsView

    # NewItemEvent's commitAfterDispatch defaults to True
    NewItemEvent.update(parcel, "NewItem", blockName="NewItem")

    NewItemEvent.update(parcel, "NewNote", blockName="NewNote", classParameter=osaf.pim.notes.Note)

    NewItemEvent.update(parcel, "NewMailMessage", blockName="NewMailMessage", classParameter=osaf.pim.mail.MailStamp)

    NewItemEvent.update(parcel, "NewStarredNote", blockName="NewStarredNote", classParameter=osaf.pim.mail.TaskStamp)

    NewItemEvent.update(
        parcel, "NewCalendar", blockName="NewCalendar", classParameter=osaf.pim.calendar.Calendar.EventStamp
    )

    NewItemEvent.update(
        parcel,
        "DisplayMailMessage",
        blockName="DisplayMailMessage",
        dispatchEnum="SendToBlockByName",
        dispatchToBlockName="MainView",
        collection=schema.ns("osaf.pim", repositoryView).outCollection,
    )

    BlockEvent.template(
        "ReminderTime",
        dispatchEnum="SendToBlockByReference"
        # destinatinBlockReference is assigned in makeMakeView
        # because of a circular dependence
    ).install(parcel)

    BlockEvent.template("AddSharingLogToSidebar", commitAfterDispatch=True).install(parcel)

    BlockEvent.template("ResetShare", commitAfterDispatch=True).install(parcel)

    BlockEvent.template("RecordSetDebugging", commitAfterDispatch=True).install(parcel)

    BlockEvent.template("SwitchRepository").install(parcel)

    BlockEvent.template("CreateRepository").install(parcel),

    BlockEvent.template("CompactRepository").install(parcel)

    BlockEvent.template("IndexRepository").install(parcel)

    BlockEvent.template("UnsubscribePublishedCollection", commitAfterDispatch=True).install(parcel)

    BlockEvent.template("UnpublishCollection", commitAfterDispatch=True).install(parcel)

    BlockEvent.template("UnsubscribeCollection", commitAfterDispatch=True).install(parcel)

    BlockEvent.template("ShowHideStatusBar", methodName="onShowHideEvent", dispatchToBlockName="StatusBar").install(
        parcel
    )

    BlockEvent.template("SyncManager", commitAfterDispatch=True).install(parcel)

    BlockEvent.template("EnableTimezones", commitAfterDispatch=True).install(parcel)

    BlockEvent.template("FocusTogglePrivate", dispatchEnum="FocusBubbleUp", commitAfterDispatch=True).install(parcel)

    BlockEvent.template("MarkAsRead", dispatchEnum="FocusBubbleUp", commitAfterDispatch=True).install(parcel)

    ClassParameterizedEvent.template(
        "FocusStampMessage",
        methodName="onFocusStampEvent",
        classParameter=osaf.pim.mail.MailStamp,
        dispatchEnum="FocusBubbleUp",
        commitAfterDispatch=True,
    ).install(parcel)

    ClassParameterizedEvent.template(
        "FocusStampTask",
        methodName="onFocusStampEvent",
        classParameter=osaf.pim.tasks.TaskStamp,
        dispatchEnum="FocusBubbleUp",
        commitAfterDispatch=True,
    ).install(parcel)

    ClassParameterizedEvent.template(
        "FocusStampCalendar",
        methodName="onFocusStampEvent",
        classParameter=osaf.pim.calendar.Calendar.EventStamp,
        dispatchEnum="FocusBubbleUp",
        commitAfterDispatch=True,
    ).install(parcel)

    ClassParameterizedEvent.template(
        "ReplyMessage",
        methodName="onReplyEvent",
        classParameter=osaf.pim.mail.MailStamp,
        dispatchEnum="FocusBubbleUp",
        commitAfterDispatch=True,
    ).install(parcel)

    ClassParameterizedEvent.template(
        "ReplyAllMessage",
        methodName="onReplyAllEvent",
        classParameter=osaf.pim.mail.MailStamp,
        dispatchEnum="FocusBubbleUp",
        commitAfterDispatch=True,
    ).install(parcel)

    ClassParameterizedEvent.template(
        "ForwardMessage",
        methodName="onForwardEvent",
        classParameter=osaf.pim.mail.MailStamp,
        dispatchEnum="FocusBubbleUp",
        commitAfterDispatch=True,
    ).install(parcel)

    BlockEvent.template("SubscribeToCollection", commitAfterDispatch=True).install(parcel)

    BlockEvent.template("CheckRepository").install(parcel)

    BlockEvent.template("CheckAndRepairRepository").install(parcel)

    BlockEvent.template("i18nMailTest", commitAfterDispatch=True).install(parcel)

    BlockEvent.template("ShowLogWindow").install(parcel)

    BlockEvent.template("ActivateWebserver").install(parcel)

    BlockEvent.template("ShowActivityViewer").install(parcel)

    BlockEvent.template("GetNewMail", commitAfterDispatch=True).install(parcel)

    BlockEvent.template("ManageSidebarCollection").install(parcel)

    BlockEvent.template("SaveSettings").install(parcel)

    BlockEvent.template("RestoreSettings", commitAfterDispatch=True).install(parcel)

    BlockEvent.template("EditAccountPreferences").install(parcel)

    BlockEvent.template("LocalePicker").install(parcel)

    BlockEvent.template("ConfigureProxies").install(parcel)

    BlockEvent.template("ProtectPasswords", commitAfterDispatch=True).install(parcel)

    BlockEvent.template(
        "ShowHideSidebar", methodName="onShowHideEvent", dispatchToBlockName="SidebarContainer"
    ).install(parcel)

    BlockEvent.template("Triage", dispatchEnum="ActiveViewBubbleUp", commitAfterDispatch=True).install(parcel)

    ClassParameterizedEvent.template(
        "ApplicationBarAll", methodName="onClassParameterizedEvent", dispatchToBlockName="Sidebar"
    ).install(parcel)

    ClassParameterizedEvent.template(
        "ApplicationBarEvent",
        methodName="onClassParameterizedEvent",
        classParameter=osaf.pim.calendar.Calendar.EventStamp,
        dispatchToBlockName="Sidebar",
    ).install(parcel)

    ClassParameterizedEvent.template(
        "ApplicationBarTask",
        methodName="onClassParameterizedEvent",
        classParameter=osaf.pim.tasks.TaskStamp,
        dispatchToBlockName="Sidebar",
    ).install(parcel)

    BlockEvent.template("PublishCollection").install(parcel)

    BlockEvent.template("SetLoggingLevelCritical").install(parcel)

    BlockEvent.template("SetLoggingLevelError").install(parcel)

    BlockEvent.template("SetLoggingLevelWarning").install(parcel)

    BlockEvent.template("SetLoggingLevelInfo").install(parcel)

    BlockEvent.template("SetLoggingLevelDebug").install(parcel)

    BlockEvent.template("RestoreShares").install(parcel)

    BlockEvent.template("SyncPrefs").install(parcel)

    BlockEvent.template("SyncCollection").install(parcel)

    BlockEvent.template("ToggleMine", dispatchToBlockName="Sidebar", commitAfterDispatch=True).install(parcel)

    BlockEvent.template("DumpToFile").install(parcel)

    BlockEvent.template("ObfuscatedDumpToFile").install(parcel)

    BlockEvent.template("ReloadFromFile", commitAfterDispatch=True).install(parcel)

    BlockEvent.template(
        "ShowHideApplicationBar", methodName="onShowHideEvent", dispatchToBlockName="ApplicationBar"
    ).install(parcel)

    BlockEvent.template("SyncAll").install(parcel)

    untitledCollection = pim.SmartCollection.update(parcel, "untitledCollection", displayName=messages.UNTITLED)

    AddToSidebarEvent.update(
        parcel,
        "NewCollection",
        blockName="NewCollection",
        editAttributeNamed="displayName",
        sphereCollection=schema.ns("osaf.pim", repositoryView).mine,
        item=untitledCollection,
    )

    BlockEvent.template("EmptyTrash", commitAfterDispatch=True).install(parcel)

    BlockEvent.template("EditItems", commitAfterDispatch=True).install(parcel)

    BlockEvent.template("SyncWebDAV").install(parcel)

    BlockEvent.template("ImportICalendar").install(parcel)
    BlockEvent.template("ExportICalendar").install(parcel)

    BlockEvent.template("EnableAutoUpdate").install(parcel)
    BlockEvent.template("ResetAutoUpdate").install(parcel)

    BlockEvent.template("CollectionInvite").install(parcel)

    BlockEvent.template("TakeOnlineOffline", commitAfterDispatch=True).install(parcel)

    BlockEvent.template("TakeAllOnlineOffline").install(parcel)

    BlockEvent.template("TakeMailOnlineOffline").install(parcel)

    BlockEvent.template("TakeSharesOnlineOffline").install(parcel)

    BlockEvent.template("RequestSelectSidebarItem", dispatchToBlockName="Sidebar").install(parcel)

    BlockEvent.template("SendMail", commitAfterDispatch=True).install(parcel)

    BlockEvent.template("QuickEntry", dispatchEnum="FocusBubbleUp").install(parcel)

    BlockEvent.template("Search", commitAfterDispatch=True, dispatchToBlockName="MainView").install(parcel)

    BlockEvent.template("SwitchToQuickEntry", commitAfterDispatch=True, dispatchToBlockName="MainView").install(parcel)

    BlockEvent.template("SendShareItem", commitAfterDispatch=True, dispatchEnum="FocusBubbleUp").install(parcel)

    BlockEvent.template("SelectedDateChanged", dispatchEnum="BroadcastEverywhere").install(parcel)

    BlockEvent.template("DayMode", dispatchEnum="BroadcastEverywhere").install(parcel)

    BlockEvent.template("WeekStartChanged", dispatchEnum="BroadcastEverywhere").install(parcel)

    CalendarViewEvent.template(
        "ViewAsDayCalendar",
        viewTemplatePath="osaf.views.main.CalendarSummaryViewTemplate",
        methodName="onCalendarViewEvent",
        dayMode="day",
        dispatchEnum="ActiveViewBubbleUp",
    ).install(parcel)

    CalendarViewEvent.template(
        "ViewAsWeekCalendar",
        viewTemplatePath="osaf.views.main.CalendarSummaryViewTemplate",
        methodName="onCalendarViewEvent",
        dayMode="week",
        dispatchEnum="ActiveViewBubbleUp",
    ).install(parcel)

    CalendarViewEvent.template(
        "ViewAsMultiWeek",
        viewTemplatePath="osaf.views.main.MultiWeekViewTemplate",
        methodName="onCalendarViewEvent",
        dayMode="multiweek",
        dispatchEnum="ActiveViewBubbleUp",
    ).install(parcel)

    ViewEvent.template(
        "ViewAsDashboard", viewTemplatePath="Dashboard", methodName="onViewEvent", dispatchEnum="ActiveViewBubbleUp"
    ).install(parcel)

    ViewEvent.template(
        "ViewAsCalendar", viewTemplatePath="Calendar", methodName="onViewEvent", dispatchEnum="ActiveViewBubbleUp"
    ).install(parcel)

    BlockEvent.template(
        "DuplicateSidebarSelection",
        methodName="onDuplicateEvent",
        dispatchToBlockName="Sidebar",
        commitAfterDispatch=True,
    ).install(parcel)

    BlockEvent.template(
        "RenameCollection", methodName="onRenameEvent", dispatchToBlockName="Sidebar", commitAfterDispatch=True
    ).install(parcel),

    BlockEvent.template(
        "DeleteCollection", methodName="onDeleteEvent", dispatchToBlockName="Sidebar", commitAfterDispatch=True
    ).install(parcel),

    BlockEvent.template(
        "DeleteInActiveView", methodName="onDeleteEvent", dispatchEnum="ActiveViewBubbleUp", commitAfterDispatch=True
    ).install(parcel)

    BlockEvent.template(
        "RemoveInActiveView", dispatchEnum="ActiveViewBubbleUp", methodName="onRemoveEvent", commitAfterDispatch=True
    ).install(parcel),

    BlockEvent.template(
        "CutInActiveView", dispatchEnum="ActiveViewBubbleUp", methodName="onCutEvent", commitAfterDispatch=True
    ).install(parcel),

    BlockEvent.template(
        "CopyInActiveView", dispatchEnum="ActiveViewBubbleUp", methodName="onCopyEvent", commitAfterDispatch=True
    ).install(parcel),

    BlockEvent.template(
        "DuplicateInActiveView",
        dispatchEnum="ActiveViewBubbleUp",
        methodName="onDuplicateEvent",
        commitAfterDispatch=True,
    ).install(parcel),

    BlockEvent.template(
        "PasteInActiveView", dispatchEnum="ActiveViewBubbleUp", methodName="onPasteEvent", commitAfterDispatch=True
    ).install(parcel),

    BlockEvent.template("BrowsePlugins", dispatchToBlockName="PluginsMenu").install(parcel)

    BlockEvent.template("InstallPlugins", dispatchToBlockName="PluginsMenu", commitAfterDispatch=True).install(parcel)

    BlockEvent.template("Plugin", dispatchToBlockName="PluginsMenu", commitAfterDispatch=True).install(parcel)

    AddToSidebarEvent.update(
        parcel,
        "SaveResults",
        blockName="SaveResults",
        editAttributeNamed="displayName",
        sphereCollection=schema.ns("osaf.pim", repositoryView).mine,
        item=schema.ns("osaf.pim", repositoryView).searchResults,
    )