Example #1
0
 private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
 {
     CheckUserLog();
     mainNavMenu              = FindVisualChildByName <MainNavMenu>(xPanItemRecommend, "xMainNavMenu");
     mainNavMenu.NavSelected += new MainNavMenu.NavTypeSelectedEventHandler(MainPage_NavSelected);
     mainNavMenu.InitVariableNEventHandle();
     _isPageLoaded = true;
 }
Example #2
0
        public static async Task OpenFile()
        {
            var OriPlugin   = CurrentPlugin;
            var OriLastWork = LastWorkingPlugin;

            if (!OpenAsSecondary)
            {
                DialogueBox.SelectedIndex = 0;
                DialogueBox.SetItems(new ListBoxItemInfo[0]);
                DialogueBox.Refresh();
            }

            string[] Strings = null;

            await JSWrapper.SetTile($"Sermone - {Language.Loading}");

            if (LastWorkingPlugin != null)
            {
                Strings = TryUsePlugin(LastWorkingPlugin);
            }

            if (!IsValidStrings(Strings))
            {
                if (ForceLastPlugin)
                {
                    Toast.ShowError(Language.PluginDontSupport, Language.NotSupported);
                    return;
                }

                var CurrentExt = Path.GetExtension(CurrentName).ToLower();

                var SupportedPlugins    = (from x in Plugins where x.Filter.ToLower().Contains(CurrentExt) select x);
                var NotSupportedPlugins = (from x in Plugins where !SupportedPlugins.Contains(x) select x);

                foreach (var Plugin in SupportedPlugins)
                {
                    Strings = TryUsePlugin(Plugin);
                    if (IsValidStrings(Strings))
                    {
                        LastWorkingPlugin = Plugin;
                        break;
                    }
                }

                if (Strings == null)
                {
                    foreach (var Plugin in NotSupportedPlugins)
                    {
                        Strings = TryUsePlugin(Plugin);
                        if (IsValidStrings(Strings))
                        {
                            LastWorkingPlugin = Plugin;
                            break;
                        }
                    }
                }
            }

            if (Strings == null)
            {
                Toast.ShowError(Language.NotSupportedPluginFound, Language.Error);
                return;
            }

            if (OpenAsSecondary)
            {
                OpenAsSecondary   = false;
                CurrentPlugin     = OriPlugin;
                LastWorkingPlugin = OriLastWork;
                if (Strings.Length != DialogueBox.Items.Length)
                {
                    Toast.ShowError(Language.IncompatibleReferenceScript, Language.Error);
                }
                else
                {
                    for (int i = 0; i < Strings.Length; i++)
                    {
                        DialogueBox.Items[i].SubValue = Strings[i];
                    }
                    DialogueBox.Refresh();
                }
            }
            else
            {
                DialogueBox.SetItems((from x in Strings select new ListBoxItemInfo(true, true, x, null)).ToArray());

                DialogueBox.Refresh();

                CanSave = true;
                MainNavMenu.Refresh();

                switch (Settings.SelectionMode)
                {
                case 1:
                    await ForceSelection(true);

                    break;

                default:
                    await AutoSelect();

                    break;
                }
            }

            await JSWrapper.SetTile($"{CurrentName} - Sermone");
        }