2 * Copyright 2000, International Business Machines Corporation and others.
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
11 #include <afs/param.h>
16 #include "afs_shl_ext.h"
17 #include "add_acl_entry_dlg.h"
18 #include "set_afs_acl.h"
24 static char THIS_FILE[] = __FILE__;
27 /////////////////////////////////////////////////////////////////////////////
28 // CAddAclEntryDlg dialog
31 CAddAclEntryDlg::CAddAclEntryDlg(CWnd* pParent /*=NULL*/)
34 InitModalIndirect (TaLocale_GetDialogResource (CAddAclEntryDlg::IDD), pParent);
36 //{{AFX_DATA_INIT(CAddAclEntryDlg)
43 void CAddAclEntryDlg::DoDataExchange(CDataExchange* pDX)
45 CDialog::DoDataExchange(pDX);
46 //{{AFX_DATA_MAP(CAddAclEntryDlg)
47 DDX_Control(pDX, IDOK, m_Ok);
48 DDX_Control(pDX, IDC_NAME, m_Name);
49 DDX_Control(pDX, IDC_ADD_NORMAL_ENTRY, m_NormalEntry);
50 DDX_Control(pDX, IDC_LOOKUP2, m_LookupPerm);
51 DDX_Control(pDX, IDC_LOCK2, m_LockPerm);
52 DDX_Control(pDX, IDC_WRITE, m_WritePerm);
53 DDX_Control(pDX, IDC_ADMINISTER, m_AdminPerm);
54 DDX_Control(pDX, IDC_READ, m_ReadPerm);
55 DDX_Control(pDX, IDC_INSERT, m_InsertPerm);
56 DDX_Control(pDX, IDC_DELETE, m_DeletePerm);
61 BEGIN_MESSAGE_MAP(CAddAclEntryDlg, CDialog)
62 //{{AFX_MSG_MAP(CAddAclEntryDlg)
63 ON_BN_CLICKED(IDC_ADD_NEGATIVE_ENTRY, OnAddNegativeEntry)
64 ON_BN_CLICKED(IDC_ADD_NORMAL_ENTRY, OnAddNormalEntry)
65 ON_EN_CHANGE(IDC_NAME, OnChangeName)
66 ON_BN_CLICKED(IDHELP, OnHelp)
70 /////////////////////////////////////////////////////////////////////////////
71 // CAddAclEntryDlg message handlers
73 void CAddAclEntryDlg::OnAddNegativeEntry()
78 void CAddAclEntryDlg::OnAddNormalEntry()
83 BOOL CAddAclEntryDlg::OnInitDialog()
85 CDialog::OnInitDialog();
87 ASSERT_VALID(m_pAclSetDlg);
89 m_NormalEntry.SetCheck(CHECKED);
90 m_Ok.EnableWindow(FALSE);
96 return TRUE; // return TRUE unless you set the focus to a control
97 // EXCEPTION: OCX Property Pages should return FALSE
100 CString CAddAclEntryDlg::MakePermString()
104 if (m_ReadPerm.GetCheck() == CHECKED)
106 if (m_LookupPerm.GetCheck() == CHECKED)
108 if (m_InsertPerm.GetCheck() == CHECKED)
110 if (m_DeletePerm.GetCheck() == CHECKED)
112 if (m_WritePerm.GetCheck() == CHECKED)
114 if (m_LockPerm.GetCheck() == CHECKED)
116 if (m_AdminPerm.GetCheck() == CHECKED)
122 void CAddAclEntryDlg::OnOK()
124 m_Rights = MakePermString();
125 m_Name.GetWindowText(m_strName);
127 if (m_pAclSetDlg->IsNameInUse(m_bNormal, m_strName)) {
128 ShowMessageBox(IDS_ACL_ENTRY_NAME_IN_USE, MB_ICONEXCLAMATION, IDS_ACL_ENTRY_NAME_IN_USE);
135 void CAddAclEntryDlg::OnChangeName()
137 m_Name.GetWindowText(m_strName);
139 if (m_strName.GetLength() > 0)
140 m_Ok.EnableWindow(TRUE);
143 void CAddAclEntryDlg::OnHelp()
145 ShowHelp(m_hWnd, ADD_ACL_ENTRY_HELP_ID);