From 967b03fcfc63fbb4393200de6b3b46d2bc94bab0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Hanol?= <regis@hanol.fr> Date: Sun, 17 Mar 2013 16:27:11 -0700 Subject: [PATCH] keep favorite/star button's title in sync with starred status --- app/assets/javascripts/discourse/models/topic.js | 8 ++++++++ .../templates/list/topic_list_item.js.handlebars | 2 +- .../javascripts/discourse/templates/topic.js.handlebars | 2 +- .../discourse/templates/topic_extra_info.js.handlebars | 2 +- .../discourse/views/topic_footer_buttons_view.js | 2 +- config/locales/client.en.yml | 4 +++- config/locales/client.fr.yml | 4 +++- 7 files changed, 18 insertions(+), 6 deletions(-) diff --git a/app/assets/javascripts/discourse/models/topic.js b/app/assets/javascripts/discourse/models/topic.js index 538093642..4af79a695 100644 --- a/app/assets/javascripts/discourse/models/topic.js +++ b/app/assets/javascripts/discourse/models/topic.js @@ -141,6 +141,14 @@ Discourse.Topic = Discourse.Model.extend({ }); }, + favoriteTooltipKey: (function() { + return this.get('starred') ? 'favorite.help.unstar' : 'favorite.help.star'; + }).property('starred'), + + favoriteTooltip: (function() { + return Em.String.i18n(this.get('favoriteTooltipKey')); + }).property('favoriteTooltipKey'), + toggleStar: function() { var topic = this; topic.toggleProperty('starred'); diff --git a/app/assets/javascripts/discourse/templates/list/topic_list_item.js.handlebars b/app/assets/javascripts/discourse/templates/list/topic_list_item.js.handlebars index d651cf94e..0f66a1c4f 100644 --- a/app/assets/javascripts/discourse/templates/list/topic_list_item.js.handlebars +++ b/app/assets/javascripts/discourse/templates/list/topic_list_item.js.handlebars @@ -1,7 +1,7 @@ {{#if Discourse.currentUser.id}} <td class='star'> - <a {{bindAttr class=":star :icon-star starred:starred"}} {{action toggleStar this target="controller"}} href='#' title='{{i18n favorite.help}}'></a> + <a {{bindAttr class=":star :icon-star starred:starred"}} {{action toggleStar this target="controller"}} href='#' {{bindAttr title="favoriteTooltip"}}></a> </td> {{/if}} diff --git a/app/assets/javascripts/discourse/templates/topic.js.handlebars b/app/assets/javascripts/discourse/templates/topic.js.handlebars index cc163274e..af48dff62 100644 --- a/app/assets/javascripts/discourse/templates/topic.js.handlebars +++ b/app/assets/javascripts/discourse/templates/topic.js.handlebars @@ -6,7 +6,7 @@ <div class='container'> <div class='inner'> {{#if view.showFavoriteButton}} - <a {{bindAttr class=":star view.topic.starred:starred"}} {{action toggleStar target="controller"}} href='#' title="{{i18n favorite.help}}"></a> + <a {{bindAttr class=":star view.topic.starred:starred"}} {{action toggleStar target="controller"}} href='#' {{bindAttr title="favoriteTooltip"}}></a> {{/if}} {{#if view.editingTopic}} <input id='edit-title' type='text' {{bindAttr value="view.topic.title"}}> diff --git a/app/assets/javascripts/discourse/templates/topic_extra_info.js.handlebars b/app/assets/javascripts/discourse/templates/topic_extra_info.js.handlebars index 8809fa5a7..3880b9421 100644 --- a/app/assets/javascripts/discourse/templates/topic_extra_info.js.handlebars +++ b/app/assets/javascripts/discourse/templates/topic_extra_info.js.handlebars @@ -1,5 +1,5 @@ {{#if view.showFavoriteButton}} - <a {{bindAttr class=":star view.topic.starred:starred"}} {{action toggleStar target="controller"}} href='#' title="{{i18n favorite.help}}"></a> + <a {{bindAttr class=":star view.topic.starred:starred"}} {{action toggleStar target="controller"}} href='#' {{bindAttr title="view.topic.favoriteTooltip"}}></a> {{/if}} <h1> diff --git a/app/assets/javascripts/discourse/views/topic_footer_buttons_view.js b/app/assets/javascripts/discourse/views/topic_footer_buttons_view.js index a68ee7ca4..ae4002e69 100644 --- a/app/assets/javascripts/discourse/views/topic_footer_buttons_view.js +++ b/app/assets/javascripts/discourse/views/topic_footer_buttons_view.js @@ -40,7 +40,7 @@ Discourse.TopicFooterButtonsView = Ember.ContainerView.extend({ this.addObject(Discourse.ButtonView.createWithMixins({ textKey: 'favorite.title', - helpKey: 'favorite.help', + helpKeyBinding: 'controller.content.favoriteTooltipKey', favoriteChanged: (function() { this.rerender(); diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml index 824057c8b..381c2254d 100644 --- a/config/locales/client.en.yml +++ b/config/locales/client.en.yml @@ -357,7 +357,9 @@ en: favorite: title: 'Favorite' - help: 'add this topic to your favorites list' + help: + star: 'add this topic to your favorites list' + unstar: 'remove this topic from your favorites list' topics: none: diff --git a/config/locales/client.fr.yml b/config/locales/client.fr.yml index 64a053f0d..5d8ff5267 100644 --- a/config/locales/client.fr.yml +++ b/config/locales/client.fr.yml @@ -361,7 +361,9 @@ fr: favorite: title: 'Favoris' - help: 'ajouter cette discussion à vos favoris' + help: + star: 'ajouter cette discussion à vos favoris' + unstar: 'enlever cette discussion de vos favoris' topics: none: