aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Kaduk <kaduk@mit.edu>2014-01-17 16:02:13 -0500
committerTom Yu <tlyu@mit.edu>2015-05-13 16:15:22 -0400
commit530136650826cad19966737a57cc3c6608e74601 (patch)
tree5e2429fb9c65552507581efe7c2ace8df10aec9a
parent0e16cd41da066f88765662e0c1828836c850c074 (diff)
downloadkrb5-530136650826cad19966737a57cc3c6608e74601.zip
krb5-530136650826cad19966737a57cc3c6608e74601.tar.gz
krb5-530136650826cad19966737a57cc3c6608e74601.tar.bz2
XML Ribbon markup file
The standard windows library ribbon interface is either constructed at runtime or specified in an XML file. Since we have a static set of functionality in our ribbon, it is simplest to just use the XML file. This should duplicate the interfaces currently provided by the MFC ribbon, though the menu items in the file menu are slightly taller than they used to be. Use uicc.exe to compile the XML to the binary format and produce a kfwribon.rc resource file and kfwribbon.h header. (cherry picked from commit da60312f1352cbd82e39e31398f7ead2e817f119) ticket: 8192 version_fixed: 1.13.3
-rw-r--r--src/windows/leash/Makefile.in6
-rw-r--r--src/windows/leash/kfwribbon.xml131
2 files changed, 137 insertions, 0 deletions
diff --git a/src/windows/leash/Makefile.in b/src/windows/leash/Makefile.in
index 089dbbf..31caf5c 100644
--- a/src/windows/leash/Makefile.in
+++ b/src/windows/leash/Makefile.in
@@ -105,6 +105,9 @@ $(OUTPRE)$(EXE_NAME).exe: $(OBJS) $(XOBJS) $(LIBS)
../lib/$(OUTPRE)libwin.lib atl.lib $(MFCLIB) $(SCLIB)
copy $@ "$(OUTPRE)MIT Kerberos.exe"
+kfwribbon.bml kfwribbon.h kfwribbon.rc: kfwribbon.xml
+ uicc.exe kfwribbon.xml kfwribbon.bml /res:kfwribbon.rc /header:kfwribbon.h /name:KFW_RIBBON
+
$(RESFILE): Leash.rc res/Leash.rc2 ver.rc ../version.rc ../kerberos.ver
clean::
@@ -113,3 +116,6 @@ clean::
if exist $(OUTPRE)*.res del $(OUTPRE)*.res
if exist $(OUTPRE)*.pdb del $(OUTPRE)*.pdb
if exist *.err del *.err
+ if exist *.bml del *.bml
+ if exist kfwribbon.h del kfwribbon.h
+ if exist kfwribbon.rc del kfwribbon.rc
diff --git a/src/windows/leash/kfwribbon.xml b/src/windows/leash/kfwribbon.xml
new file mode 100644
index 0000000..e87fca8
--- /dev/null
+++ b/src/windows/leash/kfwribbon.xml
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Application xmlns="http://schemas.microsoft.com/windows/2009/Ribbon">
+ <Application.Commands>
+ <Command Name="cmdAppMenu" LabelTitle="Application Menu" />
+ <Command Name="cmdQAT" LabelTitle="" />
+ <Command Name="cmdHelp" LabelTitle="Help" />
+ <Command Name="cmdAbout" LabelTitle="About MIT Kerberos" />
+ <Command Name="cmdExit" LabelTitle="Exit application" />
+ <Command Name="cmdHomeTab" LabelTitle="Home" Keytip="H" />
+ <Command Name="cmdOptionsTab" LabelTitle="Options" Keytip="O" />
+ <Command Name="cmdChangePasswordGroup" LabelTitle="" />
+ <Command Name="cmdTicketGroup" LabelTitle="" />
+ <Command Name="cmdViewOptionsGroup" LabelTitle="View Options" />
+ <Command Name="cmdTicketOptionsGroup" LabelTitle="Ticket Options" />
+ <Command Name="cmdGetTicketButton"
+ LabelTitle="Get Ticket"
+ Keytip="T">
+ <Command.LargeImages>
+ <Image>res/getticketlarge.bmp</Image>
+ </Command.LargeImages>
+ </Command>
+ <Command Name="cmdRenewTicketButton"
+ LabelTitle="Renew Ticket"
+ Keytip="R">
+ <Command.LargeImages>
+ <Image>res/renewlarge.bmp</Image>
+ </Command.LargeImages>
+ </Command>
+ <Command Name="cmdDestroyTicketButton"
+ LabelTitle="Destroy Ticket"
+ Keytip="D">
+ <Command.LargeImages>
+ <Image>res/destroylarge.bmp</Image>
+ </Command.LargeImages>
+ </Command>
+ <Command Name="cmdMakeDefaultButton"
+ LabelTitle="Make Default"
+ Keytip="M">
+ <Command.LargeImages>
+ <Image>res/makedefaultlarge.bmp</Image>
+ </Command.LargeImages>
+ </Command>
+ <Command Name="cmdChangePasswordButton"
+ LabelTitle="Change Password"
+ Keytip="C">
+ <Command.LargeImages>
+ <Image>res/cpwlarge.bmp</Image>
+ </Command.LargeImages>
+ </Command>
+ <Command Name="cmdIssuedCheckBox"
+ LabelTitle="Issued"
+ Keytip="I" />
+ <Command Name="cmdRenewUntilCheckBox"
+ LabelTitle="Renewable Until"
+ Keytip="R" />
+ <Command Name="cmdValidUntilCheckBox"
+ LabelTitle="Valid Until"
+ Keytip="V" />
+ <Command Name="cmdEncTypeCheckBox"
+ LabelTitle="Encryption Type"
+ Keytip="E" />
+ <Command Name="cmdFlagsCheckBox"
+ LabelTitle="Flags"
+ Keytip="F" />
+ <Command Name="cmdAutoRenewCheckBox"
+ LabelTitle="Automatic Ticket Renewal"
+ Keytip="R" />
+ <Command Name="cmdExpireAlarmCheckBox"
+ LabelTitle="Expiration Alarm"
+ Keytip="A" />
+ <Command Name="cmdDestroyOnExitCheckBox"
+ LabelTitle="Destroy Tickets on Exit"
+ Keytip="D" />
+ <Command Name="cmdMixedCaseCheckBox"
+ LabelTitle="Allow Mixed Case Realm Names"
+ Keytip="M" />
+ </Application.Commands>
+ <Application.Views>
+ <Ribbon>
+ <Ribbon.ApplicationMenu>
+ <ApplicationMenu CommandName="cmdAppMenu">
+ <MenuGroup>
+ <Button CommandName="cmdHelp" />
+ <Button CommandName="cmdAbout" />
+ <Button CommandName="cmdExit" />
+ </MenuGroup>
+ </ApplicationMenu>
+ </Ribbon.ApplicationMenu>
+ <Ribbon.QuickAccessToolbar>
+ <QuickAccessToolbar CommandName="cmdQAT" />
+ </Ribbon.QuickAccessToolbar>
+ <Ribbon.Tabs>
+ <Tab CommandName="cmdHomeTab">
+ <Tab.ScalingPolicy>
+ <ScalingPolicy>
+ <ScalingPolicy.IdealSizes>
+ <Scale Group="cmdTicketGroup" Size="Large" />
+ <Scale Group="cmdChangePasswordGroup" Size="Large" />
+ </ScalingPolicy.IdealSizes>
+ </ScalingPolicy>
+ </Tab.ScalingPolicy>
+ <Group CommandName="cmdTicketGroup" SizeDefinition="FourButtons">
+ <Button CommandName="cmdGetTicketButton" />
+ <Button CommandName="cmdRenewTicketButton" />
+ <Button CommandName="cmdDestroyTicketButton" />
+ <Button CommandName="cmdMakeDefaultButton" />
+ </Group>
+ <Group CommandName="cmdChangePasswordGroup"
+ SizeDefinition="OneButton">
+ <Button CommandName="cmdChangePasswordButton" />
+ </Group>
+ </Tab>
+ <Tab CommandName="cmdOptionsTab">
+ <Group CommandName="cmdViewOptionsGroup">
+ <CheckBox CommandName="cmdIssuedCheckBox" />
+ <CheckBox CommandName="cmdRenewUntilCheckBox" />
+ <CheckBox CommandName="cmdValidUntilCheckBox" />
+ <CheckBox CommandName="cmdEncTypeCheckBox" />
+ <CheckBox CommandName="cmdFlagsCheckBox" />
+ </Group>
+ <Group CommandName="cmdTicketOptionsGroup" >
+ <CheckBox CommandName="cmdAutoRenewCheckBox" />
+ <CheckBox CommandName="cmdExpireAlarmCheckBox" />
+ <CheckBox CommandName="cmdDestroyOnExitCheckBox" />
+ <CheckBox CommandName="cmdMixedCaseCheckBox" />
+ </Group>
+ </Tab>
+ </Ribbon.Tabs>
+ </Ribbon>
+ </Application.Views>
+</Application>