diff options
-rw-r--r-- | extensions/BMO/template/en/default/global/common-links.html.tmpl | 123 | ||||
-rw-r--r-- | extensions/BMO/template/en/default/global/header.html.tmpl | 454 | ||||
-rw-r--r-- | extensions/BMO/template/en/default/hook/global/header-additional_header.html.tmpl | 6 | ||||
-rw-r--r-- | extensions/BMO/web/images/mozilla-tab.png | bin | 0 -> 7535 bytes | |||
-rw-r--r-- | skins/contrib/Mozilla/dropdown.png | bin | 0 -> 130 bytes | |||
-rw-r--r-- | skins/contrib/Mozilla/footer-mozilla.png | bin | 0 -> 528 bytes | |||
-rw-r--r-- | skins/contrib/Mozilla/global.css | 676 | ||||
-rw-r--r-- | skins/contrib/Mozilla/grain.png | bin | 0 -> 47497 bytes | |||
-rw-r--r-- | skins/contrib/Mozilla/noise.png | bin | 0 -> 3077 bytes | |||
-rw-r--r-- | skins/contrib/Mozilla/search.png | bin | 0 -> 199 bytes | |||
-rw-r--r-- | skins/custom/global.css | 9 |
11 files changed, 1253 insertions, 15 deletions
diff --git a/extensions/BMO/template/en/default/global/common-links.html.tmpl b/extensions/BMO/template/en/default/global/common-links.html.tmpl new file mode 100644 index 000000000..f743a8b91 --- /dev/null +++ b/extensions/BMO/template/en/default/global/common-links.html.tmpl @@ -0,0 +1,123 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Netscape Communications + # Corporation. Portions created by Netscape are + # Copyright (C) 1998 Netscape Communications Corporation. All + # Rights Reserved. + # + # Contributor(s): Gervase Markham <gerv@gerv.net> + # Svetlana Harisova <light@rathedg.com> + #%] + +[% DEFAULT qs_suffix = "" %] +[% USE Bugzilla %] + +<ul class="links"> + <li><a href="./">Home</a></li> + <li><span class="separator">| </span><a href="enter_bug.cgi">New</a></li> + <li><span class="separator">| </span><a href="describecomponents.cgi">Browse</a></li> + <li><span class="separator">| </span><a href="query.cgi">Search</a></li> + + [% IF user.settings.skin.value != 'Mozilla' %] + <li class="form"> + <span class="separator">| </span> + <form action="buglist.cgi" method="get" + onsubmit="if (this.quicksearch.value == '') + { alert('Please enter one or more search terms first.'); + return false; } return true;"> + <input class="txt" type="text" id="quicksearch[% qs_suffix FILTER html %]" name="quicksearch" + title="Quick Search" value="[% quicksearch FILTER html %]"> + <input class="btn" type="submit" value="Search" + id="find[% qs_suffix FILTER html %]"> + [%-# Work around FF bug: keep this on one line %]</form> + <a href="page.cgi?id=quicksearch.html" title="Quicksearch Help">[?]</a></li> + + <li><span class="separator">| </span><a href="report.cgi">Reports</a></li> + + <li> + [% IF Param('shutdownhtml') || Bugzilla.has_flags %] + <span class="separator">| </span> + [% IF user.id %] + <a href="request.cgi?requester=[% user.login FILTER uri %]&requestee= + [% user.login FILTER uri %]&do_union=1&group=type&action=queue">My Requests</a> + [% ELSE %] + <a href="request.cgi">Requests</a> + [% END %] + [% END %] + [%-# Work around FF bug: keep this on one line %]</li> + [% END %] + + [% Hook.process('action-links') %] + + [% IF user.settings.skin.value != 'Mozilla' %] + [% IF user.login %] + <li><span class="separator">| </span><a href="userprefs.cgi">Preferences</a></li> + [% IF user.in_group('tweakparams') || user.in_group('editusers') || user.can_bless + || (Param('useclassification') && user.in_group('editclassifications')) + || user.in_group('editcomponents') || user.in_group('admin') || user.in_group('creategroups') + || user.in_group('editkeywords') || user.in_group('bz_canusewhines') + || user.get_products_by_permission("editcomponents").size %] + <li><span class="separator">| </span><a href="admin.cgi">Administration</a></li> + [% END %] + + [% PROCESS link_to_documentation %] + + <li> + <span class="separator">| </span> + [% IF user.authorizer.can_logout %] + <a href="index.cgi?logout=1">Log out</a> + [% ELSE %] + Logged in as + [% END %] + [% IF sudoer %] + [%+ sudoer.login FILTER html %] (<b>impersonating + [%+ user.login FILTER html %]</b> + <a href="relogin.cgi?action=end-sudo">end session</a>) + [% ELSE %] + [%+ user.login FILTER html %] + [% END %] + [%-# Work around FF bug: keep this on one line %]</li> + [% ELSE %] + + [% PROCESS link_to_documentation %] + + [% IF Param('createemailregexp') + && user.authorizer.user_can_create_account %] + <li id="new_account_container[% qs_suffix FILTER html %]"> + <span class="separator">| </span> + <a href="createaccount.cgi">New Account</a> + </li> + [% END %] + + [%# Only display one login form when we're on a LOGIN_REQUIRED page. That + # way, we're guaranteed that the user will use the form that has + # hidden_fields in it (the center form) instead of this one. Also, it's + # less confusing to have one form (as opposed to three) when you're + # required to log in. + #%] + [% IF user.authorizer.can_login && !Bugzilla.page_requires_login %] + [% PROCESS "account/auth/login-small.html.tmpl" %] + [% END %] + [% END %] + [% END %] +</ul> + +[% Hook.process("link-row") %] +[% BLOCK link_to_documentation %] + [% IF doc_section && Param('docs_urlbase') %] + <li> + <span class="separator">| </span> + <a href="[% docs_urlbase _ doc_section FILTER html %]" target="_blank">Help</a> + </li> + [% END %] +[% END %] diff --git a/extensions/BMO/template/en/default/global/header.html.tmpl b/extensions/BMO/template/en/default/global/header.html.tmpl new file mode 100644 index 000000000..e3d9c9158 --- /dev/null +++ b/extensions/BMO/template/en/default/global/header.html.tmpl @@ -0,0 +1,454 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Netscape Communications + # Corporation. Portions created by Netscape are + # Copyright (C) 1998 Netscape Communications Corporation. All + # Rights Reserved. + # + # Contributor(s): Gervase Markham <gerv@gerv.net> + # Vaskin Kissoyan <vkissoyan@yahoo.com> + # Vitaly Harisov <vitaly@rathedg.com> + # Svetlana Harisova <light@rathedg.com> + #%] + +[%# INTERFACE: + # (All the below interface elements are optional.) + # title: string. Page title. + # header: string. Main page header. + # subheader: string. Page subheader. + # header_addl_info: string. Additional header information. + # bodyclasses: array of extra CSS classes for the <body> + # onload: string. JavaScript code to run when the page finishes loading. + # javascript: string. Javascript to go in the header. + # javascript_urls: list. List of URLs to Javascript. + # style: string. CSS style. + # style_urls: list. List of URLs to CSS style sheets. + # message: string. A message to display to the user. May contain HTML. + # atomlink: Atom link URL, May contain HTML + #%] + +[% IF message %] + [% PROCESS global/messages.html.tmpl %] +[% END %] + +[% DEFAULT + subheader = "" + header_addl_info = "" + onload = "" + style_urls = [] + yui = [] +%] + +[% SET yui_css = { + autocomplete => 1, + calendar => 1, + datatable => 1, + button => 1, +} %] + +[%# Note: This is simple dependency resolution--you can't have dependencies + # that depend on each other. You have to specify all of a module's deps, + # if that module is going to be specified in "yui". + #%] +[% SET yui_deps = { + autocomplete => ['json', 'connection', 'datasource'], + datatable => ['json', 'connection', 'datasource', 'element'], +} %] + +[%# When using certain YUI modules, we need to process certain + # extra JS templates. + #%] +[% SET yui_templates = { + datatable => ['global/value-descs.js.tmpl'], +} %] + +[%# These are JS URLs that are *always* on the page and come before + # every other JS URL. + #%] +[% SET starting_js_urls = [ + "js/yui/yahoo-dom-event/yahoo-dom-event.js", + "js/yui/cookie/cookie-min.js", +] %] + + +[%# We should be able to set the default value of the header variable + # to the value of the title variable using the DEFAULT directive, + # but that doesn't work if a caller sets header to the empty string + # to avoid header inheriting the value of title, since DEFAULT + # mistakenly treats empty strings as undefined and gives header the + # value of title anyway. To get around that problem we explicitly + # set header's default value here only if it is undefined. %] +[% IF !header.defined %][% header = title %][% END %] + +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html4/loose.dtd"> +<html lang="en"> + <head> + [% Hook.process("start") %] + <title>[% title %]</title> + + [% IF Param('utf8') %] + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + [% END %] + +[%# Migration note: contents of the old Param 'headerhtml' would go here %] + + [% PROCESS "global/site-navigation.html.tmpl" %] + + [% PROCESS 'global/setting-descs.none.tmpl' %] + + [% SET yui = yui_resolve_deps(yui, yui_deps) %] + [% SET css_sets = css_files(style_urls, yui, yui_css) %] + + [%# CSS cascade, part 1: Standard Bugzilla stylesheet set (persistent). + # Always present. + #%] + [%# This allows people to switch back to the "Classic" skin if they + # are in another skin. + #%] + <link href="[% 'skins/standard/global.css' FILTER mtime FILTER html %]" + rel="alternate stylesheet" + title="[% setting_descs.standard FILTER html %]"> + [% FOREACH style_url = css_sets.standard %] + [% PROCESS format_css_link css_set_name = 'standard' %] + [% END %] + + [%# CSS cascade, part 2 & 3: Third-party stylesheet set (selected and + # selectable). All third-party skins are present as alternate + # stylesheets, even if they are not currently in use. + #%] + [% FOREACH style_url = css_sets.skin %] + [% PROCESS format_css_link css_set_name = user.settings.skin.value %] + [% END %] + + [% FOREACH alternate_skin = css_sets.alternate.keys %] + [% FOREACH style_url = css_sets.alternate.$alternate_skin %] + [% PROCESS format_css_link css_set_name = alternate_skin %] + [% END %] + [% END %] + + [%# CSS cascade, part 4: page-specific styles. + #%] + [% IF style %] + <style type="text/css"> + [% style %] + </style> + [% END %] + + [%# CSS cascade, part 5: Custom Bugzilla stylesheet set (persistent). + # Always present. Site administrators may override all other style + # definitions, including skins, using custom stylesheets. + #%] + [% FOREACH style_url = css_sets.custom %] + [% PROCESS format_css_link css_set_name = 'standard' %] + [% END %] + + [%# YUI Scripts %] + [% FOREACH yui_name = yui %] + [% starting_js_urls.push("js/yui/$yui_name/${yui_name}-min.js") %] + [% END %] + [% starting_js_urls.push('js/global.js') %] + + [% FOREACH javascript_url = starting_js_urls %] + [% PROCESS format_js_link %] + [% END %] + + <script type="text/javascript"> + <!-- + YAHOO.namespace('bugzilla'); + YAHOO.util.Event.addListener = function (el, sType, fn, obj, overrideContext) { + if ( ("onpagehide" in window || YAHOO.env.ua.gecko) && sType === "unload") { sType = "pagehide"; }; + var capture = ((sType == "focusin" || sType == "focusout") && !YAHOO.env.ua.ie) ? true : false; + return this._addListener(el, this._getType(sType), fn, obj, overrideContext, capture); + }; + if ( "onpagehide" in window || YAHOO.env.ua.gecko) { + YAHOO.util.Event._simpleRemove(window, "unload", + YAHOO.util.Event._unload); + } + [%# The language selector needs javascript to set its cookie, + # so it is hidden in HTML/CSS by the "bz_default_hidden" class. + # If the browser can run javascript, it will then "unhide" + # the language selector using the following code. + #%] + function unhide_language_selector() { + YAHOO.util.Dom.removeClass( + 'lang_links_container', 'bz_default_hidden' + ); + } + YAHOO.util.Event.onDOMReady(unhide_language_selector); + + [%# Make some Bugzilla information available to all scripts. + # We don't import every parameter and constant because we + # don't want to add a lot of uncached JS to every page. + #%] + var BUGZILLA = { + param: { + cookiepath: '[% Param('cookiepath') FILTER js %]', + maxusermatches: [% Param('maxusermatches') FILTER js %] + }, + constant: { + COMMENT_COLS: [% constants.COMMENT_COLS FILTER js %] + }, + string: { + [%# Please keep these in alphabetical order. %] + + attach_desc_required: + 'You must enter a Description for this attachment.', + component_required: + 'You must select a Component for this [% terms.bug %].', + description_required: + 'You must enter a Description for this [% terms.bug %].', + short_desc_required: + 'You must enter a Summary for this [% terms.bug %].', + version_required: + 'You must select a Version for this [% terms.bug %].' + } + }; + + [% FOREACH yui_name = yui %] + [% FOREACH yui_template = yui_templates.$yui_name %] + [% INCLUDE $yui_template %] + [% END %] + [% END %] + [% IF javascript %] + [% javascript %] + [% END %] + // --> + </script> + + [% FOREACH javascript_url = javascript_urls %] + [% PROCESS format_js_link %] + [% END %] + + [%# this puts the live bookmark up on firefox for the Atom feed %] + [% IF atomlink %] + <link rel="alternate" + type="application/atom+xml" title="Atom feed" + href="[% atomlink FILTER html %]"> + [% END %] + + [%# Required for the 'Autodiscovery' feature in Firefox 2 and IE 7. %] + <link rel="search" type="application/opensearchdescription+xml" + title="[% terms.BugzillaTitle %]" href="./search_plugin.cgi"> + [% Hook.process("additional_header") %] + </head> + +[%# Migration note: contents of the old Param 'bodyhtml' go in the body tag, + # but set the onload attribute in the DEFAULT directive above. + #%] + + <body onload="[% onload %]" + class="[% urlbase.replace('^https?://','').replace('/$','').replace('[-~@:/.]+','-') %] + [% FOREACH class = bodyclasses %] + [% ' ' %][% class FILTER css_class_quote %] + [% END %] yui-skin-sam"> + +[%# Migration note: the following file corresponds to the old Param + # 'bannerhtml' + #%] + +<div id="header"> + +[% IF user.settings.skin.value == 'Mozilla' %] + + <div class="wrapper"> + <table border="0" cellspacing="0" cellpadding="0" id="titles"> + <tr> + <td id="title"> + <a href="./" title="Home">[% terms.BugzillaTitle %]</a> + </td> + <td id="information"></td> + <td id="languages"> + [% IF Bugzilla.languages.size > 1 %] + <ul class="links"> + [% FOREACH lang = Bugzilla.languages.sort %] + <li>[% IF NOT loop.first %]<span class="separator"> | </span>[% END %] + [% IF lang == current_language %] + <span class="lang_current">[% lang FILTER html FILTER upper %]</span> + [% ELSE %] + <a href="#" onclick="set_language('[% lang FILTER none %]');"> + [%- lang FILTER html FILTER upper %]</a> + [% END %] + </li> + [% END %] + </ul> + [% END %] + </td> + <td id="login"> + [% IF user.id %] + <ul class="links"> + <li class="dropdown"> + <span class="anchor">[% user.login FILTER html %]</span> + <ul> + [% IF user.showmybugslink %] + [% filtered_username = user.login FILTER uri %] + <li><a href="[% Param('mybugstemplate').replace('%userid%', filtered_username) %]">My [% terms.Bugs %]</a></li> + [% END %] + <li><a href="userprefs.cgi">Preferences</a></li> + <li><a href="request.cgi?requester=[% user.login FILTER uri %]&requestee=[% user.login FILTER uri %]&do_union=1&group=type&action=queue">My Requests</a></li> + [% IF user.in_group('tweakparams') || user.in_group('editusers') || user.can_bless + || (Param('useclassification') && user.in_group('editclassifications')) + || user.in_group('editcomponents') || user.in_group('admin') || user.in_group('creategroups') + || user.in_group('editkeywords') || user.in_group('bz_canusewhines') + || user.get_products_by_permission("editcomponents").size %] + <li><a href="admin.cgi">Administration</a></li> + [% END %] + [% IF user.authorizer.can_logout %] + <li><a href="index.cgi?logout=1">Log out</a></li> + [% END %] + [% IF sudoer %] + <li> + <a href="relogin.cgi?action=end-sudo">End sudo session impersonating [% user.login FILTER html %]</a> + </li> + [% END %] + </ul> + </li> + </ul> + [% ELSE %] + <ul class="login-links"> + [% IF Param('createemailregexp') + && user.authorizer.user_can_create_account %] + <li id="new_account_container_top"><a href="createaccount.cgi">New Account</a></li> + [% END %] + + [%# Only display one login form when we're on a LOGIN_REQUIRED page. That + # way, we're guaranteed that the user will use the form that has + # hidden_fields in it (the center form) instead of this one. Also, it's + # less confusing to have one form (as opposed to three) when you're + # required to log in. + #%] + [% IF user.authorizer.can_login && !Bugzilla.page_requires_login %] + [% PROCESS "account/auth/login-small.html.tmpl" %] + [% END %] + </ul> + [% END %] + </td> + <td id="tab"> + <a href="http://mozilla.org/"><img src="https://addons.cdn.mozilla.net/media/img/zamboni/mozilla-tab.png?b=4953ddb"></a> + </td> + </tr> + </table> + + <ul class="links"> + <li><a href="enter_bug.cgi">New</a></li> + <li><a href="describecomponents.cgi">Browse</a></li> + <li><a href="query.cgi">Search</a></li> + <li><a href="report.cgi">Reports</a></li> + <li><a href="http://www.bugzilla.org/docs/4.0/en/html/bug_page.html" target="_blank">Help</a></li> + <li id="quicksearch"> + <form action="buglist.cgi" method="get" + onsubmit="if (this.quicksearch.value == '') { alert('Please enter one or more search terms first.'); return false;"> + <input class="txt" type="text" id="quicksearch_top" name="quicksearch" value="" placeholder="Search bugs"> + </form> + </li> + <li><a href="https://bugzilla-stage-tip.mozilla.org/page.cgi?id=frontpage.html">Front Page</a></li> + <li><a href="page.cgi?id=browse.html">Product Browser</a></li> + </ul> + </div> + +[% ELSE %] + +[% INCLUDE global/banner.html.tmpl %] + +<table border="0" cellspacing="0" cellpadding="0" id="titles"> +<tr> + <td id="title"> + <p>[% terms.BugzillaTitle %] + [% " – $header" IF header %]</p> + </td> + + [% IF subheader %] + <td id="subtitle"> + <p class="subheader">[% subheader %]</p> + </td> + [% END %] + + [% IF header_addl_info %] + <td id="information"> + <p class="header_addl_info">[% header_addl_info %]</p> + </td> + [% END %] +</tr> +</table> + +<table id="lang_links_container" cellpadding="0" cellspacing="0" + class="bz_default_hidden"><tr><td> +[% IF Bugzilla.languages.size > 1 %] + <ul class="links"> + [% FOREACH lang = Bugzilla.languages.sort %] + <li>[% IF NOT loop.first %]<span class="separator"> | </span>[% END %] + [% IF lang == current_language %] + <span class="lang_current">[% lang FILTER html FILTER upper %]</span> + [% ELSE %] + <a href="#" onclick="set_language('[% lang FILTER none %]');"> + [%- lang FILTER html FILTER upper %]</a> + [% END %] + </li> + [% END %] + </ul> +[% END %] +</td></tr></table> + +[% PROCESS "global/common-links.html.tmpl" qs_suffix = "_top" %] + +[% END %] + +</div> [%# header %] + +<div id="bugzilla-body"> + +[% IF Param('announcehtml') %] +[% Param('announcehtml') FILTER none %] +[% END %] + +[% IF message %] +<div id="message">[% message %]</div> +[% END %] + +[% BLOCK format_css_link %] + [% IF style_url.match('/IE-fixes\.css') %] + <!--[if lte IE 7]> + [%# Internet Explorer treats [if IE] HTML comments as uncommented. + # We use it to import CSS fixes so that Bugzilla looks decent on IE 7 + # and below. + #%] + [% END %] + + [% IF css_set_name == 'standard' + OR css_set_name == user.settings.skin.value + %] + [% SET css_rel = 'stylesheet' %] + [% SET css_set_display_name = setting_descs.${user.settings.skin.value} + || user.settings.skin.value %] + [% ELSE %] + [% SET css_rel = 'alternate stylesheet' %] + [% SET css_set_display_name = setting_descs.$css_set_name || css_set_name %] + [% END %] + + [% IF css_set_name == 'standard' %] + [% SET css_title_link = '' %] + [% ELSE %] + [% css_title_link = BLOCK ~%] + title="[% css_set_display_name FILTER html %]" + [% END %] + [% END %] + + <link href="[% style_url FILTER html %]" rel="[% css_rel FILTER none %]" + type="text/css" [% css_title_link FILTER none %]> + + [% '<![endif]-->' IF style_url.match('/IE-fixes\.css') %] +[% END %] + +[% BLOCK format_js_link %] + <script type="text/javascript" src="[% javascript_url FILTER mtime FILTER html %]"></script> +[% END %] diff --git a/extensions/BMO/template/en/default/hook/global/header-additional_header.html.tmpl b/extensions/BMO/template/en/default/hook/global/header-additional_header.html.tmpl index e94b60bb4..5f8965d5d 100644 --- a/extensions/BMO/template/en/default/hook/global/header-additional_header.html.tmpl +++ b/extensions/BMO/template/en/default/hook/global/header-additional_header.html.tmpl @@ -24,12 +24,6 @@ <link id="shorturl" rev="canonical" href="https://bugzil.la/[% bug.bug_id FILTER uri %]"> [% END %] -<style type="text/css"> -body { - background: url("extensions/BMO/web/images/background.png") repeat-x; -} -</style> - [%# *** Bug List Navigation *** %] [% IF bug %] [% SET my_search = user.recent_search_for(bug) %] diff --git a/extensions/BMO/web/images/mozilla-tab.png b/extensions/BMO/web/images/mozilla-tab.png Binary files differnew file mode 100644 index 000000000..417f6a5c6 --- /dev/null +++ b/extensions/BMO/web/images/mozilla-tab.png diff --git a/skins/contrib/Mozilla/dropdown.png b/skins/contrib/Mozilla/dropdown.png Binary files differnew file mode 100644 index 000000000..e01e5e51d --- /dev/null +++ b/skins/contrib/Mozilla/dropdown.png diff --git a/skins/contrib/Mozilla/footer-mozilla.png b/skins/contrib/Mozilla/footer-mozilla.png Binary files differnew file mode 100644 index 000000000..593c10308 --- /dev/null +++ b/skins/contrib/Mozilla/footer-mozilla.png diff --git a/skins/contrib/Mozilla/global.css b/skins/contrib/Mozilla/global.css new file mode 100644 index 000000000..405ee424e --- /dev/null +++ b/skins/contrib/Mozilla/global.css @@ -0,0 +1,676 @@ +@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,600,700|Droid+Sans+Mono); + +body { + background: #f6f4ec; + background-image: url(noise.png), -moz-linear-gradient(#d7d3c8, #f6f4ec 400px); + background-image: url(noise.png), -webkit-linear-gradient(#d7d3c8, #f6f4ec 400px); + background-image: url(noise.png), linear-gradient(#d7d3c8, #f6f4ec 400px); + color: #404040; + min-width: 990px; +} + +body, td, th, input { + font-family: "Open Sans", "Helvetica Neue", Arial, Helvetica, sans-serif; +} + +a, a:visited, #header a, #header a:visited, #footer a, #footer a:visited { + color: #0095dd; +} + +a:hover, #header a:hover, #footer a:hover { + color: #00539f; +} + +textarea, input[type=text], .text_input { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + border: 1px solid #ccc; + border-radius: 3px; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1); + background: -moz-linear-gradient(#fafafa, #fff); + background: -webkit-linear-gradient(#fafafa, #fff); + background: linear-gradient(#fafafa, #fff); + padding: 5px; +} + +hr { + display: none; +} + +#header { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + background: -moz-linear-gradient(#e5e3dc, #ecebe5); + background: -webkit-linear-gradient(#e5e3dc, #ecebe5); + background: linear-gradient(#e5e3dc, #ecebe5); + border-radius: 0; + border-bottom: 1px solid rgba(0, 0, 0, 0.2); + border-top: 3px solid rgb(104, 104, 104); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + margin: -15px; + position: fixed; + width: 100%; + z-index: 2; + color: transparent; +} + +#header .subheader { + text-align: left; + padding-left: 10px; +} + +#header .wrapper { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + margin: 0px auto; + width: 99%; +} + +#header .wrapper:after { + clear: both; + content: "."; + display: block; + height: 0; + visibility: hidden; +} + +#titles { + width: 100%; + background-color: transparent; + padding: 0 1em 0 1em; +} + +#titles #information { + text-align: left; + padding-left: 2em; +} + +#titles #title { + width: 150px; +} + +#titles #tab { + width: 100px; +} + +#titles #login { + text-align: right; + padding-right: 2em; +} + +#header .links { + background: transparent; + border: none; + border-radius: 0; + color: #404040; + position: relative; + margin-top: -15px; + width: 50%; +} + +#header .links { + width: auto; +} + +.login-links ul { +} + +.login-links li { + display: inline; +} + +.links a { + margin: 0 10px 0 10px; +} + +.links .home { + font-weight: bold; +} + +#quicksearch_top, #quicksearch_main { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + background: url(search.png) 5px center no-repeat, -moz-linear-gradient(#fafafa, #fff); + background: url(search.png) 5px center no-repeat, -webkit-linear-gradient(#fafafa, #fff); + background: url(search.png) 5px center no-repeat, linear-gradient(#fafafa, #fff); + padding-left: 26px; + width: 200px; +} + +#find_top { + display: none !important; +} + +#header .form a, #header .form a:visited { + background: rgba(0, 0, 0, 0.3); + border-radius: 10px; + color: #e5e3dc; + display: inline-block; + font-weight: bold; + margin-left: 5px; + text-align: center; + width: 20px; + height: 20px; +} + +#header .form a:hover { + background: #0095dd; + text-decoration: none; +} + +.links .dropdown { + background: rgba(0, 0, 0, 0.05); + border: 1px solid rgba(0, 0, 0, 0.1); + border-radius: 3px; + display: inline-block; + padding: 4px 8px; + position: relative; +} + +.links .dropdown .anchor { + background-image: url(dropdown.png); + background-position: right center; + background-repeat: no-repeat; + display: inline-block; + min-width: 110px; + padding-right: 15px; +} + +.links .dropdown ul { + background: #fafafa; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0 0 5px 5px; + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + display: none; + padding: 4px 8px; + position: absolute; + right: -1px; + top: 26px; + z-index: 2; +} + +.links .dropdown:hover ul { + display: block; +} + +.links .dropdown li { + display: block; +} + +.links .dropdown:hover { + border-bottom-right-radius: 0; +} + +.links .dropdown li { + display: block; +} + +#bugzilla-body { + background: none; + border: none; + color: #404040; + margin: 80px auto 15px; + padding: 0; + width: 99%; +} + +/* Home */ + +#page-index { + max-width: none; +} + +#page-index td:first-child { + text-align: center; +} + +#page-index a { + background: none; + display: inline; + float: none; + height: auto; + width: auto; +} + +#quicksearch_main { + padding-left: 5px; +} + +#quicksearch_links { + margin-top: 10px; +} + +/* Bugs */ + +.navigation { + background: rgba(255, 255, 255, 0.3); + padding: 5px 10px; +} + +u { + border-bottom: 1px solid #aaa; + text-decoration: none; +} + +#field_container_see_also br { + margin-bottom: 10px; +} + +.bz_alias_short_desc_container { + background: none; + font-size: 24px; + font-weight: normal; + line-height: 32px; + padding: 5px 0; + text-shadow: 0 1px rgba(255, 255, 255, 0.2); +} + +.bz_alias_short_desc_container b { + font-weight: normal; +} + +.bz_alias_short_desc_container .editme { + font-weight: normal; +} + +.last_comment_link { + font-size: 12px; +} + +.last_comment_link b { + border-bottom: 1px solid #aaa; + font-weight: normal; +} + +table.edit_form { + background: #fff; + border-bottom: 1px solid rgba(0, 0, 0, 0.2); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + margin-bottom: 20px; + padding: 10px 10px 80px; + position: relative; +} + +table.edit_form tbody { + width: 100%; +} + +table.edit_form hr { + display: none; +} + +.field_label { + font-weight: normal !important; + padding-right: 20px; +} + +.field_label a, .field_label b { + color: #000; + font-weight: normal; +} + +.field_value .text_input { + min-width: 0; +} + +#product, #component { + width: 235px; +} + +#bz_show_bug_column_1 tr:last-child span { + position: absolute; + left: 20px; + bottom: 20px; +} + +#commit_top { + position: absolute; + bottom: 20px; + right: 20px; +} + +.cc_list_display { + background: #fff; + float: none; + font-size: 11px; + margin-top: 3px; + max-width: none; + padding: 5px; +} + +#project-flags, #custom-flags { + border-collapse: collapse; +} + +#project-flags label, #custom-flags label { + margin-right: 10px; +} + +#cf_crash_signature { + width: 100%; +} + +#bz_big_form_parts br { + display: none; +} + +#attachment_table { + background: #fff; + border: none; + border-collapse: collapse; + border-bottom: 1px solid rgba(0, 0, 0, 0.2); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + margin-bottom: 40px; +} + +#attachment_table td { + border: none; +} + +#attachment_table th, .bz_attach_footer, .bz_time_tracking_table th { + background: #eee; + color: #404040; +} + +.bz_comment { + background: transparent; + border: none; + margin: 0 0 30px; + padding: 0; + width: 674px; +} + +.bz_comment_table { + width: 75%; +} + +.bz_comment pre { + font: 13px/1.2 "Droid Sans Mono", Menlo, Monaco, "Courier New", Courier, monospace; +} + +.bz_first_comment_head, .bz_comment_head { + font-weight: normal; + line-height: 2; + padding-bottom: 5px; + background-color: transparent; +} + +.bz_comment_user a { + -moz-transition: all 0.25s linear 0s; + -webkit-transition: all 0.25s linear 0s; + transition: all 0.25s linear 0s; + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + transition: all 0.25s linear 0s; + background: #0095dd; + color: #fff; + font-weight: bold; + padding: 5px; +} + +.bz_comment_user a:hover { + -moz-transition: all 0.25s linear 0s; + -webkit-transition: all 0.25s linear 0s; + transition: all 0.25s linear 0s; + background: #00539f; + border: none; + text-decoration: none; +} + +.new_user { + margin-left: 10px; +} + +.ih_history { + padding: 0 !important; +} + +.ih_history .bz_comment_head { + padding-bottom: 10px; +} + +.ih_history_item:not(.ih_hidden) ~ .ih_history_item:not(.ih_hidden) { + margin-top: 10px; +} + +.ih_history .bz_comment_user a { + background: #888; +} + +.ih_history .bz_comment_user a:hover { + background: #555; +} + +.bz_comment_text { + background: #fff; + border-bottom: 1px solid rgba(0, 0, 0, 0.2); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + margin: 10px 0 0; + overflow: auto; + padding: 10px; + position: relative; +} + +.bz_comment_text:after, .bz_comment_text:before { + bottom: 100%; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none; +} + +.bz_comment_text:after { + border-bottom-color: #fff; + border-width: 8px; + left: 16px; +} + +.bz_comment_text span.quote { + background: #eee !important; + color: #444 !important; + display: block !important; + margin-top: 5px !important; + margin-bottom: -10px !important; + overflow: auto; + padding: 5px !important; + white-space: pre-wrap; +} + +.ih_inlinehistory { + background: #eee; + border-top: 1px solid rgba(0, 0, 0, 0.1); + border-bottom: 1px solid rgba(0, 0, 0, 0.2); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); + padding: 10px; + position: relative; + top: -1px; + z-index: 1; +} + +#add_comment { + border: 1px solid #ccc; + border-width: 1px 0; + margin-bottom: 20px; + padding: 10px 0; +} + +#add_comment > table { + border-collapse: collapse; + width: 661px; +} + +#comment { + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + box-sizing: content-box; + margin: 5px 0 20px; + width: 661px !important; +} + +#footer { + background: #fff; + border: none; + border-top: 1px solid rgba(0, 0, 0, 0.1); + border-radius: 0; + color: #bbb; + margin: 15px -15px 0; + padding: 48px 15px; +} + +#footer #useful-links { + background: url(footer-mozilla.png) no-repeat; + min-height: 24px; +} + +#footer > * { + margin-right: auto; + margin-left: auto; + padding: 0 0 0 320px !important; + width: 670px; +} + +#commit, #commit_top { + -moz-transition: all 0.25s linear 0s; + -webkit-transition: all 0.25s linear 0s; + transition: all 0.25s linear 0s; + background-color: rgb(101, 147, 36); + background-image: -moz-linear-gradient(rgb(129, 188, 46), rgb(101, 147, 36)); + background-repeat: repeat-x; + border-radius: 0.25em 0.25em 0.25em 0.25em; + border: 0px none; + box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.1), 0px -2px 0px 0px rgba(0, 0, 0, 0.2) inset; + color: rgb(255, 255, 255); + cursor: pointer; + display: inline-block; + font-size: 14px; + height: 48px; + line-height: 48px; + padding: 0px 24px; + text-align: center; + text-decoration: none; + text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.25); +} + +#commit:hover, #commit_top:hover { + -moz-transition: all 0.25s linear 0s; + -webkit-transition: all 0.25s linear 0s; + transition: all 0.25s linear 0s; + box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.1), 0px -2px 0px 0px rgba(0, 0, 0, 0.2) inset, 0px 12px 24px 2px rgb(131, 200, 34) inset; + color: rgb(255, 255, 255); + text-decoration: none; +} + +.related_actions { + line-height: 19px; + padding: 5px 10px; +} + +/* Attachments */ + +#viewFrame { + background: #444; + border: 2px solid #222; + margin-bottom: 10px; +} + +#editFrame, #viewDiffFrame, #viewFrame { + margin-left: 0; +} + +#flags label { + font-weight: normal; +} + +/* Smaller than standard 990 (devices and browsers) */ +@media only screen and (max-width: 989px) { + #header .links { + float: none; + } +} + +/* Tablet Portrait size to standard 990 */ +@media only screen and (min-width: 768px) and (max-width: 989px) { + body { + min-width: 768px; + } + + #header .wrapper, #bugzilla-body { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 768px; + } + + #footer > * { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 448px; + } +} + +/* All Mobile Sizes */ +@media only screen and (max-width: 767px) { + table.edit_form, table.edit_form > tbody > tr > td { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + display: block; + width: 100% !important; + } + + .bz_column_spacer { + width: auto; + height: 20px; + } +} + + + +/* Mobile Landscape Size to Tablet Portrait */ +@media only screen and (min-width: 480px) and (max-width: 767px) { + body { + min-width: 480px; + } + + #header .wrapper, #bugzilla-body, #attachment_table, + .bz_comment, #add_comment > table, #comment { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 480px !important; + } + + #footer > * { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 480px; + } +} + +/* Mobile Portrait Size to Mobile Landscape Size */ +@media only screen and (max-width: 479px) { + body { + min-width: 100%; + } + + #header .wrapper, #bugzilla-body, #attachment_table, + .bz_comment, #add_comment > table, #comment { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100% !important; + } + + #footer > * { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + } +} diff --git a/skins/contrib/Mozilla/grain.png b/skins/contrib/Mozilla/grain.png Binary files differnew file mode 100644 index 000000000..2980ee90e --- /dev/null +++ b/skins/contrib/Mozilla/grain.png diff --git a/skins/contrib/Mozilla/noise.png b/skins/contrib/Mozilla/noise.png Binary files differnew file mode 100644 index 000000000..97407ffd2 --- /dev/null +++ b/skins/contrib/Mozilla/noise.png diff --git a/skins/contrib/Mozilla/search.png b/skins/contrib/Mozilla/search.png Binary files differnew file mode 100644 index 000000000..a56b5e2cd --- /dev/null +++ b/skins/contrib/Mozilla/search.png diff --git a/skins/custom/global.css b/skins/custom/global.css index 41494cc2e..e80f656fb 100644 --- a/skins/custom/global.css +++ b/skins/custom/global.css @@ -6,15 +6,6 @@ body { margin: 0; padding: 15px 15px 2px 15px; - background: none; -} - -#header { - margin-bottom: 0.5em; -} - -#header .links { - font-size: 90%; } #header .btn, #header .txt { |