コード例 #1
0
ファイル: NativeClient.cs プロジェクト: burstas/rmps
 public AMetaRef CopyRef(AMeta meta)
 {
     return null;
 }
コード例 #2
0
ファイル: NativeClient.cs プロジェクト: burstas/rmps
 public string ShareMeta(AMeta meta)
 {
     return "";
 }
コード例 #3
0
ファイル: NativeClient.cs プロジェクト: burstas/rmps
        private string GenDupName(AMeta meta, string path)
        {
            string fn = System.IO.Path.GetFileNameWithoutExtension(meta.GetMetaName());
            string fe = System.IO.Path.GetExtension(meta.GetMetaName());
            int i = 0;
            string name;
            string temp;
            do
            {
                i += 1;
                name = fn + string.Format(" ({0})", i) + fe;
                temp = System.IO.Path.Combine(path, name);
            } while (System.IO.File.Exists(temp));

            meta.SetMetaName(name);
            return temp;
        }
コード例 #4
0
ファイル: KuaipanClient.cs プロジェクト: burstas/rmps
        public string ShareMeta(AMeta meta)
        {
            ResetParams();
            string url = string.Format(KuaipanServer.SHARE_META, _Root, meta.GetMetaPath());

            PrepareParams();
            AddParam(OAuthConstants.OAUTH_TOKEN, Token.oauth_token);
            SortParam();
            AddParam(OAuthConstants.OAUTH_SIGNATURE, Signature(GenerateBaseString(_Server.RequestTokenUrl)));

            string t = GenBaseParams();
            byte[] r = _Server.Get(url, t);
            if (r == null || r.Length < 1)
            {
                return null;
            }

            t = GetString(r);
            // Jason

            return "";
        }
コード例 #5
0
ファイル: PcsView.cs プロジェクト: burstas/rmps
        public void CutMeta()
        {
            LvMeta.Items.Remove(_CurrentItem);

            _OperateMeta = _CurrentMeta;
            _OperateType = EPcs.Cut;
            _WPcs.Operation = EPcs.Cut;
        }
コード例 #6
0
ファイル: KuaipanClient.cs プロジェクト: burstas/rmps
        public AMeta Copyto(AMeta meta, string dstPath, string dstName)
        {
            ResetParams();
            string url = KuaipanServer.COPYTO;

            PrepareParams();
            AddParam(OAuthConstants.OAUTH_TOKEN, Token.oauth_token);
            AddParam("root", _Root);
            AddParam("from_path", meta.GetMeta());
            AddParam("to_path", Combine(dstPath, dstName));
            SortParam();
            AddParam(OAuthConstants.OAUTH_SIGNATURE, Signature(GenerateBaseString(url)));

            string t = GenBaseParams();
            byte[] r = _Server.Get(url, t);
            if (r == null || r.Length < 1)
            {
                return null;
            }

            t = GetString(r);
            KuaipanMeta m1 = meta as KuaipanMeta;
            KuaipanMeta m2 = JsonConvert.DeserializeObject<KuaipanMeta>(t);
            m2.root = m1.root;
            m2.path = dstPath;
            m2.name = dstName;
            m2.hash = m1.hash;
            m2.type = m1.type;
            m2.size = m1.size;
            m2.create_time = m1.create_time;
            m2.modify_time = m1.modify_time;
            return m2;
        }
コード例 #7
0
ファイル: KuaipanClient.cs プロジェクト: burstas/rmps
 public List<AMeta> ListMeta(AMeta meta)
 {
     string url = string.Format(KuaipanServer.LIST_META, _Root, meta.GetMetaPath());
     return ListMeta(url);
 }
コード例 #8
0
ファイル: PcsView.cs プロジェクト: burstas/rmps
 private void ListMeta()
 {
     _CurrentPath = _PcsClient.MetaData(_MetaPath);
     LvMeta.Items.Clear();
     foreach (AMeta meta in _CurrentPath.SubMetas())
     {
         LvMeta.Items.Add(GenItem(meta));
         //if (meta.Type == CPcs.META_TYPE_FOLDER)
         //{
         //    root.Nodes.Add(GenNode(meta));
         //}
     }
 }
コード例 #9
0
ファイル: PcsView.cs プロジェクト: burstas/rmps
        private void LvMeta_DoubleClick(object sender, System.EventArgs e)
        {
            if (_CurrentMeta.GetMetaType() == CPcs.META_TYPE_FOLDER)
            {
                _MetaPath = _CurrentMeta.GetMeta();
                _CurrentMeta = null;

                StartAll(new VoidHandler(ListMeta));

                TvPath.SelectedNode = null;
            }
        }
コード例 #10
0
ファイル: PcsView.cs プロジェクト: burstas/rmps
 private TreeNode GenNode(AMeta meta, string icon = "_def")
 {
     var node = new TreeNode();
     node.Text = meta.GetMetaName();
     node.ImageKey = icon;
     node.SelectedImageKey = icon;
     node.Tag = meta;
     return node;
 }
コード例 #11
0
ファイル: PcsView.cs プロジェクト: burstas/rmps
 private string GetIcon(AMeta meta)
 {
     if (meta == null || string.IsNullOrEmpty(meta.GetMetaName()))
     {
         return "unknown";
     }
     if (meta.GetMetaType() == CPcs.META_TYPE_FOLDER)
     {
         return "folder";
     }
     if (meta.GetMetaType() == CPcs.META_TYPE_FILE)
     {
         int idx = 0;
         string ext;
         while (true)
         {
             idx = meta.GetMetaName().IndexOf('.', idx);
             if (idx < 0)
             {
                 return "file";
             }
             ext = meta.GetMetaName().Substring(++idx);
             if (IlMetaLarge.Images.ContainsKey(ext))
             {
                 return ext;
             }
         }
     }
     return "unknown";
 }
コード例 #12
0
ファイル: PcsView.cs プロジェクト: burstas/rmps
 private ListViewItem GenItem(AMeta meta)
 {
     var item = new ListViewItem();
     item.Text = meta.GetMetaName();
     item.ImageKey = GetIcon(meta);
     item.Tag = meta;
     return item;
 }
コード例 #13
0
ファイル: PcsView.cs プロジェクト: burstas/rmps
        public void Upword()
        {
            _MetaPath = _PcsClient.Parent(_CurrentPath.GetMeta());
            _CurrentMeta = null;

            StartAll(new VoidHandler(ListMeta));
        }
コード例 #14
0
ファイル: PcsView.cs プロジェクト: burstas/rmps
        public void PasteMeta()
        {
            if (_OperateType == EPcs.Cut)
            {
                if (_OperateMeta.GetMetaPath() != _CurrentPath.GetMeta())
                {
                    _CurrentMeta = _PcsClient.Moveto(_OperateMeta, _CurrentPath.GetMeta(), _OperateMeta.GetMetaName());
                }

                var item = GenItem(_CurrentMeta);
                LvMeta.Items.Add(item);
                item.Selected = true;

                _OperateMeta = null;
                _OperateType = EPcs.None;
                _WPcs.Operation = EPcs.None;
                return;
            }
            if (_WPcs.Operation == EPcs.Copy)
            {
                string name = _OperateMeta.GetMetaName();
                if (_OperateMeta.GetMetaPath() == _CurrentPath.GetMeta())
                {
                    name = "复件 " + name;
                }
                name = GenDupName(name);

                _CurrentMeta = _PcsClient.Copyto(_OperateMeta, _CurrentPath.GetMeta(), name);

                var item = GenItem(_CurrentMeta);
                LvMeta.Items.Add(item);
                item.Selected = true;
                return;
            }
        }
コード例 #15
0
ファイル: NativeClient.cs プロジェクト: burstas/rmps
 public AMeta Copyto(AMeta meta, string dstPath, string dstName)
 {
     File.Copy(meta.GetMetaPath(), Path.Combine(dstPath, dstName));
     return meta;
 }
コード例 #16
0
ファイル: PcsView.cs プロジェクト: burstas/rmps
 private void LvMeta_SelectedIndexChanged(object sender, System.EventArgs e)
 {
     if (LvMeta.SelectedItems.Count < 1)
     {
         return;
     }
     _CurrentItem = LvMeta.SelectedItems[0];
     _CurrentMeta = _CurrentItem.Tag as AMeta;
 }
コード例 #17
0
ファイル: KuaipanClient.cs プロジェクト: burstas/rmps
        public AMetaRef CopyRef(AMeta meta)
        {
            ResetParams();
            string url = string.Format(KuaipanServer.COPYREF, _Root, meta.GetMeta());

            PrepareParams();
            AddParam(OAuthConstants.OAUTH_TOKEN, Token.oauth_token);
            SortParam();
            AddParam(OAuthConstants.OAUTH_SIGNATURE, Signature(GenerateBaseString(url)));

            string t = GenBaseParams();
            byte[] r = _Server.Get(url, t);
            if (r == null || r.Length < 1)
            {
                return null;
            }

            t = GetString(r);
            return JsonConvert.DeserializeObject<KuaipanMetaRef>(t);
        }
コード例 #18
0
ファイル: PcsView.cs プロジェクト: burstas/rmps
 private void ShowInfo(AMeta meta)
 {
     if (MetaUri != null && meta != null)
     {
         MetaUri.Text = _PcsClient.Name;
         MetaUri.Path = _PcsClient.Display(meta.GetMeta());
         MetaUri.Icon = _PcsClient.Icon;
     }
 }
コード例 #19
0
ファイル: KuaipanClient.cs プロジェクト: burstas/rmps
 public List<AMeta> History(AMeta meta)
 {
     return null;
 }
コード例 #20
0
ファイル: NativeClient.cs プロジェクト: burstas/rmps
 public List<AMeta> ListMeta(AMeta meta)
 {
     return ListMeta(meta.GetMetaPath());
 }
コード例 #21
0
ファイル: KuaipanClient.cs プロジェクト: burstas/rmps
        public AMeta Moveto(AMeta meta, string dstPath, string dstName)
        {
            ResetParams();
            string url = KuaipanServer.MOVETO;

            PrepareParams();
            AddParam(OAuthConstants.OAUTH_TOKEN, Token.oauth_token);
            AddParam("root", _Root);
            AddParam("from_path", meta.GetMeta());
            AddParam("to_path", Combine(dstPath, dstName));
            SortParam();
            AddParam(OAuthConstants.OAUTH_SIGNATURE, Signature(GenerateBaseString(url)));

            string t = GenBaseParams();
            byte[] r = _Server.Get(url, t);
            if (r == null || r.Length < 1)
            {
                return null;
            }

            //t = GetString(r);
            //JsonConvert.DeserializeObject<CsMeta>(t);
            KuaipanMeta m1 = meta as KuaipanMeta;
            m1.path = dstPath;
            m1.name = dstName;
            return m1;
        }
コード例 #22
0
ファイル: NativeClient.cs プロジェクト: burstas/rmps
 public AMeta Moveto(AMeta meta, string dstPath, string dstName)
 {
     string path = System.IO.Path.Combine(dstPath, dstName);
     if (System.IO.File.Exists(path))
     {
         path = GenDupName(meta, dstPath);
     }
     File.Move(meta.GetMetaPath(), path);
     meta.SetMetaPath(path);
     return meta;
 }
コード例 #23
0
ファイル: NddEngine.cs プロジェクト: burstas/rmps
 public void Moveto(AMeta meta, string path, string name)
 {
     string src = Path.Combine(_Root, meta.GetMeta());
     if (!File.Exists(src))
     {
         return;
     }
     string dst = Path.Combine(path, name);
     if (File.Exists(dst))
     {
         dst = GenDupName(meta.GetMetaPath(), name);
     }
     File.Move(src, dst);
 }
コード例 #24
0
ファイル: PcsView.cs プロジェクト: burstas/rmps
 public void CopyMeta()
 {
     _OperateMeta = _CurrentMeta;
     _OperateType = EPcs.Copy;
     _WPcs.Operation = EPcs.Copy;
 }