Show some information in ContacTView (FN/N, email, phone, notes)
[jvcard.git] / src / be / nikiroo / jvcard / tui / UiColors.java
index 75c074a3609aed4ca602b45d646672f9a8ff5622..eadcd2985ca0546af2ab39126d4cb048ac5181ae 100644 (file)
@@ -18,6 +18,7 @@ public class UiColors {
 
        private Map<Element, TextColor> mapForegroundColor = null;
        private Map<Element, TextColor> mapBackgroundColor = null;
+       private boolean utf = true;
 
        /**
         * Get the (unique) instance of this class.
@@ -34,7 +35,13 @@ public class UiColors {
        }
 
        public enum Element {
-               ACTION_KEY, ACTION_DESC, LINE_MESSAGE, LINE_MESSAGE_ERR, LINE_MESSAGE_QUESTION, LINE_MESSAGE_ANS, CONTACT_LINE, CONTACT_LINE_SELECTED;
+               DEFAULT, //
+               TITLE_MAIN, TITLE_VARIABLE, TITLE_COUNT, //
+               ACTION_KEY, ACTION_DESC, //
+               LINE_MESSAGE, LINE_MESSAGE_ERR, LINE_MESSAGE_QUESTION, LINE_MESSAGE_ANS, //
+               CONTACT_LINE, CONTACT_LINE_SEPARATOR, CONTACT_LINE_SELECTED, CONTACT_LINE_SEPARATOR_SELECTED, CONTACT_LINE_DIRTY, CONTACT_LINE_DIRTY_SELECTED, //
+               VIEW_CONTACT_NAME, VIEW_CONTACT_NORMAL, VIEW_CONTACT_NOTES_TITLE, //
+               ;
 
                /**
                 * Get the foreground colour of this element.
@@ -63,7 +70,29 @@ public class UiColors {
                }
        }
 
+       /**
+        * Check if unicode characters should be used.
+        * 
+        * @return TRUE to allow unicode
+        */
+       public boolean isUnicode() {
+               return utf;
+       }
+
+       /**
+        * Allow or disallow unicode characters in the program.
+        * 
+        * @param utf
+        *            TRUE to allow unuciode, FALSE to only allow ASCII characters
+        */
+       public void setUnicode(boolean utf) {
+               this.utf = utf;
+       }
+
        private Label createLabel(Element el, String text) {
+               if (text == null)
+                       text = "";
+
                Label lbl = new Label(text);
                themeLabel(el, lbl);
                return lbl;
@@ -79,7 +108,7 @@ public class UiColors {
                        return mapForegroundColor.get(el);
                }
 
-               return TextColor.ANSI.BLUE;
+               return TextColor.ANSI.BLACK;
        }
 
        private TextColor getBackgroundColor(Element el) {
@@ -87,7 +116,7 @@ public class UiColors {
                        return mapBackgroundColor.get(el);
                }
 
-               return TextColor.ANSI.BLUE;
+               return TextColor.ANSI.WHITE;
        }
 
        private UiColors() {
@@ -101,6 +130,10 @@ public class UiColors {
                addEl(Element.CONTACT_LINE, TextColor.ANSI.WHITE, TextColor.ANSI.BLACK);
                addEl(Element.CONTACT_LINE_SELECTED, TextColor.ANSI.WHITE,
                                TextColor.ANSI.BLUE);
+               addEl(Element.CONTACT_LINE_SEPARATOR, TextColor.ANSI.RED,
+                               TextColor.ANSI.BLACK);
+               addEl(Element.CONTACT_LINE_SEPARATOR_SELECTED, TextColor.ANSI.RED,
+                               TextColor.ANSI.BLUE);
                addEl(Element.LINE_MESSAGE, TextColor.ANSI.BLUE, TextColor.ANSI.WHITE);
                addEl(Element.LINE_MESSAGE_ERR, TextColor.ANSI.RED,
                                TextColor.ANSI.WHITE);
@@ -108,11 +141,19 @@ public class UiColors {
                                TextColor.ANSI.WHITE);
                addEl(Element.LINE_MESSAGE_ANS, TextColor.ANSI.BLUE,
                                TextColor.ANSI.BLACK);
+               addEl(Element.TITLE_MAIN, TextColor.ANSI.WHITE, TextColor.ANSI.BLUE);
+               addEl(Element.TITLE_VARIABLE, TextColor.ANSI.GREEN, TextColor.ANSI.BLUE);
+               addEl(Element.TITLE_COUNT, TextColor.ANSI.RED, TextColor.ANSI.BLUE);
+               addEl(Element.VIEW_CONTACT_NAME, TextColor.ANSI.BLACK,
+                               TextColor.ANSI.WHITE);
+               addEl(Element.VIEW_CONTACT_NORMAL, TextColor.ANSI.WHITE,
+                               TextColor.ANSI.BLACK);
+               addEl(Element.VIEW_CONTACT_NOTES_TITLE, TextColor.ANSI.BLACK,
+                               TextColor.ANSI.WHITE);
        }
 
        private void addEl(Element el, TextColor fore, TextColor back) {
                mapForegroundColor.put(el, fore);
                mapBackgroundColor.put(el, back);
        }
-
 }