From 9e69e1ddbd07156d4df9851022566e3b4ee63b3d Mon Sep 17 00:00:00 2001 From: "Rob G. Healey" Date: Thu, 26 Jan 2012 16:50:45 +0000 Subject: [PATCH] Style Sheet that will create the brand new Citations Referents Drop Down menu for class SourcePage for NarrativeWeb. svn: r18773 --- src/plugins/webreport/NarrativeWeb.py | 22 +- src/plugins/webstuff/css/Makefile.am | 1 + .../webstuff/css/Web_Source-Citations.css | 196 ++++++++++++++++++ src/plugins/webstuff/webstuff.py | 4 + 4 files changed, 222 insertions(+), 1 deletion(-) create mode 100644 src/plugins/webstuff/css/Web_Source-Citations.css diff --git a/src/plugins/webreport/NarrativeWeb.py b/src/plugins/webreport/NarrativeWeb.py index d9439772d..f39405a67 100644 --- a/src/plugins/webreport/NarrativeWeb.py +++ b/src/plugins/webreport/NarrativeWeb.py @@ -745,7 +745,12 @@ class BasePage(object): # the citation reference text index, key = self.bibli.add_reference(citation) id_ = "%d%s" % (index+1, key) - text += ' [%s]' % (id_, id_) + + source = self.dbase_.get_source_from_handle(source_handle) + if source: + + hyper = self.source_link(source, up = self.up) + text += ' [%s]' % (hyper, id_) return text def get_note_format(self, note, link_prefix_up): @@ -1549,6 +1554,21 @@ class BasePage(object): # Begin Navigation Menu if self.report.navigation == "Drop": body += self.display_drop_menu() + + head += Html("script", type = "text/javascript", src = "http://code.jquery.com/jquery-latest.min.js", inline = True) + with Html("script", type = "text/javascript") as ie6: + head += ie6 + ie6 += """ + $(function() { + if ($.browser.msie && $.browser.version.substr(0,1)<7) + { + $('li').has('ul').mouseover(function(){ + $(this).children('ul').show(); + }).mouseout(function(){ + $(this).children('ul').hide(); + }) + } + });""" else: body += self.display_nav_links(title) diff --git a/src/plugins/webstuff/css/Makefile.am b/src/plugins/webstuff/css/Makefile.am index f2bf7a06f..12c1590fd 100644 --- a/src/plugins/webstuff/css/Makefile.am +++ b/src/plugins/webstuff/css/Makefile.am @@ -21,6 +21,7 @@ DATAFILES = \ Web_Mainz.css \ Web_Nebraska.css \ Web_Print-Default.css \ + Web_Source-Citations.css \ Web_Vertical-Menus.css \ Web_Visually.css diff --git a/src/plugins/webstuff/css/Web_Source-Citations.css b/src/plugins/webstuff/css/Web_Source-Citations.css new file mode 100644 index 000000000..d0d84ec36 --- /dev/null +++ b/src/plugins/webstuff/css/Web_Source-Citations.css @@ -0,0 +1,196 @@ +/* +# encoding: utf-8 +/* +# +# Gramps - a GTK+/GNOME based genealogy program +# +# Copyright (C) 2012 Rob G. Healey +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# $Id$ +# +************************************************* +GRAMPS Cascading Style Sheet +Style Name: Source/ Citations Drop Down Style Sheet +************************************************* + + Main menu +------------------------------------------------------ */ +#menu { + width: 100%; + margin: 0; + padding: 10px 0 0 0; + list-style: none; + background: #111; + background: -moz-linear-gradient(#444, #111); + background: -webkit-gradient(linear,left bottom,left top,color-stop(0, #111),color-stop(1, #444)); + background: -webkit-linear-gradient(#444, #111); + background: -o-linear-gradient(#444, #111); + background: -ms-linear-gradient(#444, #111); + background: linear-gradient(#444, #111); + -moz-border-radius: 50px; + border-radius: 50px; + -moz-box-shadow: 0 2px 1px #9c9c9c; + -webkit-box-shadow: 0 2px 1px #9c9c9c; + box-shadow: 0 2px 1px #9c9c9c; +} +#menu li { + float: left; + padding: 0 0 10px 0; + position: relative; + line-height: 0; +} +#menu a { + float: left; + height: 25px; + padding: 0 25px; + color: #999; + text-transform: uppercase; + font: bold 12px/25px Arial, Helvetica; + text-decoration: none; + text-shadow: 0 1px 0 #000; +} +#menu li:hover > a { + color: #fafafa +} + +/* IE6 workaround +------------------------------------------------------ */ +*html #menu li a:hover { + color: #fafafa; +} +#menu li:hover > ul { + display: block +} + +/* Sub-menu +------------------------------------------------------ */ +#menu ul { + list-style: none; + margin: 0; + padding: 0; + display: none; + position: absolute; + top: 35px; + left: 0; + z-index: 99999; + background: #444; + background: -moz-linear-gradient(#444, #111); + background: -webkit-gradient(linear,left bottom,left top,color-stop(0, #111),color-stop(1, #444)); + background: -webkit-linear-gradient(#444, #111); + background: -o-linear-gradient(#444, #111); + background: -ms-linear-gradient(#444, #111); + background: linear-gradient(#444, #111); + -moz-box-shadow: 0 0 2px rgba(255,255,255,.5); + -webkit-box-shadow: 0 0 2px rgba(255,255,255,.5); + box-shadow: 0 0 2px rgba(255,255,255,.5); + -moz-border-radius: 5px; + border-radius: 5px; +} +#menu ul ul { + top: 0; + left: 150px; +} +#menu ul li { + float: none; + margin: 0; + padding: 0; + display: block; + -moz-box-shadow: 0 1px 0 #111111, 0 2px 0 #777777; + -webkit-box-shadow: 0 1px 0 #111111, 0 2px 0 #777777; + box-shadow: 0 1px 0 #111111, 0 2px 0 #777777; +} +#menu ul li:last-child { + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} +#menu ul a { + padding: 10px; + height: 10px; + width: 130px; + height: auto; + line-height: 1; + display: block; + white-space: nowrap; + float: none; + text-transform: none; +} +*html #menu ul a { /* IE6 */ + height: 10px +} +*:first-child+html #menu ul a { /* IE7 */ + height: 10px +} +#menu ul a:hover { + background: #0186ba; + background: -moz-linear-gradient(#04acec, #0186ba); + background: -webkit-gradient(linear, left top, left bottom, from(#04acec), to(#0186ba)); + background: -webkit-linear-gradient(#04acec, #0186ba); + background: -o-linear-gradient(#04acec, #0186ba); + background: -ms-linear-gradient(#04acec, #0186ba); + background: linear-gradient(#04acec, #0186ba); +} +#menu ul li:first-child > a { + -moz-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} +#menu ul li:first-child > a:after { + content: ''; + position: absolute; + left: 30px; + top: -8px; + width: 0; + height: 0; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-bottom: 8px solid #444; +} +#menu ul ul li:first-child a:after { + left: -8px; + top: 12px; + width: 0; + height: 0; + border-left: 0; + border-bottom: 5px solid transparent; + border-top: 5px solid transparent; + border-right: 8px solid #444; +} +#menu ul li:first-child a:hover:after { + border-bottom-color: #04acec +} +#menu ul ul li:first-child a:hover:after { + border-right-color: #04acec; + border-bottom-color: transparent; +} +#menu ul li:last-child > a { + -moz-border-radius: 0 0 5px 5px; + border-radius: 0 0 5px 5px; +} + +/* Clear floated elements +------------------------------------------------------ */ +#menu:after { + visibility: hidden; + display: block; + font-size: 0; + content: " "; + clear: both; + height: 0; +} + +* html #menu { zoom: 1; } /* IE6 */ +*:first-child+html #menu { zoom: 1; } /* IE7 */ diff --git a/src/plugins/webstuff/webstuff.py b/src/plugins/webstuff/webstuff.py index f5ce59659..b1e6d7722 100644 --- a/src/plugins/webstuff/webstuff.py +++ b/src/plugins/webstuff/webstuff.py @@ -144,6 +144,10 @@ def load_on_reg(dbstate, uistate, plugin): path_img("gramps-geo-mainmap.png"), path_img("gramps-geo-marriage.png")], [] ], + # WebKit/ Html5/ CSS3 Drop Down Source/ Citations Style Sheet + ["Source-Citations", 0, "", + path_css("Web_Source-Citations.css"), None, [], [] ], + # no style sheet option ["No style sheet",1, _("No style sheet"), [], None, [], [] ],