diff -urN -X psidiff.ignore sources/src/contactview.cpp work/src/contactview.cpp
--- sources/src/contactview.cpp	2009-10-11 20:39:14.000000000 +0400
+++ work/src/contactview.cpp	2009-10-11 20:39:55.000000000 +0400
@@ -62,6 +62,7 @@
 #include "bookmarkmanagedlg.h"
 #include "bookmarkmanager.h"
 #include "contactmanager/contactmanagerdlg.h"
+#include "privacy/privacydlg.h"
 #include "groupchatdlg.h"
 #include "tabdlg.h"
 #include "statusdlg.h"
@@ -947,7 +948,7 @@ void ContactProfile::doContextMenu(Conta
 		am->insertItem(/*IconsetFactory::iconPixmap("psi/edit/clear"),*/ tr("Update MOTD"), 3);
 		am->insertItem(IconsetFactory::icon("psi/remove").icon(), tr("Delete MOTD"), 4);
 
-		const int status_start = 17;
+		const int status_start = 18;
 		Q3PopupMenu *sm = new Q3PopupMenu(&pm);
 		sm->insertItem(PsiIconset::instance()->status(STATUS_ONLINE).icon(),	status2txt(STATUS_ONLINE),	STATUS_ONLINE		+ status_start);
 		if (PsiOptions::instance()->getOption("options.ui.menu.status.chat").toBool())
@@ -1001,6 +1002,8 @@ void ContactProfile::doContextMenu(Conta
 			pm.insertItem(IconsetFactory::icon("psi/sendMessage").icon(), tr("New &Blank Message"), 6);
 		pm.insertItem(IconsetFactory::icon("psiplus/action_contacts_manager").icon(), tr("&Contacts Manager"), 16);
 		pm.setItemEnabled(16, d->pa->isAvailable());
+		pm.insertItem(IconsetFactory::icon("psi/eye").icon(), tr("&Privacy Lists"), 17);
+		pm.setItemEnabled(17, d->pa->isAvailable());
 		pm.insertSeparator();
 		pm.insertItem(IconsetFactory::icon("psi/xml").icon(), tr("&XML Console"), 10);
 		pm.insertSeparator();
@@ -1075,6 +1078,16 @@ void ContactProfile::doContextMenu(Conta
 				dlg->show();
 			}
 		}
+		else if(x == 17) {
+			PrivacyDlg *dlg = d->pa->findDialog<PrivacyDlg*>();
+			if(dlg) {
+				bringToFront(dlg);
+			} else {
+				dlg = new PrivacyDlg(d->pa->name(), d->pa->privacyManager());
+				d->pa->dialogRegister(dlg);
+				dlg->show();
+			}
+		}
 		else if(x >= status_start && x <= STATUS_CHAT + status_start) { // STATUS_CHAT is the highest value of the states
 			int status = x - status_start;
 			d->pa->changeStatus(status);
