Fixes bugs with the incorrect applying of the changed colors.
Fixes #50
This commit is contained in:
		| @@ -116,7 +116,7 @@ public class Settings { | ||||
| 	 */ | ||||
| 	public void addNewThemeToMap(Theme theme) { | ||||
| 		settings.getThemes().put(theme.getThemeName(), theme); | ||||
| 		currentTheme = theme.getThemeName(); | ||||
| 		// currentTheme = theme.getThemeName(); | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
|   | ||||
| @@ -206,63 +206,63 @@ public class SettingsScreen extends JDialog { | ||||
| 					theme, | ||||
| 					theme.getBackgroundColor(), | ||||
| 					"Background", | ||||
| 					1); | ||||
| 					0); | ||||
| 			buildCustomizeElement(new JPanel(), | ||||
| 					new JButton(), | ||||
| 					new JTextPane(), | ||||
| 					theme, | ||||
| 					theme.getCellColor(), | ||||
| 					"Cells", | ||||
| 					2); | ||||
| 					1); | ||||
| 			buildCustomizeElement(new JPanel(), | ||||
| 					new JButton(), | ||||
| 					new JTextPane(), | ||||
| 					theme, | ||||
| 					theme.getInteractableForegroundColor(), | ||||
| 					"Interactable Foreground", | ||||
| 					3); | ||||
| 					2); | ||||
| 			buildCustomizeElement(new JPanel(), | ||||
| 					new JButton(), | ||||
| 					new JTextPane(), | ||||
| 					theme, | ||||
| 					theme.getInteractableBackgroundColor(), | ||||
| 					"Interactable Background", | ||||
| 					4); | ||||
| 					3); | ||||
| 			buildCustomizeElement(new JPanel(), | ||||
| 					new JButton(), | ||||
| 					new JTextPane(), | ||||
| 					theme, | ||||
| 					theme.getMessageColorChat(), | ||||
| 					"Messages Chat", | ||||
| 					5); | ||||
| 					4); | ||||
| 			buildCustomizeElement(new JPanel(), | ||||
| 					new JButton(), | ||||
| 					new JTextPane(), | ||||
| 					theme, | ||||
| 					theme.getDateColorChat(), | ||||
| 					"Date Chat", | ||||
| 					6); | ||||
| 					5); | ||||
| 			buildCustomizeElement(new JPanel(), | ||||
| 					new JButton(), | ||||
| 					new JTextPane(), | ||||
| 					theme, | ||||
| 					theme.getSelectionColor(), | ||||
| 					"Selection", | ||||
| 					7); | ||||
| 					6); | ||||
| 			buildCustomizeElement(new JPanel(), | ||||
| 					new JButton(), | ||||
| 					new JTextPane(), | ||||
| 					theme, | ||||
| 					theme.getTypingMessageColor(), | ||||
| 					"Typing Message", | ||||
| 					8); | ||||
| 					7); | ||||
| 			buildCustomizeElement(new JPanel(), | ||||
| 					new JButton(), | ||||
| 					new JTextPane(), | ||||
| 					theme, | ||||
| 					theme.getUserNameColor(), | ||||
| 					"User Names", | ||||
| 					9); | ||||
| 					8); | ||||
|  | ||||
| 			GridBagConstraints gbc_colorsPanel = new GridBagConstraints(); | ||||
| 			gbc_colorsPanel.fill		= GridBagConstraints.HORIZONTAL; | ||||
| @@ -438,7 +438,7 @@ public class SettingsScreen extends JDialog { | ||||
| 				theme, | ||||
| 				theme.getBackgroundColor(), | ||||
| 				"Background", | ||||
| 				1); | ||||
| 				0); | ||||
| 		buildCustomizeElement(new JPanel(), | ||||
|  | ||||
| 				new JButton(), | ||||
| @@ -446,7 +446,7 @@ public class SettingsScreen extends JDialog { | ||||
| 				theme, | ||||
| 				theme.getCellColor(), | ||||
| 				"Cells", | ||||
| 				2); | ||||
| 				1); | ||||
| 		buildCustomizeElement(new JPanel(), | ||||
|  | ||||
| 				new JButton(), | ||||
| @@ -454,7 +454,7 @@ public class SettingsScreen extends JDialog { | ||||
| 				theme, | ||||
| 				theme.getInteractableForegroundColor(), | ||||
| 				"Interactable Foreground", | ||||
| 				3); | ||||
| 				2); | ||||
| 		buildCustomizeElement(new JPanel(), | ||||
|  | ||||
| 				new JButton(), | ||||
| @@ -462,7 +462,7 @@ public class SettingsScreen extends JDialog { | ||||
| 				theme, | ||||
| 				theme.getInteractableBackgroundColor(), | ||||
| 				"Interactable Background", | ||||
| 				4); | ||||
| 				3); | ||||
| 		buildCustomizeElement(new JPanel(), | ||||
|  | ||||
| 				new JButton(), | ||||
| @@ -470,7 +470,7 @@ public class SettingsScreen extends JDialog { | ||||
| 				theme, | ||||
| 				theme.getMessageColorChat(), | ||||
| 				"Messages Chat", | ||||
| 				5); | ||||
| 				4); | ||||
| 		buildCustomizeElement(new JPanel(), | ||||
|  | ||||
| 				new JButton(), | ||||
| @@ -478,7 +478,7 @@ public class SettingsScreen extends JDialog { | ||||
| 				theme, | ||||
| 				theme.getDateColorChat(), | ||||
| 				"Date Chat", | ||||
| 				6); | ||||
| 				5); | ||||
| 		buildCustomizeElement(new JPanel(), | ||||
|  | ||||
| 				new JButton(), | ||||
| @@ -486,7 +486,7 @@ public class SettingsScreen extends JDialog { | ||||
| 				theme, | ||||
| 				theme.getSelectionColor(), | ||||
| 				"Selection", | ||||
| 				7); | ||||
| 				6); | ||||
| 		buildCustomizeElement(new JPanel(), | ||||
|  | ||||
| 				new JButton(), | ||||
| @@ -494,7 +494,7 @@ public class SettingsScreen extends JDialog { | ||||
| 				theme, | ||||
| 				theme.getTypingMessageColor(), | ||||
| 				"Typing Message", | ||||
| 				8); | ||||
| 				7); | ||||
| 		buildCustomizeElement(new JPanel(), | ||||
|  | ||||
| 				new JButton(), | ||||
| @@ -502,7 +502,7 @@ public class SettingsScreen extends JDialog { | ||||
| 				theme, | ||||
| 				theme.getUserNameColor(), | ||||
| 				"User Names", | ||||
| 				9); | ||||
| 				8); | ||||
|  | ||||
| 		GridBagConstraints gbc_createNewTheme = new GridBagConstraints(); | ||||
| 		gbc_createNewTheme.gridx	= 0; | ||||
| @@ -532,18 +532,11 @@ public class SettingsScreen extends JDialog { | ||||
| 					System.out.println(color.getRGB()); | ||||
| 					// TODO: When Theme changed in same settings screen, color variable doesnt | ||||
| 					// update. | ||||
| 					Color[] colorsArray = temporaryTheme.getAllColors(); | ||||
| 					for (int i = 0; i < colorsArray.length; i++) { | ||||
| 						if (color.getRGB() == colorsArray[i].getRGB()) { | ||||
| 							temporaryTheme.setColor(i, newColor); | ||||
| 						temporaryTheme.setColor(yIndex, newColor); | ||||
| 						colorChanged = true; | ||||
| 						createNewThemeButton.setEnabled(true); | ||||
| 							break; | ||||
| 						} | ||||
|  | ||||
| 					}					 | ||||
| 					button.setBackground(newColor); | ||||
| 				} | ||||
|  | ||||
| 			} catch (Exception e) { | ||||
| 				logger.info("An error occured while opening Color Chooser: " + e); | ||||
| @@ -551,12 +544,9 @@ public class SettingsScreen extends JDialog { | ||||
| 			} | ||||
| 		}); | ||||
|  | ||||
| 		panel.add(textPane); | ||||
| 		panel.add(button); | ||||
| 		panel.setBackground(theme.getCellColor()); | ||||
| 		panel.setAlignmentX(Component.LEFT_ALIGNMENT); | ||||
| 	panel.add(textPane);panel.add(button);panel.setBackground(theme.getCellColor());panel.setAlignmentX(Component.LEFT_ALIGNMENT); | ||||
|  | ||||
| 	colorsPanel.add(panel); | ||||
| 	} | ||||
| } | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -44,8 +44,8 @@ public class Theme implements Serializable { | ||||
| 	} | ||||
| 	 | ||||
| 	public Theme(String name, Theme other) { | ||||
| 		this(name, other.backgroundColor, other.cellColor, other.interactableBackgroundColor, | ||||
| 				other.interactableForegroundColor, other.messageColorChat, other.dateColorChat, other.selectionColor, | ||||
| 		this(name, other.backgroundColor, other.cellColor, other.interactableForegroundColor, | ||||
| 				other.interactableBackgroundColor, other.messageColorChat, other.dateColorChat, other.selectionColor, | ||||
| 				other.typingMessageColor, other.userNameColor); | ||||
| 	} | ||||
|  | ||||
| @@ -109,25 +109,6 @@ public class Theme implements Serializable { | ||||
| 	 */ | ||||
| 	public Color getUserNameColor() { return userNameColor; } | ||||
|  | ||||
| 	/** | ||||
| 	 * @return a color array containing all colors of this theme | ||||
| 	 * @since Envoy v0.2-alpha | ||||
| 	 */ | ||||
| 	public Color[] getAllColors() { | ||||
| 		Color[] c = new Color[9]; | ||||
| 		c[0]	= backgroundColor; | ||||
| 		c[1]	= cellColor; | ||||
| 		c[2]	= interactableForegroundColor; | ||||
| 		c[3]	= interactableBackgroundColor; | ||||
| 		c[4]	= messageColorChat; | ||||
| 		c[5]	= dateColorChat; | ||||
| 		c[6]	= selectionColor; | ||||
| 		c[7]	= typingMessageColor; | ||||
| 		c[8]	= userNameColor; | ||||
|  | ||||
| 		return c; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * Sets the a specific {@link Color} in this theme to a new {@link Color} | ||||
| 	 *  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 DieGurke
					DieGurke