[1179] | 1 | from zope import schema |
---|
| 2 | from zope.interface import Interface |
---|
| 3 | |
---|
[1180] | 4 | from plone.theme.interfaces import IDefaultPloneLayer |
---|
| 5 | |
---|
[1179] | 6 | from quintagroup.dropdownmenu import _ |
---|
| 7 | |
---|
| 8 | |
---|
[1180] | 9 | class IDropDownMenuLayer(IDefaultPloneLayer): |
---|
| 10 | """Request marker installed via browserlayer.xml. |
---|
| 11 | """ |
---|
| 12 | |
---|
| 13 | |
---|
[1179] | 14 | class IDropDownMenuSettings(Interface): |
---|
| 15 | """Global dropdown menu settings. This describes records stored in the |
---|
| 16 | configuration registry and obtainable via plone.registry. |
---|
| 17 | """ |
---|
| 18 | |
---|
| 19 | show_content_tabs = schema.Bool( |
---|
| 20 | title=_(u"Show content tabs"), |
---|
| 21 | description=_(u"Use this setting to enable or disable content structure " |
---|
| 22 | u"based (autogenerated) portal tabs."), |
---|
| 23 | default=True) |
---|
| 24 | |
---|
| 25 | show_nonfolderish_tabs = schema.Bool( |
---|
| 26 | title=_(u"Show non-folderish content tabs"), |
---|
| 27 | description=_(u"Use this setting to enable or disable non-folderish " |
---|
| 28 | u"content structure based (autogenerated) portal tabs. " |
---|
| 29 | u"This setting doesn't make sense in case Show content " |
---|
| 30 | u"tabs is switched off."), |
---|
| 31 | default=True) |
---|
| 32 | |
---|
| 33 | content_before_actions_tabs = schema.Bool( |
---|
| 34 | title=_(u"Show content tabs before portal_actions tabs"), |
---|
| 35 | description=_(u"By default portal_actons based tabs are placed before " |
---|
| 36 | u"those autogenerated from content structure. Check this " |
---|
| 37 | u"option to revert the behaviour."), |
---|
| 38 | default=True) |
---|
| 39 | |
---|
| 40 | content_tabs_level = schema.Int( |
---|
| 41 | title=_(u"Content tabs level"), |
---|
| 42 | description=_(u"How many folders should be included before the " |
---|
| 43 | u"nested menu stops. 0 means no limit. 1 only includes " |
---|
| 44 | u"the root folder."), |
---|
| 45 | default=0) |
---|
| 46 | |
---|
| 47 | show_actions_tabs = schema.Bool( |
---|
| 48 | title=_(u"Show actions tabs"), |
---|
| 49 | description=_(u"Use this setting to enable or disable portal_actions " |
---|
| 50 | u"based portal tabs."), |
---|
| 51 | default=True) |
---|
| 52 | |
---|
| 53 | actions_tabs_level = schema.Int( |
---|
| 54 | title=_(u"Actions tabs level"), |
---|
| 55 | description=_(u"How many folders should be included before the " |
---|
| 56 | u"nested menu stops. 0 means no limit. 1 only includes " |
---|
| 57 | u"the root folder."), |
---|
| 58 | default=0) |
---|
| 59 | |
---|
| 60 | actions_category = schema.TextLine( |
---|
| 61 | title=_(u"Portal actions category"), |
---|
| 62 | description=_(u"Root portal actions tool's category name to extract " |
---|
| 63 | u"tabs from."), |
---|
| 64 | default=u"portal_tab") |
---|
| 65 | |
---|
| 66 | nested_category_prefix = schema.TextLine( |
---|
| 67 | title=_(u"Nested category prefix"), |
---|
| 68 | description=_(u"Because portal_actions category object couldn't serve as" |
---|
| 69 | u" action itself we need to create appropriate action " |
---|
| 70 | u"for it. Prefix and sufix strings are used to make up " |
---|
| 71 | u"id for category while linking action to action category." |
---|
| 72 | u"E.g.: action id is 'index_html', prefix is 'pre_', sufix" |
---|
| 73 | u" is equal to '_sub' then category object with id equal " |
---|
| 74 | u"to 'pre_index_html_sub' will be looked up on the same " |
---|
| 75 | u"level to get nested menu for 'index_html' action."), |
---|
| 76 | default=u"") |
---|
| 77 | |
---|
| 78 | nested_category_sufix = schema.TextLine( |
---|
| 79 | title=_(u"Nested category sufix"), |
---|
| 80 | description=_(u"Sufix part of the category id to be looked up during " |
---|
| 81 | u"linking with action."), |
---|
| 82 | default=u"_sub") |
---|