Example #1
0
        public async virtual Task <bool> InitializeAsync(Framework.Interfaces.ICore core, string[] actions)
        {
            bool result = false;

            _core = core;
            if (actions != null && actions.Length > 0)
            {
                _actions.AddRange(actions);
            }
            if (_actions != null && _actions.Count > 0)
            {
                foreach (string s in _actions)
                {
                    string[] parts = s.Split(new char[] { SubActionSep });
                    _core.LanguageItems.AddTextRange(parts.ToList());
                }
            }
            _core.LanguageItems.AddText(FriendlyName);
            if (RequiredCoreVersion <= core.Version)
            {
                List <Framework.Interfaces.IPlugin> p = core.GetPlugin(Framework.PluginType.UIMainWindow);
                if (p != null)
                {
                    foreach (Framework.Interfaces.IPluginUIMainWindow mwp in p)
                    {
                        await InitUIMainWindowAsync(mwp);
                    }
                }
                core.PluginAdded += new Framework.EventArguments.PluginEventHandler(_core_PluginAdded);
                result            = true;
            }
            return(result);
        }
        public virtual void UpdateIgnoreGeocachesSupportPlugins(Framework.Interfaces.ICore core)
        {
            _core = core;
            List <Framework.Interfaces.IPlugin> p = core.GetPlugin(Framework.PluginType.GeocacheIgnoreFilter);

            if (p != null)
            {
                foreach (Framework.Interfaces.IGeocacheIgnoreFilter mwp in p)
                {
                    if (!_gcIgnorePlugins.Contains(mwp))
                    {
                        _gcIgnorePlugins.Add(mwp);
                    }
                }
                foreach (Framework.Interfaces.IPlugin mwp in _gcIgnorePlugins)
                {
                    if (!p.Contains(mwp))
                    {
                        _gcIgnorePlugins.Remove(mwp as Framework.Interfaces.IGeocacheIgnoreFilter);
                    }
                }
            }
        }
Example #3
0
        public virtual void UpdateImageSupportPlugins(Framework.Interfaces.ICore core)
        {
            _core = core;
            List <Framework.Interfaces.IPlugin> p = core.GetPlugin(Framework.PluginType.ImageResource);

            if (p != null)
            {
                foreach (Framework.Interfaces.IImageResource mwp in p)
                {
                    if (!_imageResourcePlugins.Contains(mwp))
                    {
                        _imageResourcePlugins.Add(mwp);
                    }
                }
                foreach (Framework.Interfaces.IPlugin mwp in _imageResourcePlugins)
                {
                    if (!p.Contains(mwp))
                    {
                        _imageResourcePlugins.Remove(mwp as Framework.Interfaces.IImageResource);
                    }
                }
            }
        }
Example #4
0
        protected override void WndProc(ref Message msg)
        {
            if (msg.Msg == (int)Utils.SystemMenu.WindowMessages.wmSysCommand)
            {
                switch (msg.WParam.ToInt32())
                {
                case DECOUPLE_WINDOW_ID:
                    Decouple();
                    break;

                case DOCK_WINDOW_ID:
                    Framework.Interfaces.IPluginUIMainWindow mainPlugin = (from Framework.Interfaces.IPlugin a in _core.GetPlugin(Framework.PluginType.UIMainWindow) select a).FirstOrDefault() as Framework.Interfaces.IPluginUIMainWindow;
                    if (mainPlugin != null)
                    {
                        this.MdiParent = mainPlugin.MainForm;
                    }
                    if (PluginSettings.Instance.DecoupledChildWindows.Contains(STR_TITLE))
                    {
                        PluginSettings.Instance.DecoupledChildWindows.Remove(STR_TITLE);
                    }
                    break;

                case TOPMOST_WINDOW_ID:
                    //can only be topmost if decoupled
                    Decouple();
                    this.TopMost = true;
                    if (!PluginSettings.Instance.TopMostWindows.Contains(STR_TITLE))
                    {
                        PluginSettings.Instance.TopMostWindows.Add(STR_TITLE);
                    }
                    break;

                case NOTTOPMOST_WINDOW_ID:
                    this.TopMost = false;
                    if (PluginSettings.Instance.TopMostWindows.Contains(STR_TITLE))
                    {
                        PluginSettings.Instance.TopMostWindows.Remove(STR_TITLE);
                    }
                    break;
                }
            }
            base.WndProc(ref msg);
        }
Example #5
0
        public virtual void UpdateLanguageSupportPlugins(Framework.Interfaces.ICore core)
        {
            if (_core == null)
            {
                core.LanguageItems.Add(new Framework.Data.LanguageItem(Dialogs.GetLocationForm.STR_GET_LOCATION));
                core.LanguageItems.Add(new Framework.Data.LanguageItem(Dialogs.GetLocationForm.STR_LOCATION));
                core.LanguageItems.Add(new Framework.Data.LanguageItem(Dialogs.GetLocationForm.STR_OK));
                core.LanguageItems.Add(new Framework.Data.LanguageItem(Dialogs.GetLocationForm.STR_MAP));
                core.LanguageItems.Add(new Framework.Data.LanguageItem(Dialogs.GetLocationForm.STR_FROMHOMELOC));
                core.LanguageItems.Add(new Framework.Data.LanguageItem(Dialogs.GetLocationForm.STR_FROMCENTERLOC));

                core.LanguageItems.Add(new Framework.Data.LanguageItem(Dialogs.LiveAPICachesLeftForm.STR_INFO));
                core.LanguageItems.Add(new Framework.Data.LanguageItem(Dialogs.LiveAPICachesLeftForm.STR_LEFT));
                core.LanguageItems.Add(new Framework.Data.LanguageItem(Dialogs.LiveAPICachesLeftForm.STR_MAX));
                core.LanguageItems.Add(new Framework.Data.LanguageItem(Dialogs.LiveAPICachesLeftForm.STR_TITLE));

                core.LanguageItems.Add(new Framework.Data.LanguageItem(API.GeocachingLiveV6.STR_ERROR));
                core.LanguageItems.Add(new Framework.Data.LanguageItem(API.GeocachingLiveV6.STR_MUSTAUTHORIZE));
                core.LanguageItems.Add(new Framework.Data.LanguageItem(API.GeocachingLiveV6.STR_PMREQUIRED));

                core.LanguageItems.Add(new Framework.Data.LanguageItem(BasePlugin.BaseUIChildWindowForm.STR_DECOUPLE_WINDOW));
                core.LanguageItems.Add(new Framework.Data.LanguageItem(BasePlugin.BaseUIChildWindowForm.STR_DOCK_WINDOW));
                core.LanguageItems.Add(new Framework.Data.LanguageItem(BasePlugin.BaseUIChildWindowForm.STR_NOTTOPMOST_WINDOW));
                core.LanguageItems.Add(new Framework.Data.LanguageItem(BasePlugin.BaseUIChildWindowForm.STR_TOPMOST_WINDOW));
                core.LanguageItems.Add(new Framework.Data.LanguageItem(BasePlugin.BaseUIChildWindowForm.STR_OPAQUEWHENIACTIVE));

                core.LanguageItems.Add(new Framework.Data.LanguageItem(BasePlugin.BaseUIChildWindowTransparencyForm.STR_TITLE));
                core.LanguageItems.Add(new Framework.Data.LanguageItem(BasePlugin.BaseUIChildWindowTransparencyForm.STR_OPACITY));

                core.LanguageItems.Add(new Framework.Data.LanguageItem(Dialogs.GeocachesIgnoredMessageForm.STR_ACTION_EDIT));
                core.LanguageItems.Add(new Framework.Data.LanguageItem(Dialogs.GeocachesIgnoredMessageForm.STR_OK));
                core.LanguageItems.Add(new Framework.Data.LanguageItem(Dialogs.GeocachesIgnoredMessageForm.STR_WARNING));
                core.LanguageItems.Add(new Framework.Data.LanguageItem(Dialogs.GeocachesIgnoredMessageForm.STR_XIGNORED));

                foreach (var c in core.LogTypes)
                {
                    core.LanguageItems.Add(new Framework.Data.LanguageItem(c.Name));
                }
            }

            _core = core;
            List <Framework.Interfaces.IPlugin> p = core.GetPlugin(Framework.PluginType.LanguageSupport);

            if (p != null)
            {
                foreach (Framework.Interfaces.ILanguageSupport mwp in p)
                {
                    if (!_languageModules.Contains(mwp))
                    {
                        _languageModules.Add(mwp);
                    }
                }
                foreach (Framework.Interfaces.IPlugin mwp in _languageModules)
                {
                    if (!p.Contains(mwp))
                    {
                        _languageModules.Remove(mwp as Framework.Interfaces.ILanguageSupport);
                    }
                }
            }
        }
Example #6
0
 public void RestoreSettings(Framework.Interfaces.ICore core)
 {
     if (SwitchGeocachingComAccount && GeocachingComAccount != null)
     {
         core.GeocachingComAccount.AccountName  = GeocachingComAccount.AccountName;
         core.GeocachingComAccount.APIToken     = GeocachingComAccount.APIToken;
         core.GeocachingComAccount.MemberType   = GeocachingComAccount.MemberType;
         core.GeocachingComAccount.MemberTypeId = GeocachingComAccount.MemberTypeId;
     }
     if (SwitchDatabase && InternalStorageInfo != null)
     {
         Framework.Interfaces.IPluginInternalStorage storage = (from Framework.Interfaces.IPluginInternalStorage a in core.GetPlugin(Framework.PluginType.InternalStorage) select a).FirstOrDefault();
         if (!InternalStorageInfo.SameDestination(storage.ActiveStorageDestination))
         {
             storage.SetStorageDestination(InternalStorageInfo);
         }
     }
 }
Example #7
0
 public void SaveSettings(Framework.Interfaces.ICore core)
 {
     GeocachingComAccount              = new Framework.Data.GeocachingComAccountInfo();
     GeocachingComAccount.AccountName  = core.GeocachingComAccount.AccountName;
     GeocachingComAccount.APIToken     = core.GeocachingComAccount.APIToken;
     GeocachingComAccount.MemberType   = core.GeocachingComAccount.MemberType;
     GeocachingComAccount.MemberTypeId = core.GeocachingComAccount.MemberTypeId;
     Framework.Interfaces.IPluginInternalStorage storage = (from Framework.Interfaces.IPluginInternalStorage a in core.GetPlugin(Framework.PluginType.InternalStorage) select a).FirstOrDefault();
     InternalStorageInfo = storage.ActiveStorageDestination;
 }