/// <summary> /// Copies the project settings to task settings. /// </summary> /// <param name="projectId">The project identifier.</param> /// <param name="taskId">The task identifier.</param> public void CopyProjectSettingsToTaskSettings(long projectId, long taskId) { var projectSettings = _settingValuesRepository .Get(PluginType.ServerAgent, (int)SettingOwner.Project, projectId) .ToDictionary(_ => _.Settings.Code + "_" + _.Settings.ParentSettingItemKey, _ => _); var taskSettings = _settingRepository.Query().Where(_ => _.SettingOwner == (int)SettingOwner.Task).ToArray(); foreach (var taskSetting in taskSettings) { var value = new SettingValues { EntityId = taskId, SettingId = taskSetting.Id, ProjectId = projectId }; var key = taskSetting.Code + "_" + taskSetting.ParentSettingItemKey; value.Value = projectSettings.ContainsKey(key) ? projectSettings[key].Value : taskSetting.GetDefaultValue(); _settingValuesRepository.Insert(value); } _settingValuesRepository.Save(); }
public ContextMenus(SettingValues settings) { this.settings = settings; // Add the default menu options. MenuStrip = new ContextMenuStrip(); ToolStripMenuItem item; ToolStripSeparator sep; // Settings item = new ToolStripMenuItem(); item.Text = "Settings"; item.Click += new EventHandler(Settings_Click); //item.Image = Resources.Explorer; MenuStrip.Items.Add(item); // About. item = new ToolStripMenuItem(); item.Text = "About"; item.Click += new EventHandler(About_Click); //item.Image = Resources.About; MenuStrip.Items.Add(item); // Separator. sep = new ToolStripSeparator(); MenuStrip.Items.Add(sep); // Exit. item = new ToolStripMenuItem(); item.Text = "Exit"; item.Click += new System.EventHandler(Exit_Click); //item.Image = Resources.Exit; MenuStrip.Items.Add(item); }
private Hashtable CreateInitialSettingsDictionary() { Debug.Assert(m_settingNames != null, "m_settingNames != null"); SettingValues values = new SettingValues(); AddInitialValues(values); if (values.Count == 0) { throw new ApplicationException("The '" + GetType().FullName + "' settings class did not" + " return any initial setting values."); } if (values.Count != m_settingNames.Length) { throw new ApplicationException(string.Format("The array of initial values retruned by the" + "'{0}' settings class has {1} elements, but the array of setting names has {2} elements.", GetType().FullName, values.Count, m_settingNames.Length)); } Hashtable hashtable = new Hashtable(m_settingNames.Length); for (int index = 0; index < m_settingNames.Length; index++) { hashtable.Add(m_settingNames[index], values[index]); } return(hashtable); }
public void Default(SettingValues settingValues) { if (!settingValues.Default) return; foreach (var item in Items) if (item != settingValues) item.Default = false; }
public SysTrayProcess(SettingValues settings) { notifyIcon = new NotifyIcon(); notifyIcon.Visible = true; notifyIcon.Text = "Virtual Desktop Grid Switcher"; contextMenu = new ContextMenus(settings); notifyIcon.ContextMenuStrip = contextMenu.MenuStrip; }
public VirtualDesktopGridManager(SysTrayProcess sysTrayProcess, SettingValues settings) { this.settings = settings; this.sysTrayProcess = sysTrayProcess; foregroundWindowChangedDelegate = new WinAPI.WinEventDelegate(ForegroundWindowChanged); fgWindowHook = WinAPI.SetWinEventHook(WinAPI.EVENT_SYSTEM_FOREGROUND, WinAPI.EVENT_SYSTEM_FOREGROUND, IntPtr.Zero, foregroundWindowChangedDelegate, 0, 0, WinAPI.WINEVENT_OUTOFCONTEXT); Start(); }
public static SettingValueDto ToDto([NotNull] this SettingValues settingValues) => new SettingValueDto { Id = settingValues.Id, Title = settingValues.Settings.DisplayName, Value = settingValues.Value, Type = (SettingValueTypeDto)settingValues.Settings.SettingType, DefaultValue = settingValues.Settings.DefaultValue, ChildGroups = new List <SettingGroupDto>() };
public IEnumerable <PluginSetting> GetSettings(long projectId, long pluginid) { var settings = _settingValuesRepository.Query() .Where( item => (item.Settings.OwnerPluginId == pluginid) && (item.Settings.SettingOwner == (int)SettingOwner.Project) && (item.EntityId == projectId) && !item.Settings.IsArchived) .ToDictionary(item => item.Settings.Code, item => item); var existingSettings = _settingRepository.Query() .Where( item => (item.OwnerPluginId == pluginid) && (item.SettingOwner == (int)SettingOwner.Project) && !item.IsArchived) .ToList(); foreach (var existingSetting in existingSettings) { if (settings.ContainsKey(existingSetting.Code)) { continue; } var setting = new SettingValues { EntityId = projectId, SettingId = existingSetting.Id, Value = existingSetting.DefaultValue, Settings = existingSetting, ProjectId = projectId }; _settingValuesRepository.Insert(setting); settings.Add(existingSetting.Code, setting); } _settingValuesRepository.Save(); return(settings.Values.Select( item => new PluginSetting { DisplayName = item.Settings.DisplayName, Value = item.Value, Description = item.Settings.DisplayName, PluginId = pluginid, SettingId = item.Id, ProjectId = projectId, ValueType = item.Settings.SettingType == (int)SettingType.Boolean ? PluginSettingValueType.Bool : (item.Settings.SettingType == (int)SettingType.Password ? PluginSettingValueType.Password : PluginSettingValueType.Text) })); }
protected override void AddInitialValues(SettingValues values) { values.Add(DefaultRemoveWhenReading, DefaultMaxCountToAutoStart); values.Add(new WindowSettings(FormWindowState.Maximized), new WindowSettings(), new WindowSettings(), new WindowSettings(), new WindowSettings(), DefaultLogColumnWidths, DefaultLogSplitterRatio, DefaultDetailsSplitterRatioTop, DefaultDetailsSplitterRatioBottom, null, null); values.Add(DefaultPreviewPane, DefaultStatusBar, DefaultAutoScrollMessage, DefaultDisplayTimeZone); values.Add(DefaultMaxRecentlyUsed, new RecentlyUsedList(), null); }
// GET: Admin/Settings public ActionResult Index() { ViewBag.ColSizeLabel = "col-sm-8 col-md-9"; ViewBag.ColSizeShort = "col-md-4 col-md-3"; var model = m_settingsWorker.GetManagerSettingsEdit(); this.Pair2List <SettingsEditViewModel, string, string>(SettingValues.GetYesNo(), m => m.WorkingStock, model.WorkingStock); this.Pair2List <SettingsEditViewModel, string, string>(SettingValues.GetYesNo(), m => m.ShowUnstockItem, model.ShowUnstockItem); this.Pair2List <SettingsEditViewModel, string, string>(SettingValues.GetYesNo(), m => m.PriceIncludeTax, model.PriceIncludeTax); this.Pair2List <SettingsEditViewModel, string, string>(SettingValues.GetYesNo(), m => m.ShowComments, model.ShowComments); this.Pair2List <SettingsEditViewModel, string, string>(SettingValues.GetYesNo(), m => m.UseFacebookComments, model.UseFacebookComments); return(View(model)); }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); var settings = SettingValues.Load(); using (SysTrayProcess sysTrayProcess = new SysTrayProcess(settings)) { using (VirtualDesktopGridManager gridManager = new VirtualDesktopGridManager(sysTrayProcess, settings)) { // Make sure the application runs! Application.Run(); } } }
public VirtualDesktopGridManager(SysTrayProcess sysTrayProcess, SettingValues settings) { this.settings = settings; this.sysTrayProcess = sysTrayProcess; VDMHelper = VdmHelperFactory.CreateInstance(); VDMHelper.Init(); foregroundWindowChangedDelegate = new WinAPI.WinEventDelegate(ForegroundWindowChanged); fgWindowHook = WinAPI.SetWinEventHook(WinAPI.EVENT_SYSTEM_FOREGROUND, WinAPI.EVENT_SYSTEM_FOREGROUND, IntPtr.Zero, foregroundWindowChangedDelegate, 0, 0, WinAPI.WINEVENT_OUTOFCONTEXT); // Create a custom message ID for other processes to trigger actions. commandWindowMessage = RegisterWindowMessage("VIRTUALDESKTOPGRIDSWITCHER_COMMAND"); Application.AddMessageFilter(this); Start(); }
public ActionResult Parameters(List <int> setting, List <string> value, int id) { using (var e1 = setting.GetEnumerator()) using (var e2 = value.GetEnumerator()) { while (e1.MoveNext() && e2.MoveNext()) { var s = e1.Current; var v = e2.Current; SettingValues sv = db.SettingValues.Where(x => !x.Deleted && x.Setting == s && x.Value == v).FirstOrDefault(); Settings settings = db.Settings.Where(y => y.Geek == id && y.SettingValues.Setting == s).FirstOrDefault(); settings.SettingValues = sv; db.SaveChanges(); } } return(RedirectToAction("Index")); }
/// <summary> /// Get all settings as a single class /// </summary> /// <returns>SettingValues class</returns> public SettingValues GetSettingValues() { var settings = GetAllSettings(); var settingValues = new SettingValues() { SiteName = settings.First(s => s.Name == SettingsConstants.SiteName).Value, SiteDescription = settings.First(s => s.Name == SettingsConstants.SiteDescription).Value, IsRegistrationEnabled = Convert.ToBoolean(settings.First(s => s.Name == SettingsConstants.SiteRegistrationEnabled).Value), IsCommentsEnabled = Convert.ToBoolean(settings.First(s => s.Name == SettingsConstants.SiteCommmentsEnabled).Value), FacebookUrl = settings.First(s => s.Name == SettingsConstants.FacebookUrl).Value, TwitterUrl = settings.First(s => s.Name == SettingsConstants.TwitterUrl).Value, InstagramUrl = settings.First(s => s.Name == SettingsConstants.InstagramUrl).Value, YoutubeUrl = settings.First(s => s.Name == SettingsConstants.YoutubeUrl).Value, DefaultUserRoleId = int.Parse(settings.First(s => s.Name == SettingsConstants.DefaultUserRole).Value), RaptorVersion = settings.First(s => s.Name == SettingsConstants.RaptorVersion).Value }; return(settingValues); }
/// <summary> /// Gets setting value at the specified owner and for the specified setting. /// </summary> /// <param name="owner">The owner.</param> /// <param name="entityId">The entity identifier.</param> /// <param name="settingKey">The setting key.</param> /// <returns>The setting value.</returns> public SettingValueDto Get(SettingOwnerDto owner, long entityId, string settingKey) { var settingValue = _settingValuesRepository .Get(PluginType.ServerAgent, (int)owner, entityId, settingKey); if (settingValue != null) { return(settingValue.ToDto()); } var setting = _settingRepository.Get(PluginType.ServerAgent, (int)owner, settingKey); if (setting == null) { return(null); } var dto = setting.GetDefaultValueDto(); var currentItem = dto.GetCurrentSubitem(); dto.Value = setting.SettingType == (int)SettingType.List ? currentItem.Key : currentItem.Text; settingValue = new SettingValues { EntityId = entityId, SettingId = setting.Id, Value = dto.Value, ProjectId = entityId }; _settingValuesRepository.Insert(settingValue); _settingGroupRepository.Save(); dto.Id = settingValue.Id; return(dto); }
public ActionResult Index(SettingsEditViewModel model) { if (ModelState.IsValid) { try { m_settingsWorker.UpdateManagerSettingsEdit(model); Business.Layers.SettingsLayer.RegisterAppSettings(); return(RedirectToAction("Index", "Manager")); } catch (Exception ex) { ModelState.AddModelError("General", ex.Message); } } this.Pair2List <SettingsEditViewModel, string, string>(SettingValues.GetYesNo(), m => m.WorkingStock, model.WorkingStock); this.Pair2List <SettingsEditViewModel, string, string>(SettingValues.GetYesNo(), m => m.ShowUnstockItem, model.ShowUnstockItem); this.Pair2List <SettingsEditViewModel, string, string>(SettingValues.GetYesNo(), m => m.PriceIncludeTax, model.PriceIncludeTax); this.Pair2List <SettingsEditViewModel, string, string>(SettingValues.GetYesNo(), m => m.ShowComments, model.ShowComments); this.Pair2List <SettingsEditViewModel, string, string>(SettingValues.GetYesNo(), m => m.UseFacebookComments, model.UseFacebookComments); return(View(model)); }
private void InitializeEmptySettings( long entityId, [NotNull][ItemNotNull] IEnumerable <Settings> settings, [NotNull] IDictionary <long, SettingValues> values) { // ReSharper disable once LoopCanBePartlyConvertedToQuery foreach (var settingWithoutValue in settings) { var settingValue = new SettingValues { EntityId = entityId, Value = settingWithoutValue.GetDefaultValue(), SettingId = settingWithoutValue.Id, Settings = settingWithoutValue, ProjectId = entityId }; _settingValuesRepository.Insert(settingValue); values.Add(settingValue.SettingId, settingValue); } _settingValuesRepository.Save(); }
/// <summary> /// When implemented by a derived class adds the initial values of all the settings in that class. /// The settings must be added in the same order as the names added by <c>AddSettingNames</c>, so /// that the names and values are matched correctly. /// </summary> /// <param name="values">The collection of initial setting values. The derived class may only /// add to this collection.</param> protected abstract void AddInitialValues(SettingValues values);