Наследование: System.EventArgs
Пример #1
0
        public void SelectItem(ItemClass item, double x = 0, double y = 0)
        {
            if (item == null)
            {
                ActivePath = "";
            }
            else
            {
                //var r = AppStateSettings.Instance.ViewDef.MapControl.Resolution;
                ActivePath = item.Path;
                if (item.Type == ItemType.folder || item.Type == ItemType.shortcut)
                {
                    SelectFolder(item.Path);
                    return;
                }
                if (item.Type == ItemType.web)
                {
                    AppState.TriggerScriptCommand(this, "web:" + item.Path);
                    //Process.Start(item.Path);
                }
                if (item.Type == ItemType.batch)
                {
                    Process.Start(item.Path);
                }
                if (item.Type == ItemType.script)
                {
                    var pth = new FileInfo(item.Path);
                    if (pth.Directory != null) {
                        //                        List<ItemClass> items = GetOrderedItemList(pth.Directory.FullName);
                        var items = GetOrderedItemListCurrentFolder(pth.Directory.FullName)
                                .Where(k => k.Type != ItemType.folder && k.Visible)
                                .ToList();
                        var tempi = items.FirstOrDefault(k => k.Path == item.Path && k.Visible);
                        var idx = items.IndexOf(tempi);

                        PreviousVisibility = (!CanShowNextPrevious || idx == 0)
                            ? Visibility.Collapsed
                            : Visibility.Visible;
                        NextVisibility = (!CanShowNextPrevious || items.Count == idx + 1)
                            ? Visibility.Collapsed
                            : Visibility.Visible;

                        PlManager.AddItem(item);
                        if (PlManager.Items.Count == 1)
                            PlManager.Play();
                        else
                            PlManager.Next();
                    }

                    //PlManager.ClearList();
                    //var pth = new FileInfo(item.Path);
                    //var items = GetOrderedItemList(pth.Directory.FullName);
                    ////foreach(var itm in items)
                    ////    PlManager.AddItem(itm);
                    //PlManager.AddItem(item);
                    //var idx = items.IndexOf(items.FirstOrDefault(k=>k.Name == item.Name));
                    //PreviousVisibility = idx == 0 ? Visibility.Collapsed : Visibility.Visible;
                    //NextVisibility = items.Count == idx + 1 ? Visibility.Collapsed : Visibility.Visible;
                    //PlManager.Play();
                    ////PlManager.Next();
                }

                //NextVisibility = Visibility.Visible;
                //PreviousVisibility = Visibility.Visible;
            }
            var a = new ItemSelectedArgs { Item = item };
            if (item != null) item.Explorer = this;

            if (x != 0) a.Pos = new Point(x, y);
            OnActivePathChanged(a);
        }
Пример #2
0
 private void OnActivePathChanged(ItemSelectedArgs a) {
     var handler = ActivePathChanged;
     if (handler != null) handler(this, a);
 }
Пример #3
0
        private void MetroExplorerActivePathChanged(object sender, ItemSelectedArgs e)
        {
            if (e.Item == null || e.Item.Type == ItemType.folder) return;

            var d = e.Item.GetDocument();
            if (d.FileType == FileTypes.unknown) return;
            var shortcut = RetreiveShortcut(e.Item.Path);

            var fe = shortcut != null && shortcut.ItemType == ItemType.qr
                ? FloatingHelpers.CreateFloatingElementWithQrBackside(d, shortcut.Path)
                : FloatingHelpers.CreateFloatingElement(d);
            if (e.Pos != new Point(0, 0))
            {
                fe.AnimationSpeed = new TimeSpan(0, 0, 0, 0, 500);
                //fe.StartSize= new Size(0,0);
                fe.OriginPosition = e.Pos;
                fe.Height = 400;
                fe.OriginSize = new Size(0, 0);
            }
            fe.CanFullScreen = true;
            var x = ((view.ActualWidth - 600)/view.ActualWidth)*e.Pos.X + 300;
            fe.StartPosition = new Point(x, 300 + rnd.Next(200) - 100);
            fe.Title = e.Item.Name;
            AppState.FloatingItems.AddFloatingElement(fe);
            //if (e.Item.Type == ItemType.script) StartScript(e.Item);
        }