EN · DE · RU · FR · ES

#321 : LantFinalizeScreen.kt

projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt Classe Kotlin, projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt 230 lignes · 172 code · 29 commentaires · 29 vides
Objectif : Fichier source : setup/wizard/lanterna/LantFinalizeScreen.kt. LantFinalizeScreen.kt fait partie de l'application open-source de gestion de projet ProjectForge.

Source (100 premières lignes)

/////////////////////////////////////////////////////////////////////////////
//
// Projet ProjectForge Community Edition
//         www.projectforge.org
//
// Copyright (C) 2001-2026 Micromata GmbH, Allemagne (www.micromata.com)
//
// ProjectForge est sous double licence.
//
// Cette édition communautaire est un logiciel libre ; vous pouvez la redistribuer et/ou
// la modifier selon les termes de la GNU General Public License telle que publiée
// par la Free Software Foundation ; version 3 de la Licence.
//
// Cette édition communautaire est distribuée dans l'espoir qu'elle sera utile,
// mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de
// QUALITÉ MARCHANDE ou d'ADÉQUATION À UN USAGE PARTICULIER. Voir la GNU General
// Public License pour plus de détails.
//
// Vous devriez avoir reçu une copie de la GNU General Public License avec
// ce programme ; sinon, consultez http://www.gnu.org/licenses/.
//
/////////////////////////////////////////////////////////////////////////////

package org.projectforge.setup.wizard.lanterna

import com.googlecode.lanterna.TerminalSize
import com.googlecode.lanterna.gui2.*
import org.projectforge.common.CanonicalFileUtils
import org.projectforge.setup.SetupContext
import org.projectforge.setup.wizard.FinalizeScreenSupport
import org.projectforge.setup.wizard.FinalizeScreenSupport.listOfDatabases
import org.projectforge.setup.wizard.FinalizeScreenSupport.listOfLocales
import org.projectforge.setup.wizard.FinalizeScreenSupport.listOfTimeNotations
import org.projectforge.setup.wizard.FinalizeScreenSupport.listOfWeekdays
import org.projectforge.setup.wizard.Texts
import java.io.File
import java.util.regex.Pattern


class LantFinalizeScreen(context: LantGUIContext) : LantAbstractWizardWindow(context, "Finalisation de la configuration du répertoire") {
  private lateinit var dirLabel: Label
  private lateinit var domainTextBox: TextBox
  private lateinit var portTextBox: TextBox

  private lateinit var databaseCombobox: ComboBox<String>
  private lateinit var jdbcSettingsButton: Button

  private lateinit var currencyTextBox: TextBox
  private lateinit var defaultLocaleCombobox: ComboBox<String>
  private lateinit var defaultTimeNotationCombobox: ComboBox<String>
  private lateinit var defaultFirstDayOfWeekCombobox: ComboBox<String>

  private lateinit var startCheckBox: CheckBox
  private lateinit var developmentCheckBox: CheckBox

  private lateinit var hintLabel: Label

  override fun getContentPanel(): Panel {
    val panel = Panel()
    val setupContext = context.setupContext
    panel.layoutManager = GridLayout(3)

    dirLabel = Label("")
    panel.addComponent(Label(Texts.FS_DIRECTORY).setSize(TerminalSize(10, 1)))
      .addComponent(dirLabel.setLayoutData(GridLayout.createHorizontallyFilledLayoutData(2)))

    panel.addComponent(EmptySpace().setLayoutData(GridLayout.createHorizontallyFilledLayoutData(3)))

    domainTextBox = TextBox("http://localhost:8080")
      .setPreferredSize(TerminalSize(30, 1))
    panel.addComponent(Label(Texts.FS_DOMAIN))
      .addComponent(domainTextBox)
      .addComponent(Label(Texts.FS_DOMAIN_DESC))

    portTextBox = TextBox("8080")
      .setValidationPattern(Pattern.compile("[0-9]{1,5}?"))
      .setPreferredSize(TerminalSize(7, 1))
    if (!setupContext.customizedPortSupported) {
      // Dans les conteneurs docker, le port personnalisé n'est pas
      panel.addComponent(Label(Texts.FS_PORT))
        .addComponent(portTextBox)
        .addComponent(EmptySpace())
    }

    panel.addComponent(EmptySpace().setLayoutData(GridLayout.createHorizontallyFilledLayoutData(3)))

    databaseCombobox = ComboBox()
    listOfDatabases.forEach { databaseCombobox.addItem(it.label) }
    if (setupContext.embeddedDatabaseSupported) {
      // Écouteur requis uniquement si la base de données embarquée est prise en charge ainsi que PostgreSQL.
      databaseCombobox.addListener { selectedIndex, previousSelection, _ ->
        if (previousSelection != selectedIndex) {
          if (selectedIndex > 0) {
            jdbcSettingsButton.setEnabled(true)
            showJdbcSettingsDialog()
            context.setupData.useEmbeddedDatabase = false
          } else {
            jdbcSettingsButton.setEnabled(false)
            context.setupData.useEmbeddedDatabase = true
          }

Historique Git

868d6abb7 2025 -> 2026
63081666f En-têtes des fichiers source : 2024 -> 2025.
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.
5f7ef41b8 Copyright 2021 -> 2022

868d6abb7

2025 -> 2026
868d6abb75cd191a892911ac8e45058932cf9074
diff --git a/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt b/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt
index b85fe6013..bde487385 100644
--- a/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt
+++ b/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt
@@ -3,7 +3,7 @@
 // Projet ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2025 Micromata GmbH, Allemagne (www.micromata.com)
+// Copyright (C) 2001-2026 Micromata GmbH, Allemagne (www.micromata.com)
 //
 // ProjectForge est sous double licence.
 //

63081666f

En-têtes des fichiers source : 2024 -> 2025.
63081666f620fb87315f01b817e560e0b2f6a33a
diff --git a/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt b/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt
index beab538ef..b85fe6013 100644
--- a/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt
+++ b/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt
@@ -3,7 +3,7 @@
 // Projet ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2024 Micromata GmbH, Allemagne (www.micromata.com)
+// Copyright (C) 2001-2025 Micromata GmbH, Allemagne (www.micromata.com)
 //
 // ProjectForge est sous double licence.
 //

b6092df09

Copyright 2023 -> 2024
b6092df0927c4a3b161e888445f31dcab57493f2
diff --git a/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt b/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt
index 55c031e9f..beab538ef 100644
--- a/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt
+++ b/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt
@@ -3,7 +3,7 @@
 // Projet ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2023 Micromata GmbH, Allemagne (www.micromata.com)
+// Copyright (C) 2001-2024 Micromata GmbH, Allemagne (www.micromata.com)
 //
 // ProjectForge est sous double licence.
 //

ab45d51fa

Copyright 2001-2022 -> 2001-2023.
ab45d51fa419ede6174b31d69987f96d4b841ff9
diff --git a/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt b/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt
index 62e350484..55c031e9f 100644
--- a/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt
+++ b/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt
@@ -3,7 +3,7 @@
 // Projet ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2022 Micromata GmbH, Allemagne (www.micromata.com)
+// Copyright (C) 2001-2023 Micromata GmbH, Allemagne (www.micromata.com)
 //
 // ProjectForge est sous double licence.
 //

5f7ef41b8

Copyright 2021 -> 2022
5f7ef41b8cbbf29b1bff094f0c0b708dcaecb19e
diff --git a/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt b/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt
index 74e4fcd61..62e350484 100644
--- a/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt
+++ b/projectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantFinalizeScreen.kt
@@ -3,7 +3,7 @@
 // Projet ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2021 Micromata GmbH, Allemagne (www.micromata.com)
+// Copyright (C) 2001-2022 Micromata GmbH, Allemagne (www.micromata.com)
 //
 // ProjectForge est sous double licence.
 //