aboutsummaryrefslogtreecommitdiff
path: root/src/windows/identity/ui/credwnd.h
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>2007-03-30 18:38:54 +0000
committerTom Yu <tlyu@mit.edu>2007-03-30 18:38:54 +0000
commit17999a7c872911216e17f20b1135923283138153 (patch)
tree732e47b8171cf62388ec238f240ef20e1710ac49 /src/windows/identity/ui/credwnd.h
parentcd15a8abde7c6acc763a2c84d731ac1f509ee14c (diff)
downloadkrb5-17999a7c872911216e17f20b1135923283138153.zip
krb5-17999a7c872911216e17f20b1135923283138153.tar.gz
krb5-17999a7c872911216e17f20b1135923283138153.tar.bz2
pull up r19306 from trunk
r19306@cathode-dark-space: jaltman | 2007-03-29 13:24:34 -0400 ticket: new subject: NIM commits for KFW 3.2 Beta 1 component: windows (NetIDMgr 1.2.0.0) netidmgr.exe - Simplify credential window UI element placement calculations. - Add the Custom_1 view to the UI schema. This is used to store customizations to the basic view. - Extended styles for toolbars have to be set via TB_SETEXTENDEDSTYLE messages instead of the EX_STYLE parameter to CreateWindowEx(). Also, set the extended style to support detached arrows. - Support drop down menus in the standard toolbar. - The per-identity commands that are added to expiration dialogs are now flagged for automatic dispatch. - Remove unnecessary status bar parts and display the status bar icons at the correct size. - The notification alerts now display the info balloon at the correct size. - Increase the height of the height of the dialog button bar to 190 from 181 dialog units. - Lock the action tables when refreshing the per-identity actions. Perform the necessary notification after refreshing the per-identity actions. - "Initialize <identity>" -> "Obtain new credentials for <identity>" - Add a button to go back to the Basic view from the Advanced view in the new credentials dialog. - Cache the extents of each row since we now support rows of variable heights. - Selecting a credential row or a header should select all the credentials that are represented by the row. - Update the selection state after loading a new view. - Display the expiration times in the second line of an expanded identity header. - Checks for expiration flags in the credentials window now take into account that the each flag may occupy more than one bit position. - Calculate the expiration flags for the identity before assigning it to a header, so that the header can display accurate expiration data. - Kill unnecessary timers in the credentials view and make sure taht the KHUI_CW_ROW_TIMERSET flag is consistent with whether there is an active timer for the row. - In addition to rows that hold credentials, timers can also be assigned to headers for identities in the basic view. This allows the headers to display expiration times. - The credentials view keeps track of the count of credentials, the count of identity credentials (credentials which belong to the credentials type that the identity belongs to) and the number of initial credentials. - Configuration spaces that hold credential view definitions now include an additional value "_AppVersion" which contains the version of NIM used to create the data. If the current version is greater than the stated version, NIM will failover to using the schema instead of using the saved data. This is because view definitions are version dependent. - The app_version global variable is now a const. - The renew and destroy icons in the standard toolbar are now drop down buttons. If the drop down arrow is clicked, they display a menu with the list of identities that the operation can target. - The renew and destroy actions on the credential menu have been replaced by submenus that allow the user to select the identity which would be the target of the operation. - Consistently update the 'displayed' field of an alert so that plug-ins can keep track of which alerts are being displayed. - If the currently displayed balloon alert has KHUI_ALERT_FLAG_DEFACTION flag, then dispatch the defualt command when the user clicks the notification icon, or display the expanded alert if necessary. - Reduce flicker when drawing the credentials display by clipping the header control from the device context. - The state of Advanced mode is now preserved between NIM sessions. - The credential display layout is kept track of separately for the Basic and Advanced views. Any customization done on either view (e.g.: changing sort order) will only affect that view. Customizations for the Advanced view will be saved in the Custom_0 view, while customizations for the Basic view will be saved in Custom_1. - New color scheme. - Selecting a credential or identity will no longer mask the expiration state. The selection rectangle is now alpha blended. - In Basic view, the width of the Identity column changes with the width of the window so that the credentials display always fills the width of the window. - The colors for the highlight, text color, highlighted text color, window background and other elements are now obtained via Windows so that NetIDMgr will be more consistent with any themes that have been applied. - Correctly determine whether a column can be dragged or resized based on the KHUI_CW_COL_FIXED_WIDTH and KHUI_CW_COL_FIXED_POS flags. - Correctly update the scroll bars when switching between views. - The "marker" button for a displayed alert should not perform any action and it should not be the default control. Selecting it should no longer cause an assertion to be thrown. - Don't display the "... Click here for more." message when displaying a balloon alert if the operating system involved does not provide a reliable means of detecting that the user clicked on a balloon. - When attempting to display queued alerts, if the alert at the top of the queue is of a type that cannot be consolidated, then show it by itself. - If the size of the alert window changes, it should be redrawn properly. krb5creds.dll - Allow setting an identity as the default even if there are no credentials or credential caches associated with it. We generate the name of the ccache we would use if we were getting new credentials for the identity and then set that as the default cache. - Controls in the per-identity configuration panels resized to fit their contents. - Set the credentials type and type name attributes for identities for which we have a TGT. - Use khm_krb5_get_identity_params() when retrieving parameters for the identity global configuration panel. - Add UI elements for setting the global values for forwardable, renewable and addressless flags. - Make the schema default to issue forwardable tickets for identities that have no configuration and when krb5.ini does not define 'forwardable'. - When updating the identity properties, take all the active identities into account, so that we won't orphan any identities with Krb5 properties but no credentials associated with them. - If there is no TGT associated with an identity, then strip it of any Krb5 provided properties. - Associate identities that have a valid TGT with Krb5 by setting KCDB_ATTR_TYPE to the Krb5 credentials type. - Don't attempt to renew an identity if the TGT is not renewable or is expired. - When opening the configuration handle for an identity, if the identity does not have any configuration information, failover to using the per-realm configuration or the identity global configuration. - When opening the configuration handle, don't return a handle that can't safely be closed. - Add code from get_in_tkt.c that correctly handles per-realm settings when obtaining libdefaults settings from the profile. ticket: 5495 version_fixed: 1.6.1 git-svn-id: svn://anonsvn.mit.edu/krb5/branches/krb5-1-6@19341 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/windows/identity/ui/credwnd.h')
-rw-r--r--src/windows/identity/ui/credwnd.h49
1 files changed, 34 insertions, 15 deletions
diff --git a/src/windows/identity/ui/credwnd.h b/src/windows/identity/ui/credwnd.h
index 3d39ebc..42edf28 100644
--- a/src/windows/identity/ui/credwnd.h
+++ b/src/windows/identity/ui/credwnd.h
@@ -75,6 +75,7 @@ typedef struct khui_credwnd_row_t {
khm_handle data;
khm_size idx_start;
khm_size idx_end;
+ RECT r_ext; /* extents of this row */
} khui_credwnd_row;
#define KHUI_CW_ROW_CRED 0x00000002
@@ -111,6 +112,7 @@ typedef struct khui_credwnd_col_t {
#define KHUI_CW_COL_FIXED_WIDTH 0x00000010
#define KHUI_CW_COL_FIXED_POS 0x00000020
#define KHUI_CW_COL_META 0x00000040
+#define KHUI_CW_COL_FILLER 0x00000080
/* Custom column attributes (are not kcdb attributes) */
#define CW_CA_FLAGS -1
@@ -129,7 +131,12 @@ typedef struct tag_khui_credwnd_ident {
wchar_t name[KCDB_IDENT_MAXCCH_NAME];
wchar_t credtype_name[KCDB_MAXCCH_NAME];
- khm_size credcount;
+ khm_size credcount; /* count of all credentials */
+ khm_size id_credcount; /* count of identity credentials
+ (credentials that are of the
+ identity type */
+ khm_size init_credcount; /* count of initial credentials */
+ FILETIME ft_expire;
} khui_credwnd_ident;
@@ -181,25 +188,37 @@ typedef struct khui_credwnd_tbl_t {
HFONT hf_header; /* header text */
HFONT hf_bold; /* bold text */
HFONT hf_bold_header; /* bold header text */
+
HBRUSH hb_normal; /* normal background brush */
- HBRUSH hb_grey; /* normal grey background brush */
- HBRUSH hb_sel; /* selected background brush */
+ HBRUSH hb_grey; /* normal background brush (greyed) */
+ HBRUSH hb_s; /* normal background brush (selected) */
+
+ HBRUSH hb_hdr_bg; /* header background brush (normal) */
+ HBRUSH hb_hdr_bg_exp; /* header background brush (expired) */
+ HBRUSH hb_hdr_bg_warn; /* header background brush (warn) */
+ HBRUSH hb_hdr_bg_crit; /* header background brush (critical) */
+ HBRUSH hb_hdr_bg_def; /* header background brush (default) */
+
+ HBRUSH hb_hdr_bg_s; /* header background brush (selected) */
+ HBRUSH hb_hdr_bg_exp_s; /* header background brush (expired,selected) */
+ HBRUSH hb_hdr_bg_warn_s;/* header background brush (warn,selected) */
+ HBRUSH hb_hdr_bg_crit_s;/* header background brush (critical,selected) */
+ HBRUSH hb_hdr_bg_def_s; /* header background brush (default,selected) */
+
+ COLORREF cr_normal; /* text color (normal) */
+ COLORREF cr_s; /* text color (selected) */
+ COLORREF cr_hdr_normal; /* header text color (normal) */
+ COLORREF cr_hdr_s; /* header text color (selected) */
+ COLORREF cr_hdr_gray; /* header text color (greyed) */
+ COLORREF cr_hdr_gray_s; /* header text color (greyed,selected) */
+
COLORREF cr_hdr_outline;/* header outline color */
- COLORREF cr_normal; /* normal text color */
- COLORREF cr_sel; /* selected text color */
- COLORREF cr_hdr_normal; /* normal header text color */
- COLORREF cr_hdr_sel; /* selected header text color */
- COLORREF cr_hdr_gray; /* gray header text color */
- COLORREF cr_hdr_gray_sel; /* selected gray header text color */
- HBRUSH hb_hdr_bg; /* header background color (normal) */
- HBRUSH hb_hdr_bg_exp; /* header background color (expired) */
- HBRUSH hb_hdr_bg_warn; /* header background color (warn) */
- HBRUSH hb_hdr_bg_crit; /* header background color (critical) */
- HBRUSH hb_hdr_bg_sel; /* header background color (selected) */
- HBRUSH hb_hdr_bg_def; /* header background color (default) */
+
HCURSOR hc_hand; /* the HAND cursor */
khui_ilist * ilist; /* image list */
+ HICON hi_lg_ident; /* large identity icon */
+
#if 0
/* icon indices */
int idx_expand; /* index of 'expanded' icon in image list */