Show some information in ContacTView (FN/N, email, phone, notes)
[jvcard.git] / src / be / nikiroo / jvcard / tui / UiColors.java
index 834641da514d1fcdf2ebf93342d3f4daa127822c..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,11 +35,13 @@ public class UiColors {
        }
 
        public enum Element {
-               DEFAULT, // 
+               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;
+               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.
@@ -67,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;
@@ -117,14 +142,18 @@ public class UiColors {
                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_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);
        }
-
 }