[RSHELL]
authorDavid Quintana <gigaherz@gmail.com>
Tue, 25 Feb 2014 10:44:28 +0000 (10:44 +0000)
committerDavid Quintana <gigaherz@gmail.com>
Tue, 25 Feb 2014 10:44:28 +0000 (10:44 +0000)
* CStartMenu: Update the icon resource IDs to the IDs with the smaller images. This causes the images not to show. Need help figuring out why.
* Misc changes.
CORE-7586

svn path=/branches/shell-experiments/; revision=62328

base/shell/rshell/CMenuBand.cpp
base/shell/rshell/CMenuToolbars.cpp
base/shell/rshell/CMenuToolbars.h
base/shell/rshell/CStartMenu.cpp
base/shell/rshell/wraplog.cpp

index 0ec21b7..7afd5f3 100644 (file)
@@ -875,10 +875,8 @@ HRESULT CMenuBand::_MenuItemHotTrack(DWORD changeType)
     {
         if (m_hotBar && m_hotItem >= 0)
         {
-            // TODO: popup the current child if it has subitems, otherwise spread up.
             if (m_hotBar->HasSubMenu(m_hotItem)==S_OK)
             {
-                LRESULT result;
                 m_hotBar->PopupItem(m_hotItem);
                 return S_FALSE;
             }
index da1b663..030ea98 100644 (file)
@@ -64,6 +64,13 @@ HRESULT CMenuToolbarBase::ShowWindow(BOOL fShow)
 {
     ::ShowWindow(m_hwnd, fShow ? SW_SHOW : SW_HIDE);
 
+    UpdateImageLists();
+
+    return S_OK;
+}
+
+HRESULT CMenuToolbarBase::UpdateImageLists()
+{
     int shiml;
     if (m_menuBand->UseBigIcons())
     {
@@ -85,7 +92,6 @@ HRESULT CMenuToolbarBase::ShowWindow(BOOL fShow)
     {
         SendMessageW(m_hwndToolbar, TB_SETIMAGELIST, 0, 0);
     }
-
     return S_OK;
 }
 
@@ -163,31 +169,12 @@ HRESULT CMenuToolbarBase::CreateToolbar(HWND hwndParent, DWORD dwFlags)
     //    SendMessageW(m_hwnd, TB_SETIMAGELIST, 0, 0);
     //}
     //else
-    int shiml;
-    if (m_menuBand->UseBigIcons())
-    {
-        shiml = SHIL_LARGE;
-        SendMessageW(hwndToolbar, TB_SETPADDING, 0, MAKELPARAM(0, 0));
-    }
-    else
-    {
-        shiml = SHIL_SMALL;
-    }
-
-    IImageList * piml;
-    HRESULT hr = SHGetImageList(shiml, IID_PPV_ARG(IImageList, &piml));
-    if (SUCCEEDED(hr))
-    {
-        SendMessageW(hwndToolbar, TB_SETIMAGELIST, 0, reinterpret_cast<LPARAM>(piml));
-    }
-    else
-    {
-        SendMessageW(hwndToolbar, TB_SETIMAGELIST, 0, 0);
-    }
 
     SetWindowLongPtr(hwndToolbar, GWLP_USERDATA, reinterpret_cast<LONG_PTR>(this));
     m_SubclassOld = (WNDPROC) SetWindowLongPtr(hwndToolbar, GWLP_WNDPROC, reinterpret_cast<LONG_PTR>(CMenuToolbarBase::s_SubclassProc));
 
+    UpdateImageLists();
+
     return S_OK;
 }
 
index 4ad19a8..b8d4c98 100644 (file)
@@ -70,6 +70,8 @@ public:
 
 protected:
     LRESULT CALLBACK SubclassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
+
+    HRESULT UpdateImageLists();
 };
 
 class CMenuStaticToolbar :
index 08be0ba..f9a53ff 100644 (file)
@@ -90,23 +90,26 @@ private:
 
         switch (psmd->uId)
         {
-        case IDM_PROGRAMS:  iconIndex = -20; break;
-        case IDM_FAVORITES: iconIndex = -173; break;
-        case IDM_DOCUMENTS: iconIndex = -21; break;
-        case IDM_SETTINGS: iconIndex = -22; break;
+            // Smaller "24x24" icons used for the start menu
+            // The bitmaps are still 32x32, but the image is centered
+        case IDM_FAVORITES: iconIndex = -209; break;
+        case IDM_SEARCH: iconIndex = -210; break;
+        case IDM_HELPANDSUPPORT: iconIndex = -211; break;
+        case IDM_LOGOFF: iconIndex = -212; break;
+        case IDM_PROGRAMS:  iconIndex = -213; break;
+        case IDM_DOCUMENTS: iconIndex = -214; break;
+        case IDM_RUN: iconIndex = -215; break;
+        case IDM_SHUTDOWN: iconIndex = -216; break;
+        case IDM_SETTINGS: iconIndex = -217; break;
+
         case IDM_CONTROLPANEL: iconIndex = -22; break;
-        //case IDM_SECURITY: iconIndex = -21; break;
         case IDM_NETWORKCONNECTIONS: iconIndex = -257; break;
         case IDM_PRINTERSANDFAXES: iconIndex = -138; break;
         case IDM_TASKBARANDSTARTMENU: iconIndex = -40; break;
-        case IDM_SEARCH: iconIndex = -23; break;
-        case IDM_HELPANDSUPPORT: iconIndex = -24; break;
-        case IDM_RUN: iconIndex = -25; break;
+        //case IDM_SECURITY: iconIndex = -21; break;
         //case IDM_SYNCHRONIZE: iconIndex = -21; break;
-        case IDM_LOGOFF: iconIndex = -45; break;
         //case IDM_DISCONNECT: iconIndex = -21; break;
         //case IDM_UNDOCKCOMPUTER: iconIndex = -21; break;
-        case IDM_SHUTDOWN: iconIndex = -28; break;
         default:
             return S_FALSE;
         }
index 20aebb6..b276066 100644 (file)
@@ -13,7 +13,7 @@ void WrapLogOpen()
 {
     if (openCount == 0)
     {
-        log = fopen("G:\\RShellWrap.log", "w");
+        log = fopen("RShellWrap.log", "w");
         nTemps = 0;
         callLevel = 0;
     }