/// <summary> /// レイアウト削除 /// </summary> private void DeleteLayout(LayoutMenuItem menuItem) { var result = LocalizedMessageBox.Show("Lang:DeleteLayoutConfirmMessage", "Lang:Confirmation", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No, menuItem.LayoutName); if (result == MessageBoxResult.Yes) { SettingDatabase.Instance.ExecQuery($"DELETE FROM WorkAreaLayouts WHERE LayoutID = {menuItem.LayoutID}"); Layouts.Remove(menuItem); _ActiveLayout.Value = null; } }
/// <summary> /// プリセットが選択された場合、他のチェックを全部外す /// </summary> /// <param name="menuItem">選択されたプリセット</param> private void ExclusiveChecked(LayoutMenuItem menuItem) { if (menuItem.IsChecked.Value) { foreach (var layout in Layouts.Where(x => x != menuItem)) { layout.IsChecked.Value = false; } _ActiveLayout.Value = menuItem; } }
/// <summary> /// レイアウト名変更 /// </summary> private void EditLayoutName(LayoutMenuItem menuItem) { var(onOK, newLayoutName) = SelectStringDialog.ShowDialog("Lang:EditLayoutName", "Lang:LayoutName", menuItem.LayoutName.Value, IsValidLayoutName); if (onOK && menuItem.LayoutName.Value != newLayoutName) { menuItem.LayoutName.Value = newLayoutName; var param = new SQLiteCommandParameters(2); param.Add("layoutName", System.Data.DbType.String, menuItem.LayoutName.Value); param.Add("layoutID", System.Data.DbType.Int32, menuItem.LayoutID); SettingDatabase.Instance.ExecQuery($"UPDATE WorkAreaLayouts SET LayoutName = :layoutName WHERE LayoutID = :layoutID", param); } }
/// <summary> /// レイアウト上書き保存 /// </summary> /// <param name="menuItem">上書きするレイアウト</param> private void OverwritedSaveLayout(LayoutMenuItem menuItem) { if (_WorkAreaManager.ActiveContent == null) { return; } try { SettingDatabase.Instance.BeginTransaction(); _WorkAreaManager.ActiveContent.OverwriteSaveLayout(menuItem.LayoutID); SettingDatabase.Instance.Commit(); LocalizedMessageBox.Show("Lang:LayoutOverwritedMessage", "Lang:Confirmation", MessageBoxButton.OK, MessageBoxImage.Information, MessageBoxResult.OK, _WorkAreaManager.ActiveContent.Title, menuItem.LayoutName); } catch (Exception ex) { SettingDatabase.Instance.Rollback(); LocalizedMessageBox.Show("Lang:LayoutOverwriteFailedMessage", "Lang:Error", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, ex.Message); } }