From 80c40a82cfeae252fc3e6c8f9de546040d71f3fb Mon Sep 17 00:00:00 2001 From: Robin Strand Prestmo Date: Fri, 20 Feb 2026 15:09:40 +0100 Subject: [PATCH] Added methods to Setting. Created Language enum. --- .../sytemutvikling/team6/models/Inbox.java | 1 - .../sytemutvikling/team6/models/Language.java | 11 ++++ .../sytemutvikling/team6/models/Settings.java | 54 +++++++++++++++---- 3 files changed, 56 insertions(+), 10 deletions(-) create mode 100644 helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Language.java diff --git a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Inbox.java b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Inbox.java index 17f495d..00c8f52 100644 --- a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Inbox.java +++ b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Inbox.java @@ -2,7 +2,6 @@ import java.util.*; -// Unntakshåndtering mangler // Enhetstester mangler /** diff --git a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Language.java b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Language.java new file mode 100644 index 0000000..3b95ea1 --- /dev/null +++ b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Language.java @@ -0,0 +1,11 @@ +package ntnu.sytemutvikling.team6.models; + +/** + * Supported application languages. + * + * @author Robin Strand Prestmo + */ +public enum Language { + ENGLISH, + NORSK +} \ No newline at end of file diff --git a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Settings.java b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Settings.java index 7fbf333..cd70f0a 100644 --- a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Settings.java +++ b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Settings.java @@ -1,41 +1,77 @@ package ntnu.sytemutvikling.team6.models; -// Mangler unntakshåndtering // Mangler Enhetstesting /** - * Represents the settings for a user + * Represents the settings for a user. * - * @Author Robin Strand Prestmo + * @author Robin Strand Prestmo */ public class Settings { private boolean lightMode; - private String language; + private Language language; private boolean anonymous; /** - * Creates settings for a user + * Sets standard settings. + * LightMode enabled, language set to English, + * Anonymous disabled + */ + public Settings() { + this(true, Language.ENGLISH, false); + } + /** + * Creates settings for a user. * * @param lightMode choose between light or dark mode * @param language choose language * @param anonymous choose if user is anonymous * */ - public Settings(boolean lightMode, String language, boolean anonymous) { + public Settings(boolean lightMode, Language language, boolean anonymous) { + if (language == null) { + throw new IllegalArgumentException("Language cannot be null"); + } this.lightMode = lightMode; this.language = language; this.anonymous = anonymous; } - public boolean getLightmode() { + /** + * Toggles between light and dark mode + */ + public void toggleLightMode() { + lightMode = !lightMode; + } + + /** + * Toggles anonymous mode on and off + */ + public void toggleAnonymousMode() { + anonymous = !anonymous; + } + + /** + * Change language to the chosen language. + * + * @param newLanguage the language to change to. + */ + public void changeLanguage(Language newLanguage) { + if (newLanguage == null) { + throw new IllegalArgumentException("Language cannot be null"); + } + language = newLanguage; + } + + public boolean isLightMode() { return lightMode; } - public String getLanguage() { + public Language getLanguage() { return language; } - public boolean getAnonymous() { + public boolean isAnonymous() { return anonymous; } }