public void BroadcastChange(string parseName, WatcherChangeTypesEx changeType)
 {
     foreach (DirectoryTreeItemViewModel rootmodel in _rootDirectoryModelList)
     {
         rootmodel.BroadcastChange(parseName, changeType);
     }
 }
예제 #2
0
 public void BroadcastChange(string parseName, WatcherChangeTypesEx changeType)
 {
     foreach (NavigationItemViewModel <FI, DI, FSI> subDir in SubDirectories)
     {
         subDir.BroadcastChange(parseName, changeType);
     }
 }
예제 #3
0
        void handleEvent(WatcherChangeTypesEx changeType, bool isFolder, PIDL pidl)
        {
            if (IOTools.MatchFileMask(pidl, Filter))
            {
                FileSystemEventArgsEx args = new FileSystemEventArgsEx(changeType, isFolder,
                                                                       pidl, FileSystemInfoEx.PIDLToPath(pidl));
                switch (changeType)
                {
                case WatcherChangeTypesEx.Created: if (OnCreated != null)
                    {
                        OnCreated(this, args);
                    }
                    break;

                case WatcherChangeTypesEx.Changed: if (OnChanged != null)
                    {
                        OnChanged(this, args);
                    }
                    break;

                case WatcherChangeTypesEx.Deleted: if (OnDeleted != null)
                    {
                        OnDeleted(this, args);
                    }
                    break;
                }
            }
        }
예제 #4
0
 public override void BroadcastChange(string parseName, WatcherChangeTypesEx changeType)
 {
     if (EmbeddedDirectoryViewModel != null)
     {
         EmbeddedDirectoryViewModel.BroadcastChange(parseName, changeType);
     }
 }
예제 #5
0
        public void BroadcastChange(string parseName, WatcherChangeTypesEx changeType)
        {
            if (EmbeddedDirectoryViewModel != null)
            {
                if ((PathEx.GetDirectoryName(parseName) == "" && parseName.Equals(EmbeddedDirectoryModel.ParseName)) ||
                    (PathEx.GetDirectoryName(parseName).Equals(EmbeddedDirectoryModel.ParseName)))
                //if (EmbeddedDirectoryViewModel.BroadcastChange(parseName, changeType))
                {
                    if (_subDirectories != null)
                    {
                        _subDirectories.Load(false);
                    }
                }
            }

            //NavigationItemViewModel<FI, DI, FSI>[] _subDirs = SubDirectories.ToArray();
            //for (int i = 0; i < _subDirs.Length; i++)
            //{
            //    _subDirs[i].BroadcastChange(parseName, changeType);
            //    Debug.WriteLine(i);
            //}

            if (SubDirectories != null)
            {
                foreach (NavigationItemViewModel <FI, DI, FSI> subDir in SubDirectories)
                {
                    subDir.BroadcastChange(parseName, changeType);
                }
            }
        }
예제 #6
0
 public void BroadcastChange(string parseName, WatcherChangeTypesEx changeType)
 {
     foreach (DirectoryTreeItemViewModel rootmodel in _rootDirectoryModelList)
     {
         rootmodel.BroadcastChange(parseName, changeType);
     }
 }
        internal void BroadcastChange(string parseName, WatcherChangeTypesEx changeType)
        {
            if (IsLoaded)
            {
                foreach (DirectoryTreeItemViewModel subItem in SubDirectories)
                {
                    subItem.BroadcastChange(parseName, changeType);
                }
            }

            switch (changeType)
            {
            case WatcherChangeTypesEx.Created:
            case WatcherChangeTypesEx.Deleted:
                if (EmbeddedDirectoryModel.FullName.Equals(PathEx.GetDirectoryName(parseName)))
                {
                    Refresh();
                }
                break;

            default:
                if (EmbeddedDirectoryModel.FullName.Equals(parseName))
                {
                    Refresh();
                }
                break;
            }
        }
예제 #8
0
 /// <summary>
 /// Broadcast filesystem changes, so it can update on the UI, return if the specified parseName applied to current node.
 /// </summary>
 /// <param name="parseName"></param>
 /// <param name="changeType"></param>
 /// <returns></returns>
 internal virtual bool BroadcastChange(string parseName, WatcherChangeTypesEx changeType)
 {
     if (EmbeddedModel != null)
     {
         switch (changeType)
         {
         //case WatcherChangeTypesEx.Created:
         //case WatcherChangeTypesEx.Deleted:
         //    if (!parseName.EndsWith(".7z.tmp"))
         //        if (EmbeddedModel.ParseName.Equals(PathEx.GetDirectoryName(parseName)))
         //        {
         //            Refresh(true);
         //            return true;
         //        }
         //    break;
         default:
             if (EmbeddedModel.ParseName.Equals(parseName))
             {
                 Refresh(true);
                 return(true);
             }
             break;
         }
     }
     return(false);
 }
예제 #9
0
        protected void BroadcastChange(string parseName, WatcherChangeTypesEx changeType)
        {
            try
            {
                if (CurrentBrowserViewModel != null)
                {
                    CurrentBrowserViewModel.BroadcastChange(parseName, changeType);
                }

                if (NavigationViewModel != null)
                {
                    NavigationViewModel.BroadcastChange(parseName, changeType);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
            }
        }
        internal void BroadcastChange(string parseName, WatcherChangeTypesEx changeType)
        {
            if (IsLoaded)
                foreach (DirectoryTreeItemViewModel subItem in SubDirectories)
                    subItem.BroadcastChange(parseName, changeType);

            switch (changeType)
            {
                case WatcherChangeTypesEx.Created:
                case WatcherChangeTypesEx.Deleted:
                    if (EmbeddedDirectoryModel.FullName.Equals(PathEx.GetDirectoryName(parseName)))
                        Refresh();
                    break;
                default:
                    if (EmbeddedDirectoryModel.FullName.Equals(parseName))
                        Refresh();
                    break;
            }
        }
예제 #11
0
        internal override bool BroadcastChange(string parseName, WatcherChangeTypesEx changeType)
        {
            bool retVal = base.BroadcastChange(parseName, changeType);

            if (PathEx.GetDirectoryName(parseName).Equals(EmbeddedDirectoryModel.ParseName))
            {
                if (_subEntries != null)
                {
                    retVal = true;
                    if (_subEntries.Count != 0)
                    {
                        _subEntries.Load();
                    }
                }
            }

            foreach (var vm in SubEntries)
            {
                vm.BroadcastChange(parseName, changeType);
            }

            return(retVal);
        }
 void handleEvent(WatcherChangeTypesEx changeType, bool isFolder, PIDL pidl)
 {
     if (IOTools.MatchFileMask(pidl, Filter))
     {
         FileSystemEventArgsEx args = new FileSystemEventArgsEx(changeType, isFolder,
             pidl, FileSystemInfoEx.PIDLToPath(pidl));
         switch (changeType)
         {
             case WatcherChangeTypesEx.Created: if (OnCreated != null) OnCreated(this, args); break;
             case WatcherChangeTypesEx.Changed: if (OnChanged != null) OnChanged(this, args); break;
             case WatcherChangeTypesEx.Deleted: if (OnDeleted != null) OnDeleted(this, args); break;
         }
     }
 }
예제 #13
0
 public RenameEventArgsEx(WatcherChangeTypesEx changeType, bool isFolder, PIDL pidl, string fullPath, string oldFullPath)
     : base(changeType, isFolder, pidl, fullPath)
 {
     OldFullPath = oldFullPath;
 }
예제 #14
0
 public FileSystemEventArgsEx(WatcherChangeTypesEx changeType, bool isFolder, PIDL pidl, string fullPath)
 {
     ChangeType = changeType; IsFolder = isFolder; PIDL = pidl; FullPath = fullPath;
 }
예제 #15
0
 public virtual void BroadcastChange(string parseName, WatcherChangeTypesEx changeType)
 {
 }
 public RenameEventArgsEx(WatcherChangeTypesEx changeType, bool isFolder, PIDL pidl, string fullPath, string oldFullPath)
     : base(changeType, isFolder, pidl, fullPath)
 {
     OldFullPath = oldFullPath;
 }
 public FileSystemEventArgsEx(WatcherChangeTypesEx changeType, bool isFolder, PIDL pidl, string fullPath)
 {
     ChangeType = changeType; IsFolder = isFolder; PIDL = pidl; FullPath = fullPath;
 }