Preheat the oven to 375 degrees F (190 degrees C).
In a large bowl, cream together the butter, white sugar and brown sugar until smooth. Beat in the egg until well blended. Mix in 1 teaspoon orange zest and 2 tablespoons orange juice. Combine the flour, baking soda and salt; stir into the orange mixture. Mix in cranberries and if using, walnuts, until evenly distributed. Drop dough by rounded tablespoonfuls onto ungreased cookie sheets. Cookies should be spaced at least 2 inches apart.
Bake for 12 to 14 minutes in the preheated oven, until the edges are golden. Remove from cookie sheets to cool on wire racks.
In a small bowl, mix together 1/2 teaspoon orange zest, 3 tablespoons orange juice and confectioners' sugar until smooth. Spread over the tops of cooled cookies. Let stand until set.