Update of /cvsroot/mahogany/M/src/gui
In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv22178/src/gui

Modified Files:
        ClickURL.cpp 
Log Message:
added commands to add address to whitelist to the popup menu

Index: ClickURL.cpp
===================================================================
RCS file: /cvsroot/mahogany/M/src/gui/ClickURL.cpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -b -u -2 -r1.21 -r1.22
--- ClickURL.cpp        21 Mar 2004 02:26:11 -0000      1.21
+++ ClickURL.cpp        24 Jun 2006 01:13:06 -0000      1.22
@@ -42,4 +42,5 @@
 #include "gui/wxMenuDefs.h"
 
+#include "Address.h"
 #include "Composer.h"
 #include "Collect.h"
@@ -54,4 +55,23 @@
 
 // ----------------------------------------------------------------------------
+// menu item ids
+// ----------------------------------------------------------------------------
+
+enum
+{
+   WXMENU_URL_BEGIN,
+   WXMENU_URL_OPEN,
+   WXMENU_URL_OPEN_NEW,
+   WXMENU_URL_COMPOSE,
+   WXMENU_URL_REPLYTO,
+   WXMENU_URL_FORWARDTO,
+   WXMENU_ADD_TO_ADB,
+   WXMENU_ADD_TO_WHITELIST,
+   WXMENU_ADD_DOMAIN_TO_WHITELIST,
+   WXMENU_URL_COPY,
+   WXMENU_URL_END
+};
+
+// ----------------------------------------------------------------------------
 // persistent msgboxes we use here
 // ----------------------------------------------------------------------------
@@ -86,4 +106,5 @@
 extern const MOption MP_BROWSER_INNW;
 extern const MOption MP_BROWSER_ISNS;
+extern const MOption MP_WHITE_LIST;
 
 // ============================================================================
@@ -126,5 +147,7 @@
       Append(WXMENU_URL_FORWARDTO, _("&Forward to"));
       AppendSeparator();
-      Append(WXMENU_URL_ADD_TO_ADB, _("&Add to address book..."));
+      Append(WXMENU_ADD_TO_ADB, _("&Add to address book..."));
+      Append(WXMENU_ADD_TO_WHITELIST, _("Add to &whitelist"));
+      Append(WXMENU_ADD_DOMAIN_TO_WHITELIST, _("Add &domain to whitelist"));
    }
    else // !mailto
@@ -183,8 +206,48 @@
          break;
 
-      case WXMENU_URL_ADD_TO_ADB:
+      case WXMENU_ADD_TO_ADB:
          m_clickableURL->AddToAddressBook();
          break;
 
+      case WXMENU_ADD_TO_WHITELIST:
+      case WXMENU_ADD_DOMAIN_TO_WHITELIST:
+         {
+            AddressList_obj addrList(m_clickableURL->GetUrl());
+            Address *addr = addrList->GetFirst();
+            if ( !addr )
+            {
+               wxLogError(_("Failed to parse address \"%s\""),
+                          m_clickableURL->GetUrl().c_str());
+               break;
+            }
+
+            ASSERT_MSG( !addrList->HasNext(addr), "more than one address?" );
+
+            const String str = id == WXMENU_ADD_DOMAIN_TO_WHITELIST
+                                 ? addr->GetDomain()
+                                 : addr->GetEMail();
+
+            // this profile shouldn't be DecRef()'d, don't use Profile_obj
+            Profile *profile = m_clickableURL->GetProfile();
+
+            wxFrame *frame = 
m_clickableURL->GetMessageView()->GetParentFrame();
+
+            wxArrayString whitelist(strutil_restore_array(
+                                       READ_CONFIG(profile, MP_WHITE_LIST)));
+            if ( whitelist.Index(str) != wxNOT_FOUND )
+            {
+               wxLogStatus(frame, _("\"%s\" is already in the white list"),
+                           str.c_str());
+               break;
+            }
+
+            whitelist.Add(str);
+
+            profile->writeEntry(MP_WHITE_LIST, 
strutil_flatten_array(whitelist));
+
+            wxLogStatus(frame, _("Added \"%s\" to the white list"), 
str.c_str());
+         }
+         break;
+
       case WXMENU_URL_COPY:
          {


Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Mahogany-cvsupdates mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mahogany-cvsupdates

Reply via email to