My first suggestion is to separate your destructive actions from the constructive actions. As a user can accidentally click the wrong icon due to a visual error, they can accidentally click the wrong icon just because their mouse was not exactly where they thought it was.
Keep the actions that are destructive and can cause panic (such as accidentally deleting something) out of the way.
For your Delete All. I would suggest removing it if possible. It seems overly destructive to me. How often do users really want to delete everything? The context of the action might make it more common, but I think there are other options.
You could include a checkbox on each row, or provide the ability to select multiple rows (CTRL-Click in Windows, Command-Click in Mac) and then ask the user to click the single delete button. That single button takes action on all selected rows.
This does a few things:
- Removes confusion between buttons. Only 1 delete button.
- Makes it harder to delete all (again, something that seems overly destructive to me).
- Extra steps makes user think more about what they are doing... generally a good thing when deleting.
If you wanted to a quick "delete all", you could have a "select all" which would select all check boxes (or highlight all rows) and then click the delete button. Again, adds an extra step but I would argue that's good when performing a very destructive action.