Author: jflesch
Date: 2007-07-27 22:57:23 +0000 (Fri, 27 Jul 2007)
New Revision: 14403

Modified:
   trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties
   trunk/apps/Thaw/src/thaw/i18n/thaw.properties
   trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties
   trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java
   trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java
   trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKBoard.java
   trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKBoardFactory.java
   trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKMessage.java
   trunk/apps/Thaw/src/thaw/plugins/miniFrost/interfaces/Board.java
   trunk/apps/Thaw/src/thaw/plugins/miniFrost/interfaces/BoardFactory.java
   trunk/apps/Thaw/src/thaw/plugins/signatures/Identity.java
Log:
Allow to filter the messages according to the trust level of their signature

Modified: trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties
===================================================================
--- trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties     2007-07-27 
21:14:03 UTC (rev 14402)
+++ trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties     2007-07-27 
22:57:23 UTC (rev 14403)
@@ -460,7 +460,7 @@
 thaw.plugin.signature.trustLevel.check=VALIDE
 thaw.plugin.signature.trustLevel.bad=MAUVAIS
 thaw.plugin.signature.trustLevel.evil=DIABOLIQUE
-thaw.plugin.signature.trustLevel.none=(aucun)
+thaw.plugin.signature.trustLevel.none=non-sign?
 thaw.plugin.signature.trustLevel.me=MOI

 thaw.plugin.signature.import=Importer une identit?
@@ -563,3 +563,6 @@
 thaw.plugin.miniFrost.attachments=Pieces jointes
 thaw.plugin.miniFrost.downloadAll=T?l?charger tout les fichiers joints

+thaw.plugin.miniFrost.hideStatusBelow=Cacher les status inf?rieurs ?:
+thaw.plugin.miniFrost.seeUnsigned=Voir les messages non-sign?s
+

Modified: trunk/apps/Thaw/src/thaw/i18n/thaw.properties
===================================================================
--- trunk/apps/Thaw/src/thaw/i18n/thaw.properties       2007-07-27 21:14:03 UTC 
(rev 14402)
+++ trunk/apps/Thaw/src/thaw/i18n/thaw.properties       2007-07-27 22:57:23 UTC 
(rev 14403)
@@ -473,8 +473,7 @@
 thaw.plugin.signature.trustLevel.check=CHECK
 thaw.plugin.signature.trustLevel.bad=BAD
 thaw.plugin.signature.trustLevel.evil=EVIL
-# the following one is used for the ignorance level
-thaw.plugin.signature.trustLevel.none=(none)
+thaw.plugin.signature.trustLevel.none=non-signed
 thaw.plugin.signature.trustLevel.me=ME


@@ -578,3 +577,6 @@

 thaw.plugin.miniFrost.attachments=Attachment(s)
 thaw.plugin.miniFrost.downloadAll=Download all the files attached
+
+thaw.plugin.miniFrost.hideStatusBelow=Hide status lower than:
+thaw.plugin.miniFrost.seeUnsigned=See unsigned messages

Modified: trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties
===================================================================
--- trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties    2007-07-27 21:14:03 UTC 
(rev 14402)
+++ trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties    2007-07-27 22:57:23 UTC 
(rev 14403)
@@ -460,7 +460,7 @@
 thaw.plugin.signature.trustLevel.check=VALIDE
 thaw.plugin.signature.trustLevel.bad=MAUVAIS
 thaw.plugin.signature.trustLevel.evil=DIABOLIQUE
-thaw.plugin.signature.trustLevel.none=(aucun)
+thaw.plugin.signature.trustLevel.none=non-sign\u00e9
 thaw.plugin.signature.trustLevel.me=MOI

 thaw.plugin.signature.import=Importer une identit\u00e9
@@ -563,3 +563,6 @@
 thaw.plugin.miniFrost.attachments=Pieces jointes
 thaw.plugin.miniFrost.downloadAll=T\u00e9l\u00e9charger tout les fichiers 
joints

+thaw.plugin.miniFrost.hideStatusBelow=Cacher les status inf\u00e9rieurs \u00e0:
+thaw.plugin.miniFrost.seeUnsigned=Voir les messages non-sign\u00e9s
+

Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java        
2007-07-27 21:14:03 UTC (rev 14402)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java        
2007-07-27 22:57:23 UTC (rev 14403)
@@ -439,23 +439,10 @@


        private boolean nextUnread() {
-               if (msg == null) {
-                       Logger.warning(this, "No message selected atm ; can't 
get the next unread message");
-                       return false;
-               }
-               Message newMsg = msg.getBoard().getNextUnreadMessage();
-
-               if (newMsg != null) {
-                       setMessage(newMsg);
-                       newMsg.setRead(true);
-                       mainPanel.getMessageTreeTable().refresh();
-                       mainPanel.getBoardTree().refresh(newMsg.getBoard());
-                       //putScrollBarAtBottom();
-                       setMessage(newMsg);
-                       return true;
-               }
-
-               return false;
+               /**
+                * because it knows the filter rules
+                */
+               return mainPanel.getMessageTreeTable().nextUnread();
        }

        public void actionPerformed(ActionEvent e) {

Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java    
2007-07-27 21:14:03 UTC (rev 14402)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java    
2007-07-27 22:57:23 UTC (rev 14403)
@@ -51,6 +51,8 @@
 import thaw.core.I18n;
 import thaw.core.Logger;

+import thaw.plugins.signatures.Identity;
+
 import thaw.plugins.miniFrost.interfaces.Author;
 import thaw.plugins.miniFrost.interfaces.Board;
 import thaw.plugins.miniFrost.interfaces.BoardFactory;
@@ -109,6 +111,9 @@
        private int orderBy;
        private boolean desc;

+       private JCheckBox seeUnsigned;
+       private JComboBox minTrustLevel;
+       private int minTrustLevelInt;

        public MessageTreeTable(MiniFrostPanel mainPanel) {
                this.mainPanel = mainPanel;
@@ -182,14 +187,44 @@
                panel.add(new JScrollPane(table), BorderLayout.CENTER);


-               /* some filters */
+               /** some filters **/

+               /* archived */
+
                seeArchived = new 
JCheckBox(I18n.getMessage("thaw.plugin.miniFrost.seeArchived"));
                seeArchived.setSelected(false);
                seeArchived.addActionListener(this);

+               /* trust level */
+
+               String minTrustLvlStr = 
mainPanel.getConfig().getValue("minTrustLevel");
+               minTrustLevelInt = 
thaw.plugins.Signatures.DEFAULT_MIN_TRUST_LEVEL;
+
+               if (minTrustLvlStr != null)
+                       minTrustLevelInt = Integer.parseInt(minTrustLvlStr);
+
+
+               JPanel trustLevelFiltersPanel = new JPanel(new BorderLayout(30, 
30));
+
+               JPanel minTrustLevelPanel = new JPanel(new BorderLayout(3, 3));
+               minTrustLevelPanel.add(new 
JLabel(I18n.getMessage("thaw.plugin.miniFrost.hideStatusBelow")), 
BorderLayout.WEST);
+               minTrustLevel = new JComboBox(Identity.trustLevelUserStr);
+               
minTrustLevel.setSelectedItem(Identity.getTrustLevelStr(minTrustLevelInt));
+               minTrustLevel.addActionListener(this);
+               minTrustLevelPanel.add(minTrustLevel, BorderLayout.CENTER);
+
+               seeUnsigned = new 
JCheckBox(I18n.getMessage("thaw.plugin.miniFrost.seeUnsigned"), true);
+               seeUnsigned.addActionListener(this);
+
+
+               trustLevelFiltersPanel.add(minTrustLevelPanel, 
BorderLayout.CENTER);
+               trustLevelFiltersPanel.add(seeUnsigned, BorderLayout.EAST);
+
+
                JPanel southPanel = new JPanel(new BorderLayout(5, 5));
+
                southPanel.add(new JLabel(""), BorderLayout.CENTER);
+               southPanel.add(trustLevelFiltersPanel, BorderLayout.WEST);
                southPanel.add(seeArchived, BorderLayout.EAST);

                panel.add(southPanel, BorderLayout.SOUTH);
@@ -411,7 +446,9 @@

                if ((!allBoards) && targetBoard != null) {
                        msgs = targetBoard.getMessages(keywords, orderBy,
-                                                      desc, 
seeArchived.isSelected());
+                                                      desc, 
seeArchived.isSelected(),
+                                                      seeUnsigned.isSelected(),
+                                                      minTrustLevelInt);
                }

                if (allBoards) {
@@ -421,7 +458,9 @@

                        for (int i = 0 ; i < factories.length ; i++) {
                                Vector boardMsgs = 
factories[i].getAllMessages(keywords, orderBy, desc,
-                                                                              
seeArchived.isSelected());
+                                                                              
seeArchived.isSelected(),
+                                                                              
seeUnsigned.isSelected(),
+                                                                              
minTrustLevelInt);
                                msgs.addAll(boardMsgs);
                        }
                }
@@ -448,11 +487,36 @@
                }
        }

+       public boolean nextUnread() {

+               if (targetBoard == null) {
+                       Logger.warning(this, "No message selected atm ; can't 
get the next unread message");
+                       return false;
+               }

+               Message newMsg = 
targetBoard.getNextUnreadMessage(seeUnsigned.isSelected(),
+                                                                 
minTrustLevelInt);
+
+               if (newMsg != null) {
+                       mainPanel.getMessagePanel().setMessage(newMsg);
+                       newMsg.setRead(true);
+                       refresh();
+                       mainPanel.getBoardTree().refresh(targetBoard);
+                       mainPanel.displayMessage();
+
+                       return true;
+               }
+
+               return false;
+       }
+
+
        public void actionPerformed(ActionEvent e) {
-               if (e.getSource() == seeArchived) {
+               if (e.getSource() == seeUnsigned
+                   || e.getSource() == minTrustLevel
+                   || e.getSource() == seeArchived) {

+                       minTrustLevelInt = 
Identity.getTrustLevel((String)(minTrustLevel.getSelectedItem()));
                        refresh();

                } else if (e.getSource() == searchButton
@@ -466,21 +530,8 @@

                } else if (e.getSource() == nextUnread) {

-                       if (targetBoard == null) {
-                               Logger.warning(this, "No message selected atm ; 
can't get the next unread message");
-                               return;
-                       }
+                       nextUnread();

-                       Message newMsg = targetBoard.getNextUnreadMessage();
-
-                       if (newMsg != null) {
-                               mainPanel.getMessagePanel().setMessage(newMsg);
-                               newMsg.setRead(true);
-                               refresh();
-                               mainPanel.getBoardTree().refresh(targetBoard);
-                               mainPanel.displayMessage();
-                       }
-
                } else if (e.getSource() == actions) {
                        int sel = actions.getSelectedIndex();
                        boolean[] selected = model.getSelection();

Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKBoard.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKBoard.java   
2007-07-27 21:14:03 UTC (rev 14402)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKBoard.java   
2007-07-27 22:57:23 UTC (rev 14403)
@@ -13,8 +13,11 @@
 import thaw.core.Logger;
 import thaw.plugins.Hsqldb;

+import thaw.plugins.signatures.Identity;
+
 import thaw.plugins.miniFrost.interfaces.Board;

+
 public class KSKBoard
        implements Board, Runnable, Observer {

@@ -66,8 +69,12 @@
        public Vector getMessages(String[] keywords,
                                  int orderBy,
                                  boolean desc,
-                                 boolean archived) {
-               return getMessages(id, factory, this, keywords, orderBy, desc, 
archived, false);
+                                 boolean archived,
+                                 boolean unsigned,
+                                 int minTrustLevel) {
+               return getMessages(id, factory, this, keywords,
+                                  orderBy, desc, archived, unsigned,
+                                  minTrustLevel, false);
        }


@@ -78,16 +85,18 @@
                                            int orderBy,
                                            boolean desc,
                                            boolean archived,
+                                           boolean unsigned,
+                                           int minTrustLevel,
                                            boolean allBoards) {

                String orderColumn;

                if (orderBy == Board.ORDER_SUBJECT)
-                       orderColumn = "LOWER(subject)";
+                       orderColumn = "LOWER(frostKSKMessages.subject)";
                else if (orderBy == Board.ORDER_SENDER)
-                       orderColumn = "LOWER(nick)";
+                       orderColumn = "LOWER(frostKSKMessages.nick)";
                else
-                       orderColumn = "date";
+                       orderColumn = "frostKSKMessages.date";

                if (desc)
                        orderColumn += " DESC";
@@ -95,26 +104,36 @@
                String whereBase = "WHERE true AND ";

                if (!allBoards) {
-                       whereBase = "WHERE boardId = ? AND ";
+                       whereBase = "WHERE frostKSKMessages.boardId = ? AND ";
                }


                String archivedStr = " true ";

                if (!archived)
-                       archivedStr = "archived = FALSE ";
+                       archivedStr = "frostKSKMessages.archived = FALSE ";


                String keywordsStr = "";

                if (keywords != null) {
                        for (int i = 0 ; i < keywords.length ; i++) {
-                               keywordsStr += " AND (LOWER(subject) LIKE ? "+
-                                       "  OR LOWER(content) LIKE ? "+
-                                       "  OR LOWER(nick) LIKE ?)";
+                               keywordsStr += " AND 
(LOWER(frostKSKMessages.subject) LIKE ? "+
+                                       "  OR LOWER(frostKSKMessages.content) 
LIKE ? "+
+                                       "  OR LOWER(frostKSKMessages.nick) LIKE 
?)";
                        }
                }

+
+               String trustLvlStr;
+
+               if (unsigned)
+                       trustLvlStr = " AND (signatures.trustLevel IS NULL "+
+                               "  OR signatures.trustLevel >= 
"+Integer.toString(minTrustLevel)+") ";
+               else
+                       trustLvlStr = " AND signatures.trustLevel >= 
"+Integer.toString(minTrustLevel)+" ";
+
+
                Vector v = new Vector();

                try {
@@ -123,20 +142,31 @@
                        synchronized(db.dbLock) {
                                PreparedStatement st;

-                               st = 
db.getConnection().prepareStatement("SELECT id, "+
-                                                                        "      
 subject, "+
-                                                                        "      
 nick, "+
-                                                                        "      
 sigId, "+
-                                                                        "      
 date, "+
-                                                                        "      
 rev, "+
-                                                                        "      
 read, "+
-                                                                        "      
 archived, "+
-                                                                        "      
 boardId "+
-                                                                        "FROM 
frostKSKMessages "+
-                                                                        
whereBase+
-                                                                        
archivedStr+
-                                                                        
keywordsStr+
-                                                                        "ORDER 
BY "+orderColumn);
+                               String query = "SELECT frostKSKMessages.id, "+
+                                       "       frostKSKMessages.subject, "+
+                                       "       frostKSKMessages.nick, "+
+                                       "       frostKSKMessages.sigId, "+
+                                       "       frostKSKMessages.date, "+
+                                       "       frostKSKMessages.rev, "+
+                                       "       frostKSKMessages.read, "+
+                                       "       frostKSKMessages.archived, "+
+                                       "       frostKSKMessages.boardId, "+
+                                       "       signatures.nickName, "+
+                                       "       signatures.publicKey, "+
+                                       "       signatures.privateKey, "+
+                                       "       signatures.isDup, "+
+                                       "       signatures.trustLevel "+
+                                       "FROM frostKSKMessages LEFT OUTER JOIN 
signatures "+
+                                       " ON frostKSKMessages.sigId = 
signatures.id "+
+                                       whereBase+
+                                       archivedStr+
+                                       keywordsStr+
+                                       trustLvlStr+
+                                       "ORDER BY "+orderColumn;
+
+
+                               st = db.getConnection().prepareStatement(query);
+
                                int i = 1;

                                if (!allBoards)
@@ -159,10 +189,21 @@
                                                            board :
                                                            
factory.getBoard(set.getInt("boardId")));

+                                       int sigId = set.getInt("sigId");
+                                       String nick = set.getString("nickname");
+
                                        v.add(new KSKMessage(set.getInt("id"),
                                                             
set.getString("subject"),
                                                             
set.getString("nick"),
-                                                            
set.getInt("sigId"),
+                                                            sigId,
+                                                            (nick != null ?
+                                                             new Identity(db, 
sigId,
+                                                                          nick,
+                                                                          
set.getString("publicKey"),
+                                                                          
set.getString("privateKey"),
+                                                                          
set.getBoolean("isDup"),
+                                                                          
set.getInt("trustLevel"))
+                                                             : null),
                                                             
set.getTimestamp("date"),
                                                             set.getInt("rev"),
                                                             
set.getBoolean("read"),
@@ -179,28 +220,61 @@
        }


-       public thaw.plugins.miniFrost.interfaces.Message getNextUnreadMessage() 
{
+       public thaw.plugins.miniFrost.interfaces.Message 
getNextUnreadMessage(boolean unsigned,
+                                                                             
int minTrustLevel) {
+               String trustLvlStr;
+
+               if (unsigned)
+                       trustLvlStr = " AND (signatures.trustLevel IS NULL "+
+                               "  OR signatures.trustLevel >= 
"+Integer.toString(minTrustLevel)+") ";
+               else
+                       trustLvlStr = " AND signatures.trustLevel >= 
"+Integer.toString(minTrustLevel)+" ";
+
+
                try {
                        Hsqldb db = factory.getDb();

                        synchronized(db.dbLock) {
                                PreparedStatement st;

-                               st = 
db.getConnection().prepareStatement("SELECT id, subject, nick, "+
-                                                                        "      
 sigId, date, rev "+
-                                                                        "FROM 
frostKSKMessages "+
-                                                                        "WHERE 
boardId = ? AND "+
-                                                                        
"archived = FALSE AND read = FALSE "+
-                                                                        "ORDER 
BY date LIMIT 1");
+                               String query = "SELECT frostKSKMessages.id AS 
id, "+
+                                       "       frostKSKMessages.subject AS 
subject, "+
+                                       "       frostKSKMessages.nick AS nick, 
"+
+                                       "       frostKSKMessages.sigId AS 
sigId, "+
+                                       "       frostKSKMessages.date AS date, 
"+
+                                       "       frostKSKMessages.rev AS rev, "+
+                                       "       signatures.nickName AS sigNick, 
"+
+                                       "       signatures.publicKey AS 
sigPublicKey, "+
+                                       "       signatures.privateKey AS 
sigPrivateKey, "+
+                                       "       signatures.isDup AS sigIsDup, "+
+                                       "       signatures.trustLevel AS 
sigTrustLevel "+
+                                       "FROM frostKSKMessages LEFT OUTER JOIN 
signatures "+
+                                       " ON frostKSKMessages.sigId = 
signatures.id "+
+                                       "WHERE frostKSKMessages.boardId = ? AND 
"+
+                                       "frostKSKMessages.archived = FALSE AND 
frostKSKMessages.read = FALSE "+
+                                       trustLvlStr+
+                                       "ORDER BY frostKSKMessages.date LIMIT 
1";
+
+                               st = db.getConnection().prepareStatement(query);
                                st.setInt(1, id);

                                ResultSet set = st.executeQuery();

                                if (set.next()) {
+                                       int sigId = set.getInt("sigId");
+
                                        return new KSKMessage(set.getInt("id"),
                                                              
set.getString("subject"),
                                                              
set.getString("nick"),
-                                                             
set.getInt("sigId"),
+                                                             sigId,
+                                                             (sigId > 0 ?
+                                                              new Identity(db, 
sigId,
+                                                                          
set.getString("sigNick"),
+                                                                          
set.getString("sigPublicKey"),
+                                                                          
set.getString("sigPrivateKey"),
+                                                                          
set.getBoolean("sigIsDup"),
+                                                                          
set.getInt("sigTrustLevel"))
+                                                              : null),
                                                              
set.getTimestamp("date"),
                                                              set.getInt("rev"),
                                                              false, false,

Modified: 
trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKBoardFactory.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKBoardFactory.java    
2007-07-27 21:14:03 UTC (rev 14402)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKBoardFactory.java    
2007-07-27 22:57:23 UTC (rev 14403)
@@ -222,9 +222,11 @@


        public Vector getAllMessages(String[] keywords, int orderBy,
-                                    boolean desc, boolean archived) {
+                                    boolean desc, boolean archived,
+                                    boolean unsigned, int minTrustLevel) {
                return KSKBoard.getMessages(-1, this, null, keywords,
-                                           orderBy, desc, archived, true);
+                                           orderBy, desc, archived,
+                                           unsigned, minTrustLevel, true);
        }



Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKMessage.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKMessage.java 
2007-07-27 21:14:03 UTC (rev 14402)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/frostKSK/KSKMessage.java 
2007-07-27 22:57:23 UTC (rev 14403)
@@ -170,22 +170,15 @@

        public KSKMessage(int id,
                          String subject, String nick,
-                         int sigId,
+                         int sigId, Identity identity,
                          java.util.Date date, int rev,
                          boolean read, boolean archived,
                          KSKBoard board) {
                this.id        = id;
                this.subject   = subject;

-               Identity identity = null;
-
-               if (sigId >= 0)
-                       identity = 
Identity.getIdentity(board.getFactory().getDb(),
-                                                       sigId);
-
                this.author    = new KSKAuthor(nick, identity);

-
                this.sigId     = sigId;
                this.date      = date;
                this.rev       = rev;

Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/interfaces/Board.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/interfaces/Board.java    
2007-07-27 21:14:03 UTC (rev 14402)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/interfaces/Board.java    
2007-07-27 22:57:23 UTC (rev 14403)
@@ -46,13 +46,15 @@
        public Vector getMessages(String[] keywords,
                                  int orderBy,
                                  boolean desc,
-                                 boolean archived);
+                                 boolean archived,
+                                 boolean unsigned,
+                                 int minTrustLevel);


        /**
         * @return null if none
         */
-       public Message getNextUnreadMessage();
+       public Message getNextUnreadMessage(boolean unsigned, int 
minTrustLevel);


        /**

Modified: 
trunk/apps/Thaw/src/thaw/plugins/miniFrost/interfaces/BoardFactory.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/interfaces/BoardFactory.java     
2007-07-27 21:14:03 UTC (rev 14402)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/interfaces/BoardFactory.java     
2007-07-27 22:57:23 UTC (rev 14403)
@@ -28,7 +28,8 @@
         * @param orderBy see Board
         */
        public Vector getAllMessages(String[] keywords, int orderBy,
-                                    boolean desc, boolean archived);
+                                    boolean desc, boolean archived,
+                                    boolean unsigned, int minTrustLevel);

        /**
         * display the dialog asking for a name, etc.

Modified: trunk/apps/Thaw/src/thaw/plugins/signatures/Identity.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/signatures/Identity.java   2007-07-27 
21:14:03 UTC (rev 14402)
+++ trunk/apps/Thaw/src/thaw/plugins/signatures/Identity.java   2007-07-27 
22:57:23 UTC (rev 14403)
@@ -103,6 +103,16 @@
                        String publicKey, String privateKey,
                        boolean isDup,
                        int trustLevel) {
+
+               if (nick == null || publicKey == null) {
+                       Logger.error(this, "missing value ?!");
+
+                       if (nick == null)
+                               Logger.error(this, "nick missing");
+                       if (publicKey == null)
+                               Logger.error(this, "publicKey missing");
+               }
+
                this.db = db;
                this.id = id;
                this.nick = nick;
@@ -113,6 +123,7 @@

                //hash = 
Base64.encode(SHA256.digest(publicKey.getBytes("UTF-8")));
                initFrostCrypt();
+
                hash = frostCrypt.digest(publicKey);
        }

@@ -142,23 +153,34 @@
                return trustLevel;
        }

-       public String getTrustLevelStr() {
+       public static int getTrustLevel(String str) {
                int i;

+               for (i = 0 ; i < trustLevelStr.length ; i++) {
+                       if (trustLevelStr[i].equals(str))
+                               return trustLevelInt[i];
+               }
+
+               return 0;
+
+       }
+
+       public String getTrustLevelStr() {
                if (privateKey != null) {
                        return "thaw.plugin.signature.trustLevel.me";
                }

+               return getTrustLevelStr(trustLevel);
+       }
+
+       public static String getTrustLevelStr(int trustLevel) {
+               int i;
+
                for (i = 0 ; i < trustLevelInt.length ; i++) {
                        if (trustLevelInt[i] == trustLevel)
-                               break;
+                               return trustLevelStr[i];
                }

-               if (i < trustLevelInt.length) {
-                       return trustLevelStr[i];
-               }
-
-
                return "[?]";
        }



Reply via email to