<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2010 Google Inc.

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/action_camera"
            android:icon="@drawable/camera"
            android:title="@string/switch_to_camera"
            android:showAsAction="ifRoom" />
    <item android:id="@+id/action_slideshow"
            android:icon="@drawable/slideshow"
            android:title="@string/slideshow"
            android:showAsAction="ifRoom" />
    <item android:id="@+id/action_select"
            android:title="@string/select_item"
            android:showAsAction="never" />
<!--     <item android:id="@+id/action_group_by" -->
<!--             android:title="@string/group_by" -->
<!--             android:showAsAction="never"/> -->
     <item android:id="@+id/action_view_type"
           android:showAsAction="never"
          />
     <item android:id="@+id/action_sync_picasa_albums"
            android:title="@string/sync_picasa_albums"
            android:showAsAction="never"
            android:visible="false" />
</menu>
