예제 #1
0
        private void ViewModel_OnFileRename(object sender, EventArgs e)
        {
            TFileNode sf = FileTree.SelectedItem as TFileNode;

            sf.Rename = true;
            sf.NameChanged.Commandaction += NameChanged_Commandaction;
        }
예제 #2
0
파일: Converter.cs 프로젝트: 20154530/OS_CD
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            TFileNode tf = value as TFileNode;

            if (!(tf is null))
            {
                if (parameter is null)
                {
                    if (tf.FileMode.Equals(Mode.File))
                    {
                        return("\uE8A5");
                    }
                    else
                    {
                        return("\uED41");
                    }
                }
                else
                {
                    if (tf.FileMode.Equals(Mode.File))
                    {
                        return("\uE8A5");
                    }
                    else
                    {
                        return("\uED43");
                    }
                }
            }
예제 #3
0
 private void ViewModel_OnSetRights(object sender, EventArgs e)
 {
     if (!((FileTree.SelectedItem as TFileNode) is null))
     {
         TFileNode tfn = FileTree.SelectedItem as TFileNode;
         User      urs = SelectedUssers.SelectedItem as User;
         FileSystem.Instance.GetFileNodeById(tfn.ID).SetPower(urs.ID, (bool)ReadR.IsChecked, (bool)WriteR.IsChecked, false);
     }
 }
예제 #4
0
        private void SelectedUssers_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            TFileNode tfn = FileTree.SelectedItem as TFileNode;
            User      urs = SelectedUssers.SelectedItem as User;

            if (tfn != null && urs != null)
            {
                ReadR.IsChecked  = FileSystem.Instance.GetFileNodeById(tfn.ID).CheckReadPower(urs.ID);
                WriteR.IsChecked = FileSystem.Instance.GetFileNodeById(tfn.ID).CheckWriterPower(urs.ID);
            }
        }
예제 #5
0
        private void ViewModel_OnFileOpen(object sender, EventArgs e)
        {
            TFileNode tfn = FileTree.SelectedItem as TFileNode;
            int       id  = tfn.ID;

            if (tfn is null)
            {
                MessageBoxServices.ShowSimpleStringDialog("请选文件择以打开!", false, false);
                return;
            }
            else if (Systeminfo.Instence.FileBodys.Count > 5)
            {
                MessageBoxServices.ShowSimpleStringDialog("打开文件超过数量!", false, false);
                return;
            }
            else if (FileSystem.Instance.GetUserById(Systeminfo.Instence.UserNow.ID).OpenFileRecordList.ContainsKey(id))
            {
                MessageBoxServices.ShowSimpleStringDialog("文件已经打开!", false, false);
                return;
            }
            else if (tfn.FileMode.Equals(TFileNode.Mode.Folder))
            {
                MessageBoxServices.ShowSimpleStringDialog("选择文件而不是文件夹", false, false);
                return;
            }
            else if (!(FileSystem.Instance.GetFileNodeById(id).CheckReadPower(Systeminfo.Instence.UserNow.ID)))
            {
                MessageBoxServices.ShowSimpleStringDialog("当前用户没有读取权限", false, false);
                return;
            }
            else
            {
                FileSystem.Instance.OpenFileNode(id, Systeminfo.Instence.UserNow.ID);
                Systeminfo.Instence.UpdataOpenFileList();
                if (!Systeminfo.Instence.FileBodys.ContainsKey(id))
                {
                    Systeminfo.Instence.FileBodys.Add(id, (FileSystem.Instance.FCBList[id] as File).fileBody.GetContent());
                }
                Properties.Settings.Default.SelectedFile = id;
                OpenFileLabel.SelectedIndex = Systeminfo.Instence.FileBodys.Count;
                viewModel.FileBodyText      = Systeminfo.Instence.FileBodys[id];
            }
        }
예제 #6
0
        private void ViewModel_OnFileAdded(object sender, EventArgs e)
        {
            TFileNode sf = FileTree.SelectedItem as TFileNode;

            if (sf is null)
            {
                MessageBoxServices.ShowSimpleStringDialog("请选择一个文件夹来添加文件!", false, false);
                return;
            }
            else if (sf.FileMode.Equals(TFileNode.Mode.File))
            {
                MessageBoxServices.ShowSimpleStringDialog("不能在文件下继续创建结构!", false, false);
                return;
            }
            if (sf.FileMode.Equals(TFileNode.Mode.Folder))
            {
                if (((PropertyChangeArgs)e).NewValue is null)
                {
                    if ((FileSystem.Instance.GetFileNodeById(sf.ID) as Folder).IsNameExist("新建文件"))
                    {
                        MessageBoxServices.ShowSimpleStringDialog("存在同名文件!", false, false);
                        return;
                    }
                    FileSystem.Instance.CreateFile("新建文件", sf.ID, Systeminfo.Instence.UserNow.ID);
                    Systeminfo.Instence.UpdateFileTree();
                }
                else
                {
                    if ((FileSystem.Instance.GetFileNodeById(sf.ID) as Folder).IsNameExist("新建文件夹"))
                    {
                        MessageBoxServices.ShowSimpleStringDialog("存在同名文件夹!", false, false);
                        return;
                    }
                    FileSystem.Instance.CreateFolder("新建文件夹", sf.ID, Systeminfo.Instence.UserNow.ID);
                    Systeminfo.Instence.UpdateFileTree();
                }
            }
        }
예제 #7
0
        private void NameChanged_Commandaction(object para)
        {
            TFileNode tf = para as TFileNode;

            FileSystem.Instance.GetFileNodeById(tf.ID).name = tf.Name;
        }