diff --git a/core/mui/cairo_sub_parts_favorite.rb b/core/mui/cairo_sub_parts_favorite.rb index 7f5f11f1..9b2cb0b8 100644 --- a/core/mui/cairo_sub_parts_favorite.rb +++ b/core/mui/cairo_sub_parts_favorite.rb @@ -34,6 +34,13 @@ class Gdk::SubPartsFavorite < Gdk::SubPartsVoter mp.subparts.find{ |sp| sp.class == Gdk::SubPartsFavorite }.add(user) end } } end + onunfavorite do |service, user, message| + Gdk::MiraclePainter.findbymessage_d(message).next{ |mps| + mps.deach{ |mp| + if not mp.destroyed? + mp.subparts.find{ |sp| sp.class == Gdk::SubPartsFavorite }.delete(user) end } } + end + on_before_favorite do |service, user, message| Gdk::MiraclePainter.findbymessage_d(message).next{ |mps| mps.deach{ |mp| diff --git a/core/plugin/gtk/gtk.rb b/core/plugin/gtk/gtk.rb index d62eea2e..6bfa9688 100644 --- a/core/plugin/gtk/gtk.rb +++ b/core/plugin/gtk/gtk.rb @@ -440,6 +440,11 @@ Plugin.create :gtk do Gdk::MiraclePainter.findbymessage(message).each{ |mp| mp.on_modify } end end + on_unfavorite do |service, user, message| + if(user.me?) + Gdk::MiraclePainter.findbymessage(message).each{ |mp| + mp.on_modify } end end + on_konami_activate do Gtk.konami_load end diff --git a/core/plugin/twitter/twitter.rb b/core/plugin/twitter/twitter.rb index 3384b37f..261ad3da 100644 --- a/core/plugin/twitter/twitter.rb +++ b/core/plugin/twitter/twitter.rb @@ -209,6 +209,7 @@ Plugin.create(:twitter) do favorited?(twitter, tweet) }) do |twitter, tweet| (twitter/'favorites/destroy'.freeze).message(id: tweet.id).next{ |unfavorited_tweet| + unfavorited_tweet.favorited_by.delete(twitter.user_obj) Plugin.call(:unfavorite, twitter, twitter.user_obj, unfavorited_tweet) unfavorited_tweet }