public XCommand() { ActionOpen = new ActionOpen(this); ActionSave = new ActionSave(this); ActionAddTab = new ActionAddTab(this); ActionSelectTab = new ActionSelectTab(this); ActionLanguage = new ActionLanguage(this); }
/// <summary> /// Processes the command key. /// </summary> /// <seealso cref="M:System.Windows.Forms.Form.ProcessCmdKey(Message@,Keys)"/> protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { if (Globals.IsReady) { switch (keyData) { // Top menu system case Keys.Alt | Keys.S: ActionSettings.ShowDropDown(); return(true); case Keys.Alt | Keys.I: ActionInformation.ShowDropDown(); return(true); case Keys.F9: ActionPreferences.PerformClick(); return(true); case Keys.Alt | Keys.Control | Keys.F4: ActionExit.PerformClick(); return(true); case Keys.Escape: if (!EditESCtoExit.Checked || EditMeanings.IsCurrentCellInEditMode) { break; } ActionExit.PerformClick(); return(true); // Rotate view case Keys.Control | Keys.Shift | Keys.Tab: if (Globals.AllowClose) { SetView(Settings.CurrentView.Previous(ViewMode.Notebook));// TODO notebook remove when ready } return(true); case Keys.Control | Keys.Tab: if (Globals.AllowClose) { SetView(Settings.CurrentView.Next(ViewMode.Notebook));// TODO notebook remove when ready } return(true); // Change view case Keys.F1: ActionViewAnalysis.PerformClick(); return(true); case Keys.F2: ActionViewLetters.PerformClick(); return(true); case Keys.F3: if (!Globals.IsDebugExecutable) { break; // TODO remove when ready } ActionViewNotebook.PerformClick(); return(true); // Application functions case Keys.F5: case Keys.Control | Keys.F: ActionSearchTerm.PerformClick(); return(true); case Keys.Control | Keys.N: ActionNewInstance.PerformClick(); return(true); // Top menu system case Keys.Alt | Keys.T: ActionTools.ShowDropDown(); return(true); case Keys.Alt | Keys.L: if (ActionWebLinks.Enabled) { ActionWebLinks.ShowDropDown(); } return(true); // Data edition case Keys.Control | Keys.S: ActionSave.PerformClick(); return(true); case Keys.Control | Keys.Back: ActionUndo.Focus(); ActionUndo.PerformClick(); return(true); } } // Letters navigation if (Globals.AllowClose && Settings.CurrentView == ViewMode.Letters) { switch (keyData) { case Keys.Control | Keys.Home: LettersNavigator.ActionFirst.PerformClick(); return(true); case Keys.Control | Keys.End: LettersNavigator.ActionLast.PerformClick(); return(true); case Keys.Control | Keys.PageUp: LettersNavigator.ActionPrevious.PerformClick(); return(true); case Keys.Control | Keys.PageDown: LettersNavigator.ActionNext.PerformClick(); return(true); } } return(base.ProcessCmdKey(ref msg, keyData)); }
public SaveAction() { //Sprawdzamy czy wszystko jest dozwolone do zapisu i czy czegoś nie brakuje; if (!CheckPermisionToSave()) { return; } if (ActionID.Singleton.ID != 0) { ActionDB NewAction; OriginalAction = ActionController.Load_ID(ActionID.Singleton.ID); NewAction = ActionSave.Save(); if (ActionID.Singleton.ActionModification) { ActionController.ModificationAction(OriginalAction, NewAction); //ActionID.Delete(); ActionID.Singleton.ID = NewAction.ID; } //Jeśli zmianie ulegają ANC to tedy ma działać if (ActionID.Singleton.ANCModification) { IEnumerable <ANCChangeDB> ANCs = ANCChangeSave.ANCSave(); if (OriginalAction.ID != NewAction.ID && NewAction.ID != 0) { ANCChangeController.UpdateANC(OriginalAction.ID, NewAction.ID, ANCs); } else { ANCChangeController.UpdateANC(OriginalAction.ID, OriginalAction.ID, ANCs); } } else { //Update tylko ID akcji if (OriginalAction.ID != NewAction.ID && NewAction.ID != 0) { ANCChangeController.UpdateActionID(OriginalAction.ID, NewAction.ID); } } //Jeśli jest zmiana w Mass Calculation to ma coś zmienić if (ActionID.Singleton.MassModification) { if (NewAction.Group_Calc && OriginalAction.Group_Calc) { CalculationMassDB Mass = CalculationMassSave.Mass(); if (OriginalAction.ID != NewAction.ID && NewAction.ID != 0) { CalculationMassController.Update(OriginalAction.ID, NewAction.ID, Mass); } else { CalculationMassController.Update(OriginalAction.ID, OriginalAction.ID, Mass); } } else if (NewAction.Group_Calc && !OriginalAction.Group_Calc) { CalculationMassDB Mass = CalculationMassSave.Mass(); Mass.ActionID = NewAction.ID; CalculationMassController.Add(Mass); } else if (!NewAction.Group_Calc && OriginalAction.Group_Calc) { CalculationMassController.Deactivation(OriginalAction.ID); } } else { if (OriginalAction.Group_Calc) { //Update tylko ID akcji if (OriginalAction.ID != NewAction.ID && NewAction.ID != 0) { ANCChangeController.UpdateActionID(OriginalAction.ID, NewAction.ID); } } } //Jeśli jest zmiania w liście PNC to ma zmienic if (ActionID.Singleton.PNCModification) { if (NewAction.PNC && OriginalAction.PNC) { IEnumerable <PNCListDB> PNCList = PNCSave.Save(); if (OriginalAction.ID != NewAction.ID && NewAction.ID != 0) { PNCListController.UpatePNCList(OriginalAction.ID, NewAction.ID, PNCList); } else { PNCListController.UpatePNCList(OriginalAction.ID, OriginalAction.ID, PNCList); } } else if (NewAction.PNC && !OriginalAction.PNC) { IEnumerable <PNCListDB> PNCList = PNCSave.Save(); foreach (PNCListDB PNC in PNCList) { PNC.ActionID = NewAction.ID; } PNCListController.Add(PNCList); } else if (!NewAction.PNC && OriginalAction.PNC) { PNCListController.Deactivation(OriginalAction.ID); } } else { //Update tylko ID akcji if (OriginalAction.ID != NewAction.ID && NewAction.ID != 0) { PNCListController.UpdateID(OriginalAction.ID, NewAction.ID); } } if (ActionID.Singleton.PNCSpecModification) { if (NewAction.PNCSpec && OriginalAction.PNCSpec) {//Update IEnumerable <PNCSpecialDB> List = PNCSpecialSave.Save(); if (OriginalAction.ID != NewAction.ID && NewAction.ID != 0) { PNCSpecialController.UpdateList(List, OriginalAction.ID, NewAction.ID); } else { PNCSpecialController.UpdateList(List, OriginalAction.ID, OriginalAction.ID); } } else if (NewAction.PNCSpec && !OriginalAction.PNCSpec) {//Nowe IEnumerable <PNCSpecialDB> List = PNCSpecialSave.Save(); foreach (PNCSpecialDB PNC in List) { PNC.ActionID = NewAction.ID; } PNCSpecialController.Add(List); } else if (!NewAction.PNCSpec && OriginalAction.PNCSpec) {//Usuwamy PNCSpecialController.Deactivation(OriginalAction.ID); } } } else { ActionDB ActionToSave = ActionSave.Save(); ActionToSave.Rev = 1; ActionToSave.ActionIDOriginal = 0; ActionController.NewAction(ActionToSave); OriginalAction = ActionController.FindAction(ActionToSave.Name, ActionToSave.StartYear); //IEnumerable<ANCChangeDB> ListANC = ANCChangeSave.ANCSave(); //foreach(var ANC in ListANC) //{ // ANC.ActionID = OriginalAction.ID; // ANC.Rev = 1; //} //ANCChangeController.Add(ListANC); //if (OriginalAction.ANCSpec) //{ // CalculationMassDB MassList = CalculationMassSave.Mass(); // MassList.ActionID = OriginalAction.ID; // MassList.Rev = 1; // CalculationMassController.Add(MassList); //} //else if(OriginalAction.PNC) //{ // IEnumerable<PNCListDB> PNCList = PNCSave.Save(); // foreach(var Row in PNCList) // { // Row.ActionID = OriginalAction.ID; // Row.Rev = 1; // } //} //else if(OriginalAction.PNCSpec) //{ // IEnumerable<PNCSpecialDB> PNCSpecialList = PNCSpecialSave.Save(); // foreach(var Row in PNCSpecialList) // { // Row.ActionID = OriginalAction.ID; // Row.Rev = 1; // } //} } }
public void SetView(ViewMode view, bool first) { var viewPanels = new Dictionary <ViewMode, ViewConnector> { { ViewMode.ChapterVerses, new ViewConnector { MenuItem = ActionViewVerses, Panel = PanelViewVerses, Focused = PanelViewVerses } }, { ViewMode.VerseFiltered, new ViewConnector { MenuItem = ActionViewVerseFiltered, Panel = PanelViewVerseFiltered, Focused = PanelViewVerseFiltered } }, { ViewMode.ChapterTranslation, new ViewConnector { MenuItem = ActionViewTranslations, Panel = PanelViewTranslations, Focused = TextBoxTranslations } }, { ViewMode.ChapterOriginal, new ViewConnector { MenuItem = ActionViewRawText, Panel = PanelViewOriginalText, Focused = EditChapterOriginal } }, { ViewMode.BookELS50, new ViewConnector { MenuItem = ActionViewELS50, Panel = PanelViewELS50, Focused = EditChapterELS50 } }, { ViewMode.Search, new ViewConnector { MenuItem = ActionViewSearch, Panel = PanelViewSearch, Focused = SelectSearchType } } }; if (Settings.CurrentView == view && !first) { if (Settings.CurrentView == ViewMode.Search) { RotateSearchTab(); } return; } checkFirst(); viewPanels[Settings.CurrentView].MenuItem.Checked = false; viewPanels[Settings.CurrentView].Panel.Parent = null; viewPanels[view].MenuItem.Checked = true; viewPanels[view].Panel.Parent = PanelMainCenter; if (view != ViewMode.Search) { viewPanels[view].Focused?.Focus(); } Settings.CurrentView = view; updateControls(); switch (view) { case ViewMode.ChapterVerses: case ViewMode.ChapterOriginal: case ViewMode.ChapterTranslation: case ViewMode.BookELS50: SetTanakItemFocus(); break; case ViewMode.Search: SelectSearchType_Selected(null, null); break; case ViewMode.VerseFiltered: VerseControl.ResetMetricsRequired = true; WordControl.ResetMetricsRequired = true; RenderVerseFiltered(); break; } // void checkFirst() { if (first) { UpdateFilters(null, null); SelectSearchType.SelectedIndex = Settings.CurrentSearchTypeTab; setRadio(SelectSearchTypeTranslation, Settings.SearchTranslationRadioButtonIndex); setRadio(SelectSearchTypeVerses, Settings.SearchVerseRadioButtonIndex); void setRadio(TabPage page, int index) { var radio = page.Controls.OfType <RadioButton>().FirstOrDefault(c => c.TabIndex == index); if (radio is not null) { radio.Checked = true; } } } else { ActionSave.PerformClick(); if (!Settings.RenderAllChapterVersesKeep && Settings.RenderAllChapterVerses) { if (view == ViewMode.VerseFiltered || view == ViewMode.Search) { Settings.RenderAllChapterVerses = false; } } } } // void updateControls() { LabelTitle.Text = AppTranslations.ViewPanelTitle.GetLang(view).ToUpper(); LabelTitle.Refresh(); // PanelNavigation.Visible = view != ViewMode.VerseFiltered && view != ViewMode.Search; PanelMain.Refresh(); // ActionCopyToClipboard.Enabled = view == ViewMode.ChapterTranslation || view == ViewMode.ChapterOriginal || view == ViewMode.BookELS50; SelectRenderAllVerses.Enabled = view == ViewMode.ChapterVerses; ActionExportBook.Enabled = PanelNavigation.Visible; ActionExportChapter.Enabled = PanelNavigation.Visible; // SelectBook.Enabled = PanelNavigation.Visible; SelectBookNavigator.Enabled = SelectBook.Enabled; LabelSelectBook.Enabled = SelectBook.Enabled; EditBookTranslation.Enabled = SelectBook.Enabled; ActionEditBookMemo.Enabled = SelectBook.Enabled; // SelectChapter.Enabled = PanelNavigation.Visible; SelectChapterNavigator.Enabled = SelectChapter.Enabled; LabelSelectChapter.Enabled = SelectChapter.Enabled; EditChapterTitle.Enabled = SelectChapter.Enabled; EditChapterMemo.Enabled = SelectChapter.Enabled; // SelectVerse.Enabled = PanelNavigation.Visible && view != ViewMode.BookELS50; SelectVerseNavigator.Enabled = SelectVerse.Enabled; LabelSelectVerse.Enabled = SelectVerse.Enabled; ActionSearchVerse.Enabled = SelectVerse.Enabled; // UpdateHistoryButtons(); } }
public SaveAsWindowDialog(string nameQuery) { Background = new SolidColorBrush(SystemColors.ControlColor); WindowStartupLocation = WindowStartupLocation.Manual; SizeToContent = SizeToContent.WidthAndHeight; ResizeMode = ResizeMode.NoResize; ShowInTaskbar = false; Title = "Save Dialog"; Action = ActionSave.NotSave; var border = new Border { BorderThickness = new Thickness(0), BorderBrush = Brushes.Gray }; var root = new StackPanel { Margin = new Thickness(10) }; border.Child = root; Content = border; var message = new TextBlock { Text = "Save changes to the [" + nameQuery + "]?", HorizontalAlignment = HorizontalAlignment.Center }; var bottomStack = new StackPanel { Orientation = Orientation.Horizontal, HorizontalAlignment = HorizontalAlignment.Center, Margin = new Thickness(0, 10, 0, 0) }; var buttonSaveFile = new Button { Width = WIDTH_BUTTON, Content = "Save to file..." }; buttonSaveFile.Click += delegate { Action = ActionSave.File; Close(); }; var buttonSaveUserQuery = new Button { Width = WIDTH_BUTTON, Content = "Save as User Query", Margin = new Thickness(5, 0, 5, 0) }; buttonSaveUserQuery.Click += delegate { Action = ActionSave.UserQuery; Close(); }; var buttonNotSave = new Button { Width = WIDTH_BUTTON, Content = "Don't save", Margin = new Thickness(0, 0, 5, 0) }; buttonNotSave.Click += delegate { Action = ActionSave.NotSave; Close(); }; var buttonCancel = new Button { Width = WIDTH_BUTTON, Content = "Cancel" }; buttonCancel.Click += delegate { Action = ActionSave.Continue; Close(); }; root.Children.Add(message); root.Children.Add(bottomStack); bottomStack.Children.Add(buttonSaveFile); bottomStack.Children.Add(buttonSaveUserQuery); bottomStack.Children.Add(buttonNotSave); bottomStack.Children.Add(buttonCancel); }
private void SaveBtnClick(object sender, EventArgs e) { ActionSave?.Invoke(sender, new ActionSaveEventArgs()); }