示例#1
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate (bundle);

            AndroidClipboardManager = (ClipboardManager)GetSystemService(ClipboardService);
            App.ClipboardService = new ClipboardService ();

            global::Xamarin.Forms.Forms.Init (this, bundle);

            Insights.Initialize("4cdef01b1dc979920d5d485896d5fe50e9c752a6", this.ApplicationContext);
            Insights.Track ("Android/Start");

            App.Version = GetBuildNumber ();

            LoadApplication (new App ());

            this.Window.SetFlags(WindowManagerFlags.KeepScreenOn, WindowManagerFlags.KeepScreenOn);
        }
        public WorldViewModel()
        {
            if (IsInDesignModeStatic)
            {
                return;
            }

            CheckUpdates = Settings.Default.CheckUpdates;

            if (CheckUpdates)
            {
                CheckVersion();
            }


            IsAutoSaveEnabled = Settings.Default.Autosave;

            _undoManager           = new UndoManager(this);
            _clipboard             = new ClipboardManager(this);
            World.ProgressChanged += OnProgressChanged;
            Brush.BrushChanged    += OnPreviewChanged;
            UpdateTitle();

            _spriteFilter       = string.Empty;
            _spritesView        = (ListCollectionView)CollectionViewSource.GetDefaultView(World.Sprites);
            _spritesView.Filter = o =>
            {
                if (string.IsNullOrWhiteSpace(_spriteFilter))
                {
                    return(true);
                }

                var sprite = (Sprite)o;

                string[] _spriteFilterSplit = _spriteFilter.Split('/');
                foreach (string _spriteWord in _spriteFilterSplit)
                {
                    if (sprite.TileName == _spriteWord)
                    {
                        return(true);
                    }
                    if (sprite.Name == _spriteWord)
                    {
                        return(true);
                    }
                    if (sprite.TileName != null && sprite.TileName.IndexOf(_spriteWord, StringComparison.OrdinalIgnoreCase) >= 0)
                    {
                        return(true);
                    }
                    if (sprite.Name != null && sprite.Name.IndexOf(_spriteWord, StringComparison.OrdinalIgnoreCase) >= 0)
                    {
                        return(true);
                    }
                }

                if (sprite.TileName == _spriteFilter)
                {
                    return(true);
                }
                if (sprite.Name == _spriteFilter)
                {
                    return(true);
                }
                if (sprite.TileName != null && sprite.TileName.IndexOf(_spriteFilter, StringComparison.OrdinalIgnoreCase) >= 0)
                {
                    return(true);
                }
                if (sprite.Name != null && sprite.Name.IndexOf(_spriteFilter, StringComparison.OrdinalIgnoreCase) >= 0)
                {
                    return(true);
                }

                return(false);
            };

            _spritesView2        = (ListCollectionView)CollectionViewSource.GetDefaultView(World.Sprites2);
            _spritesView2.Filter = o =>
            {
                if (string.IsNullOrWhiteSpace(_spriteFilter))
                {
                    return(true);
                }

                var sprite = (SpriteFull)o;

                string[] _spriteFilterSplit = _spriteFilter.Split(new char[] { '/', ',' }, StringSplitOptions.RemoveEmptyEntries);

                if (sprite.Tile.ToString().StartsWith(_spriteFilter))
                {
                    return(true);
                }

                foreach (string _spriteWord in _spriteFilterSplit)
                {
                    if (sprite.Name == _spriteWord)
                    {
                        return(true);
                    }
                    if (sprite.Name != null && sprite.Name.IndexOf(_spriteWord, StringComparison.OrdinalIgnoreCase) >= 0)
                    {
                        return(true);
                    }

                    foreach (var style in sprite.Styles)
                    {
                        if (style.Value.Name != null && style.Value.Name.IndexOf(_spriteWord, StringComparison.OrdinalIgnoreCase) >= 0)
                        {
                            return(true);
                        }
                    }
                }
                return(false);
            };

            UpdateSpriteStyleView();

            _saveTimer.AutoReset = true;
            _saveTimer.Elapsed  += SaveTimerTick;
            // 3 minute save timer
            _saveTimer.Interval = 3 * 60 * 1000;

            _undoManager.Redid     += UpdateMinimap;
            _undoManager.Undid     += UpdateMinimap;
            _undoManager.UndoSaved += UpdateMinimap;

            // Test File Association and command line
            if (Application.Current.Properties["OpenFile"] != null)
            {
                string filename = Application.Current.Properties["OpenFile"].ToString();
                LoadWorld(filename);
            }
        }
示例#3
0
 public void CopySelection()
 {
     ClipboardManager.PutPlain(SelectionText);
 }
示例#4
0
        public MainWindowViewModel(MainWindow mainWindow)
        {
            MainWindow = mainWindow;
            RoutedCommand saveHotkey = new RoutedCommand();

            saveHotkey.InputGestures.Add(new KeyGesture(Key.S, ModifierKeys.Control));
            MainWindow.CommandBindings.Add(new CommandBinding(saveHotkey,
                                                              new ExecutedRoutedEventHandler((object sender, ExecutedRoutedEventArgs e) =>
            {
                SaveProjectCommand.Execute(null);
            })));
            RoutedCommand loadHotkey = new RoutedCommand();

            loadHotkey.InputGestures.Add(new KeyGesture(Key.O, ModifierKeys.Control));
            MainWindow.CommandBindings.Add(new CommandBinding(loadHotkey,
                                                              new ExecutedRoutedEventHandler((object sender, ExecutedRoutedEventArgs e) =>
            {
                LoadProjectCommand.Execute(null);
            })));
            RoutedCommand exportHotkey = new RoutedCommand();

            exportHotkey.InputGestures.Add(new KeyGesture(Key.E, ModifierKeys.Control));
            MainWindow.CommandBindings.Add(new CommandBinding(exportHotkey,
                                                              new ExecutedRoutedEventHandler((object sender, ExecutedRoutedEventArgs e) =>
            {
                ExportProjectCommand.Execute(null);
            })));
            RoutedCommand newFileHotkey = new RoutedCommand();

            newFileHotkey.InputGestures.Add(new KeyGesture(Key.N, ModifierKeys.Control));
            MainWindow.CommandBindings.Add(new CommandBinding(newFileHotkey,
                                                              new ExecutedRoutedEventHandler((object sender, ExecutedRoutedEventArgs e) =>
            {
                NewProjectCommand.Execute(null);
            })));
            RoutedCommand logWindow = new RoutedCommand();

            logWindow.InputGestures.Add(new KeyGesture(Key.F1, ModifierKeys.Control));
            MainWindow.CommandBindings.Add(new CommandBinding(logWindow,
                                                              new ExecutedRoutedEventHandler((object sender, ExecutedRoutedEventArgs e) =>
            {
                if (ConsoleLogger.IsOpened)
                {
                    ConsoleLogger.HideConsoleWindow();
                }
                else
                {
                    ConsoleLogger.ShowConsoleWindow();
                }
            })));
            RoutedCommand pasteCommand = new RoutedCommand();

            pasteCommand.InputGestures.Add(new KeyGesture(Key.V, ModifierKeys.Control));
            MainWindow.CommandBindings.Add(new CommandBinding(pasteCommand,
                                                              new ExecutedRoutedEventHandler((object sender, ExecutedRoutedEventArgs e) =>
            {
                switch (MainWindow.mainTabControl.SelectedIndex)
                {
                case 0 when CharacterTabViewModel.Character != null:         // character (condition)
                    {
                        if (ClipboardManager.TryGetObject(ClipboardManager.ConditionFormat, out var obj) && obj is Condition cond)
                        {
                            CharacterTabViewModel.Character.visibilityConditions.Add(cond);
                        }
                    }
                    break;

                case 1 when DialogueTabViewModel.Dialogue != null:         // dialogue (nothing at this moment)
                    {
                    }
                    break;

                case 2 when VendorTabViewModel.Vendor != null:         // vendor (vendor item)
                    {
                        if (ClipboardManager.TryGetObject(ClipboardManager.VendorItemFormat, out var obj) && obj is VendorItem item)
                        {
                            if (item.isBuy)
                            {
                                VendorTabViewModel.AddItemBuy(item);
                            }
                            else
                            {
                                VendorTabViewModel.AddItemSell(item);
                            }
                        }
                    }
                    break;

                case 3 when QuestTabViewModel.Quest != null:         // quest (condition, reward)
                    {
                        if (ClipboardManager.TryGetObject(ClipboardManager.ConditionFormat, out var obj) && obj is Condition cond)
                        {
                            QuestTabViewModel.AddCondition(new Controls.Universal_ItemList(cond, true));
                        }
                        else if (ClipboardManager.TryGetObject(ClipboardManager.RewardFormat, out obj) && obj is Reward rew)
                        {
                            QuestTabViewModel.AddReward(new Controls.Universal_ItemList(rew, true));
                        }
                    }
                    break;
                }
            })));
            CharacterTabViewModel = new CharacterTabViewModel();
            DialogueTabViewModel  = new DialogueTabViewModel();
            VendorTabViewModel    = new VendorTabViewModel();
            QuestTabViewModel     = new QuestTabViewModel();
            CurrencyTabViewModel  = new CurrencyTabViewModel();
            MainWindow.mainTabControl.SelectionChanged += TabControl_SelectionChanged;

            MainWindow.CurrentProject.OnDataLoaded += () =>
            {
                ResetAll();

                ProjectData proj = MainWindow.CurrentProject;
                NPCProject  data = proj.data;

                if (data.lastCharacter > -1 && data.lastCharacter < data.characters.Count)
                {
                    CharacterTabViewModel.Character = data.characters[data.lastCharacter];
                }

                if (data.lastDialogue > -1 && data.lastDialogue < data.dialogues.Count)
                {
                    DialogueTabViewModel.Dialogue = data.dialogues[data.lastDialogue];
                }

                if (data.lastVendor > -1 && data.lastVendor < data.vendors.Count)
                {
                    VendorTabViewModel.Vendor = data.vendors[data.lastVendor];
                }

                if (data.lastQuest > -1 && data.lastQuest < data.quests.Count)
                {
                    QuestTabViewModel.Quest = data.quests[data.lastQuest];
                }

                if (data.lastCurrency > -1 && data.lastCurrency < data.currencies.Count)
                {
                    CurrencyTabViewModel.Currency = data.currencies[data.lastCurrency];
                }

                UpdateAllTabs();
            };
        }
        private void CopyButton_Click(object sender, EventArgs e)
        {
            ClipboardManager clipboard = (ClipboardManager)GetSystemService(Context.ClipboardService);

            clipboard.Text = selectedPassword.PasswordValue;
        }
示例#6
0
        public List <string> GetClipboardList()
        {
            ClipboardManager clipboard = (ClipboardManager)appContext.GetSystemService(Context.ClipboardService);

            return(clipboard.HasText ? clipboard.Text.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries).ToList() : new List <string>());
        }
示例#7
0
        /// <summary>
        /// Copy text in OCR result into clipboard
        /// </summary>
        private void CopyTextCommandExecute()
        {
            bool         copiedText = TranslationVisibility == Visibility.Visible ? ClipboardManager.Copy(TranslatedText) : ClipboardManager.Copy(Text);
            ToastControl toast      = new ToastControl(copiedText ? Resources.Message_CopiedToClipboard : Resources.Message_CopyToClipboardFailed);

            toast.ShowInMainWindow();
        }
示例#8
0
 public TestListener(Service service, ClipboardManager clipboardManager)
 {
     _service          = service;
     _clipboardManager = clipboardManager;
 }