From: Kevin Wasserman Date: Wed, 1 Aug 2012 16:19:12 +0000 (-0400) Subject: kfw implement ribbon UI X-Git-Tag: kfw-4.0-final~112 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=19545a41ea9b08c7e7f45518378e0722efb3c181;p=thirdparty%2Fkrb5.git kfw implement ribbon UI Signed-off-by: Kevin Wasserman (cherry picked from commit b32bad9b36671702d439ee1089ce0060280f213b) ticket: 7248 status: resolved --- diff --git a/src/windows/leash/Leash.rc b/src/windows/leash/Leash.rc index 52606b499c..22d75a2794 100644 --- a/src/windows/leash/Leash.rc +++ b/src/windows/leash/Leash.rc @@ -971,6 +971,11 @@ BEGIN ID_VALID_UNTIL "Display ticket valid until time column" END +STRINGTABLE +BEGIN + ID_MAKE_DEFAULT "Make the selected principal the default principal" +END + #endif // English (United States) resources ///////////////////////////////////////////////////////////////////////////// diff --git a/src/windows/leash/MainFrm.cpp b/src/windows/leash/MainFrm.cpp index 2332a1b8b3..15c01579cd 100644 --- a/src/windows/leash/MainFrm.cpp +++ b/src/windows/leash/MainFrm.cpp @@ -87,6 +87,22 @@ CMainFrame::~CMainFrame() int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { + if (CLeashApp::m_useRibbon) { + CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows7)); + CDockingManager::SetDockingMode(DT_SMART); + m_wndRibbonBar.SetWindows7Look(TRUE); + + // Create the ribbon bar + if (!m_wndRibbonBar.Create(this)) + return -1; // Failed to create ribbon bar + + m_wndRibbonBar.LoadFromResource(IDR_RIBBON1); + + m_wndApplicationButton.SetVisible(FALSE); + // Uncomment the next line to hide the application button + //m_wndRibbonBar.SetApplicationButton(&m_wndApplicationButton, CSize()); + } + if (CLeashFrame::OnCreate(lpCreateStruct) == -1) return -1; @@ -135,8 +151,8 @@ int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) } // TODO: Remove this if you don't want tool tips or a resizeable toolbar - m_wndToolBar.SetPaneStyle(m_wndToolBar.GetPaneStyle() | - CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC); + //m_wndToolBar.SetPaneStyle(m_wndToolBar.GetPaneStyle() | + // CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC); // TODO: Delete these three lines if you don't want the toolbar to // be dockable @@ -160,11 +176,11 @@ BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { // Use the specific class name we established earlier // Remove the Minimize and Maximize buttons - cs.style &= ~WS_MINIMIZEBOX; +// cs.style &= ~WS_MINIMIZEBOX; cs.style &= ~WS_MAXIMIZEBOX; // Initialize the extended window style to display a TaskBar entry with WS_EX_APPWINDOW cs.dwExStyle |= WS_EX_APPWINDOW; - cs.dwExStyle |= WS_EX_OVERLAPPEDWINDOW ; +// cs.dwExStyle |= WS_EX_OVERLAPPEDWINDOW ; cs.lpszClass = _T("LEASH.0WNDCLASS"); cs.lpszName = _T("Leash32"); @@ -364,8 +380,12 @@ void CMainFrame::OnClose(void) LRESULT CMainFrame::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) { BOOL oldMin = m_isMinimum; + printf("CMainFrame::WindowProc() Msg: %x, WPARAM: %x, LPARAM: %x\n", message, wParam, lParam); switch(message) { + case WM_CLOSE: + printf("received WM_CLOSE!"); + break; case WM_SIZE: switch ( wParam ) { case SIZE_MINIMIZED: diff --git a/src/windows/leash/MainFrm.h b/src/windows/leash/MainFrm.h index 2d35bfd77e..749c2fa5e3 100644 --- a/src/windows/leash/MainFrm.h +++ b/src/windows/leash/MainFrm.h @@ -33,6 +33,12 @@ private: CDialog m_MainFrameOwner; protected: // create from serialization only + // Ribbon bar for the application + CMFCRibbonBar m_wndRibbonBar; + // Our own custom application button we can keep hidden. + CMFCRibbonApplicationButton m_wndApplicationButton; + + CMainFrame(); DECLARE_DYNCREATE(CMainFrame) diff --git a/src/windows/leash/res/ribbon1.mfcribbon-ms b/src/windows/leash/res/ribbon1.mfcribbon-ms index 4572d13d2b..81338d1c51 100644 --- a/src/windows/leash/res/ribbon1.mfcribbon-ms +++ b/src/windows/leash/res/ribbon1.mfcribbon-ms @@ -1,2 +1,2 @@ -
1
RibbonBarTRUETRUETRUETRUEFALSEButton_MainID_BUTTON232813FALSEFALSE-1-1TRUECategory_MainCategory1ButtonID_APP_EXIT57665E&xitFALSEFALSE-1-1TRUEFALSEButton_Main_PanelID_APP_EXIT57665E&xitFALSEFALSE-1-1TRUETRUE300CategoryHomeIDB_HOMESMALL266IDB_HOMELARGE267Panel-1FALSEFALSEButtonID_INIT_TICKET32807Initialize TicketFALSETRUE22TRUEFALSEPanel-1FALSEFALSEButtonID_RENEW_TICKET32776Renew TicketFALSETRUE-13TRUEFALSEPanel-1FALSEFALSEButtonID_IMPORT_TICKET32806Import TicketFALSEFALSE44TRUEFALSE
+
1
RibbonBarTRUETRUETRUETRUEFALSEButton_MainID_BUTTON232813FALSEFALSE-1-1TRUEIDB_BITMAP2268Category_MainCategory1ButtonID_APP_EXIT57665E&xitFALSEFALSE-1-1TRUEFALSEButtonID_HELP_KERBEROS_32784&HelpFALSEFALSE-1-1TRUEFALSEFALSE300CategoryHomeIDB_HOMESMALL266IDB_HOMELARGE267Panel-1FALSEFALSEButtonID_INIT_TICKET32807&Get TicketFALSETRUE22TRUEFALSEPanel-1FALSEFALSEButtonID_RENEW_TICKET32776&Renew TicketFALSETRUE-13TRUEFALSEPanel-1FALSEFALSEButtonID_IMPORT_TICKET32806&Import TicketFALSEFALSE44TRUEFALSEPanel-1FALSEFALSEButtonID_DESTROY_TICKET32777&Destroy TicketFALSETRUE-11TRUEFALSEPanelView-1FALSEFALSEButton_CheckID_TIME_ISSUED32810&IssuedFALSEFALSE-1-1TRUEButton_CheckID_RENEWABLE_UNTIL32811&Renewable UntilFALSEFALSE-1-1TRUEButton_CheckID_VALID_UNTIL32828&Valid UntilFALSEFALSE-1-1TRUEButton_CheckID_ENCRYPTION_TYPE32826&Encryption TypeFALSEFALSE-1-1TRUEButton_CheckID_SHOW_TICKET_FLAGS32812&FlagsFALSEFALSE-1-1TRUEPanelOptions-1FALSEFALSEButton_CheckID_KILL_TIX_ONEXIT32785&Destroy Tickets on ExitFALSEFALSE-1-1TRUEButton_CheckID_UPPERCASE_REALM32787Allow &Mixed Case Realm NameFALSEFALSE-1-1TRUEButton_CheckID_AUTO_RENEW32808Automatic Ticket &RenewalFALSEFALSE-1-1TRUEButton_CheckID_LOW_TICKET_ALARM32798Expiration &AlarmFALSEFALSE-1-1TRUE
diff --git a/src/windows/leash/resource.h b/src/windows/leash/resource.h index 49403b163a..6347318449 100644 --- a/src/windows/leash/resource.h +++ b/src/windows/leash/resource.h @@ -90,6 +90,7 @@ #define IDR_RIBBON1 265 #define IDB_HOMESMALL 266 #define IDB_HOMELARGE 267 +#define IDB_BITMAP2 268 #define IDC_PROGRESS1 1000 #define IDC_TRACKBAR1 1001 #define IDC_TRACKBAR2 1002 @@ -290,6 +291,8 @@ #define IDC_RADIO_MSLSA_IMPORT_ON 1204 #define IDC_RADIO_MSLSA_IMPORT_MATCH 1205 #define IDC_STATIC_LEASH_MSLSA 1206 +#define IDC_LEASH_MAINVIEW 1207 +#define IDC_LIST3 1208 #define IDD_FILESPECIAL 1536 #define IDD_LEASH_FILESPECIAL 1536 #define IDD_KRB_PROP_MISC 1537 @@ -333,7 +336,8 @@ #define ID_BUTTON4 32818 #define ID_ENCRYPTION_TYPE 32826 #define ID_VALID_UNTIL 32828 -#define ID_BUTTON9 32834 +#define ID_BUTTON3 32835 +#define ID_MAKE_DEFAULT 32835 // Next default values for new objects // @@ -341,8 +345,8 @@ #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 269 -#define _APS_NEXT_COMMAND_VALUE 32835 -#define _APS_NEXT_CONTROL_VALUE 1207 +#define _APS_NEXT_COMMAND_VALUE 32836 +#define _APS_NEXT_CONTROL_VALUE 1209 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif