Common: Save workspaces per language, fix resetting workspaces, set language on load

This commit is contained in:
Jonathan Jenne
2023-05-16 16:42:59 +02:00
parent b53e18d424
commit e77cfdb98b
6 changed files with 938 additions and 1300 deletions

View File

@@ -18,6 +18,7 @@ Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.ZooFlow
Imports DigitalData.Modules.ZooFlow.Constants
Imports DigitalData.Modules.Base.IDB.FileStore
Imports DigitalData.Modules.Base
'Imports DigitalData.GUIs.Common.Base
Imports DigitalData.GUIs.Common.DocumentResultList
@@ -56,6 +57,7 @@ Public Class frmDocumentResultList
Private IsLoading As Boolean = True
Private ClientIsOnline As Boolean = False
Private PreventWorkspaceSaving As Boolean = False
Private _DragBoxFromMouseDown As Rectangle
Private _ScreenOffset As Point
@@ -107,13 +109,17 @@ Public Class frmDocumentResultList
ColumnFilepath = pParams.ColumnNames.FullPathColumn
ColumnIcon = pParams.ColumnNames.IconColumn
Environment = pEnvironment
Params = pParams
ResultLists = pParams.Results
LogConfig = pLogConfig
Logger = pLogConfig.GetLogger()
FormHelper = New FormHelper(pLogConfig, Me)
Environment = pEnvironment
Params = pParams
ResultLists = pParams.Results
UserLanguage = Utils.NotNull(Environment.User.Language, State.UserState.LANG_EN_US)
Language.LogApplicationLanguage(Logger)
Language.SetApplicationLanguage(Logger, UserLanguage)
Config = New ConfigManager(Of Config)(pLogConfig, oConfigPath, oConfigPath)
Helpers = New DocumentResultList.Helpers(pLogConfig)
@@ -121,9 +127,8 @@ Public Class frmDocumentResultList
GridBuilder = New GridBuilder(New List(Of GridView) From {GridView1, GridView2, GridView3})
FileEx = New Modules.Windows.File(pLogConfig)
LayoutManager = New Layout(pLogConfig, Config, New List(Of GridView) From {GridView1, GridView2, GridView3}, pEnvironment)
Workspace = New Workspace(Of Config)(pLogConfig, Config, WorkspaceManager1)
Workspace = New Workspace(Of Config)(pLogConfig, Config, WorkspaceManager1, UserLanguage)
UserLanguage = Utils.NotNull(Environment.User.Language, State.UserState.LANG_EN_US)
End Sub
Private Function GetOperationMode() As OperationMode
@@ -163,6 +168,8 @@ Public Class frmDocumentResultList
End If
Language.LogApplicationLanguage(Logger)
Documentloader = New Loader(LogConfig, OperationMode, Client, Environment.User)
If OperationMode = OperationMode.NoAppServer Then
@@ -294,9 +301,13 @@ Public Class frmDocumentResultList
Try
LayoutManager.SaveWindowLocationAndSize(Me)
Workspace.SaveWorkspaces()
Config.Config.SelectedWorkspace = Workspace.CurrentWorkspace
Config.Save()
If PreventWorkspaceSaving = False Then
Workspace.SaveWorkspaces()
Config.Config.SelectedWorkspace = Workspace.CurrentWorkspace
Config.Save()
Else
PreventWorkspaceSaving = False
End If
DocumentViewer1.Done()
Catch ex As Exception
@@ -563,11 +574,13 @@ Public Class frmDocumentResultList
Private Sub LoadGridData(View As GridView, Result As DocumentResultList.DocumentResult)
If Result.Datatable.Columns.Contains(ColumnDocumentId) = False Then
Throw New ApplicationException($"Datatable is missing DocId Column [{ColumnDocumentId}] for search {Result.Title}!")
Logger.Error($"Datatable is missing DocId Column [{ColumnDocumentId}] for search {Result.Title}!")
'Throw New ApplicationException($"Datatable is missing DocId Column [{ColumnDocumentId}] for search {Result.Title}!")
End If
If OperationMode = OperationMode.NoAppServer And Result.Datatable.Columns.Contains(ColumnFilepath) = False Then
Throw New ApplicationException($"Datatable is missing Filepath Column [{ColumnFilepath}] for search {Result.Title}!")
Logger.Error($"Datatable is missing Filepath Column [{ColumnFilepath}] for search {Result.Title}!")
'Throw New ApplicationException($"Datatable is missing Filepath Column [{ColumnFilepath}] for search {Result.Title}!")
End If
SetGridDataSource(View, Result.Datatable)
@@ -1029,8 +1042,12 @@ Public Class frmDocumentResultList
Private Sub BarButtonResetLayout_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonResetGridLayout.ItemClick
Try
If Workspace.ResetWorkspaces() Then
FormHelper.ShowSuccessMessage("Die gespeicherten Workspaces wurden gelöscht, beim Nächsten Laden wird die Standard-Ansicht geladen.", Text)
If FormHelper.ShowQuestionMessage("Do you want to reset all workspaces? This window will be closed afterwards!", Text) = DialogResult.Yes Then
If Workspace.ResetWorkspaces() Then
FormHelper.ShowSuccessMessage("Die gespeicherten Workspaces wurden gelöscht, beim Nächsten Laden wird die Standard-Ansicht geladen. Das Fenster wird nun geschlossen.", Text)
PreventWorkspaceSaving = True
Close()
End If
End If
Catch ex As Exception
Logger.Error(ex)