--- a/src/pyams_default_theme/component/gallery/__init__.py Fri Dec 28 11:05:40 2018 +0100
+++ b/src/pyams_default_theme/component/gallery/__init__.py Sun Dec 30 18:11:35 2018 +0100
@@ -12,16 +12,47 @@
__docformat__ = 'restructuredtext'
+from persistent import Persistent
+from zope.container.contained import Contained
+from zope.interface import implementer
+from zope.schema.fieldproperty import FieldProperty
+
from pyams_content.component.gallery.interfaces import IBaseGallery
from pyams_content.features.renderer.interfaces import IContentRenderer
+from pyams_default_theme.component.gallery.interfaces import IGalleryDefaultRendererSettings
from pyams_default_theme.features.renderer import BaseContentRenderer
from pyams_skin.layer import IPyAMSLayer
from pyams_template.template import template_config
-from pyams_utils.adapter import adapter_config
+from pyams_utils.adapter import adapter_config, get_annotation_adapter
from pyams_default_theme import _, lightbox
+#
+# Gallery default renderer settings
+#
+
+DEFAULT_GALLERY_RENDERER_SETTINGS_KEY = 'pyams_content.gallery.renderer:default'
+
+
+@implementer(IGalleryDefaultRendererSettings)
+class GalleryDefaultRendererSettings(Persistent, Contained):
+ """Gallery default renderer settings"""
+
+ thumbnails_selection = FieldProperty(IGalleryDefaultRendererSettings['thumbnails_selection'])
+
+
+@adapter_config(context=IBaseGallery, provides=IGalleryDefaultRendererSettings)
+def default_gallery_renderer_settings_factory(context):
+ """Gallery default renderer settings factory"""
+ return get_annotation_adapter(context, DEFAULT_GALLERY_RENDERER_SETTINGS_KEY,
+ GalleryDefaultRendererSettings)
+
+
+#
+# Gallery default renderer
+#
+
class BaseGalleryRenderer(BaseContentRenderer):
"""Base gallery renderer"""
@@ -37,6 +68,12 @@
i18n_context_attrs = ('title',)
resources = (lightbox,)
+ settings_interface = IGalleryDefaultRendererSettings
+
+
+#
+# Gallery carousel renderer
+#
@adapter_config(name='carousel-sm', context=(IBaseGallery, IPyAMSLayer), provides=IContentRenderer)
@template_config(template='templates/renderer-carousel.pt', layer=IPyAMSLayer)