commit 5369d2a1f3abdf9ca8bc70eb95ab80fc582eb818 Author: Frederic Peters Date: Tue May 26 12:43:17 2009 +0200 initial commit; NuPlone, renamed to PcfIntranetStyle diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..792d600 --- /dev/null +++ b/__init__.py @@ -0,0 +1 @@ +# diff --git a/configure.zcml b/configure.zcml new file mode 100644 index 0000000..b12cc12 --- /dev/null +++ b/configure.zcml @@ -0,0 +1,30 @@ + + + + + + + + + + + + diff --git a/interfaces.py b/interfaces.py new file mode 100644 index 0000000..24000bd --- /dev/null +++ b/interfaces.py @@ -0,0 +1,6 @@ +from plone.theme.interfaces import IDefaultPloneLayer + +class IThemeSpecific(IDefaultPloneLayer): + """Marker interface that defines a Zope 3 skin layer bound to a skin + selection in portal_skins. + """ diff --git a/profiles.zcml b/profiles.zcml new file mode 100644 index 0000000..a224a10 --- /dev/null +++ b/profiles.zcml @@ -0,0 +1,15 @@ + + + + + diff --git a/profiles/default/cssregistry.xml b/profiles/default/cssregistry.xml new file mode 100644 index 0000000..b564151 --- /dev/null +++ b/profiles/default/cssregistry.xml @@ -0,0 +1,6 @@ + + + + diff --git a/profiles/default/import_steps.xml b/profiles/default/import_steps.xml new file mode 100644 index 0000000..a9fec60 --- /dev/null +++ b/profiles/default/import_steps.xml @@ -0,0 +1,11 @@ + + + + + Various import steps that are not handled by GS import/export + handlers. + + diff --git a/profiles/default/jsregistry.xml b/profiles/default/jsregistry.xml new file mode 100644 index 0000000..3799ac7 --- /dev/null +++ b/profiles/default/jsregistry.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/profiles/default/metadata.xml b/profiles/default/metadata.xml new file mode 100644 index 0000000..438a5fb --- /dev/null +++ b/profiles/default/metadata.xml @@ -0,0 +1,4 @@ + + + 0.9.3 + diff --git a/profiles/default/pcfintranetstyle_various.txt b/profiles/default/pcfintranetstyle_various.txt new file mode 100644 index 0000000..77ae359 --- /dev/null +++ b/profiles/default/pcfintranetstyle_various.txt @@ -0,0 +1 @@ +Need to check for this to ensure setuphandlers don't run when they shouldn't. \ No newline at end of file diff --git a/profiles/default/portlets.xml b/profiles/default/portlets.xml new file mode 100644 index 0000000..0ec486d --- /dev/null +++ b/profiles/default/portlets.xml @@ -0,0 +1,8 @@ + + + + diff --git a/profiles/default/skins.xml b/profiles/default/skins.xml new file mode 100644 index 0000000..1fd45b3 --- /dev/null +++ b/profiles/default/skins.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + diff --git a/profiles/default/viewlets.xml b/profiles/default/viewlets.xml new file mode 100644 index 0000000..957af72 --- /dev/null +++ b/profiles/default/viewlets.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/setuphandlers.py b/setuphandlers.py new file mode 100644 index 0000000..eea27a8 --- /dev/null +++ b/setuphandlers.py @@ -0,0 +1,39 @@ +from StringIO import StringIO + +from zope.component import getUtility +from zope.component import getMultiAdapter + +from plone.portlets.interfaces import IPortletAssignmentMapping +from plone.portlets.interfaces import IPortletManager +from plone.app.portlets import portlets + + +def addSearchPortlet(portal, out): + leftColumn = getUtility(IPortletManager, name=u'plone.leftcolumn', context=portal) + left = getMultiAdapter((portal, leftColumn,), IPortletAssignmentMapping, context=portal) + if u'portlets.Search' not in left: + print >> out, "Adding search portlet to the left column" + left[u'portlets.Search'] = portlets.search.Assignment() + order = [left.keys()[-1]]+left.keys()[:-1] + left.updateOrder(list(order)) + +def addLanguagePortlet(portal, out): + leftColumn = getUtility(IPortletManager, name=u'plone.leftcolumn', context=portal) + left = getMultiAdapter((portal, leftColumn,), IPortletAssignmentMapping, context=portal) + if u'portlets.Language' not in left: + print >> out, "Adding language portlet to the left column" + left[u'portlets.Language'] = portlets.language.Assignment() + order = [left.keys()[-1]]+left.keys()[:-1] + left.updateOrder(list(order)) + + +def importVarious(context): + + if context.readDataFile('pcfintranetstyle_various.txt') is None: + return + + site = context.getSite() + out = StringIO() + + addSearchPortlet(site, out) + addLanguagePortlet(site, out) diff --git a/skins/pcfintranetstyle_images/body-ltr.gif b/skins/pcfintranetstyle_images/body-ltr.gif new file mode 100644 index 0000000..1d26512 Binary files /dev/null and b/skins/pcfintranetstyle_images/body-ltr.gif differ diff --git a/skins/pcfintranetstyle_images/body-rtl.gif b/skins/pcfintranetstyle_images/body-rtl.gif new file mode 100644 index 0000000..3bafb9d Binary files /dev/null and b/skins/pcfintranetstyle_images/body-rtl.gif differ diff --git a/skins/pcfintranetstyle_images/breadCrumbDivider-rtl.gif b/skins/pcfintranetstyle_images/breadCrumbDivider-rtl.gif new file mode 100644 index 0000000..4e565dd Binary files /dev/null and b/skins/pcfintranetstyle_images/breadCrumbDivider-rtl.gif differ diff --git a/skins/pcfintranetstyle_images/breadCrumbDivider.gif b/skins/pcfintranetstyle_images/breadCrumbDivider.gif new file mode 100644 index 0000000..dc7ff5b Binary files /dev/null and b/skins/pcfintranetstyle_images/breadCrumbDivider.gif differ diff --git a/skins/pcfintranetstyle_images/bulletLeft.gif b/skins/pcfintranetstyle_images/bulletLeft.gif new file mode 100644 index 0000000..9b2f4b6 Binary files /dev/null and b/skins/pcfintranetstyle_images/bulletLeft.gif differ diff --git a/skins/pcfintranetstyle_images/bulletRight.gif b/skins/pcfintranetstyle_images/bulletRight.gif new file mode 100644 index 0000000..31a4446 Binary files /dev/null and b/skins/pcfintranetstyle_images/bulletRight.gif differ diff --git a/skins/pcfintranetstyle_images/buttonBack-over.png b/skins/pcfintranetstyle_images/buttonBack-over.png new file mode 100644 index 0000000..0602c87 Binary files /dev/null and b/skins/pcfintranetstyle_images/buttonBack-over.png differ diff --git a/skins/pcfintranetstyle_images/buttonBack.png b/skins/pcfintranetstyle_images/buttonBack.png new file mode 100644 index 0000000..3168997 Binary files /dev/null and b/skins/pcfintranetstyle_images/buttonBack.png differ diff --git a/skins/pcfintranetstyle_images/buttonForward-over.png b/skins/pcfintranetstyle_images/buttonForward-over.png new file mode 100644 index 0000000..d80c6a2 Binary files /dev/null and b/skins/pcfintranetstyle_images/buttonForward-over.png differ diff --git a/skins/pcfintranetstyle_images/buttonForward.png b/skins/pcfintranetstyle_images/buttonForward.png new file mode 100644 index 0000000..7ab248f Binary files /dev/null and b/skins/pcfintranetstyle_images/buttonForward.png differ diff --git a/skins/pcfintranetstyle_images/contentViewsColour.gif b/skins/pcfintranetstyle_images/contentViewsColour.gif new file mode 100644 index 0000000..3e5176a Binary files /dev/null and b/skins/pcfintranetstyle_images/contentViewsColour.gif differ diff --git a/skins/pcfintranetstyle_images/currentNav-rtl.gif b/skins/pcfintranetstyle_images/currentNav-rtl.gif new file mode 100644 index 0000000..78bcd61 Binary files /dev/null and b/skins/pcfintranetstyle_images/currentNav-rtl.gif differ diff --git a/skins/pcfintranetstyle_images/currentNav.gif b/skins/pcfintranetstyle_images/currentNav.gif new file mode 100644 index 0000000..6348ec3 Binary files /dev/null and b/skins/pcfintranetstyle_images/currentNav.gif differ diff --git a/skins/pcfintranetstyle_images/edgeColour.gif b/skins/pcfintranetstyle_images/edgeColour.gif new file mode 100644 index 0000000..614a928 Binary files /dev/null and b/skins/pcfintranetstyle_images/edgeColour.gif differ diff --git a/skins/pcfintranetstyle_images/grid.png b/skins/pcfintranetstyle_images/grid.png new file mode 100644 index 0000000..6a5cb29 Binary files /dev/null and b/skins/pcfintranetstyle_images/grid.png differ diff --git a/skins/pcfintranetstyle_images/header.gif b/skins/pcfintranetstyle_images/header.gif new file mode 100644 index 0000000..166580e Binary files /dev/null and b/skins/pcfintranetstyle_images/header.gif differ diff --git a/skins/pcfintranetstyle_images/listBox-bottom.gif b/skins/pcfintranetstyle_images/listBox-bottom.gif new file mode 100644 index 0000000..a58bf32 Binary files /dev/null and b/skins/pcfintranetstyle_images/listBox-bottom.gif differ diff --git a/skins/pcfintranetstyle_images/listBox-header-left.gif b/skins/pcfintranetstyle_images/listBox-header-left.gif new file mode 100644 index 0000000..b189db1 Binary files /dev/null and b/skins/pcfintranetstyle_images/listBox-header-left.gif differ diff --git a/skins/pcfintranetstyle_images/listBox-header-right.gif b/skins/pcfintranetstyle_images/listBox-header-right.gif new file mode 100644 index 0000000..2927950 Binary files /dev/null and b/skins/pcfintranetstyle_images/listBox-header-right.gif differ diff --git a/skins/pcfintranetstyle_images/listBox-top.gif b/skins/pcfintranetstyle_images/listBox-top.gif new file mode 100644 index 0000000..9d9c96b Binary files /dev/null and b/skins/pcfintranetstyle_images/listBox-top.gif differ diff --git a/skins/pcfintranetstyle_images/logo-rtl.gif b/skins/pcfintranetstyle_images/logo-rtl.gif new file mode 100644 index 0000000..7e816de Binary files /dev/null and b/skins/pcfintranetstyle_images/logo-rtl.gif differ diff --git a/skins/pcfintranetstyle_images/logo.gif b/skins/pcfintranetstyle_images/logo.gif new file mode 100644 index 0000000..d373567 Binary files /dev/null and b/skins/pcfintranetstyle_images/logo.gif differ diff --git a/skins/pcfintranetstyle_images/pageTabs-bottom-left-over.gif b/skins/pcfintranetstyle_images/pageTabs-bottom-left-over.gif new file mode 100644 index 0000000..b613594 Binary files /dev/null and b/skins/pcfintranetstyle_images/pageTabs-bottom-left-over.gif differ diff --git a/skins/pcfintranetstyle_images/pageTabs-bottom-left-selected.gif b/skins/pcfintranetstyle_images/pageTabs-bottom-left-selected.gif new file mode 100644 index 0000000..12a77d3 Binary files /dev/null and b/skins/pcfintranetstyle_images/pageTabs-bottom-left-selected.gif differ diff --git a/skins/pcfintranetstyle_images/pageTabs-bottom-left.gif b/skins/pcfintranetstyle_images/pageTabs-bottom-left.gif new file mode 100644 index 0000000..f8b5662 Binary files /dev/null and b/skins/pcfintranetstyle_images/pageTabs-bottom-left.gif differ diff --git a/skins/pcfintranetstyle_images/pageTabs-bottom-right-over.gif b/skins/pcfintranetstyle_images/pageTabs-bottom-right-over.gif new file mode 100644 index 0000000..628fb7e Binary files /dev/null and b/skins/pcfintranetstyle_images/pageTabs-bottom-right-over.gif differ diff --git a/skins/pcfintranetstyle_images/pageTabs-bottom-right-selected.gif b/skins/pcfintranetstyle_images/pageTabs-bottom-right-selected.gif new file mode 100644 index 0000000..db237cc Binary files /dev/null and b/skins/pcfintranetstyle_images/pageTabs-bottom-right-selected.gif differ diff --git a/skins/pcfintranetstyle_images/pageTabs-bottom-right.gif b/skins/pcfintranetstyle_images/pageTabs-bottom-right.gif new file mode 100644 index 0000000..8ede40f Binary files /dev/null and b/skins/pcfintranetstyle_images/pageTabs-bottom-right.gif differ diff --git a/skins/pcfintranetstyle_images/pageTabs-top-left-over.gif b/skins/pcfintranetstyle_images/pageTabs-top-left-over.gif new file mode 100644 index 0000000..489b892 Binary files /dev/null and b/skins/pcfintranetstyle_images/pageTabs-top-left-over.gif differ diff --git a/skins/pcfintranetstyle_images/pageTabs-top-left-selected.gif b/skins/pcfintranetstyle_images/pageTabs-top-left-selected.gif new file mode 100644 index 0000000..8651a3f Binary files /dev/null and b/skins/pcfintranetstyle_images/pageTabs-top-left-selected.gif differ diff --git a/skins/pcfintranetstyle_images/pageTabs-top-left.gif b/skins/pcfintranetstyle_images/pageTabs-top-left.gif new file mode 100644 index 0000000..e1718e1 Binary files /dev/null and b/skins/pcfintranetstyle_images/pageTabs-top-left.gif differ diff --git a/skins/pcfintranetstyle_images/pageTabs-top-right-over.gif b/skins/pcfintranetstyle_images/pageTabs-top-right-over.gif new file mode 100644 index 0000000..fcaafdc Binary files /dev/null and b/skins/pcfintranetstyle_images/pageTabs-top-right-over.gif differ diff --git a/skins/pcfintranetstyle_images/pageTabs-top-right-selected.gif b/skins/pcfintranetstyle_images/pageTabs-top-right-selected.gif new file mode 100644 index 0000000..a5a0c17 Binary files /dev/null and b/skins/pcfintranetstyle_images/pageTabs-top-right-selected.gif differ diff --git a/skins/pcfintranetstyle_images/pageTabs-top-right.gif b/skins/pcfintranetstyle_images/pageTabs-top-right.gif new file mode 100644 index 0000000..30ce497 Binary files /dev/null and b/skins/pcfintranetstyle_images/pageTabs-top-right.gif differ diff --git a/skins/pcfintranetstyle_images/searchField.png b/skins/pcfintranetstyle_images/searchField.png new file mode 100644 index 0000000..f4d3788 Binary files /dev/null and b/skins/pcfintranetstyle_images/searchField.png differ diff --git a/skins/pcfintranetstyle_images/twistie-closed-gray.gif b/skins/pcfintranetstyle_images/twistie-closed-gray.gif new file mode 100644 index 0000000..57a0915 Binary files /dev/null and b/skins/pcfintranetstyle_images/twistie-closed-gray.gif differ diff --git a/skins/pcfintranetstyle_images/twistie-closed-over.gif b/skins/pcfintranetstyle_images/twistie-closed-over.gif new file mode 100644 index 0000000..81991d1 Binary files /dev/null and b/skins/pcfintranetstyle_images/twistie-closed-over.gif differ diff --git a/skins/pcfintranetstyle_images/twistie-closed.gif b/skins/pcfintranetstyle_images/twistie-closed.gif new file mode 100644 index 0000000..ca12044 Binary files /dev/null and b/skins/pcfintranetstyle_images/twistie-closed.gif differ diff --git a/skins/pcfintranetstyle_images/twistie-open-gray.gif b/skins/pcfintranetstyle_images/twistie-open-gray.gif new file mode 100644 index 0000000..0211b4a Binary files /dev/null and b/skins/pcfintranetstyle_images/twistie-open-gray.gif differ diff --git a/skins/pcfintranetstyle_images/twistie-open-over.gif b/skins/pcfintranetstyle_images/twistie-open-over.gif new file mode 100644 index 0000000..30beb37 Binary files /dev/null and b/skins/pcfintranetstyle_images/twistie-open-over.gif differ diff --git a/skins/pcfintranetstyle_images/twistie-open.gif b/skins/pcfintranetstyle_images/twistie-open.gif new file mode 100644 index 0000000..53ac24f Binary files /dev/null and b/skins/pcfintranetstyle_images/twistie-open.gif differ diff --git a/skins/pcfintranetstyle_scripts/multi-resolution.js b/skins/pcfintranetstyle_scripts/multi-resolution.js new file mode 100644 index 0000000..6491e17 --- /dev/null +++ b/skins/pcfintranetstyle_scripts/multi-resolution.js @@ -0,0 +1,29 @@ +registerPloneFunction(function() { + var f = function() { + var frameWidth; + if (self.innerWidth) { + frameWidth = self.innerWidth; + } else if (document.documentElement && document.documentElement.clientWidth) { + frameWidth = document.documentElement.clientWidth; + } else if (document.body) { + frameWidth = document.body.clientWidth; + } else { + return; + } + if (frameWidth < 1014) { + addClassName(document.body, 'narrow'); + removeClassName(document.body, 'medium'); + removeClassName(document.body, 'wide'); + } else if (frameWidth > 1260) { + removeClassName(document.body, 'narrow'); + removeClassName(document.body, 'medium'); + addClassName(document.body, 'wide'); + } else { + removeClassName(document.body, 'narrow'); + addClassName(document.body, 'medium'); + removeClassName(document.body, 'wide'); + } + }; + registerEventListener(window, 'resize', f); + f(); +}); diff --git a/skins/pcfintranetstyle_styles/IEFixes.css b/skins/pcfintranetstyle_styles/IEFixes.css new file mode 100644 index 0000000..e3c31df --- /dev/null +++ b/skins/pcfintranetstyle_styles/IEFixes.css @@ -0,0 +1,21 @@ +#portal-column-two dt.portletHeader { height: 1%;} +#portal-column-two dt.portletHeader a {position:relative;} +#portal-column-two dl.portletCalendar dt a.calendarNext { + margin-left:56px; + top:-5px; + padding-top:30px; +} +#portal-column-two dl.portletCalendar dt a.calendarPrevious { + top:-5px; + padding-top:30px; +} +/* avoid peekaboo bug on the stat pulldown */ +ul#contentActionMenus li dt a { + position: relative; +} +#region-content ul.formTabs li a {padding: 0;} +#region-content ul.formTabs li.lastFormTab {padding:0px;} +#region-content ul.formTabs li.lastFormTab a {padding:0px} +#region-content ul.formTabs li.firstFormTab {padding:0px} +#region-content ul.formTabs li.firstFormTab a {padding:0px} +.livesearchContainer {padding-top:0; margin-top:1em} diff --git a/skins/pcfintranetstyle_styles/RTL.css b/skins/pcfintranetstyle_styles/RTL.css new file mode 100644 index 0000000..333ee67 --- /dev/null +++ b/skins/pcfintranetstyle_styles/RTL.css @@ -0,0 +1,206 @@ +body { + text-align: right; + background: url(body-rtl.gif) repeat-y right 0; +} + +/* @group Columns */ + +#portal-columns { + float: right; +} + +/* @group Column One */ + +#portal-column-one { + float: right; + margin-left: 500px; + margin-right: 0; +} + + +/* @end */ + +/* @group Column Two */ + +#portal-column-two { + float: right; +} + + +/* @end */ + +/* @end */ + +#portal-column-content { + position: absolute; + right: 251px; + left: auto; +} + +#portal-header { + float: right; + background: url(body-rtl.gif) repeat-y right 0; + padding-left: 10px; + padding-right: 0; + position: static; +} + +.narrow #portal-header { + float: left; + background: url(body-rtl.gif) repeat-y right 0; + padding-left: 0px; + padding-right: 0; +} + +.narrow #portal-top { + width: 737px; +} + +ul#portal-globalnav { + float: left; + border-left: none; + border-right: 1px solid gray; + width: 700px; +} + +ul#portal-globalnav li { + float: right; + border-right: 1px solid #7dabcf; + margin-right: -1px; + margin-left: 0; +} + +ul#portal-globalnav li a { + min-height: 1.2em; +} + +#portal-column-two dl.portletCalendar dt a.calendarNext { + margin-left: 0; + position: absolute; + left: 7px; + right: auto; + background: url(buttonBack.png) no-repeat 3px center; + float: left; +} + +#portal-column-two dl.portletCalendar dt a.calendarPrevious { + margin-left: 0; + position: absolute; + left: 26px; + right: auto; + + background: url(buttonForward.png) no-repeat 3px center; + float: left; +} + +a#portal-logo { + float: right; + height: 0; + padding-top: 63px; + overflow: hidden; + margin-right: 0; + background: url(logo-rtl.gif) no-repeat right; +} + +.narrow a#portal-logo { + position: absolute; + height: 0; + right: 0; + top: 26px; +} + +.narrow ul#portal-globalnav { + clear: left; + width: 434px; +} + +ul#portal-siteactions + { + left: 0; + right: 0; + float: left; + text-align: left; +} + +#portal-personaltools-wrapper { + float: left; + clear: left; + text-align: left; +} + +.narrow #portal-personaltools-wrapper { + left: auto; + right: 0; + position: absolute; + top: 0; + text-align: right; +} + +#portal-breadcrumbs { right: 259px; + left: auto; + float: right; +} + +#portal-breadcrumbs a, #portal-breadcrumbs span span { + float: right; + padding: 5px 10pt 5px 0; + background: url(breadCrumbDivider-rtl.gif) no-repeat right center; +} + +#portal-column-one dl { + margin: 0 25px 25px 0; } + +div.managePortletsLink a { + margin-right: auto; + margin-left: auto; + padding-right: 20px; + padding-left: 20px; + width: auto; +} + +input.searchField { + background: url(searchField.png) no-repeat left center; + padding: 4px 5px 4px 20px; +} + +dl.portletNavigationTree { + margin-left: auto !important; + margin-right: 0 !important; +} + +dl.portletNavigationTree dd a { + padding-right: 25px; + padding-left: 6px; +} + +ul.portletNavigationTree li ul { + margin-left: auto; + padding-left: 0; + border-left: none; + border-right: 1px solid #666; + padding-right: 0; + margin-right: 25px; +} + +ul.portletNavigationTree li a img { + margin-left: auto; + margin-right: -19px; + float: right; +} + +ul.portletNavigationTree li a { + background: url(edgeColour.gif) repeat-y left; +} + +ul.portletNavigationTree li a.navTreeCurrentItem { + background: url(currentNav-rtl.gif) no-repeat left center; +} + +.narrow dl.portletCalendar table { left:-8px; position:relative; width: 194px; + margin-left: auto; + margin-right: -5px; +} + +.narrow dl.portletCalendar table th { + font-size: 9px; +} diff --git a/skins/pcfintranetstyle_styles/authoring.css b/skins/pcfintranetstyle_styles/authoring.css new file mode 100644 index 0000000..385a36d --- /dev/null +++ b/skins/pcfintranetstyle_styles/authoring.css @@ -0,0 +1,50 @@ +body.kupu { + padding: 1em 1em 2em 1em !important; + background: &dtml-backgroundColor;; +} + +body.kupu ol { + list-style-type: decimal; + margin-left: 2em; + line-height: 1.5em; + padding: 0; +} + +body.kupu ul { + line-height: 1.5em; + list-style-type: disc; + list-style-image: none; + margin: 0.5em 0 0 1.5em!important; +} + +body.kupu li { + margin-bottom: 0.25em; + line-height: 1.5em; + display: list-item; + margin-bottom: 0.5em; + display: list-item!important; +} + +body.kupu blockquote { + padding-left: 0.5em; + margin-left: 0; + border-left: 4px solid &dtml-globalBorderColor;; + color: &dtml-discreetColor;; +} +body.kupu code, tt { + font-family: Monaco, "Courier New", Courier, monospace; + font-size: 120%; + color: &dtml-fontColor;; + background-color: &dtml-globalBackgroundColor;; + padding: 0 0.1em; +} +body.kupu pre { + font-family: Monaco, "Courier New", Courier, monospace; + font-size: 100%; + padding: 1em; + border: &dtml-borderWidth; &dtml-borderStyle; &dtml-globalBorderColor;; + color: &dtml-fontColor;; + background-color: &dtml-globalBackgroundColor;; + overflow: auto; +} + diff --git a/skins/pcfintranetstyle_styles/base.css b/skins/pcfintranetstyle_styles/base.css new file mode 100644 index 0000000..e69de29 diff --git a/skins/pcfintranetstyle_styles/base_properties.props b/skins/pcfintranetstyle_styles/base_properties.props new file mode 100644 index 0000000..0dcc713 --- /dev/null +++ b/skins/pcfintranetstyle_styles/base_properties.props @@ -0,0 +1,47 @@ +title:string=PcfIntranetStyle's color, font, logo and border defaults + +plone_skin:string=PcfIntranetStyle + +logoName:string=logo.gif + +fontFamily:string="Helvetica Neue", Arial, sans-serif +fontBaseSize:string=100% +fontColor:string=Black +fontSmallSize:string=85% + +backgroundColor:string=White + +linkColor:string=#436976 +linkActiveColor:string=Red +linkVisitedColor:string=Purple + +borderWidth:string=1px +borderStyle:string=solid +borderStyleAnnotations:string=dashed + +globalBorderColor:string=#8cacbb +globalBackgroundColor:string=#dee7ec +globalFontColor:string=#436976 + +headingFontFamily:string="Times New Roman", Times, Georgia, serif + +contentViewBorderColor:string=#74ae0b +contentViewBackgroundColor:string=#cde2a7 +contentViewFontColor:string=#578308 + +inputFontColor:string=Black + +textTransform:string=lowercase + +evenRowBackgroundColor:string=#eef3f5 +oddRowBackgroundColor:string=transparent + +notifyBorderColor:string=#ffa500 +notifyBackgroundColor:string=#ffce7b + +discreetColor:string=#76797c +helpBackgroundColor:string=#ffffe1 + +portalMinWidth:string=70em +columnOneWidth:string=16em +columnTwoWidth:string=16em diff --git a/skins/pcfintranetstyle_styles/columns.css b/skins/pcfintranetstyle_styles/columns.css new file mode 100644 index 0000000..e69de29 diff --git a/skins/pcfintranetstyle_styles/forms.css b/skins/pcfintranetstyle_styles/forms.css new file mode 100644 index 0000000..e69de29 diff --git a/skins/pcfintranetstyle_styles/generated.css b/skins/pcfintranetstyle_styles/generated.css new file mode 100644 index 0000000..e69de29 diff --git a/skins/pcfintranetstyle_styles/member.css b/skins/pcfintranetstyle_styles/member.css new file mode 100644 index 0000000..b30efca --- /dev/null +++ b/skins/pcfintranetstyle_styles/member.css @@ -0,0 +1,18 @@ +a.state-private { + color: #ff7664 !important; +} +a.state-visible { + color: #a3e63d !important; +} +a.state-published { + color: #7dabcf; !important; +} +a.state-pending { + color: orange !important; +} +a.state-expired { + color: silver !important; +} +a.syndicated { + color: #008000 !important; +} diff --git a/skins/pcfintranetstyle_styles/mobile.css b/skins/pcfintranetstyle_styles/mobile.css new file mode 100644 index 0000000..e69de29 diff --git a/skins/pcfintranetstyle_styles/navtree.css b/skins/pcfintranetstyle_styles/navtree.css new file mode 100644 index 0000000..e69de29 diff --git a/skins/pcfintranetstyle_styles/pcf-intranet.css b/skins/pcfintranetstyle_styles/pcf-intranet.css new file mode 100644 index 0000000..a8f3a51 --- /dev/null +++ b/skins/pcfintranetstyle_styles/pcf-intranet.css @@ -0,0 +1,2067 @@ +/* Elements that still need discussion: + + - Lots of complaints about the colors not being strong enough, and I agree. This was + a problem with the original Plone theme too, and I'd like us to have darker, richer + variants of the current colors that work on non-optimal monitors and projectors. + + - Related: we need a general solution for the tiled-area links. + + - I have reintroduced the pulldown arrows on the menus, mostly because + the state pulldown is ambiguous without it - other solutions welcome. + + - The red coloring for private in listings isn't quite strong enough, + looks orange with the current body font. + + - Entire logo area should be clickable. + + - I adjusted the blue color to match the ICE profile, is that OK? + + - I adjusted the headline styles to match the ICE profile, is that OK? + + Remaining visual anomalies: + + - IE6/7 tweaks + +*/ + +/* @group Neutralize! */ + +a { + outline: none; +} + +/* Remove implicit browser styles to have a neutral starting point: + - No elements should have implicit margin/padding + - No underline by default on links (we add it explicitly in the body text) + - When we want markers on lists, we will be explicit about it, and they render inline by default + - Browsers are inconsistent about hX/pre/code, reset + - Linked images should not have borders + */ +* { margin: 0; padding: 0; } +* :link,:visited { text-decoration:none } +* ul,ol { list-style:none; } +* li { display: inline; } +* h1,h2,h3,h4,h5,h6,pre,code { font-size:1em; } +* a img,:link img,:visited img { border:none } + +/* @end */ + +/* @group Temp (Cornelis) */ + +#portal-personaltools-wrapper { + line-height: 20px; + padding: 0; + margin-top: 0; + float: right; + clear: right; +} + +.narrow #portal-personaltools-wrapper { + width: 235px; + position: absolute; + left: 0; + top: 0; + padding: 0; + margin-top: 8px; +} + +#portal-personaltools-wrapper ul { + margin-bottom: 0; +} + +#portal-personaltools-wrapper li a { + font-size: 11px; + padding-left: 15px; +} + +ul#portal-siteactions { + width: 235px; + top: 0; + text-align: right; + line-height: 20px; + padding: 0; + margin-top: 0; + right: 10px; + float: right; +} + +ul#portal-siteactions li a { + font-size: 11px; + padding-left: 5px; +} + +#portal-searchbox { + position: absolute; + top: 40px; + left: 766px; + width: 210px; + display: none; +} + +input#searchGadget { + width: 220px; + background: url(searchField.png) no-repeat right center; + color: #666; +} + +input#searchGadget:focus { + width: 220px; + background: url(searchField.png) no-repeat right center; + color: black; +} + +#portal-searchbox input.searchButton { + display: none; +} + +#portal-languageselector { + display: none; +} + +/* @end */ + +/* @group Basics */ + +body { + font: 70% Arial, sans-serif; + background: url(body-ltr.gif) repeat-y; +} + +#visual-portal-wrapper { + /*background-image: url(grid.png);*/ +} + +img { + vertical-align: middle; +} + +table { + border-collapse: collapse; +} +form { + width: 100%; + margin-bottom: 1em; +} +fieldset { + border: none; + border-top: 1px solid #5a9bc6; + width: 100%; +} + +legend { + padding: 0 0.5em; + font-size: 90%; + margin-left: -1.5em; +} + +a:link, a:visited { + color: #5a9bc6; +} +a:link:hover, a:visited:hover { + color: black; +} + + +pre { + background-color: #222; + color: White; + font-family: Consolas, "Courier New", Courier, monospace; + padding: 10px; + width: auto; + overflow-x: scroll; + font-size: 12px; +} + +code { + font-family: "American Typewriter", "Bitstream Vera Sans Mono", "Courier New", monospace; +} +label { + font-weight: bold; + padding: 2px; +} +label:hover { + background-color: #bbb; + cursor: pointer; +} +textarea { + border: 1px solid #808080; + width: 100%; +} +input[type="text"], +input[type="password"] { + border: 1px solid #666; + width: 99%; + padding: 2px; + font-size: 1.1em; +} + +input[type="text"]:focus, +input[type="password"]:focus { + border: 1px solid black; + background-color: #ffffe0; + outline: none; +} + +input:focus, +textarea:focus { + border-color: black !important; +} + +/* @end */ + +/* @group Columns */ + +#portal-columns { + padding-bottom: 40px; + float: left; +} + +/* @group Column One */ + +#portal-column-one { + width: 251px; + padding: 0; + float: left; + margin-right: 500px; +} + + +/* @end */ + +/* @group Column Two */ + +#portal-column-two { + width: 200px; + padding: 0 25px; + float: left; +} + +.narrow #portal-column-two { + clear: left; +} + + +/* @end */ + +/* @end */ + +/* @group Portlets */ + +/* @group General portlet layout */ + +/* @group Portlet management */ +div.portletAssignments div.portletHeader { + background-color: #666; + color: white; + padding: 6px; + margin: 6px 0; +} + +div.portletAssignments a { + color: white; + text-decoration: underline; +} +div.portletAssignments .managedPortletActions a { + text-decoration: none; + padding: 2px; +} + +div.portletAssignments .managedPortletActions a:hover { + background-color: white; + color: #666; +} + +.managedPortletActions { + float: right; + display: block; +} + +/* @end */ + +div.managePortletsLink { + clear: both; + text-align: center; + font-size: 11px; + margin-bottom: 20px; + padding-top: 20px; +} + +.narrow #portal-column-one div.managePortletsLink { + display: none; +} + +div.managePortletsLink a { + -moz-border-radius: 1.1em; + -webkit-border-radius: 1.1em; + background-color: #e5e5e5; + color: #909090; + font-size: 9px; + padding: 3px 1.7em; + border: 1px solid #e5e5e5; +} + +div.managePortletsLink a:hover { + background-color: #5a9bc6; + color: white; + border: 1px outset #e5e5e5; +} + +#portal-column-two dd.portletFooter, +#portal-column-one dd.portletFooter { + text-align: right; + margin: 6px 0 ; +} + +#portal-column-two dd.portletFooter { +} + +#portal-column-two dd.portletFooter a { + padding: 0 8px 8px 0 ; +} + +/* @group Column One */ + +#portal-column-one dl,.narrow #portal-column-two dl { + font-size: 12px; + color: #666; + padding: 0 25px; + margin: 0 0 25px; + width: 200px; + float: left; +} + +#portal-column-one dt,.narrow #portal-column-two dt,.narrow #portal-column-two dt a { + padding: 7px 0; + margin: 0; + background-color: white; + color: gray; +} + +.narrow #portal-column-two dt a { + color: #5a9bc6; +} + +.narrow #portal-column-two dt a:hover { + color: black; + text-decoration: underline; + background-color: white; +} + +#portal-column-one dd,.narrow #portal-column-two dd { + margin-right: 0; + margin-left: 0; + padding-right: 0; + padding-left: 0; + margin-top: 0; + padding-top: 0; + clear: left; + position: relative; + z-index:1; +} + +#portal-column-one dl.portlet dt.portletHeader { + width: 200px; + font-size: 14px; + text-transform: uppercase; +} +#portal-column-one dl.portlet dt.portletHeader a { + padding-top: 8px; + padding-bottom: 8px; + display: block; + color: black; +} + +#portal-column-one dl.portlet dt.portletHeader a:hover { + text-decoration: underline; +} + +#portal-column-one dl.portlet .portletItemDetails, +#portal-column-two dl.portlet .portletItemDetails { + display: block; + text-align: right; + color: #666; + font-size: 90%; + padding: 3px 0 9px 0; +} + +/* @end */ + +/* @group Column Two */ + +#portal-column-two dl { + margin-left: -25px !important; + margin-right: -25px !important; + margin-bottom: 1em; +} +#portal-column-two dt { + background-color: #666; + color: white; + padding: 10px 15px; +} +#portal-column-two dt a { + text-decoration: none; + display: block; + padding: 10px 15px; + margin: -10px -15px; + background-color: #5a9bc6; + color: white; +} + +#portal-column-two dt a:hover { + background-color: #666; +} + +#portal-column-two dd { + font-size: 12px; + line-height: 15px; + margin: 0 15px; +} + +#portal-column-two dd a { + padding-top: 3px; + padding-bottom: 3px; +} + +#portal-column-two dt.portletHeader { + text-transform: uppercase; + letter-spacing: 1px; + font-size: 14px; + margin: 0 0 10px 0; + clear: both; +} + +#portal-column-two dd a img { + vertical-align: middle; +} + + +/* @end */ + + + +/* @end */ + +/* @group Navigation portlet */ + +dl.portletNavigationTree { + width: 251px !important; + padding-left: 0 !important; +} + +dl.portletNavigationTree dt.portletHeader { + display: none; +} + +dl.portletNavigationTree dd a { + color: #666; + text-decoration: none; + display: block; + padding: 0; +} + +dl.portletNavigationTree dd li li a { + padding-left: 35px; +} + +dl.portletNavigationTree dd a:hover { + color: White !important; + background-color: #7dabcf !important; +} + +ul.portletNavigationTree li { + display: block; +} + +ul.portletNavigationTree li a { + width: auto; + font-size: 11px; + line-height: 15px; +} + +ul.portletNavigationTree li a span { + display: block; + padding: 4px 6px 4px 0; + background: url(edgeColour.gif) repeat-y right; +} + +ul.portletNavigationTree li a img { + margin-top: 2px; + margin-left: -19px; + float: left; +} +ul.portletNavigationTree .navTreeCurrentItem { + background-color: #bfbfbf; + display: block; +} + +ul.portletNavigationTree li.navTreeItemInPath { + background-color: #ebebeb; + display: block; +} + +ul.portletNavigationTree li a.navTreeCurrentItem span { + background: url(currentNav.gif) no-repeat right center !important; + color: black !important; +} + +/*li.navTreeItemInPath a.navTreeFolderish { + background: url(twistie-open-gray.gif) no-repeat 10px 6px; +}*/ + +a.navTreeFolderish { + background: url(twistie-closed-gray.gif) no-repeat 10px 6px; + display: block; +} + +a.navTreeItemInPath.navTreeFolderish, +a.navTreeCurrentItem.navTreeFolderish, +a.navTreeCurrentNode.navTreeFolderish { + background-image: url(twistie-open-gray.gif) ; + background-repeat: no-repeat; +} + +ul.portletNavigationTree li ul { + list-style: none; + margin-left: 0; + padding-left: 0; + margin-top: 0; +} + +.navTreeLevel0 li a { + padding-left: 43px !important; +} + +.navTreeLevel1 li a { + padding-left: 60px !important; + background-position: 27px 6px; +} + +.navTreeLevel2 li a { + padding-left: 78px !important; + background-position: 46px 6px; +} + +.navTreeLevel3 a { + padding-left: 88px !important; + +} + +.navTreeLevel4 a { + padding-left: 98px !important; + +} + +.navTreeLevel5 { + padding-left: 108px !important; + +} + +.navTreeLevel6 { + +} + +.navTreeLevel7 { + +} + +.navTreeLevel8 { + +} + +.navTreeLevel9 { + +} + +.navTreeLevel10 { + +} + +/* @end */ + +/* @group Search portlet */ + +dl.portletSearch { + position:relative; + z-index:5; + margin-bottom: 5px !important; +} + +input.searchField { + width: 173px; + background: url(searchField.png) no-repeat right center; + color: #999; + border: 1px solid #666; + font-size: 11px; + padding: 4px 20px 4px 5px; + font-weight: bold; +} + +input.searchField:focus { + color: black; +} + +dl.portletSearch input.searchButton { + display: none; +} + +dl.portletSearch dt.portletHeader, +dl.portletSearch dd.portletFooter { + display: none; +} + +/* @end */ + +/* @group Calendar */ + +/* @group Previous/Next (Column 1) */ + + + +/* @end */ + +/* @group Previous/Next (Column 2) */ + +dl.portletCalendar dt a.calendarPrevious { + width: 16px !important; + height: 0; + overflow: hidden; + float: right; + position: absolute; + background: transparent url(buttonBack.png) no-repeat 0 0 !important; + top: 10px; + padding: 20px 0 0 !important; + color: #666; + right: 29px; + margin: 0 !important; +} + +dl.portletCalendar dt a.calendarNext { + width: 16px !important; + height: 0; + overflow: hidden; + float: right; + position: absolute; + background: transparent url(buttonForward.png) no-repeat 0 0 !important; + top: 10px; + padding: 20px 0 0 !important; + color: #666; + right: 10px; + margin: 0 !important; +} + +.narrow dl.portletCalendar dt a.calendarPrevious { + right: 16px; + top: 4px; +} + +.narrow dl.portletCalendar dt a.calendarNext { + right: -3px; + top: 4px; +} + +dl.portletCalendar dt a.calendarPrevious:hover { + background-position: -16px 0 !important; +} + +dl.portletCalendar dt a.calendarNext:hover { + background-position: -16px 0 !important; +} + +dl.portletCalendar dd { + min-height: 170px; + margin-right: 3px !important; + margin-left: 3px !important; +} + + +/* @end */ +dl.portletCalendar dt { + position: relative; + text-decoration: none; + display: block; +} + +dl.portletCalendar table { + width: 100%; + font-size: 0.9em; +} + +.narrow dl.portletCalendar table { + width: 216px; + position: relative; + left: -8px; +} + +dl.portletCalendar table td { + margin: 0; + border-style: none; + letter-spacing: 0; + text-align: center; + padding: 5px 0; +} + +dl.portletCalendar table thead tr.weekdays td { + padding-top: 0; +} + +dl.portletCalendar table thead th { + color: black; + font-weight: bold; + text-transform: uppercase; + padding-right: 0; + padding-left: 0; + padding-bottom: 5px; +} + +dl.portletCalendar table a { + display: block; +} + +/* @end */ + +/* @group Login portlet */ + +dl.portletLogin div.field input { + width: 175px; + border: 1px solid #666; + font-size: 10px; + padding: 3px 20px 3px 3px; + margin-bottom: 5px; +} + +dl.portletLogin label { + font-size: 10px; +} + +dl.portletLogin div.formControls { + border-style: none; + text-align: left; +} + +dl.portletLogin dd a { + color: #5a9bc6; + width: 150px; + margin-top: 10px; +} + +/* @end */ + +/* @group Prefs portlet */ +#portlet-prefs strong { + margin-left: 2em; +} + + +/* @end */ + +/* @group Table of Contents */ +/* Table of Contents styling - essentially a portlet with smaller fonts and aligned right + limited in width */ +dl.toc { + float: right; + width: 35%; + font-size: 11px !important; + margin: 0 0 0.5em 1.5em; + border-left: 1px solid #666; +} +dl.toc dt { + margin-left: 3em; + font-weight: normal; + text-transform: uppercase; +} +dl.toc dd { + margin-bottom: 0 !important; +} +dl.toc dd ol { + margin-left: 1.5em !important; +} + +/* @end */ + +/* @end */ + +/* @group Header */ + +#portal-header { + float: left; + padding-top: 10px; + padding-bottom: 35px; + background: url(body-ltr.gif) repeat-y; + position: relative; + padding-right: 10px; +} + +#portal-top { + width: 1011px; +} + +.narrow #portal-top { + width: 737px; +} + +a#portal-logo { + height: 53px; + width: 250px; + float: left; + position: relative; + top: 0px; +} + +.narrow a#portal-logo { + height: 53px; + width: 250px; + float: left; + position: relative; + top: 20px; +} + +/* @end */ + +/* @group Forms */ + +/* @group Form Tabs (fieldsets) */ + +dl.enableFormTabbing dd { + margin-left: 0; + padding-top: 2em; +} + +fieldset.formPanel { + border: none; +} +fieldset.formPanel.hidden { + display: none; +} + +#region-content ul.formTabs, +#region-content ul.formTabs li { + list-style: none; + margin: 0; + padding: 0; +} + +#region-content ul.formTabs { + padding: 4px 0; + text-align: center; + margin-bottom: 20px; + margin-top: 20px; +} + +#region-content ul.formTabs li { + padding-top: 3px; + padding-bottom: 4px; + display: inline; +} + +#region-content ul.formTabs li a.selected { + background-color: #5a9bc6 !important; + color: White; +} + +#region-content ul.formTabs li a { + padding: 4px 0; + text-decoration: none; + font-size: 12px; + background: url(bulletLeft.gif) no-repeat right center; + line-height: 20px; +} + +#region-content ul.formTabs li a span { + background: url(bulletRight.gif) no-repeat 0 center; + padding: 3px 1em; + border-top: 1px solid #5a9bc6; + border-bottom: 1px solid #5a9bc6; +} + +#region-content ul.formTabs li a:hover { + text-decoration: none; + background-color: #666; + border-top-color: #666; + border-bottom-color: #666; +} + +#region-content ul.formTabs li a:hover span { + color: white; + text-decoration: none; +} + +/* @group First tab */ + +#region-content ul.formTabs li.firstFormTab { + background: url(pageTabs-bottom-left.gif) no-repeat 0 bottom; + padding-bottom: 4px; + padding-top: 4px; +} + +#region-content ul.formTabs li.firstFormTab a { + background: url(pageTabs-top-left.gif) no-repeat 0 top; + border-top-style: none; + border-bottom-style: none; + padding: 4px 0; +} + +#region-content ul.formTabs li.firstFormTab a span { + background: url(bulletLeft.gif) no-repeat right center; + border-top-style: none; + border-bottom-style: none; + padding: 4px 1em 3px; +} + +#region-content ul.formTabs li.firstFormTab a:hover, +#region-content ul.formTabs li.firstFormTab a.selected { + background: url(pageTabs-bottom-left-over.gif) no-repeat 0 bottom; +} + +#region-content ul.formTabs li.firstFormTab a:hover span, +#region-content ul.formTabs li.firstFormTab a.selected span { + background: url(pageTabs-top-left-over.gif) no-repeat 0 top; +} + + +/* @end */ + +/* @group Last tab */ + +#region-content ul.formTabs li.lastFormTab { + background: url(pageTabs-bottom-right.gif) no-repeat right bottom; + padding-bottom: 4px; + padding-top: 4px; +} + +#region-content ul.formTabs li.lastFormTab a { + background: url(pageTabs-top-right.gif) no-repeat right top; + border-top-style: none; + border-bottom-style: none; + padding: 4px 0; +} +#region-content ul.formTabs li.lastFormTab a span { + border-top-style: none; + border-bottom-style: none; + padding: 4px 1em; +} + +#region-content ul.formTabs li.lastFormTab a:hover, +#region-content ul.formTabs li.lastFormTab a.selected { + background: url(pageTabs-bottom-right-over.gif) no-repeat right bottom; +} + +#region-content ul.formTabs li.lastFormTab a:hover span, +#region-content ul.formTabs li.lastFormTab a.selected span { + background: url(pageTabs-top-right-over.gif) no-repeat right top; +} + + + +/* @end */ + +/* @group Line noise / browser workarounds */ + +/*\*//*/ +#portal-column-content ul.formTabs li a { + display: inline-block; + white-space: nowrap; + width: 1px; +} + +#portal-column-content ul.formTabs { + padding-bottom: 0; + margin-bottom: -1px; +} +/**/ + +/*\*/ +* html #region-content ul.formTabs li a { + padding: 0; +} + +/**/ + +/* @end */ + + +/* @end */ + +/* @group Login form */ + +#login-form input { + font-size: 150%; + width: auto; +} + +/* @end */ + +.field { + margin-bottom: 1em; +} + +.formHelp { + margin-top: 0.25em; + font-size: 12px; + color: #666; +} + +/* @end */ + +/* @group Breadcrumbs */ + +#portal-breadcrumbs { + position: absolute; + top: 8px; + left: 266px; + width: 450px; +} + +.narrow #portal-breadcrumbs { + width: 220px; +} + +#portal-breadcrumbs a, +#portal-breadcrumbs span span { + font-size: 11px; + text-decoration: none; + color: #7f7f7f; + float: left; + padding: 5px 0 5px 10px; + background: url(breadCrumbDivider.gif) no-repeat left center; + margin-right: 6px; +} + +#portal-breadcrumbs a:hover { + text-decoration: underline; +} + +span#breadcrumbs-you-are-here { + display: none; +} + +.breadcrumbSeparator { + display: none; +} + +/* @end */ + +/* @group Global Navigation */ + +ul#portal-globalnav { + width: 724px; + float: right; + overflow: hidden; + margin-left: 25px; + margin-right: 0; + font-size: 1em; + margin-top: 15px; + border-left: 1px solid gray; +} + +.narrow ul#portal-globalnav { + width: 450px; +} + +.medium ul#portal-globalnav { + +} + +ul#portal-globalnav li { + float: left; + border-left: 1px solid #7dabcf; + margin-left: -1px; + margin-right: 1px; +} + +ul#portal-globalnav li a { + float: left; + padding: 10px 20px; +} + +ul#portal-globalnav li.selected a { + color: white; + background-color: #7dabcf; +} + +ul#portal-globalnav li a:hover { + background-color: #666; + color: white; +} + +/* @end */ + +/* @group Content Views */ + +#portal-column-content ul.contentViews { + float: left; + list-style-type: none; + background: url(edgeColour.gif) repeat-x 0 bottom; + width: 451px; + position: relative; + margin-bottom: 1em; +} + +#portal-column-content ul.contentViews li { + float: left; + list-style-type: none; + padding: 0; + margin: 0; +} + +#portal-column-content ul.contentViews li a { + float: left; + text-decoration: none; + padding: 3px 6px 0; + font-size: 12px; + color: orange; + margin: 0; + line-height: 18px; +} + +#portal-column-content ul.contentViews li a:hover { + color: black; +} + +#portal-column-content ul.contentViews li.selected a { + border-right: 1px solid #666; + border-top: 1px solid #666; + border-left: 1px solid #666; + background-color: white; + color: black; + padding: 2px 5px 0; +} + +/* @end */ + +/* @group Content Actions */ + +div.contentActions { + float: left; + margin-bottom: 1em; + min-height: 1.5em; + margin-top: -1em; +} + +ul#contentActionMenus { + list-style-type: none; + width: 451px; + float: right; +} + +ul#contentActionMenus li { + list-style-type: none; + float: right; + position: relative; + font-size: 11px; + font-weight: bold; +} + +ul#contentActionMenus li a { + display: block; +} + +ul#contentActionMenus li a:hover { + text-decoration: underline; +} + +ul#contentActionMenus li dl { + padding: 0; +} + +ul#contentActionMenus li dd { + display: none; +} + +ul#contentActionMenus li dd img { + vertical-align: middle; +} + +ul#contentActionMenus li dt { + padding: 0; + margin: 0; +} + +ul#contentActionMenus li dt a { + font-size: 11px; + display: block; + padding: 6px 4px; + margin-right: 2px; + margin-left: 2px; +} + +ul#contentActionMenus li a img { + background-color: white; + width: 16px; + height: 16px; + margin-top: -3px; +} + +ul#contentActionMenus li dd.actionMenuContent img { + background-color: inherit; + margin-bottom: 0; + width: auto; + height: auto; + padding: 0; +} + +ul#contentActionMenus li dt a span.arrowDownAlternative { + font-size: 0.9em; +} + +ul#contentActionMenus li dt.label-state-private a { + color: white; + text-decoration: none; + background-color: #ff7664; + padding-right: 5px; + margin-right: 0; + padding-left: 5px; +} + +ul#contentActionMenus li dt.label-state-pending a { + color: white; + text-decoration: none; + background-color: orange; + padding-right: 5px; + margin-right: 0; + padding-left: 5px; +} + +ul#contentActionMenus li dt.label-state-visible a { + color: white; + text-decoration: none; + background-color: #a3e63d; + padding-right: 5px; + margin-right: 0; + padding-left: 5px; +} + +ul#contentActionMenus li dt.label-state-published a { + color: white; + text-decoration: none; + background-color: #7dabcf; + padding-right: 5px; + margin-right: 0; + padding-left: 5px; +} + +ul#contentActionMenus li dt a:hover { + text-decoration: underline; +} + +ul#contentActionMenus dl.activated dt { + background: url(listBox-header-right.gif) no-repeat right top; + position: relative; + z-index: 1000; + color: black; + text-decoration: none; + padding-right: 4px; +} + +ul#contentActionMenus dl.activated dt a { + color: black; + text-decoration: none; + + background: url(listBox-header-left.gif) no-repeat left top; + position: relative; + z-index: 1000; + margin-top: 3px; + padding: 3px 0 3px 4px; + margin-right: 2px; + margin-left: 2px; +} + +ul#contentActionMenus dl.activated dd { + display: block; + float: left; + width: 150px; + text-align: left; + position: absolute; + right: 0; + background: url(listBox-top.gif) no-repeat; + margin-top: -1px; +} + + +ul#contentActionMenus dl.activated ul { + width: 150px; + float: left; + background: url(listBox-bottom.gif) no-repeat 0 bottom; + margin-top: 10px; + padding-bottom: 10px; +} + +ul#contentActionMenus dl.activated ul li { + float: left; + width: 150px; +} + +ul#contentActionMenus dl.activated ul li a { + display: block; + text-align: left; + padding: 4px 5px; + text-decoration: none; + color: #666; + line-height: 12px; +} + +ul#contentActionMenus dl.activated ul li a:hover { + + color: white; + background-color: #666; +} + +ul#contentActionMenus li.actionSeparator { + border-top: 1px dotted #bbb; + padding: 5px 0; + font-weight: bold; +} + + +/* @end */ + +/* @group Content Area */ + +h1, +#archetypes-fieldname-title input { + margin-bottom: 10px; + color: black; + clear: left; + font-weight: normal; + font-size: 18px; + letter-spacing: 1px; + line-height: 20px; +} + +h1 { + text-transform: uppercase; + font-family: "Helvetica Neue Light","Helvetica Neue",Arial,Helvetica,Geneva,sans-serif; + letter-spacing: 1px; + font-weight: normal; + font-style: normal; +} + +h1.documentFirstHeading { + margin-bottom: 0.4em; +} + +h2 { + color: #666; + padding: 0; + text-transform: uppercase; + letter-spacing: 1px; + margin: 0.5em 0 0.4em; + font: normal 18px/20px "Helvetica Neue Light","Helvetica Neue",Arial,Helvetica,Geneva,sans-serif; +} + +#content h2 a,h2 a,#content h2 a:hover { + display: block; + text-decoration: none; + margin-bottom: 8px; + border-style: none; +} + +h3 a:hover { + text-decoration: none; +} + +#portal-column-content { + background-color: white; + width: 451px; + padding-right: 25px; + padding-left: 25px; + position: absolute; + left: 251px; + padding-bottom: 40px; +} + +#region-content { + line-height: 1.5em; +} + +#region-content p, +#region-content ul, +#region-content ol, +#region-content table, +#region-content dl { + margin-top: 0; + margin-bottom: 1em; + line-height: 1.5em; + color: black; + font-size: 1.1em; +} + +#region-content a { + /*border-bottom: 1px solid #5a9bc6;*/ +} + +#region-content a:hover { + text-decoration: underline; +} + +#region-content a:visited { + color: #427597; +} +#region-content a:visited:hover { + color: Black; +} +#region-content a:target { + background-color: #fd7 !important; +} + +#region-content img { + max-width: 100%; +} + +#region-content ul { + list-style-type: disc; + margin-left: 2em; +} + +#region-content ol { + list-style-type: decimal; + margin-left: 2em; +} + +#region-content li { + margin-bottom: 0.25em; + line-height: 1.5em; + display: list-item; +} + +#region-content dl dt { + font-weight: bold; +} + +#region-content div.documentByLine { + border-top: 1px solid gray; + margin-bottom: 10px; + font-size: 11px; + display: block; + margin-top: -0.5em; + color: gray; +} + +#region-content p.tileBody, +#portal-column-content titleFooter { + display: inline; + clear: none; +} + +#region-content .discreet { + color: #666; + font-size: 11px; +} + +#region-content .visualHighlight { + background-color: #ffc; +} + +#region-content .pullquote { + padding: 0 1em 0 1em; + margin: 0 0 1em 1em; + font-weight: bold; + float: right; + width: 35%; + clear: right; + border-left: 1px solid #888; + color: #888; +} +#region-content .callout { + font-variant: small-caps; + color: #888; + padding: 1em; + border: 1px solid #888; + border-style: solid none; + clear: both; +} + + +#region-content table { + width: 100%; + text-align: left; +} + +#region-content p.documentDescription { + font-weight: bold; + color: gray; + font-size: 1em; +} +#archetypes-fieldname-description textarea { + font: bold 100% Arial, sans-serif; +} + +#region-content a.link-parent { + display: none; +} + +#portal-footer, +#portal-colophon { + width: 190px; + font-size: 10px; + color: #999; + padding-left: 25px; + padding-right: 25px; + clear: left; + line-height: 14px; +} + +#portal-footer p, +#portal-colophon p, +#portal-footer ul, +#portal-colophon ul { + margin-bottom: 6px; + margin-top: 4px; +} + +#portal-colophon div.colophonWrapper ul li { + list-style-type: disc; +} + +#portal-colophon ul { +} + +#portal-column-content dl dd { + vertical-align: middle; + margin-bottom: 12px; +} + +/* @end */ + +/* @group Tables and listings */ + +table.listing { + width: 100%; +} + +table.listing td, +table.listing th { + padding: 0.5em; +} + +table.listing td.listingCheckbox, +table.listing th.listingCheckbox { + text-align: center; +} + +table.listing thead th { + text-align: left; + color: #666; + border-bottom: 1px solid #e7e7e7; + padding-left: 0; +} +table.listing tbody th { + font-weight: bold; +} +table.listingtbody tr { + text-align:left; +} +table.listing tbody tr.odd { + background: #f9f9f9; +} +table.listing tbody tr td { + background: #FFF; +} +table.listing tbody tr.odd td { + background: #f9f9f9; +} +table.listing a { + border: none !important; +} +table.listing a:hover { + border-bottom: 1px solid black !important; +} + +/* @end */ + +/* @group Status messages */ + +dl.portalMessage { + font-size: 12px; + clear: both; +} +dl.portalMessage a { + color: black; + border: none !important; + text-decoration: underline; +} +dl.portalMessage dt { + background-color: #996; + border: 1px solid #996; + font-weight: normal !important; + float: left; + margin: 0 0.5em 0 0; + padding: 0.5em 0.75em; + color: White; + line-height: 1em; +} +dl.portalMessage dd { + background-color: #ffffe3; + border: 1px solid #996; + padding: 0.5em 0.5em; + margin: 0; + line-height: 1em; +} +dl.warning dt { + background-color: #d80; + border: 1px solid #d80; +} +dl.error dt { + background-color: #d00; + border-color: #d00; +} +dl.warning dd { + background-color: #fd7; + border-color: #d80; +} +dl.error dd { + background-color: #fdc; + border-color: #d00; +} + + + +/* @end */ + +/* @group Control Panels */ +ul.configlets { + +} +ul.configlets li { + margin-bottom: 0.75em; + display: block; +} +ul.configlets a { + border: none; +} + +#region-content ul.configletDetails li{ + display: inline; + margin-left: 2.75em; +} + + +/* @end */ + +/* @group State coloring */ + +/* @end */ + +/* @group Document Actions */ +div.documentActions { + margin: 1em 0; + text-align: right; + border-top: 1px #666 solid; +} +div.documentActions ul { + padding: 0 0.5em; + display: block; + margin-top: -0.5em; + list-style-type: none; + list-style-image: none; +} +div.documentActions ul li { + display: inline !important; + margin: 0 0.5em; + padding: 0 0.25em; + background-color: White; +} +div.documentActions ul li a { + border: none !important; +} + +/* @end */ + +/* @group Visual editor */ + +div.fieldUploadFile { + display: none; +} +html.kupu-html body { + background: none; + font-size: 80%; +} + +html.kupu-html body.documentContent { + padding: 0 !important; +} + +/* Kupu image alignment classes */ + +iframe.kupu-editor-iframe { + border-style: none; +} + +iframe.kupu-editor-iframe body.documentContent { + padding: 0 !important; +} +.image-left { + float: left; + clear: both; + margin: 0.5em 1em 0.5em 0; + border: 1px solid #bbb; +} +.image-inline { + float: none; +} +.image-right { + float: right; + clear: both; + margin: 0.5em; + border: 1px solid #bbb; +} +dd.image-caption { + text-align:left; + padding: 0; margin:0; +} +dl.captioned { + padding: 10px; +} + +/* @end */ + +/* @group Invisibles */ + + +/* List classes without markers */ +ul.visualNoMarker, +ol.visualNoMarker { + list-style-type: none; + list-style-image: none; + margin: 0.5em 0 0 0; +} + +.visualOverflow { + overflow: auto; + margin: 0 0 1em 0; +} +.visualOverflow pre, +.visualOverflow table, +.visualOverflow img { + margin: 0; +} + +/* Accessibility and visual enhancement elements */ + +body.largeText { font-size: 95%; } +body.smallText { font-size: 60%; } + +.hiddenStructure { + display: none; + background: transparent; + background-image: none; /* safari bug */ + border: none; + height: 1px; + overflow: hidden; + padding: 0; + margin: -1px 0 0 -1px; + width: 1px; +} +.contentViews .hiddenStructure, +.contentActions .hiddenStructure { + position: absolute; + top: -200px; + left: -200px; +} +.hiddenLabel { + display: block; + background: transparent; + background-image: none; /* safari bug */ + border: none; + height: 1px; + overflow: hidden; + padding: 0; + margin: -1px 0 0 -1px; + width: 1px; +} + +/* Helper element to work with CSS floats */ +.visualClear { + display: block; + clear: both; +} + +/* @end */ + +/* @group LiveSearch */ + +.LSRes { + visibility: visible; + text-transform: none; + margin-left: 0; + line-height: 1.1em; +} +.LSResult { + position: relative; + background-color: #ffffe0; + padding: 8px 0 12px; + border-left: 1px solid black; + border-right: 1px solid black; + border-bottom: 1px solid black; + margin-top: -1px; + float: left; + width: 198px; + font-size: 11px; + line-height: 15px; + display: none; +} + +.LSResult h4 { + display: none; +} + +.LSHighlight { +} + +.LSHighlight a { + color: white; + background-color: gray; +} + +.LSHighlight a .livesearchResult-description { + color: white; +} + +.LSResult ul { + +} + +.LSResult ul li { + float: left; + width: 150px; + padding: 0; +} + +.LSResult ul li a { + float: left; + padding: 5px 5px 5px 26px; + width: 167px; + white-space: nowrap; +} + +.LSResult .livesearchResult-title { + font-weight: bold; + white-space: normal; + display: inline; +} + +.LSResult .livesearchResult-score { + display: inline; + white-space: normal; +} + +.LSResult .livesearchResult-description { + float: left; + clear: left; + color: gray; + width: 165px; + white-space: normal; + display: inline; +} + +.LSResult ul li a img { + margin-left: -20px; + float: left; + margin-top: -3px; +} +.LSRow { + white-space: normal; + padding:0; + margin: 0; +} +.LSRow a { + text-decoration: none; +} +.LSDescr { + background-color: #7dabcf; + +} + + + +/* @end */ + +/* @group History */ + + + +.documentContent div#review-history { + float: left; + width: 450px; +} + +.documentContent div#review-history dl { + background-color:#5A9BC6; + color:white; + margin:1em 0pt 0pt; + border: none; + padding: 0; + width: 450px; +} + +.documentContent div#review-history dl.expandedInlineCollapsible { + padding-bottom: 15px; +} + + +.documentContent div#review-history dl dt { + height: 12px; + cursor:pointer; + padding: 10px 10px 14px 25px; + text-transform: uppercase; +} + +.documentContent div#review-history dl.collapsedInlineCollapsible dt.collapsibleHeader { + background: transparent url(twistie-closed.gif) no-repeat scroll 9px center; + color: white; +} + +.documentContent div#review-history dl.expandedInlineCollapsible dt.collapsibleHeader { + background: transparent url(twistie-open.gif) no-repeat scroll 8px center; + color: white; +} + +.documentContent div#review-history dl.collapsedInlineCollapsible dd { + display: none; + padding: 0; + margin: 0; +} + +.documentContent div#review-history dl.expandedInlineCollapsible dd { + display: block; + margin:1em 0.5em 0.5em; +} + +.documentContent div#review-history dl dd p { + color: white; + margin: 0 20px 15px; +} + +.documentContent div#review-history dl dd a { + color: white; + text-decoration: none; +} + +#review-history table.listing { + margin: 0 8px 15px; + border-collapse: collapse; + width: 420px; + background-color: transparent !important; + font-size: 0.95em; +} + +#review-history table.listing tr { + background-color: transparent !important; + + +} + +#review-history table.listing tr td,.documentContent div#review-history table.listing tr th { + color: white; +} + +#review-history table.listing tr:hover { + background-color: inherit ! important; +} + + +#review-history table.listing td { + border-top: 1px dotted white; + text-align: left; + vertical-align: text-top; + margin-bottom: 4px; + padding-bottom: 4px; + padding-left: 0; + padding-right: 5px; + background-color: transparent !important; + border-right-style: none; + border-left-style: none; +} + +#review-history table.listing th { + text-align:left; + font-weight: bold; + vertical-align: text-top; + margin-bottom: 4px; + padding-bottom: 4px; + padding-left: 0; + padding-right: 5px; + border: none; + background-image: none; +} + +#reviewHistory table.listing { + margin:1em 1em 1.5em; + width:420px; + background: none transparent !important; +} + +/* @end */ + +/* @group Form Controls */ + +#region-content .formControls { + margin-top: 10px; + padding-top: 10px; + border-top: 1px solid gray; +} + +#region-content .formControls buttton,#region-content .formControls input { + margin-right: 10px; + cursor: pointer; + + -moz-border-radius: 1em; + -webkit-border-radius: 1em; + padding: 1px 20px; + background-color: #5A9BC6; + border-style: none; + color: white; + font-size: 1em; + line-height: 1.8em; +} + +#region-content .formControls buttton:hover,#region-content .formControls input:hover { + background-color: #666; +} + + + +/* @end */ + +/* @group Portlet Language */ + +.portletLanguage li { + +} + +.portletLanguage li a { + display: block; + padding-top: 4px; + padding-bottom: 4px; +} + + + +/* @end */ + +/* @group Portlet Recent */ + +.portletRecent a img { + float: right; + margin-top: -1px; +} + +/* @group Portlet static content */ + +.portletStaticText ul { + list-style-type: disc; + margin-left: 2em; +} + +.portletStaticText ol { + list-style-type: decimal; + margin-left: 2.5em; +} + +.portletStaticText li { + margin-bottom: 0.25em; + line-height: 1.5em; + display: list-item; +} + +/* @end */ + +/* @end */ diff --git a/skins/pcfintranetstyle_styles/portlets.css b/skins/pcfintranetstyle_styles/portlets.css new file mode 100644 index 0000000..e69de29 diff --git a/skins/pcfintranetstyle_styles/presentation.css b/skins/pcfintranetstyle_styles/presentation.css new file mode 100644 index 0000000..e69de29 diff --git a/skins/pcfintranetstyle_styles/print.css b/skins/pcfintranetstyle_styles/print.css new file mode 100644 index 0000000..e69de29 diff --git a/skins/pcfintranetstyle_styles/public.css b/skins/pcfintranetstyle_styles/public.css new file mode 100644 index 0000000..e69de29 diff --git a/skins/pcfintranetstyle_templates/livesearch_reply.py b/skins/pcfintranetstyle_templates/livesearch_reply.py new file mode 100644 index 0000000..f20ef29 --- /dev/null +++ b/skins/pcfintranetstyle_templates/livesearch_reply.py @@ -0,0 +1,147 @@ +## Script (Python) "livescript_reply" +##bind container=container +##bind context=context +##bind namespace= +##bind script=script +##bind subpath=traverse_subpath +##parameters=q,limit=10,path=None +##title=Determine whether to show an id in an edit form + +from Products.CMFCore.utils import getToolByName +from Products.CMFPlone import PloneMessageFactory as _ +from Products.CMFPlone.browser.navtree import getNavigationRoot +from Products.CMFPlone.utils import safe_unicode +from Products.PythonScripts.standard import url_quote +from Products.PythonScripts.standard import url_quote_plus + +ploneUtils = getToolByName(context, 'plone_utils') +portal_url = getToolByName(context, 'portal_url')() +pretty_title_or_id = ploneUtils.pretty_title_or_id +plone_view = context.restrictedTraverse('@@plone') + +portalProperties = getToolByName(context, 'portal_properties') +siteProperties = getattr(portalProperties, 'site_properties', None) +useViewAction = [] +if siteProperties is not None: + useViewAction = siteProperties.getProperty('typesUseViewActionInListings', []) + +# SIMPLE CONFIGURATION +USE_ICON = True +USE_RANKING = False +MAX_TITLE = 29 +MAX_DESCRIPTION = 93 + +# generate a result set for the query +catalog = context.portal_catalog + +friendly_types = ploneUtils.getUserFriendlyTypes() + +def quotestring(s): + return '"%s"' % s + +def quote_bad_chars(s): + bad_chars = ["(", ")"] + for char in bad_chars: + s = s.replace(char, quotestring(char)) + return s + +# for now we just do a full search to prove a point, this is not the +# way to do this in the future, we'd use a in-memory probability based +# result set. +# convert queries to zctextindex + +# XXX really if it contains + * ? or - +# it will not be right since the catalog ignores all non-word +# characters equally like +# so we don't even attept to make that right. +# But we strip these and these so that the catalog does +# not interpret them as metachars +##q = re.compile(r'[\*\?\-\+]+').sub(' ', q) +for char in '?-+*': + q = q.replace(char, ' ') +r=q.split() +r = " AND ".join(r) +r = quote_bad_chars(r)+'*' +searchterms = url_quote_plus(r) + +site_encoding = context.plone_utils.getSiteEncoding() +if path is None: + path = getNavigationRoot(context) +results = catalog(SearchableText=r, portal_type=friendly_types, path=path) + +searchterm_query = '?searchterm=%s'%url_quote_plus(q) + +RESPONSE = context.REQUEST.RESPONSE +RESPONSE.setHeader('Content-Type', 'text/xml;charset=%s' % site_encoding) + +# replace named entities with their numbered counterparts, in the xml the named ones are not correct +# ↓ --> ↓ +# … --> … +legend_livesearch = _('legend_livesearch', default='LiveSearch ↓') +label_no_results_found = _('label_no_results_found', default='No matching results found.') +label_advanced_search = _('label_advanced_search', default='Advanced Search…') +label_show_all = _('label_show_all', default='Show all…') +heading_search_results = _('heading_search_results', default='Search results…') + +ts = getToolByName(context, 'translation_service') + +output = [] + +def write(s): + output.append(safe_unicode(s)) + + +if not results: + write('''

%s

''' % ts.translate(heading_search_results)) + write('''
    ''') + write('''
  • %s
  • ''' % ts.translate(label_no_results_found)) + write('
  • %s
  • ' % ts.translate(label_advanced_search)) + write('''
''') +else: + write('''

%s

''' % ts.translate(heading_search_results)) + write('''''') + +return '\n'.join(output).encode(site_encoding) + diff --git a/skins/pcfintranetstyle_templates/main_template.pt b/skins/pcfintranetstyle_templates/main_template.pt new file mode 100644 index 0000000..e047be5 --- /dev/null +++ b/skins/pcfintranetstyle_templates/main_template.pt @@ -0,0 +1,192 @@ + + + + + + + + + Get the global cache headers located in global_cache_settings. + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + A slot where you can insert elements in the header from a template + + + A slot where you can insert CSS in the header from a template + + + This is deprecated, please use style_slot instead. + + + A slot where you can insert javascript in the header from a template + + + + + +
+ +
+
+
+ +
+ +
+ + + Start of the left column +
+
+ + + +   +
+
+ End of the left column + + Start of main content block +
+ + +
+ +
+ +
+ + + + + + +
+ Portal status message +
+ +
+ + + + The div with ID #content will only show up if we're actually on a content + view, never on edit forms, control panels etc. It's meant to only wrap the + actual content that gets rendered on a page, not the other UI elements. + +
+ + Visual Header + + + Page body text + +
+
+ + + +
+ + + + + + +
+ +
+ + +
+ End of main content block + + Start of right column +
+
+ + + +   +
+
+ End of the right column + +
+ end column wrapper + + + + + + + +
+ + + +
+
+
+ + + diff --git a/skins/pcfintranetstyle_templates/portlet_prefs.pt b/skins/pcfintranetstyle_templates/portlet_prefs.pt new file mode 100644 index 0000000..49ff2d3 --- /dev/null +++ b/skins/pcfintranetstyle_templates/portlet_prefs.pt @@ -0,0 +1,59 @@ + + + + + +
+ +
+
+ + Site Setup + +
+ +
+ + + Plone Configlet Group Title + + + + +
+ +
+ +
+ + +
+ + diff --git a/skins/pcfintranetstyle_templates/prefs_main_template.pt b/skins/pcfintranetstyle_templates/prefs_main_template.pt new file mode 100644 index 0000000..db44a46 --- /dev/null +++ b/skins/pcfintranetstyle_templates/prefs_main_template.pt @@ -0,0 +1,30 @@ + + + + + + + +
+ +
+
+
+ + + + + + + + + Page body text + + + + + + +
+
diff --git a/version.txt b/version.txt new file mode 100644 index 0000000..f577dfd --- /dev/null +++ b/version.txt @@ -0,0 +1 @@ +trunk \ No newline at end of file