diff --git a/Vendorfile b/Vendorfile index d7779f8f7..d11ca37fc 100644 --- a/Vendorfile +++ b/Vendorfile @@ -1,27 +1,27 @@ folder 'vendor/assets' do folder 'leaflet' do - from 'https://github.com/CloudMade/Leaflet.git' do + from 'git://github.com/Leaflet/Leaflet.git', :tag => 'v0.5' do file 'leaflet.css', 'dist/leaflet.css' file 'leaflet.ie.css', 'dist/leaflet.ie.css' file 'leaflet.js', 'dist/leaflet-src.js' folder 'images', 'dist/images' end - from 'https://github.com/tripbirds/leaflet-locationfilter.git' do + from 'git://github.com/kajic/leaflet-locationfilter.git' do file 'leaflet.locationfilter.css', 'src/locationfilter.css' file 'leaflet.locationfilter.js', 'src/locationfilter.js' folder 'img', 'src/img' end - from 'https://github.com/kartena/Leaflet.Pancontrol.git' do + from 'git://github.com/kartena/Leaflet.Pancontrol.git' do file 'leaflet.pan.js', 'src/L.Control.Pan.js' end - from 'https://github.com/kartena/Leaflet.zoomslider.git' do + from 'git://github.com/kartena/Leaflet.zoomslider.git' do file 'leaflet.zoom.js', 'src/L.Control.Zoomslider.js' end - from 'https://github.com/jfirebaugh/leaflet-osm.git' do + from 'git://github.com/jfirebaugh/leaflet-osm.git' do file 'leaflet.osm.js', 'leaflet-osm.js' end end diff --git a/app/assets/images/browse/aerodrome.p.16.png b/app/assets/images/browse/aerodrome.p.16.png new file mode 100644 index 000000000..8f13cd76f Binary files /dev/null and b/app/assets/images/browse/aerodrome.p.16.png differ diff --git a/app/assets/images/browse/tourist_ruin.p.16.png b/app/assets/images/browse/tourist_ruins.p.16.png similarity index 100% rename from app/assets/images/browse/tourist_ruin.p.16.png rename to app/assets/images/browse/tourist_ruins.p.16.png diff --git a/app/assets/javascripts/edit.js b/app/assets/javascripts/edit.js index 30823d49e..f13e2d481 100644 --- a/app/assets/javascripts/edit.js +++ b/app/assets/javascripts/edit.js @@ -1,27 +1,11 @@ function maximiseMap() { - $("#left").hide(); - $("#top-bar").hide(); - - $("#content").css("top", "0px"); - if ($("html").attr("dir") == "ltr") { - $("#content").css("margin-left", "0px"); - } else { - $("#content").css("margin-right", "0px"); - } + $("#content").addClass("maximised"); handleResize(); } function minimiseMap() { - $("#left").show(); - $("#top-bar").show(); - - $("#content").css("top", "30px"); - if ($("html").attr("dir") == "ltr") { - $("#content").css("margin-left", "185px"); - } else { - $("#content").css("margin-right", "185px"); - } + $("#content").removeClass("maximised"); handleResize(); } diff --git a/app/assets/javascripts/index.js b/app/assets/javascripts/index.js index dc5c40bf2..7c80b0108 100644 --- a/app/assets/javascripts/index.js +++ b/app/assets/javascripts/index.js @@ -5,7 +5,7 @@ //= require index/notes $(document).ready(function () { - var permalinks = $("#permalink").html(); + var permalinks = $("#permalink").detach().html(); var marker; var params = OSM.mapParams(); var map = createMap("map"); @@ -66,10 +66,10 @@ $(document).ready(function () { }); function updateLocation() { - var center = map.getCenter(); + var center = map.getCenter().wrap(); var zoom = map.getZoom(); var layers = getMapLayers(); - var extents = map.getBounds(); + var extents = map.getBounds().wrap(); updatelinks(center.lng, center.lat, diff --git a/app/assets/javascripts/map.js.erb b/app/assets/javascripts/map.js.erb index 291633f53..928575eb5 100644 --- a/app/assets/javascripts/map.js.erb +++ b/app/assets/javascripts/map.js.erb @@ -1,5 +1,5 @@ // Leaflet extensions -L.LatLngBounds.include({ +L.extend(L.LatLngBounds.prototype, { getSouthLat: function () { return this._southWest.lat; }, @@ -29,10 +29,14 @@ L.LatLngBounds.include({ getSize: function () { return (this._northEast.lat - this._southWest.lat) * (this._northEast.lng - this._southWest.lng); + }, + + wrap: function () { + return new L.LatLngBounds(this._southWest.wrap(), this._northEast.wrap()); } }); -L.Bounds.include({ +L.extend(L.Bounds.prototype, { getWidth: function () { return this.max.x - this.min.x; }, diff --git a/app/assets/javascripts/richtext.js b/app/assets/javascripts/richtext.js index 78a9d452f..38cc2a77b 100644 --- a/app/assets/javascripts/richtext.js +++ b/app/assets/javascripts/richtext.js @@ -41,8 +41,8 @@ $(document).ready(function () { $(".richtext_dopreview").click(function (event) { var editor = $(this).parents(".richtext_container").find("textarea"); var preview = $(this).parents(".richtext_container").find(".richtext_preview"); - var width = editor.outerWidth() - preview.outerWidth() + preview.innerWidth(); - var minHeight = editor.outerHeight() - preview.outerHeight() + preview.innerHeight(); + var width = editor.outerWidth() - preview.outerWidth() + preview.width(); + var minHeight = editor.outerHeight() - preview.outerHeight() + preview.height(); if (preview.contents().length == 0) { preview.oneTime(500, "loading", function () { diff --git a/app/assets/stylesheets/common.css.scss b/app/assets/stylesheets/common.css.scss index dd9b3bbcb..5fe4ec97b 100644 --- a/app/assets/stylesheets/common.css.scss +++ b/app/assets/stylesheets/common.css.scss @@ -469,7 +469,7 @@ table { .site-index #tabnav a#viewanchor, .site-edit #tabnav a#editanchor, -.changeset_list #tabnav a#historyanchor, +.changeset-list #tabnav a#historyanchor, .site-export #tabnav a#exportanchor { border-bottom: 1px solid #aaa; background: #9ed485; @@ -789,6 +789,15 @@ ul.results-list li { border-bottom: 1px solid #ccc; } top: 30px; } +#content.maximised { + top: 0; + left: 0; + right: 0; + bottom: 0; + border: 0; + z-index: 1000; +} + #slim_container { width: 100%; } @@ -805,12 +814,16 @@ ul.results-list li { border-bottom: 1px solid #ccc; } #slim_content { margin: 10px; - margin-top: 90px; + margin-top: 95px; max-width: 50em; + + .content-heading { + margin-bottom: 15px; + } } #slim_header { - margin: 10px; + margin: 30px 10px; position: absolute; top: 0px; margin-right: 5px; @@ -891,7 +904,7 @@ ul.results-list li { border-bottom: 1px solid #ccc; } } } .selected { - background-color: rgb(255, 255, 160); + background: #FFFFC0; } .date, .user { @@ -1021,6 +1034,7 @@ ul.results-list li { border-bottom: 1px solid #ccc; } } .activity-block { + clear: left; border-bottom: 1px solid #ccc; padding-bottom: 20px; float: left; @@ -1139,15 +1153,7 @@ ul.results-list li { border-bottom: 1px solid #ccc; } } ul, ol { - margin-bottom: 20px; font-style: italic; - margin-left: 20px; - } - ul li { - list-style: disc; - } - ol li { - list-style: decimal; } ul.secondary-actions { display: inline-block;} } @@ -1436,8 +1442,8 @@ textarea { /* Rules for user images */ img.user_image { - width: 100px; - height: 100px; + max-width: 100px; + max-height: 100px; border: 1px solid #ccc; margin-bottom: 20px; float: left; @@ -1445,8 +1451,8 @@ img.user_image { } img.user_thumbnail { - width: 50px; - height: 50px; + max-width: 50px; + max-height: 50px; border: 1px solid #ccc; margin-right: 20px; } @@ -1499,18 +1505,6 @@ ul.secondary-actions { padding-left: 0; } } - .hidden li, - .hide_unless_logged_in li, - .hide_unless_administrator li { - border-left: 1px solid #ccc; - padding-left: 5px; - } - .hidden:first-child li, - .hide_unless_logged_in:first-child li, - .hide_unless_administrator:first-child li { - border-left: 0; - padding-left: 0; - } } /* Utility for managing inner content areas */ @@ -1548,6 +1542,7 @@ a.button.submit { background-color: #9ed485; } } + /* Rules for doing distinct colour of alternate table rows */ .table0, @@ -1567,55 +1562,79 @@ a.button.submit { border: 0; } +/* Rules for rich text */ + +.richtext { + ul, + ol { + margin-bottom: 20px; + margin-left: 20px; + } + ul li { + list-style: disc; + } + + ol li { + list-style: decimal; + } +} + /* Rules for rich text editors */ .richtext_container { white-space: nowrap; + .richtext_content { display: inline-block; vertical-align: top; + .richtext_preview { display: inline-block; padding: 20px; background-color: #f4f4ff; white-space: normal; + &.loading { background-image: image-url("loading.gif"); background-repeat: no-repeat; background-position: center; } + > :first-child { margin-top: 0px; } } } + .richtext_help { display: inline-block; vertical-align: top; margin-left: 15px; background-color: #f8f8ff; padding: 20px; + p { margin: 0px; } + th { vertical-align: top; text-align: left; padding: 0px 15px 0px 0px !important; } - table > thead th { - font-weight: bold; - } + td { font-family: fixed; line-height: 16px; text-align: left; padding: 0px !important; } + input.richtext_doedit { margin-top: 5px !important; margin-right: 10px !important; } + input.richtext_dopreview { margin-top: 5px !important; margin-left: 10px !important; diff --git a/app/assets/stylesheets/embed.css.scss b/app/assets/stylesheets/embed.css.scss index 024f73d36..6ad3ff38a 100644 --- a/app/assets/stylesheets/embed.css.scss +++ b/app/assets/stylesheets/embed.css.scss @@ -17,11 +17,3 @@ body { width: 100%; height: 100%; } - -.leaflet-control-zoom-in { - background-image: image-url("images/zoom-in.png"); -} - -.leaflet-control-zoom-out { - background-image: image-url("images/zoom-out.png"); -} diff --git a/app/assets/stylesheets/leaflet-all.css.scss b/app/assets/stylesheets/leaflet-all.css.scss index 3d9c381c0..f983149da 100644 --- a/app/assets/stylesheets/leaflet-all.css.scss +++ b/app/assets/stylesheets/leaflet-all.css.scss @@ -6,14 +6,6 @@ */ /* Override to serve images through the asset pipeline. */ -.leaflet-control-zoom-in { - background-image: image-url("images/zoom-in.png"); -} - -.leaflet-control-zoom-out { - background-image: image-url("images/zoom-out.png"); -} - .leaflet-control-layers-toggle { background-image: image-url("images/layers.png"); } diff --git a/app/assets/stylesheets/small.css.scss b/app/assets/stylesheets/small.css.scss index 7ce0484b7..2bec6d249 100644 --- a/app/assets/stylesheets/small.css.scss +++ b/app/assets/stylesheets/small.css.scss @@ -3,15 +3,15 @@ /* Default rules for the body of every page */ body { - font-size: 12px; + font-size: 10px; } h1 { - font-size: 16px; + font-size: 12px; } h2, h3, h4 { - font-size: 14px; + font-size: 12px; } .wrapper { @@ -30,6 +30,10 @@ h2, h3, h4 { position: relative; } +.site-edit #content, .site-index #content, .site-export #content { + position: absolute; +} + .column-1 { width: 100%; } @@ -89,7 +93,7 @@ h2, h3, h4 { #small-title h1 { position: absolute; - font-size: 12px; + font-size: 10px; line-height: 18px; margin: 0; left: 22px; @@ -106,6 +110,7 @@ h2, h3, h4 { #browse_map ul.secondary-actions { float: right; + font-size: 10px; } #map { @@ -132,7 +137,7 @@ h2, h3, h4 { .site-index .leaflet-top, .site-export .leaflet-top { - top: 47px !important; + top: 10px !important; } /* Rules for the main content area */ @@ -155,14 +160,10 @@ h2, h3, h4 { #sidebar { border: 0px; margin: 0px; - width: 50%; + width: 50% !important; border-right: 1px solid #ccccdd; } -.sidebar_title, #sidebar_content { - font-size: 10px !important; -} - p.search_results_entry { padding: 2px 0px; } diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 7aae6b777..9676e6ee1 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -20,12 +20,12 @@ module ApplicationHelper def style_rules css = "" - css << ".hidden { display: none }"; - css << ".hide_unless_logged_in { display: none }" unless @user; - css << ".hide_if_logged_in { display: none }" if @user; - css << ".hide_if_user_#{@user.id} { display: none }" if @user; - css << ".show_if_user_#{@user.id} { display: inline }" if @user; - css << ".hide_unless_administrator { display: none }" unless @user and @user.administrator?; + css << ".hidden { display: none !important }"; + css << ".hide_unless_logged_in { display: none !important }" unless @user; + css << ".hide_if_logged_in { display: none !important }" if @user; + css << ".hide_if_user_#{@user.id} { display: none !important }" if @user; + css << ".show_if_user_#{@user.id} { display: inline !important }" if @user; + css << ".hide_unless_administrator { display: none !important }" unless @user and @user.administrator?; return content_tag(:style, css, :type => "text/css") end @@ -77,7 +77,7 @@ module ApplicationHelper content_tag(:div, :id => "#{id}_container", :class => "richtext_container") do output_buffer << content_tag(:div, :id => "#{id}_content", :class => "richtext_content") do output_buffer << text_area(object_name, method, options.merge("data-preview-url" => preview_url(:format => format))) - output_buffer << content_tag(:div, "", :id => "#{id}_preview", :class => "richtext_preview") + output_buffer << content_tag(:div, "", :id => "#{id}_preview", :class => "richtext_preview richtext") end output_buffer << content_tag(:div, :id => "#{id}_help", :class => "richtext_help") do diff --git a/app/views/browse/_map.html.erb b/app/views/browse/_map.html.erb index cf59a4679..e0428b4ac 100644 --- a/app/views/browse/_map.html.erb +++ b/app/views/browse/_map.html.erb @@ -52,7 +52,7 @@ <% end -%>
<%= t 'browse.redacted.message_html', :type => t('browse.redacted.type.node'), :redaction_link => link_to(t('browse.redacted.redaction', :id => node_details.redaction.id), node_details.redaction), :version => node_details.version %>
-<% else %><%= t 'browse.redacted.message_html', :type => t('browse.redacted.type.relation'), :redaction_link => link_to(t('browse.redacted.redaction', :id => relation_details.redaction.id), relation_details.redaction), :version => relation_details.version %>
-<% else %><%= t 'browse.redacted.message_html', :type => t('browse.redacted.type.way'), :redaction_link => link_to(t('browse.redacted.redaction', :id => way_details.redaction.id), way_details.redaction), :version => way_details.version %>
-<% else %> -<%= result_to_html(result) %>
<%= result_to_html(result) %>
+
<%= t 'redaction.show.description' %> <%= @redaction.description.to_html %>
diff --git a/app/views/trace/_trace.html.erb b/app/views/trace/_trace.html.erb index ac5233669..c05e00c4a 100644 --- a/app/views/trace/_trace.html.erb +++ b/app/views/trace/_trace.html.erb @@ -20,7 +20,7 @@ <%= link_to t('trace.trace.edit'), {:controller => 'site', :action => 'edit', :gpx => trace.id }, {:title => t('trace.trace.edit_map')} %> <%= t('trace.trace.' + trace.visibility) %>- | - |
---|---|
+ | + |
<%= link_to h(contact.display_name), :controller => 'user', :action => 'view', :display_name => contact.display_name %> @@ -47,4 +45,4 @@
<%= t 'user.login.no account' %> <%= link_to t('user.login.register now'), :action => :new, :referer => params[:referer] %>
<%= t 'user.login.email or username' %> | <%= text_field_tag "username", params[:username], :size => 28, :maxlength => 255, :tabindex => 1 %> | |
<%= t 'user.login.password' %> | <%= password_field_tag "password", "", :size => 28, :maxlength => 255, :tabindex => 2 %> (<%= link_to t('user.login.lost password link'), :controller => 'user', :action => 'lost_password' %>) | |
<%= t 'user.login.email or username' %> | <%= text_field_tag "username", params[:username], :maxlength => 255, :tabindex => 1 %> | |
<%= t 'user.login.password' %> | <%= password_field_tag "password", "", :maxlength => 255, :tabindex => 2 %> (<%= link_to t('user.login.lost password link'), :controller => 'user', :action => 'lost_password' %>) | |
<%= check_box_tag "remember_me", "yes", false, :tabindex => 3 %> @@ -43,7 +43,7 @@ <%= raw t 'user.login.openid', :logo => openid_logo %> | - <%= url_field_tag("openid_url", "", { :size => 28, :maxlength => 255, :tabindex => 3, :class => "openid_url" }) %> + <%= url_field_tag("openid_url", "", { :maxlength => 255, :tabindex => 3, :class => "openid_url" }) %> (<%= t 'user.account.openid.link text' %>) |
<%= raw(t('diary_entry.diary_comment.comment_from', :link_user => (link_to h(diary_comment.user.display_name), :controller => 'user', :action => 'view', :display_name => diary_comment.user.display_name), :comment_created_at => l(diary_comment.created_at, :format => :friendly))) %>
- <%= diary_comment.body.to_html %> +<%= raw(t('diary_entry.diary_comment.comment_from', :link_user => (link_to h(diary_comment.user.display_name), :controller => 'user', :action => 'view', :display_name => diary_comment.user.display_name), :comment_created_at => l(diary_comment.created_at, :format => :friendly))) %>
+