OSDN Git Service

T29273
authorYuji Konishi <yuji.k64613@gmail.com>
Fri, 17 Aug 2012 05:38:55 +0000 (14:38 +0900)
committerYuji Konishi <yuji.k64613@gmail.com>
Fri, 17 Aug 2012 05:38:55 +0000 (14:38 +0900)
source/workspace/EverFolder/gen/com/yuji/ef/R.java
source/workspace/EverFolder/res/values/strings.xml
source/workspace/EverFolder/src/com/yuji/ef/EverFolderActivity.java
source/workspace/EverFolder/src/com/yuji/ef/IconFrameLayout.java
source/workspace/EverFolder/src/com/yuji/ef/LabelIconView.java
source/workspace/EverFolder/src/com/yuji/ef/utility/FolderUtil.java

index 83d2167..293b165 100644 (file)
@@ -57,19 +57,20 @@ public final class R {
         public static final int mainAddMsg=0x7f050008;
         public static final int mainConfirmMsg=0x7f050006;
         public static final int mainConfirmTitle=0x7f050005;
-        public static final int mainLeftButton=0x7f05000a;
-        public static final int mainRenameMsg=0x7f050009;
-        public static final int mainRightButton=0x7f05000b;
+        public static final int mainDeleteMsg=0x7f050009;
+        public static final int mainLeftButton=0x7f05000b;
+        public static final int mainRenameMsg=0x7f05000a;
+        public static final int mainRightButton=0x7f05000c;
         public static final int mainUpdateMsg=0x7f050007;
         public static final int noButton=0x7f050002;
-        public static final int settingConfirmMsg=0x7f05000d;
-        public static final int settingConfirmTitle=0x7f05000c;
-        public static final int settingLoginButton=0x7f050010;
-        public static final int settingLoginTitle=0x7f05000f;
-        public static final int settingUpdateButton=0x7f050012;
-        public static final int settingUpdateMsg=0x7f05000e;
-        public static final int settingUpdateTimeTitle=0x7f050013;
-        public static final int settingUpdateTitle=0x7f050011;
+        public static final int settingConfirmMsg=0x7f05000e;
+        public static final int settingConfirmTitle=0x7f05000d;
+        public static final int settingLoginButton=0x7f050011;
+        public static final int settingLoginTitle=0x7f050010;
+        public static final int settingUpdateButton=0x7f050013;
+        public static final int settingUpdateMsg=0x7f05000f;
+        public static final int settingUpdateTimeTitle=0x7f050014;
+        public static final int settingUpdateTitle=0x7f050012;
         public static final int yesButton=0x7f050001;
     }
 }
index 34ce92b..28e20de 100644 (file)
@@ -26,6 +26,7 @@
     <string name="mainConfirmMsg">・・・</string>
     <string name="mainUpdateMsg">データ更新中</string>
     <string name="mainAddMsg">追加しますか?</string>
+    <string name="mainDeleteMsg">削除しますか?</string>
     <string name="mainRenameMsg">リネームしますか?</string>
     <string name="mainLeftButton">←</string>
     <string name="mainRightButton">→</string>
index 4ac0d57..592521a 100644 (file)
@@ -48,7 +48,7 @@ import com.yuji.ef.utility.ScaleUtil;
 
 public class EverFolderActivity extends BaseActivity {
        private enum ScreenStatus {
-               Normal, AddNode, RenameNode
+               Normal, AddNode, DeleteNode, RenameNode
        };
 
        private LinearLayout msgLayout;
@@ -379,18 +379,7 @@ public class EverFolderActivity extends BaseActivity {
        }
 
        private void selectMenuDelete() {
-               FolderUtil util = FolderUtil.getInstance();
-               LabelIconView target = layout.getSelectedTarget();
-               long id = target.getNodeId();
-               NodeDao dao = (NodeDao) NodeCacheDao.getInstance();
-               Node node = dao.searchById(id);
-               if (node != null) {
-                       util.deleteNode(node);
-                       // TODO 三角マークも消さないといけないのでは
-                       layout.removeView(target);
-                       updateList();
-                       setStatus();
-               }
+               setStatus(ScreenStatus.DeleteNode);
        }
 
        private void selectMenuRename() {
@@ -461,8 +450,8 @@ public class EverFolderActivity extends BaseActivity {
        }
 
        private void updateList(Node node, int depth) {
-               int N = (int)(bmpWidth * 0.6);
-               int M = (int)(bmpWidth * 1.2);
+               int N = (int) (bmpWidth * 0.6);
+               int M = (int) (bmpWidth * 1.2);
                int x = N * (depth - indent);
 
                if (depth - indent >= 0
@@ -547,7 +536,7 @@ public class EverFolderActivity extends BaseActivity {
        protected void onStart() {
                super.onStart();
        }
-       
+
        @Override
        protected void onResume() {
                super.onResume();
@@ -639,6 +628,16 @@ public class EverFolderActivity extends BaseActivity {
                                DirNode node = new DirNode(text, null);
                                util.addDirNode(parent, node);
                        }
+                       layout.setCutTarget(null, false);
+               }
+               else if (status == ScreenStatus.DeleteNode) {
+                       long id = target.getNodeId();
+                       Node node = dao.searchById(id);
+                       if (node != null) {
+                               util.deleteNode(node);
+                               layout.removeView(target);
+                       }
+                       layout.setCutTarget(null, false);
                } else if (status == ScreenStatus.RenameNode) {
                        long id = target.getNodeId();
                        Node node = dao.searchById(id);
@@ -647,6 +646,7 @@ public class EverFolderActivity extends BaseActivity {
 
                                dao.updateName(node, text);
                        }
+                       layout.setCutTarget(null, false);
                }
                layout.clearTarget();
                updateList();
@@ -767,7 +767,7 @@ public class EverFolderActivity extends BaseActivity {
                NodeDao dao = (NodeDao) NodeCacheDao.getInstance();
 
                Node node = dao.searchById(id);
-               if (!isFileNode(node)){
+               if (!isFileNode(node)) {
                        return;
                }
                String guid = node.getGuid();
@@ -851,7 +851,16 @@ public class EverFolderActivity extends BaseActivity {
 
                                leftButton.setEnabled(false);
                                rightButton.setEnabled(false);
+                       } else if (status == ScreenStatus.DeleteNode) {
+                               msgLayout.setVisibility(View.VISIBLE);
+                               msgEditText.setVisibility(View.GONE);
+                               msgButtonLayout.setVisibility(View.VISIBLE);
+                               confirmMsg.setText(getString(R.string.mainDeleteMsg));
+
+                               layout.setElabledTouchEvent(false);
 
+                               leftButton.setEnabled(false);
+                               rightButton.setEnabled(false);
                        } else if (status == ScreenStatus.RenameNode) {
                                msgLayout.setVisibility(View.VISIBLE);
                                msgEditText.setVisibility(View.VISIBLE);
index 6dfec9a..ad425e6 100644 (file)
@@ -179,9 +179,15 @@ public class IconFrameLayout extends FrameLayout implements OnLongClickListener
        }
 
        public void setCutTarget(LabelIconView cutTarget) {
+               setCutTarget(cutTarget, true);
+       }
+       
+       public void setCutTarget(LabelIconView cutTarget, boolean isUnselected) {
                this.cutTarget = cutTarget;
-               selectedTarget = null;
-               target = null;
+               if (isUnselected){
+                       selectedTarget = null;
+                       target = null;
+               }
        }
 
        @Override
index 392bc6a..f234fa5 100644 (file)
@@ -53,7 +53,7 @@ public class LabelIconView extends LinearLayout {
 
                if (text != null) {
                        textView = new TextView(context);
-                       textView.setTextSize(bmp2.getHeight() / 3);
+                       textView.setTextSize(bmp2.getHeight() / 6);
                        textView.setLines(1);
                        textView.setText(text);
                }
index d768c7c..28eca10 100644 (file)
@@ -39,7 +39,7 @@ public class FolderUtil {
        public void init(SQLiteDatabase db) {
                long id;
 
-               Node top = new RootNode("", null);
+               Node top = new RootNode("/", null);
                top.setStatus(Node.Status.OPEN);
                id = nodeDao.addNT(top);
                top.setId(id);