Index: branches/RC/core/admin_templates/js/toolbar.js =================================================================== diff -u -r11368 -r11369 --- branches/RC/core/admin_templates/js/toolbar.js (.../toolbar.js) (revision 11368) +++ branches/RC/core/admin_templates/js/toolbar.js (.../toolbar.js) (revision 11369) @@ -288,14 +288,34 @@ ToolBar.prototype.AddButton = function(a_button) { - a_button.ToolBar = this; - this.Buttons[a_button.Title] = a_button; + if ($visible_toolbar_buttons === true || in_array(a_button.Title, $visible_toolbar_buttons) || a_button.Separator) { + a_button.ToolBar = this; + this.Buttons[a_button.Title] = a_button; + } } +ToolBar.prototype._removeSeparators = function() +{ + // TODO: find a way to cut first and last separators from non-indexed array, like $new_buttons. + var $separator = false; + var $new_buttons = {}; + + for (var $button_title in this.Buttons) { + if ($separator && this.Buttons[$button_title].Separator) { + continue; + } + + $separator = this.Buttons[$button_title].Separator; + $new_buttons[$button_title] = this.Buttons[$button_title]; + } + + this.Buttons = $new_buttons; +} + ToolBar.prototype.Render = function($container) { // remove duplicate separators or separators at the end of button list - //this._removeSeparators(); + this._removeSeparators(); if ($container) { var tmp = '';