]> source.dussan.org Git - redmine.git/commitdiff
Code cleanup.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 15 Dec 2011 10:57:59 +0000 (10:57 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 15 Dec 2011 10:57:59 +0000 (10:57 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8229 e93f8b46-1217-0410-a6f0-8f06a7374b81

lib/redmine/menu_manager.rb

index d3693d9ac8b6dc2a054875546af275e3d1f164af..b88e6fa2fb0d326e0f10316c1938165a933c71f1 100644 (file)
@@ -316,7 +316,6 @@ module Redmine
 
       def initialize(name, content = nil)
         @name = name
-        @childrenHash ||= {}
         @children = []
         @last_items_count = 0
       end
@@ -341,50 +340,34 @@ module Redmine
 
       # Adds a child at first position
       def prepend(child)
-        raise "Child already added" if @childrenHash.has_key?(child.name)
-  
-        @childrenHash[child.name]  = child
-        @children = [child] + @children
-        child.parent = self
-        return child
+        add_at(child, 0)
       end
 
       # Adds a child at given position
       def add_at(child, position)
-        raise "Child already added" if @childrenHash.has_key?(child.name)
-  
-        @childrenHash[child.name]  = child
+        raise "Child already added" if find {|node| node.name == child.name}
+
         @children = @children.insert(position, child)
         child.parent = self
-        return child
+        child
       end
 
       # Adds a child as last child
       def add_last(child)
-        raise "Child already added" if @childrenHash.has_key?(child.name)
-  
-        @childrenHash[child.name]  = child
-        @children <<  child
+        add_at(child, -1)
         @last_items_count += 1
-        child.parent = self
-        return child
+        child
       end
 
       # Adds a child
       def add(child)
-        raise "Child already added" if @childrenHash.has_key?(child.name)
-  
-        @childrenHash[child.name]  = child
         position = @children.size - @last_items_count
-        @children.insert(position, child)
-        child.parent = self
-        return child
+        add_at(child, position)
       end
       alias :<< :add
 
       # Removes a child
       def remove!(child)
-        @childrenHash.delete(child.name)
         @children.delete(child)
         @last_items_count -= +1 if child && child.last
         child.parent = nil