瀏覽代碼

showing the filename in the long press menu on file list, see #559

Andy Scherzinger 9 年之前
父節點
當前提交
e9f793755e

+ 23 - 4
res/layout/file_actions.xml

@@ -3,12 +3,31 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
-    android:layout_margin="@dimen/standard_margin">
+    android:layout_margin="@dimen/standard_margin"
+    android:orientation="vertical">
+
+    <TextView
+        android:id="@+id/file_actions_header"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:padding="@dimen/standard_padding"
+        android:textColor="@color/black"
+        android:visibility="gone"
+        />
+
+    <View
+        android:id="@+id/file_actions_header_divider"
+        android:layout_width="match_parent"
+        android:layout_height="2dp"
+        android:background="@color/owncloud_blue"
+        android:visibility="gone"
+        />
 
     <ListView
         android:id="@+id/file_actions_list"
         android:layout_width="match_parent"
-        android:layout_height="match_parent" >
-    </ListView>
+        android:layout_height="0dp"
+        android:layout_weight="1"
+        />
 
-</LinearLayout> 
+</LinearLayout >

+ 14 - 2
src/com/owncloud/android/ui/dialog/FileActionsDialogFragment.java

@@ -12,6 +12,7 @@ import android.widget.AdapterView;
 import android.widget.AdapterView.OnItemClickListener;
 import android.widget.ArrayAdapter;
 import android.widget.ListView;
+import android.widget.TextView;
 
 import com.owncloud.android.R;
 import com.owncloud.android.ui.dialog.parcel.MenuItemParcelable;
@@ -27,6 +28,7 @@ public class FileActionsDialogFragment extends DialogFragment implements
         OnItemClickListener {
     private static final String ARG_ITEM_LIST = "ITEM_LIST";
     private static final String ARG_FILE_POSITION = "FILE_POSITION";
+    private static final String ARG_FILE_NAME = "FILE_NAME";
     public static final String FTAG_FILE_ACTIONS = "FILE_ACTIONS_FRAGMENT";
 
     private List<MenuItemParcelable> mMenuItems;
@@ -48,7 +50,7 @@ public class FileActionsDialogFragment extends DialogFragment implements
      * @param menu menu to be display.
      * @return Dialog ready to show.
      */
-    public static FileActionsDialogFragment newInstance(Menu menu, int filePosition) {
+    public static FileActionsDialogFragment newInstance(Menu menu, int filePosition, String fileName) {
         FileActionsDialogFragment fragment = new FileActionsDialogFragment();
         Bundle args = new Bundle();
 
@@ -57,6 +59,7 @@ public class FileActionsDialogFragment extends DialogFragment implements
 
         args.putParcelable(ARG_ITEM_LIST, menuParcelable);
         args.putInt(ARG_FILE_POSITION, filePosition);
+        args.putCharSequence(ARG_FILE_NAME, fileName);
 
         fragment.setArguments(args);
         return fragment;
@@ -80,7 +83,16 @@ public class FileActionsDialogFragment extends DialogFragment implements
         View view = inflater.inflate(R.layout.file_actions, null, false);
         mListView = (ListView) view.findViewById(R.id.file_actions_list);
 
-        getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);
+        CharSequence title =  getArguments().getCharSequence(ARG_FILE_NAME);
+        if(title != null && title.length() > 0) {
+            TextView header = (TextView)view.findViewById(R.id.file_actions_header);
+            header.setText(title);
+            header.setVisibility(View.VISIBLE);
+            view.findViewById(R.id.file_actions_header_divider).setVisibility(View.VISIBLE);
+        } else {
+            getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);
+        }
+
         return view;
     }
 

+ 1 - 1
src/com/owncloud/android/ui/fragment/OCFileListFragment.java

@@ -193,7 +193,7 @@ public class OCFileListFragment extends ExtendedListFragment implements FileActi
                 }
             }
 
-            FileActionsDialogFragment dialog = FileActionsDialogFragment.newInstance(menu, fileIndex);
+            FileActionsDialogFragment dialog = FileActionsDialogFragment.newInstance(menu, fileIndex, targetFile.getFileName());
             dialog.setTargetFragment(this, 0);
             dialog.show(getFragmentManager(), FileActionsDialogFragment.FTAG_FILE_ACTIONS);
         }