BEGIN
POPUP "&File"
BEGIN
- MENUITEM "E&xit", ID_APP_EXIT
- END
- POPUP "&Action"
- BEGIN
- MENUITEM "&Gew Ticket(s)/Token(s)\tCtrl+T", ID_INIT_TICKET
- MENUITEM "&Renew Ticket(s)/Token(s)\tCtrl+R", ID_RENEW_TICKET
- MENUITEM "&Import Ticket(s)/Token(s)\tCtrl+I", ID_IMPORT_TICKET
- MENUITEM "&Destroy Ticket(s)/Token(s)\tCtrl+D", ID_DESTROY_TICKET
+ MENUITEM "&Initialize Ticket(s)\tCtrl+T", ID_INIT_TICKET
+ MENUITEM "&Renew Ticket(s)\tCtrl+R", ID_RENEW_TICKET
+ MENUITEM "&Import Ticket(s)\tCtrl+I", ID_IMPORT_TICKET
+ MENUITEM "&Destroy Ticket(s)\tCtrl+D", ID_DESTROY_TICKET
MENUITEM SEPARATOR
MENUITEM "&Change Password...", ID_CHANGE_PASSWORD
MENUITEM SEPARATOR
- MENUITEM "&Reset Window Size/Pos", ID_RESET_WINDOW_SIZE
- MENUITEM "&Synchronize Time", ID_SYN_TIME
- MENUITEM "&Update Display\tF5", ID_UPDATE_DISPLAY
+ MENUITEM "E&xit", ID_APP_EXIT
END
POPUP "&View"
BEGIN
- MENUITEM "&Large Icons", ID_LARGE_ICONS
- MENUITEM "&Toolbar", ID_VIEW_TOOLBAR
- MENUITEM "&Status Bar", ID_VIEW_STATUS_BAR
- MENUITEM "&Debug Window", ID_DEBUG_MODE
+ MENUITEM "&Time Issued", ID_TIME_ISSUED
+ MENUITEM "&Renewable Until", ID_RENEWABLE_UNTIL
+ MENUITEM "&Valid Until", ID_VALID_UNTIL
+ MENUITEM "&Encryption Type", ID_ENCRYPTION_TYPE
+ MENUITEM "&Flags", ID_SHOW_TICKET_FLAGS
END
POPUP "&Options"
BEGIN
MENUITEM "Upper &Case Realm Name", ID_UPPERCASE_REALM
MENUITEM "&Automatic Ticket Renewal", ID_AUTO_RENEW
MENUITEM "&Expiration Alarm", ID_LOW_TICKET_ALARM
- MENUITEM "&Destroy Tickets/Tokens on Exit", ID_KILL_TIX_ONEXIT
- MENUITEM SEPARATOR
- MENUITEM "&Leash Properties...\tCtrl+L", ID_LEASH_PROPERTIES
- MENUITEM "&Kerberos Properties...\tCtrl+K", ID_PROPERTIES
- MENUITEM "Kerberos v&4 Properties...\tCtrl+4", ID_KRB4_PROPERTIES
- MENUITEM "Kerberos v&5 Properties...\tCtrl+5", ID_KRB5_PROPERTIES
- MENUITEM "&AFS Properties\tCtrl+A", ID_AFS_CONTROL_PANEL
+ MENUITEM "&Destroy Tickets on Exit", ID_KILL_TIX_ONEXIT
END
POPUP "&Help"
BEGIN
IDR_MAINFRAME ACCELERATORS
BEGIN
- "4", ID_KRB4_PROPERTIES, VIRTKEY, CONTROL, NOINVERT
- "5", ID_KRB5_PROPERTIES, VIRTKEY, CONTROL, NOINVERT
- "A", ID_AFS_CONTROL_PANEL, VIRTKEY, CONTROL, NOINVERT
"C", ID_EDIT_COPY, VIRTKEY, CONTROL, NOINVERT
"D", ID_DESTROY_TICKET, VIRTKEY, CONTROL, NOINVERT
"I", ID_IMPORT_TICKET, VIRTKEY, CONTROL, NOINVERT
- "K", ID_PROPERTIES, VIRTKEY, CONTROL, NOINVERT
- "L", ID_LEASH_PROPERTIES, VIRTKEY, CONTROL, NOINVERT
"N", ID_FILE_NEW, VIRTKEY, CONTROL, NOINVERT
"O", ID_FILE_OPEN, VIRTKEY, CONTROL, NOINVERT
"R", ID_RENEW_TICKET, VIRTKEY, CONTROL, NOINVERT
BEGIN
ID_KILL_TIX_ONEXIT "Dispose of or keep tickets/tokens upon exiting Leash"
ID_LARGE_ICONS "Show large or small tree icons"
- ID_UPPERCASE_REALM "Force upper or lower case realm name"
+ ID_UPPERCASE_REALM "Allow mixed case or force upper case realm name"
ID_OPTIONS_RESETWINDOWSIZE
"Puts Leash's main window back to it's default size "
ID_RESET_WINDOW_SIZE "Refresh Leash window to it's default size/position"
ID_AFS_CONTROL_PANEL "Enables you to change settings"
ID_SYSTEM_CONTROL_PANEL "Open your System Properties window"
- ID_KRB4_PROPERTIES "Enables you to change settings"
- ID_KRB5_PROPERTIES "Enables you to change settings"
- ID_LEASH_PROPERTIES "Enables you to change settings"
ID_OPTIONS_LOWTICKETALARMSOUND
"Turn alarm off or on, when ticket time is low"
ID_LOW_TICKET_ALARM "Turn alarm on or off, on low ticket(s)/token(s) times"
+ ID_TIME_ISSUED "Display ticket time issued column"
+ ID_RENEWABLE_UNTIL "Display ticket renewable until time column"
+ ID_SHOW_TICKET_FLAGS "Display ticket flags column"
+END
+
+STRINGTABLE
+BEGIN
+ ID_ENCRYPTION_TYPE "Display ticket encryption type column"
+ ID_VALID_UNTIL "Display ticket valid until time column"
END
#endif // English (U.S.) resources
ON_COMMAND(ID_SYN_TIME, OnSynTime)
ON_COMMAND(ID_DEBUG_MODE, OnDebugMode)
ON_COMMAND(ID_LARGE_ICONS, OnLargeIcons)
+ ON_COMMAND(ID_TIME_ISSUED, OnTimeIssued)
+ ON_COMMAND(ID_VALID_UNTIL, OnValidUntil)
+ ON_COMMAND(ID_RENEWABLE_UNTIL, OnRenewableUntil)
+ ON_COMMAND(ID_SHOW_TICKET_FLAGS, OnShowTicketFlags)
+ ON_COMMAND(ID_ENCRYPTION_TYPE, OnEncryptionType)
+ ON_UPDATE_COMMAND_UI(ID_TIME_ISSUED, OnUpdateTimeIssued)
+ ON_UPDATE_COMMAND_UI(ID_VALID_UNTIL, OnUpdateValidUntil)
+ ON_UPDATE_COMMAND_UI(ID_RENEWABLE_UNTIL, OnUpdateRenewableUntil)
+ ON_UPDATE_COMMAND_UI(ID_SHOW_TICKET_FLAGS, OnUpdateShowTicketFlags)
+ ON_UPDATE_COMMAND_UI(ID_ENCRYPTION_TYPE, OnUpdateEncryptionType)
ON_COMMAND(ID_UPPERCASE_REALM, OnUppercaseRealm)
ON_COMMAND(ID_KILL_TIX_ONEXIT, OnKillTixOnExit)
+ ON_UPDATE_COMMAND_UI(ID_UPPERCASE_REALM, OnUpdateUppercaseRealm)
+ ON_UPDATE_COMMAND_UI(ID_KILL_TIX_ONEXIT, OnUpdateKillTixOnExit)
ON_WM_DESTROY()
ON_UPDATE_COMMAND_UI(ID_DESTROY_TICKET, OnUpdateDestroyTicket)
ON_UPDATE_COMMAND_UI(ID_IMPORT_TICKET, OnUpdateImportTicket)
ON_COMMAND(ID_LEASH_MINIMIZE, OnLeashMinimize)
ON_COMMAND(ID_LOW_TICKET_ALARM, OnLowTicketAlarm)
ON_COMMAND(ID_AUTO_RENEW, OnAutoRenew)
+ ON_UPDATE_COMMAND_UI(ID_LOW_TICKET_ALARM, OnUpdateLowTicketAlarm)
+ ON_UPDATE_COMMAND_UI(ID_AUTO_RENEW, OnUpdateAutoRenew)
ON_UPDATE_COMMAND_UI(ID_KRB4_PROPERTIES, OnUpdateKrb4Properties)
ON_UPDATE_COMMAND_UI(ID_KRB5_PROPERTIES, OnUpdateKrb5Properties)
ON_UPDATE_COMMAND_UI(ID_AFS_CONTROL_PANEL, OnUpdateAfsControlPanel)
// Public IP Address
m_publicIPAddress = pLeash_get_default_publicip();
+ // @TODO: get/set defaults for these
+ m_showRenewableUntil = m_pApp->GetProfileInt("Settings", "ShowRenewableUntil", OFF);
+ m_showTicketFlags = m_pApp->GetProfileInt("Settings", "ShowTicketFlags", OFF);
+ m_showTimeIssued = m_pApp->GetProfileInt("Settings", "ShowTimeIssued", OFF);
+ m_showValidUntil = m_pApp->GetProfileInt("Settings", "ShowValidUntil", ON);
+ m_showEncryptionType = m_pApp->GetProfileInt("Settings", "ShowEncryptionType", OFF);
+
OnLargeIcons();
}
MB_ICONEXCLAMATION|MB_YESNO, 0);
else
whatToDo = AfxMessageBox("You are about to destroy your ticket(s)/token(s)!",
- MB_OKCANCEL, 0);
+ MB_ICONEXCLAMATION|MB_YESNO, 0);
- if (whatToDo == IDOK)
+ if (whatToDo == IDYES)
{
pLeash_kdestroy();
ResetTreeNodes();
} else {
return;
}
- if( m_hMenu == NULL )
- {
- AfxMessageBox("There is a problem finding the Leash main menu!",
- MB_OK|MB_ICONSTOP);
- return;
- }
- if (!m_largeIcons)
- check = CheckMenuItem(m_hMenu, ID_LARGE_ICONS, MF_CHECKED);
- else
- check = CheckMenuItem(m_hMenu, ID_LARGE_ICONS, MF_UNCHECKED);
- if( check != MF_CHECKED || check != MF_UNCHECKED )
- {
- m_debugStartUp = 1;
- }
+ if (m_hMenu) {
+ if (!m_largeIcons)
+ check = CheckMenuItem(m_hMenu, ID_LARGE_ICONS, MF_CHECKED);
+ else
+ check = CheckMenuItem(m_hMenu, ID_LARGE_ICONS, MF_UNCHECKED);
- if (!m_destroyTicketsOnExit)
- check = CheckMenuItem(m_hMenu, ID_KILL_TIX_ONEXIT, MF_UNCHECKED);
- else
- check = CheckMenuItem(m_hMenu, ID_KILL_TIX_ONEXIT, MF_CHECKED);
+ if( check != MF_CHECKED || check != MF_UNCHECKED )
+ {
+ m_debugStartUp = 1;
+ }
- if (!m_upperCaseRealm)
- check = CheckMenuItem(m_hMenu, ID_UPPERCASE_REALM, MF_UNCHECKED);
- else
- check = CheckMenuItem(m_hMenu, ID_UPPERCASE_REALM, MF_CHECKED);
+ if (!m_destroyTicketsOnExit)
+ check = CheckMenuItem(m_hMenu, ID_KILL_TIX_ONEXIT, MF_UNCHECKED);
+ else
+ check = CheckMenuItem(m_hMenu, ID_KILL_TIX_ONEXIT, MF_CHECKED);
- if (!m_lowTicketAlarm)
- {
- m_lowTicketAlarmSound = FALSE;
+ if (!m_upperCaseRealm)
+ check = CheckMenuItem(m_hMenu, ID_UPPERCASE_REALM, MF_UNCHECKED);
+ else
+ check = CheckMenuItem(m_hMenu, ID_UPPERCASE_REALM, MF_CHECKED);
- if (m_hMenu)
+ CheckMenuItem(m_hMenu, ID_SHOW_TICKET_FLAGS,
+ m_showTicketFlags ? MF_CHECKED : MF_UNCHECKED);
+
+ CheckMenuItem(m_hMenu, ID_RENEWABLE_UNTIL,
+ m_showRenewableUntil ? MF_CHECKED : MF_UNCHECKED);
+
+ CheckMenuItem(m_hMenu, ID_TIME_ISSUED,
+ m_showTimeIssued ? MF_CHECKED : MF_UNCHECKED);
+
+
+ if (!m_lowTicketAlarm)
CheckMenuItem(m_hMenu, ID_LOW_TICKET_ALARM, MF_UNCHECKED);
- }
- else
- {
- m_lowTicketAlarmSound = TRUE;
- if (m_hMenu)
+ else
CheckMenuItem(m_hMenu, ID_LOW_TICKET_ALARM, MF_CHECKED);
- }
- if (!m_autoRenewTickets)
- {
- if (m_hMenu)
+ if (!m_autoRenewTickets)
CheckMenuItem(m_hMenu, ID_AUTO_RENEW, MF_UNCHECKED);
- }
- else
- {
- if (m_hMenu)
+ else
CheckMenuItem(m_hMenu, ID_AUTO_RENEW, MF_CHECKED);
- }
-
- m_debugWindow = m_pApp->GetProfileInt("Settings", "DebugWindow", 0);
- if (!m_debugWindow)
- check = CheckMenuItem(m_hMenu, ID_DEBUG_MODE, MF_UNCHECKED);
- else
- check = CheckMenuItem(m_hMenu, ID_DEBUG_MODE, MF_CHECKED);
+ m_debugWindow = m_pApp->GetProfileInt("Settings", "DebugWindow", 0);
+ if (!m_debugWindow)
+ check = CheckMenuItem(m_hMenu, ID_DEBUG_MODE, MF_UNCHECKED);
+ else
+ check = CheckMenuItem(m_hMenu, ID_DEBUG_MODE, MF_CHECKED);
+ }
+ m_lowTicketAlarmSound = !!m_lowTicketAlarm;
m_alreadyPlayed = TRUE;
if (m_pApp)
{
}
}
+VOID CLeashView::OnRenewableUntil()
+{
+ m_showRenewableUntil = !m_showRenewableUntil;
+ if (m_hMenu)
+ CheckMenuItem(m_hMenu, ID_RENEWABLE_UNTIL,
+ m_showRenewableUntil ? MF_CHECKED : MF_UNCHECKED);
+ if (m_pApp)
+ m_pApp->WriteProfileInt("Settings", "ShowRenewableUntil", m_showRenewableUntil);
+}
+
+VOID CLeashView::OnUpdateRenewableUntil(CCmdUI *pCmdUI)
+{
+ pCmdUI->SetCheck(m_showRenewableUntil);
+}
+
+VOID CLeashView::OnShowTicketFlags()
+{
+ m_showTicketFlags = !m_showTicketFlags;
+ if (m_hMenu)
+ CheckMenuItem(m_hMenu, ID_SHOW_TICKET_FLAGS,
+ m_showTicketFlags ? MF_CHECKED : MF_UNCHECKED);
+ if (m_pApp)
+ m_pApp->WriteProfileInt("Settings", "ShowTicketFlags", m_showTicketFlags);
+}
+
+VOID CLeashView::OnUpdateShowTicketFlags(CCmdUI *pCmdUI)
+{
+ pCmdUI->SetCheck(m_showTicketFlags);
+}
+
+VOID CLeashView::OnTimeIssued()
+{
+ m_showTimeIssued = !m_showTimeIssued;
+ if (m_hMenu)
+ CheckMenuItem(m_hMenu, ID_TIME_ISSUED,
+ m_showTimeIssued ? MF_CHECKED : MF_UNCHECKED);
+ if (m_pApp)
+ m_pApp->WriteProfileInt("Settings", "ShowTimeIssued", m_showTimeIssued);
+}
+
+VOID CLeashView::OnUpdateTimeIssued(CCmdUI *pCmdUI)
+{
+ pCmdUI->SetCheck(m_showTimeIssued);
+}
+
+VOID CLeashView::OnValidUntil()
+{
+ m_showValidUntil = !m_showValidUntil;
+ if (m_pApp)
+ m_pApp->WriteProfileInt("Settings", "ShowValidUntil", m_showValidUntil);
+}
+
+VOID CLeashView::OnUpdateValidUntil(CCmdUI *pCmdUI)
+{
+ pCmdUI->SetCheck(m_showValidUntil);
+}
+
+VOID CLeashView::OnEncryptionType()
+{
+ m_showEncryptionType = !m_showEncryptionType;
+ if (m_pApp)
+ m_pApp->WriteProfileInt("Settings", "ShowEncryptionType", m_showEncryptionType);
+}
+
+VOID CLeashView::OnUpdateEncryptionType(CCmdUI *pCmdUI)
+{
+ pCmdUI->SetCheck(m_showEncryptionType);
+}
+
VOID CLeashView::OnLargeIcons()
{
INT x, y, n;
VOID CLeashView::OnKillTixOnExit()
{
- if (m_destroyTicketsOnExit%2 == 0)
- m_destroyTicketsOnExit = ON;
- else
- m_destroyTicketsOnExit = OFF;
+ m_destroyTicketsOnExit = !m_destroyTicketsOnExit;
if (m_pApp)
- {
- if (!m_destroyTicketsOnExit)
- {
- if (m_hMenu)
- CheckMenuItem(m_hMenu, ID_KILL_TIX_ONEXIT, MF_UNCHECKED);
-
- AfxMessageBox("Tickets will be not be destroyed upon exiting Leash!!!",
- MB_OK|MB_ICONWARNING);
- m_pApp->WriteProfileInt("Settings", "DestroyTicketsOnExit",
- FALSE_FLAG);
- }
- else
- {
- if (m_hMenu)
- CheckMenuItem(m_hMenu, ID_KILL_TIX_ONEXIT, MF_CHECKED);
+ m_pApp->WriteProfileInt("Settings", "DestroyTicketsOnExit",
+ m_destroyTicketsOnExit);
+}
- AfxMessageBox("All tickets/tokens will be destroyed upon exiting Leash!!!",
- MB_OK|MB_ICONWARNING);
- m_pApp->WriteProfileInt("Settings", "DestroyTicketsOnExit", TRUE_FLAG);
- }
- }
- else
- {
- ApplicationInfoMissingMsg();
- }
+VOID CLeashView::OnUpdateKillTixOnExit(CCmdUI *pCmdUI)
+{
+ pCmdUI->SetCheck(m_destroyTicketsOnExit);
}
VOID CLeashView::OnUppercaseRealm()
{
- if (m_upperCaseRealm%2 == 0)
- m_upperCaseRealm = ON;
- else
- m_upperCaseRealm = OFF;
-
- if (!m_pApp)
- {
- ApplicationInfoMissingMsg();
- }
- else if (!m_upperCaseRealm)
- {
- pLeash_set_default_uppercaserealm(FALSE_FLAG);
+ m_upperCaseRealm = !m_upperCaseRealm;
- if (m_hMenu)
- CheckMenuItem(m_hMenu, ID_UPPERCASE_REALM, MF_UNCHECKED);
- }
- else
- {
- pLeash_set_default_uppercaserealm(TRUE_FLAG);
+ pLeash_set_default_uppercaserealm(m_upperCaseRealm);
+}
- if (m_hMenu)
- CheckMenuItem(m_hMenu, ID_UPPERCASE_REALM, MF_CHECKED);
- }
+VOID CLeashView::OnUpdateUppercaseRealm(CCmdUI *pCmdUI)
+{
+ // description is now 'allow mixed case', so reverse logic
+ pCmdUI->SetCheck(!m_upperCaseRealm);
}
VOID CLeashView::ResetTreeNodes()
VOID CLeashView::OnLowTicketAlarm()
{
- if (m_lowTicketAlarm%2 == 0)
- m_lowTicketAlarm = ON;
- else
- m_lowTicketAlarm = OFF;
-
+ m_lowTicketAlarm = !m_lowTicketAlarm;
- if (!m_pApp)
- {
- ApplicationInfoMissingMsg();
- }
- else if (!m_lowTicketAlarm)
- {
- if (m_hMenu)
- CheckMenuItem(m_hMenu, ID_LOW_TICKET_ALARM, MF_UNCHECKED);
-
- m_pApp->WriteProfileInt("Settings", "LowTicketAlarm", FALSE_FLAG);
- }
- else
- {
- if (m_hMenu)
- CheckMenuItem(m_hMenu, ID_LOW_TICKET_ALARM, MF_CHECKED);
+ if (m_pApp)
+ m_pApp->WriteProfileInt("Settings", "LowTicketAlarm", m_lowTicketAlarm);
+}
- m_pApp->WriteProfileInt("Settings", "LowTicketAlarm", TRUE_FLAG);
- }
+VOID CLeashView::OnUpdateLowTicketAlarm(CCmdUI* pCmdUI)
+{
+ pCmdUI->SetCheck(m_lowTicketAlarm);
}
VOID CLeashView::OnAutoRenew()
{
- if (m_autoRenewTickets%2 == 0)
- m_autoRenewTickets = ON;
- else
- m_autoRenewTickets = OFF;
-
+ m_autoRenewTickets = !m_autoRenewTickets;
- if (!m_pApp)
- {
- ApplicationInfoMissingMsg();
- }
- else if (!m_autoRenewTickets)
- {
- if (m_hMenu)
- CheckMenuItem(m_hMenu, ID_AUTO_RENEW, MF_UNCHECKED);
-
- m_pApp->WriteProfileInt("Settings", "AutoRenewTickets", FALSE_FLAG);
- m_autoRenewTickets = FALSE;
- }
- else
- {
- if (m_hMenu)
- CheckMenuItem(m_hMenu, ID_AUTO_RENEW, MF_CHECKED);
+ if (m_pApp)
+ m_pApp->WriteProfileInt("Settings", "AutoRenewTickets", m_autoRenewTickets);
- m_pApp->WriteProfileInt("Settings", "AutoRenewTickets", TRUE_FLAG);
- m_autoRenewTickets = TRUE;
- }
m_autoRenewalAttempted = 0;
}
+VOID CLeashView::OnUpdateAutoRenew(CCmdUI* pCmdUI)
+{
+ pCmdUI->SetCheck(m_autoRenewTickets);
+}
+
VOID CLeashView::AlarmBeep()
{
if (m_lowTicketAlarmSound)