https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f0f1e5ffdb989023d91fa9c99cb253463ba9f202
commit f0f1e5ffdb989023d91fa9c99cb253463ba9f202 Author: Giannis Adamopoulos <johnyad...@outlook.com> AuthorDate: Mon Oct 16 23:56:34 2017 +0300 [QCKLNCH] Remove qcklnch (#61) - Move CIFSBand to the shellbars static lib which is linked to browseui and rshell. - Move CQuickLaunchBand to rshell. - Make nescessary adjustments so that they can both be registered and instantiated. --- base/shell/rshell/CMakeLists.txt | 1 + .../shell/rshell}/CQuickLaunchBand.cpp | 50 +++++++++------- .../shell/rshell}/CQuickLaunchBand.h | 1 - base/shell/rshell/misc.cpp | 13 ++++ dll/shellext/CMakeLists.txt | 1 - dll/shellext/qcklnch/CMakeLists.txt | 46 -------------- dll/shellext/qcklnch/lang/en-US.rc | 19 ------ dll/shellext/qcklnch/precomp.h | 41 ------------- dll/shellext/qcklnch/qcklnch.cpp | 70 ---------------------- dll/shellext/qcklnch/qcklnch.rc | 15 ----- dll/shellext/qcklnch/qcklnch.spec | 4 -- dll/shellext/qcklnch/resource.h | 11 ---- dll/shellext/qcklnch/rgs/qcklnch.rgs | 13 ---- dll/win32/browseui/browseui.cpp | 1 + dll/win32/browseui/browseui.rc | 1 + dll/win32/browseui/lang/bg-BG.rc | 13 ++++ dll/win32/browseui/lang/de-DE.rc | 13 ++++ dll/win32/browseui/lang/en-US.rc | 13 ++++ dll/win32/browseui/lang/es-ES.rc | 13 ++++ dll/win32/browseui/lang/fr-FR.rc | 13 ++++ dll/win32/browseui/lang/he-IL.rc | 13 ++++ dll/win32/browseui/lang/it-IT.rc | 13 ++++ dll/win32/browseui/lang/ja-JP.rc | 13 ++++ dll/win32/browseui/lang/pl-PL.rc | 13 ++++ dll/win32/browseui/lang/pt-BR.rc | 13 ++++ dll/win32/browseui/lang/ro-RO.rc | 13 ++++ dll/win32/browseui/lang/ru-RU.rc | 13 ++++ dll/win32/browseui/lang/sq-AL.rc | 13 ++++ dll/win32/browseui/lang/tr-TR.rc | 13 ++++ dll/win32/browseui/lang/uk-UA.rc | 13 ++++ dll/win32/browseui/lang/zh-CN.rc | 13 ++++ dll/win32/browseui/lang/zh-TW.rc | 13 ++++ dll/win32/browseui/precomp.h | 1 + dll/win32/browseui/res/isfband.rgs | 13 ++++ dll/win32/browseui/resource.h | 7 +++ .../browseui/shellbars}/CISFBand.cpp | 16 +++-- .../browseui/shellbars}/CISFBand.h | 6 +- dll/win32/browseui/shellbars/CMakeLists.txt | 1 + dll/win32/browseui/shellbars/shellbars.h | 1 + 39 files changed, 300 insertions(+), 253 deletions(-) diff --git a/base/shell/rshell/CMakeLists.txt b/base/shell/rshell/CMakeLists.txt index 3d70d6bef7..94337e9efe 100644 --- a/base/shell/rshell/CMakeLists.txt +++ b/base/shell/rshell/CMakeLists.txt @@ -8,6 +8,7 @@ include_directories( spec2def(rshell.dll rshell.spec ADD_IMPORTLIB) list(APPEND SOURCE + CQuickLaunchBand.cpp misc.cpp ${CMAKE_CURRENT_BINARY_DIR}/rshell.def) diff --git a/dll/shellext/qcklnch/CQuickLaunchBand.cpp b/base/shell/rshell/CQuickLaunchBand.cpp similarity index 93% rename from dll/shellext/qcklnch/CQuickLaunchBand.cpp rename to base/shell/rshell/CQuickLaunchBand.cpp index 487fb9725e..6f3c6dee51 100644 --- a/dll/shellext/qcklnch/CQuickLaunchBand.cpp +++ b/base/shell/rshell/CQuickLaunchBand.cpp @@ -6,9 +6,35 @@ * PROGRAMMERS: Shriraj Sawant a.k.a SR13 <sr.offic...@hotmail.com> */ -#include "precomp.h" -WINE_DEFAULT_DEBUG_CHANNEL(qcklnch); +#define WIN32_NO_STATUS +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H + +#define COBJMACROS + +#include <windef.h> +#include <winbase.h> +#include <winreg.h> +#include <wingdi.h> +#include <winnls.h> +#include <wincon.h> +#include <shellapi.h> +#include <shlobj.h> +#include <shlobj_undoc.h> +#include <shlwapi.h> +#include <shlguid_undoc.h> +#include <atlbase.h> +#include <atlcom.h> +#include <atlwin.h> + +#include <undocshell.h> +#include <shellutils.h> + +#include "CQuickLaunchBand.h" + +extern "C" +HRESULT WINAPI CISFBand_CreateInstance(REFIID riid, void** ppv); // {260CB95D-4544-44F6-A079-575BAA60B72F} const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0, 0x79, 0x57, 0x5b, 0xaa, 0x60, 0xb7, 0x2f } }; @@ -64,8 +90,7 @@ const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0, 0x79, 0 SHGetSpecialFolderLocation(hwnd, nCSIDL, &pidlRoot); } - CString biTitle((LPCSTR)IDS_BROWSEINFO_TITLE); - BROWSEINFO bi = { hwnd, pidlRoot, path, biTitle, 0, NULL, 0, 0 }; + BROWSEINFO bi = { hwnd, pidlRoot, path, L"Choose a folder", 0, NULL, 0, 0 }; LPITEMIDLIST pidlSelected = SHBrowseForFolder(&bi); return pidlSelected; @@ -114,8 +139,6 @@ const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0, 0x79, 0 // IObjectWithSite STDMETHODIMP CQuickLaunchBand::SetSite(IUnknown *pUnkSite) { - TRACE("CQuickLaunchBand::SetSite(0x%p)\n", pUnkSite); - // Internal CISFBand Calls CComPtr<IObjectWithSite> pIOWS; HRESULT hr = m_punkISFB->QueryInterface(IID_PPV_ARG(IObjectWithSite, &pIOWS)); @@ -127,9 +150,6 @@ const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0, 0x79, 0 STDMETHODIMP CQuickLaunchBand::GetSite(IN REFIID riid, OUT VOID **ppvSite) { - TRACE("CQuickLaunchBand::GetSite(0x%p,0x%p)\n", riid, ppvSite); - - // Internal CISFBand Calls CComPtr<IObjectWithSite> pIOWS; HRESULT hr = m_punkISFB->QueryInterface(IID_PPV_ARG(IObjectWithSite, &pIOWS)); if (FAILED(hr)) @@ -197,8 +217,6 @@ const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0, 0x79, 0 STDMETHODIMP CQuickLaunchBand::GetBandInfo(IN DWORD dwBandID, IN DWORD dwViewMode, IN OUT DESKBANDINFO *pdbi) { - TRACE("CQuickLaunchBand::GetBandInfo(0x%x,0x%x,0x%p)\n", dwBandID, dwViewMode, pdbi); - // Internal CISFBand Calls CComPtr<IDeskBand> pIDB; HRESULT hr = m_punkISFB->QueryInterface(IID_PPV_ARG(IDeskBand, &pIDB)); @@ -211,9 +229,7 @@ const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0, 0x79, 0 /*****************************************************************************/ // IPersistStream STDMETHODIMP CQuickLaunchBand::GetClassID(OUT CLSID *pClassID) - { - TRACE("CQuickLaunchBand::GetClassID(0x%p)\n", pClassID); - + { // Internal CISFBand Calls CComPtr<IPersistStream> pIPS; HRESULT hr = m_punkISFB->QueryInterface(IID_PPV_ARG(IPersistStream, &pIPS)); @@ -236,9 +252,6 @@ const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0, 0x79, 0 STDMETHODIMP CQuickLaunchBand::Load(IN IStream *pStm) { - TRACE("CQuickLaunchBand::Load called\n"); - - // Internal CISFBand Calls CComPtr<IPersistStream> pIPS; HRESULT hr = m_punkISFB->QueryInterface(IID_PPV_ARG(IPersistStream, &pIPS)); if (FAILED(hr)) @@ -260,9 +273,6 @@ const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0, 0x79, 0 STDMETHODIMP CQuickLaunchBand::GetSizeMax(OUT ULARGE_INTEGER *pcbSize) { - TRACE("CQuickLaunchBand::GetSizeMax called\n"); - - // Internal CISFBand Calls CComPtr<IPersistStream> pIPS; HRESULT hr = m_punkISFB->QueryInterface(IID_PPV_ARG(IPersistStream, &pIPS)); if (FAILED(hr)) diff --git a/dll/shellext/qcklnch/CQuickLaunchBand.h b/base/shell/rshell/CQuickLaunchBand.h similarity index 98% rename from dll/shellext/qcklnch/CQuickLaunchBand.h rename to base/shell/rshell/CQuickLaunchBand.h index c8a71dc9f4..2889e6ef1f 100644 --- a/dll/shellext/qcklnch/CQuickLaunchBand.h +++ b/base/shell/rshell/CQuickLaunchBand.h @@ -156,7 +156,6 @@ class CQuickLaunchBand : //***************************************************************************************************** - DECLARE_REGISTRY_RESOURCEID(IDR_QCKLNCH) DECLARE_NOT_AGGREGATABLE(CQuickLaunchBand) DECLARE_PROTECT_FINAL_CONSTRUCT() diff --git a/base/shell/rshell/misc.cpp b/base/shell/rshell/misc.cpp index d984555b60..ce1eb7a98b 100644 --- a/base/shell/rshell/misc.cpp +++ b/base/shell/rshell/misc.cpp @@ -50,6 +50,8 @@ #include <shellutils.h> +#include <CQuickLaunchBand.h> + #include <wine/debug.h> extern "C" @@ -177,24 +179,32 @@ DllCanUnloadNow(void) STDAPI DllRegisterServer(void) { +#if 0 RegisterComponent(CLSID_StartMenu, L"Shell Start Menu"); RegisterComponent(CLSID_MenuDeskBar, L"Shell Menu Desk Bar"); RegisterComponent(CLSID_MenuBand, L"Shell Menu Band"); RegisterComponent(CLSID_MenuBandSite, L"Shell Menu Band Site"); RegisterComponent(CLSID_MergedFolder, L"Merged Shell Folder"); RegisterComponent(CLSID_RebarBandSite, L"Shell Rebar Band Site"); +#endif + RegisterComponent(CLSID_QuickLaunchBand, L"Quick Launch"); + RegisterComCat(); return S_OK; } STDAPI DllUnregisterServer(void) { +#if 0 UnregisterComponent(CLSID_StartMenu); UnregisterComponent(CLSID_MenuDeskBar); UnregisterComponent(CLSID_MenuBand); UnregisterComponent(CLSID_MenuBandSite); UnregisterComponent(CLSID_MergedFolder); UnregisterComponent(CLSID_RebarBandSite); +#endif + UnregisterComponent(CLSID_QuickLaunchBand); + UnregisterComCat(); return S_OK; } @@ -235,6 +245,9 @@ public: if (IsEqualCLSID(m_Clsid, CLSID_MergedFolder)) return RSHELL_CMergedFolder_CreateInstance(riid, ppvObject); + if (IsEqualCLSID(m_Clsid, CLSID_QuickLaunchBand)) + return ShellObjectCreator<CQuickLaunchBand>(riid, ppvObject); + return E_NOINTERFACE; } diff --git a/dll/shellext/CMakeLists.txt b/dll/shellext/CMakeLists.txt index 2b5b3c6c65..56fabe1299 100644 --- a/dll/shellext/CMakeLists.txt +++ b/dll/shellext/CMakeLists.txt @@ -6,6 +6,5 @@ add_subdirectory(devcpux) add_subdirectory(fontext) add_subdirectory(netshell) add_subdirectory(ntobjshex) -add_subdirectory(qcklnch) add_subdirectory(shellbtrfs) add_subdirectory(stobject) diff --git a/dll/shellext/qcklnch/CMakeLists.txt b/dll/shellext/qcklnch/CMakeLists.txt deleted file mode 100644 index 29b7ac8768..0000000000 --- a/dll/shellext/qcklnch/CMakeLists.txt +++ /dev/null @@ -1,46 +0,0 @@ - -project(SHELL) - -set_cpp(WITH_RUNTIME) - -if(NOT MSVC) - # HACK: this should be enabled globally! - add_compile_flags_language("-std=c++11" "CXX") -endif() - -add_definitions( - -D_ATL_NO_EXCEPTIONS) - -include_directories( - ${REACTOS_SOURCE_DIR}/sdk/lib/atl - ${REACTOS_SOURCE_DIR}) - -spec2def(qcklnch.dll qcklnch.spec) - -add_library(qcklnch SHARED - qcklnch.rc - qcklnch.cpp - CQuickLaunchBand.cpp - CISFBand.cpp - CQuickLaunchBand.h - CISFBand.h - ${CMAKE_CURRENT_BINARY_DIR}/qcklnch.def) - -set_module_type(qcklnch win32dll UNICODE) -target_link_libraries(qcklnch uuid wine atlnew) - -add_importlibs(qcklnch - advapi32 - winmm - ole32 - oleaut32 - shlwapi - shell32 - comctl32 - msvcrt - gdi32 - user32 - kernel32 - ntdll) - -add_cd_file(TARGET qcklnch DESTINATION reactos/system32 FOR all) diff --git a/dll/shellext/qcklnch/lang/en-US.rc b/dll/shellext/qcklnch/lang/en-US.rc deleted file mode 100644 index 81c08eb5d0..0000000000 --- a/dll/shellext/qcklnch/lang/en-US.rc +++ /dev/null @@ -1,19 +0,0 @@ -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US - -IDM_POPUPMENU MENUEX DISCARDABLE -BEGIN - POPUP "" - BEGIN - POPUP "&View", IDM_VIEW_MENU - BEGIN - MENUITEM "&Large Icons", IDM_LARGE_ICONS - MENUITEM "&Small Icons", IDM_SMALL_ICONS - END - MENUITEM "&Show Text", IDM_SHOW_TEXT - END -END - -STRINGTABLE -BEGIN - IDS_BROWSEINFO_TITLE "Choose a folder" -END diff --git a/dll/shellext/qcklnch/precomp.h b/dll/shellext/qcklnch/precomp.h deleted file mode 100644 index 12b27a9c15..0000000000 --- a/dll/shellext/qcklnch/precomp.h +++ /dev/null @@ -1,41 +0,0 @@ -#pragma once - -#define WIN32_NO_STATUS -#include <stdarg.h> -#include <tchar.h> - -#define COBJMACROS -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H -#define NTOS_MODE_USER - -#include <windef.h> -#include <winbase.h> -#include <winreg.h> -#include <winuser.h> -#include <wincon.h> -#include <ddeml.h> -#include <shlguid_undoc.h> -#include <shlwapi.h> -#include <shlguid.h> -#include <shlobj.h> -#include <shlobj_undoc.h> -#include <shlwapi_undoc.h> -#include <tchar.h> -#include <strsafe.h> -#include <atlbase.h> -#include <atlcom.h> -#include <atlwin.h> -#include <atlstr.h> -#include <undocshell.h> -#include <shellutils.h> - -#include <shellapi.h> - -#include <wine/debug.h> -#include <wine/unicode.h> - -#include "resource.h" -#include "CQuickLaunchBand.h" -#include "CISFBand.h" \ No newline at end of file diff --git a/dll/shellext/qcklnch/qcklnch.cpp b/dll/shellext/qcklnch/qcklnch.cpp deleted file mode 100644 index 79a5a45542..0000000000 --- a/dll/shellext/qcklnch/qcklnch.cpp +++ /dev/null @@ -1,70 +0,0 @@ -/* - * PROJECT: ReactOS shell extensions - * LICENSE: GPL - See COPYING in the top level directory - * FILE: dll/shellext/qcklnch/qcklnch.cpp - * PURPOSE: Quick Launch Toolbar (Taskbar Shell Extension) - * PROGRAMMERS: Shriraj Sawant a.k.a SR13 <sr.offic...@hotmail.com> - */ - -#include "precomp.h" - -#include <atlwin.h> - -WINE_DEFAULT_DEBUG_CHANNEL(qcklnch); - -BEGIN_OBJECT_MAP(ObjectMap) - OBJECT_ENTRY(CLSID_QuickLaunchBand, CQuickLaunchBand) -END_OBJECT_MAP() - -HINSTANCE g_hInstance; -CComModule g_Module; - -STDAPI_(BOOL) -DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad) -{ - if (fdwReason == DLL_PROCESS_ATTACH) - { - g_hInstance = hinstDLL; - DisableThreadLibraryCalls(g_hInstance); - - g_Module.Init(ObjectMap, g_hInstance, NULL); - } - else if (fdwReason == DLL_PROCESS_DETACH) - { - g_hInstance = NULL; - g_Module.Term(); - } - return TRUE; -} - -STDAPI -DllRegisterServer(void) -{ - HRESULT hr = g_Module.DllRegisterServer(FALSE); - if (FAILED(hr)) - return hr; - - return RegisterComCat(); -} - -STDAPI -DllUnregisterServer(void) -{ - HRESULT hr = UnregisterComCat(); - if (FAILED(hr)) - return hr; - - return g_Module.DllUnregisterServer(FALSE); -} - -STDAPI -DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv) -{ - return g_Module.DllGetClassObject(rclsid, riid, ppv); -} - -STDAPI -DllCanUnloadNow(void) -{ - return g_Module.DllCanUnloadNow(); -} diff --git a/dll/shellext/qcklnch/qcklnch.rc b/dll/shellext/qcklnch/qcklnch.rc deleted file mode 100644 index f44528e0af..0000000000 --- a/dll/shellext/qcklnch/qcklnch.rc +++ /dev/null @@ -1,15 +0,0 @@ -#include <windef.h> -#include <winuser.h> -#include <commctrl.h> -#include "resource.h" - -LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL - -IDR_QCKLNCH REGISTRY "rgs/qcklnch.rgs" - -#include <reactos/manifest_dll.rc> - -#ifdef LANGUAGE_EN_US - #include "lang/en-US.rc" -#endif - diff --git a/dll/shellext/qcklnch/qcklnch.spec b/dll/shellext/qcklnch/qcklnch.spec deleted file mode 100644 index 069be11627..0000000000 --- a/dll/shellext/qcklnch/qcklnch.spec +++ /dev/null @@ -1,4 +0,0 @@ -@ stdcall -private DllCanUnloadNow() -@ stdcall -private DllGetClassObject(ptr ptr ptr) -@ stdcall -private DllRegisterServer() -@ stdcall -private DllUnregisterServer() \ No newline at end of file diff --git a/dll/shellext/qcklnch/resource.h b/dll/shellext/qcklnch/resource.h deleted file mode 100644 index b5613db3c2..0000000000 --- a/dll/shellext/qcklnch/resource.h +++ /dev/null @@ -1,11 +0,0 @@ -#pragma once - -#define IDR_QCKLNCH 1001 - -#define IDM_POPUPMENU 2001 -#define IDM_LARGE_ICONS 1 -#define IDM_SMALL_ICONS 2 -#define IDM_SHOW_TEXT 3 -#define IDM_VIEW_MENU 4 - -#define IDS_BROWSEINFO_TITLE 101 diff --git a/dll/shellext/qcklnch/rgs/qcklnch.rgs b/dll/shellext/qcklnch/rgs/qcklnch.rgs deleted file mode 100644 index 3df55ca1d3..0000000000 --- a/dll/shellext/qcklnch/rgs/qcklnch.rgs +++ /dev/null @@ -1,13 +0,0 @@ -HKCR -{ - NoRemove CLSID - { - ForceRemove {260CB95D-4544-44F6-A079-575BAA60B72F} = s 'Quick Launch' - { - InprocServer32 = s '%MODULE%' - { - val ThreadingModel = s 'Apartment' - } - } - } -} \ No newline at end of file diff --git a/dll/win32/browseui/browseui.cpp b/dll/win32/browseui/browseui.cpp index 9de196c1c5..68326784ba 100644 --- a/dll/win32/browseui/browseui.cpp +++ b/dll/win32/browseui/browseui.cpp @@ -142,6 +142,7 @@ OBJECT_ENTRY(CLSID_InternetToolbar, CInternetToolbar) OBJECT_ENTRY(CLSID_CRegTreeOptions, CRegTreeOptions) OBJECT_ENTRY(CLSID_ExplorerBand, CExplorerBand) OBJECT_ENTRY(CLSID_ProgressDialog, CProgressDialog) +OBJECT_ENTRY(CLSID_ISFBand, CISFBand) END_OBJECT_MAP() CBrowseUIModule gModule; diff --git a/dll/win32/browseui/browseui.rc b/dll/win32/browseui/browseui.rc index efddc28c46..6badbc9fb0 100644 --- a/dll/win32/browseui/browseui.rc +++ b/dll/win32/browseui/browseui.rc @@ -45,6 +45,7 @@ IDR_EXPLORERBAND REGISTRY "res/explorerband.rgs" IDR_PROGRESSDIALOG REGISTRY "res/progressdialog.rgs" IDR_AUTOCOMPLETE REGISTRY "res/autocomplete.rgs" IDR_ACLISTISF REGISTRY "res/shellautocomplete.rgs" +IDR_ISFBAND REGISTRY "res/isfband.rgs" #include <reactos/manifest_dll.rc> diff --git a/dll/win32/browseui/lang/bg-BG.rc b/dll/win32/browseui/lang/bg-BG.rc index 6fe1f3c5bb..de44ec5f46 100644 --- a/dll/win32/browseui/lang/bg-BG.rc +++ b/dll/win32/browseui/lang/bg-BG.rc @@ -93,6 +93,19 @@ BEGIN MENUITEM "&Close toolbar", IDM_BAND_CLOSE END +IDM_POPUPMENU MENUEX DISCARDABLE +BEGIN + POPUP "" + BEGIN + POPUP "&View", IDM_VIEW_MENU + BEGIN + MENUITEM "&Large Icons", IDM_LARGE_ICONS + MENUITEM "&Small Icons", IDM_SMALL_ICONS + END + MENUITEM "&Show Text", IDM_SHOW_TEXT + END +END + /* Dialogs */ IDD_PROGRESS_DLG DIALOGEX 0, 0, 260, 85 diff --git a/dll/win32/browseui/lang/de-DE.rc b/dll/win32/browseui/lang/de-DE.rc index 9bcbd8b9d7..283d28f9a3 100644 --- a/dll/win32/browseui/lang/de-DE.rc +++ b/dll/win32/browseui/lang/de-DE.rc @@ -111,6 +111,19 @@ BEGIN MENUITEM "&Close toolbar", IDM_BAND_CLOSE END +IDM_POPUPMENU MENUEX DISCARDABLE +BEGIN + POPUP "" + BEGIN + POPUP "&View", IDM_VIEW_MENU + BEGIN + MENUITEM "&Large Icons", IDM_LARGE_ICONS + MENUITEM "&Small Icons", IDM_SMALL_ICONS + END + MENUITEM "&Show Text", IDM_SHOW_TEXT + END +END + /* Dialogs */ IDD_PROGRESS_DLG DIALOGEX 0, 0, 260, 85 diff --git a/dll/win32/browseui/lang/en-US.rc b/dll/win32/browseui/lang/en-US.rc index 91bede91db..2a005e949f 100644 --- a/dll/win32/browseui/lang/en-US.rc +++ b/dll/win32/browseui/lang/en-US.rc @@ -111,6 +111,19 @@ BEGIN MENUITEM "&Close toolbar", IDM_BAND_CLOSE END +IDM_POPUPMENU MENUEX DISCARDABLE +BEGIN + POPUP "" + BEGIN + POPUP "&View", IDM_VIEW_MENU + BEGIN + MENUITEM "&Large Icons", IDM_LARGE_ICONS + MENUITEM "&Small Icons", IDM_SMALL_ICONS + END + MENUITEM "&Show Text", IDM_SHOW_TEXT + END +END + /* Dialogs */ IDD_PROGRESS_DLG DIALOGEX 0, 0, 260, 85 diff --git a/dll/win32/browseui/lang/es-ES.rc b/dll/win32/browseui/lang/es-ES.rc index a27939bc3e..414be97dbc 100644 --- a/dll/win32/browseui/lang/es-ES.rc +++ b/dll/win32/browseui/lang/es-ES.rc @@ -95,6 +95,19 @@ BEGIN MENUITEM "&Close toolbar", IDM_BAND_CLOSE END +IDM_POPUPMENU MENUEX DISCARDABLE +BEGIN + POPUP "" + BEGIN + POPUP "&View", IDM_VIEW_MENU + BEGIN + MENUITEM "&Large Icons", IDM_LARGE_ICONS + MENUITEM "&Small Icons", IDM_SMALL_ICONS + END + MENUITEM "&Show Text", IDM_SHOW_TEXT + END +END + /* Dialogs */ IDD_PROGRESS_DLG DIALOGEX 0, 0, 260, 85 diff --git a/dll/win32/browseui/lang/fr-FR.rc b/dll/win32/browseui/lang/fr-FR.rc index 61a0930213..67f4fdeaf8 100644 --- a/dll/win32/browseui/lang/fr-FR.rc +++ b/dll/win32/browseui/lang/fr-FR.rc @@ -111,6 +111,19 @@ BEGIN MENUITEM "&Close toolbar", IDM_BAND_CLOSE END +IDM_POPUPMENU MENUEX DISCARDABLE +BEGIN + POPUP "" + BEGIN + POPUP "&View", IDM_VIEW_MENU + BEGIN + MENUITEM "&Large Icons", IDM_LARGE_ICONS + MENUITEM "&Small Icons", IDM_SMALL_ICONS + END + MENUITEM "&Show Text", IDM_SHOW_TEXT + END +END + /* Dialogs */ IDD_PROGRESS_DLG DIALOGEX 0, 0, 260, 85 diff --git a/dll/win32/browseui/lang/he-IL.rc b/dll/win32/browseui/lang/he-IL.rc index 29ed7e52de..2afa8d7f1a 100644 --- a/dll/win32/browseui/lang/he-IL.rc +++ b/dll/win32/browseui/lang/he-IL.rc @@ -95,6 +95,19 @@ BEGIN MENUITEM "&Close toolbar", IDM_BAND_CLOSE END +IDM_POPUPMENU MENUEX DISCARDABLE +BEGIN + POPUP "" + BEGIN + POPUP "&View", IDM_VIEW_MENU + BEGIN + MENUITEM "&Large Icons", IDM_LARGE_ICONS + MENUITEM "&Small Icons", IDM_SMALL_ICONS + END + MENUITEM "&Show Text", IDM_SHOW_TEXT + END +END + /* Dialogs */ IDD_PROGRESS_DLG DIALOGEX 0, 0, 260, 85 diff --git a/dll/win32/browseui/lang/it-IT.rc b/dll/win32/browseui/lang/it-IT.rc index 6a5bf82fdf..9afabf4373 100644 --- a/dll/win32/browseui/lang/it-IT.rc +++ b/dll/win32/browseui/lang/it-IT.rc @@ -93,6 +93,19 @@ BEGIN MENUITEM "&Close toolbar", IDM_BAND_CLOSE END +IDM_POPUPMENU MENUEX DISCARDABLE +BEGIN + POPUP "" + BEGIN + POPUP "&View", IDM_VIEW_MENU + BEGIN + MENUITEM "&Large Icons", IDM_LARGE_ICONS + MENUITEM "&Small Icons", IDM_SMALL_ICONS + END + MENUITEM "&Show Text", IDM_SHOW_TEXT + END +END + /* Dialogs */ IDD_PROGRESS_DLG DIALOGEX 0, 0, 260, 85 diff --git a/dll/win32/browseui/lang/ja-JP.rc b/dll/win32/browseui/lang/ja-JP.rc index 4641cb8087..9dfedaf9c6 100644 --- a/dll/win32/browseui/lang/ja-JP.rc +++ b/dll/win32/browseui/lang/ja-JP.rc @@ -111,6 +111,19 @@ BEGIN MENUITEM "&Close toolbar", IDM_BAND_CLOSE END +IDM_POPUPMENU MENUEX DISCARDABLE +BEGIN + POPUP "" + BEGIN + POPUP "&View", IDM_VIEW_MENU + BEGIN + MENUITEM "&Large Icons", IDM_LARGE_ICONS + MENUITEM "&Small Icons", IDM_SMALL_ICONS + END + MENUITEM "&Show Text", IDM_SHOW_TEXT + END +END + /* Dialogs */ IDD_PROGRESS_DLG DIALOGEX 0, 0, 260, 85 diff --git a/dll/win32/browseui/lang/pl-PL.rc b/dll/win32/browseui/lang/pl-PL.rc index 3932ddef53..91d2e36941 100644 --- a/dll/win32/browseui/lang/pl-PL.rc +++ b/dll/win32/browseui/lang/pl-PL.rc @@ -101,6 +101,19 @@ BEGIN MENUITEM "&Zamknij pasek narzędzi", IDM_BAND_CLOSE END +IDM_POPUPMENU MENUEX DISCARDABLE +BEGIN + POPUP "" + BEGIN + POPUP "&View", IDM_VIEW_MENU + BEGIN + MENUITEM "&Large Icons", IDM_LARGE_ICONS + MENUITEM "&Small Icons", IDM_SMALL_ICONS + END + MENUITEM "&Show Text", IDM_SHOW_TEXT + END +END + /* Dialogs */ IDD_PROGRESS_DLG DIALOGEX 0, 0, 260, 85 diff --git a/dll/win32/browseui/lang/pt-BR.rc b/dll/win32/browseui/lang/pt-BR.rc index 7db17de7cd..2a9fa160f3 100644 --- a/dll/win32/browseui/lang/pt-BR.rc +++ b/dll/win32/browseui/lang/pt-BR.rc @@ -95,6 +95,19 @@ BEGIN MENUITEM "&Close toolbar", IDM_BAND_CLOSE END +IDM_POPUPMENU MENUEX DISCARDABLE +BEGIN + POPUP "" + BEGIN + POPUP "&View", IDM_VIEW_MENU + BEGIN + MENUITEM "&Large Icons", IDM_LARGE_ICONS + MENUITEM "&Small Icons", IDM_SMALL_ICONS + END + MENUITEM "&Show Text", IDM_SHOW_TEXT + END +END + /* Dialogs */ IDD_PROGRESS_DLG DIALOGEX 0, 0, 260, 85 diff --git a/dll/win32/browseui/lang/ro-RO.rc b/dll/win32/browseui/lang/ro-RO.rc index ee30d3dfa7..2f14f4e29a 100644 --- a/dll/win32/browseui/lang/ro-RO.rc +++ b/dll/win32/browseui/lang/ro-RO.rc @@ -95,6 +95,19 @@ BEGIN MENUITEM "As&cunde bara de instrumente", IDM_BAND_CLOSE END +IDM_POPUPMENU MENUEX DISCARDABLE +BEGIN + POPUP "" + BEGIN + POPUP "&View", IDM_VIEW_MENU + BEGIN + MENUITEM "&Large Icons", IDM_LARGE_ICONS + MENUITEM "&Small Icons", IDM_SMALL_ICONS + END + MENUITEM "&Show Text", IDM_SHOW_TEXT + END +END + /* Dialogs */ IDD_PROGRESS_DLG DIALOGEX 0, 0, 260, 85 diff --git a/dll/win32/browseui/lang/ru-RU.rc b/dll/win32/browseui/lang/ru-RU.rc index dfd8f3a345..b985bb76c5 100644 --- a/dll/win32/browseui/lang/ru-RU.rc +++ b/dll/win32/browseui/lang/ru-RU.rc @@ -95,6 +95,19 @@ BEGIN MENUITEM "Закрыть панель инструментов", IDM_BAND_CLOSE END +IDM_POPUPMENU MENUEX DISCARDABLE +BEGIN + POPUP "" + BEGIN + POPUP "&View", IDM_VIEW_MENU + BEGIN + MENUITEM "&Large Icons", IDM_LARGE_ICONS + MENUITEM "&Small Icons", IDM_SMALL_ICONS + END + MENUITEM "&Show Text", IDM_SHOW_TEXT + END +END + /* Dialogs */ IDD_PROGRESS_DLG DIALOGEX 0, 0, 260, 85 diff --git a/dll/win32/browseui/lang/sq-AL.rc b/dll/win32/browseui/lang/sq-AL.rc index d6d657f414..74f95ce269 100644 --- a/dll/win32/browseui/lang/sq-AL.rc +++ b/dll/win32/browseui/lang/sq-AL.rc @@ -112,6 +112,19 @@ BEGIN MENUITEM "&Close toolbar", IDM_BAND_CLOSE END +IDM_POPUPMENU MENUEX DISCARDABLE +BEGIN + POPUP "" + BEGIN + POPUP "&View", IDM_VIEW_MENU + BEGIN + MENUITEM "&Large Icons", IDM_LARGE_ICONS + MENUITEM "&Small Icons", IDM_SMALL_ICONS + END + MENUITEM "&Show Text", IDM_SHOW_TEXT + END +END + /* Dialogs */ IDD_PROGRESS_DLG DIALOGEX 0, 0, 260, 85 diff --git a/dll/win32/browseui/lang/tr-TR.rc b/dll/win32/browseui/lang/tr-TR.rc index a1856f1013..14790d6eaf 100644 --- a/dll/win32/browseui/lang/tr-TR.rc +++ b/dll/win32/browseui/lang/tr-TR.rc @@ -95,6 +95,19 @@ BEGIN MENUITEM "&Close toolbar", IDM_BAND_CLOSE END +IDM_POPUPMENU MENUEX DISCARDABLE +BEGIN + POPUP "" + BEGIN + POPUP "&View", IDM_VIEW_MENU + BEGIN + MENUITEM "&Large Icons", IDM_LARGE_ICONS + MENUITEM "&Small Icons", IDM_SMALL_ICONS + END + MENUITEM "&Show Text", IDM_SHOW_TEXT + END +END + /* Dialogs */ IDD_PROGRESS_DLG DIALOGEX 0, 0, 260, 85 diff --git a/dll/win32/browseui/lang/uk-UA.rc b/dll/win32/browseui/lang/uk-UA.rc index ea8de8a3a9..366104ad1b 100644 --- a/dll/win32/browseui/lang/uk-UA.rc +++ b/dll/win32/browseui/lang/uk-UA.rc @@ -95,6 +95,19 @@ BEGIN MENUITEM "&Close toolbar", IDM_BAND_CLOSE END +IDM_POPUPMENU MENUEX DISCARDABLE +BEGIN + POPUP "" + BEGIN + POPUP "&View", IDM_VIEW_MENU + BEGIN + MENUITEM "&Large Icons", IDM_LARGE_ICONS + MENUITEM "&Small Icons", IDM_SMALL_ICONS + END + MENUITEM "&Show Text", IDM_SHOW_TEXT + END +END + /* Dialogs */ IDD_PROGRESS_DLG DIALOGEX 0, 0, 260, 85 diff --git a/dll/win32/browseui/lang/zh-CN.rc b/dll/win32/browseui/lang/zh-CN.rc index 622e665c1e..c62187c922 100644 --- a/dll/win32/browseui/lang/zh-CN.rc +++ b/dll/win32/browseui/lang/zh-CN.rc @@ -113,6 +113,19 @@ BEGIN MENUITEM "&Close toolbar", IDM_BAND_CLOSE END +IDM_POPUPMENU MENUEX DISCARDABLE +BEGIN + POPUP "" + BEGIN + POPUP "&View", IDM_VIEW_MENU + BEGIN + MENUITEM "&Large Icons", IDM_LARGE_ICONS + MENUITEM "&Small Icons", IDM_SMALL_ICONS + END + MENUITEM "&Show Text", IDM_SHOW_TEXT + END +END + /* Dialogs */ IDD_PROGRESS_DLG DIALOGEX 0, 0, 260, 85 diff --git a/dll/win32/browseui/lang/zh-TW.rc b/dll/win32/browseui/lang/zh-TW.rc index a658735e47..c4d6f00871 100644 --- a/dll/win32/browseui/lang/zh-TW.rc +++ b/dll/win32/browseui/lang/zh-TW.rc @@ -113,6 +113,19 @@ BEGIN MENUITEM "&Close toolbar", IDM_BAND_CLOSE END +IDM_POPUPMENU MENUEX DISCARDABLE +BEGIN + POPUP "" + BEGIN + POPUP "&View", IDM_VIEW_MENU + BEGIN + MENUITEM "&Large Icons", IDM_LARGE_ICONS + MENUITEM "&Small Icons", IDM_SMALL_ICONS + END + MENUITEM "&Show Text", IDM_SHOW_TEXT + END +END + /* Dialogs */ IDD_PROGRESS_DLG DIALOGEX 0, 0, 260, 85 diff --git a/dll/win32/browseui/precomp.h b/dll/win32/browseui/precomp.h index b3323511a3..26ff15a23d 100644 --- a/dll/win32/browseui/precomp.h +++ b/dll/win32/browseui/precomp.h @@ -42,6 +42,7 @@ #include "bandproxy.h" #include "shellbars/CBandSite.h" #include "shellbars/CBandSiteMenu.h" +#include "shellbars/CISFBand.h" #include "brandband.h" #include "internettoolbar.h" #include "commonbrowser.h" diff --git a/dll/win32/browseui/res/isfband.rgs b/dll/win32/browseui/res/isfband.rgs new file mode 100644 index 0000000000..236a0e74f4 --- /dev/null +++ b/dll/win32/browseui/res/isfband.rgs @@ -0,0 +1,13 @@ +HKCR +{ + NoRemove CLSID + { + ForceRemove {D82BE2B0-5764-11D0-A96E-00C04FD705A2} = s 'IShellFolderBand' + { + InprocServer32 = s '%MODULE%' + { + val ThreadingModel = s 'Apartment' + } + } + } +} diff --git a/dll/win32/browseui/resource.h b/dll/win32/browseui/resource.h index 399de7d580..2fe0b92807 100644 --- a/dll/win32/browseui/resource.h +++ b/dll/win32/browseui/resource.h @@ -64,6 +64,12 @@ #define IDM_BAND_TITLE 0xA200 #define IDM_BAND_CLOSE 0xA201 +#define IDM_POPUPMENU 2001 +#define IDM_LARGE_ICONS 2002 +#define IDM_SMALL_ICONS 2003 +#define IDM_SHOW_TEXT 2004 +#define IDM_VIEW_MENU 2005 + /* Random id for band close button, feel free to change it */ #define IDM_BASEBAR_CLOSE 0xA200 @@ -95,6 +101,7 @@ #define IDR_PROGRESSDIALOG 140 #define IDR_AUTOCOMPLETE 141 #define IDR_ACLISTISF 142 +#define IDR_ISFBAND 143 #define IDS_SMALLICONS 12301 #define IDS_LARGEICONS 12302 diff --git a/dll/shellext/qcklnch/CISFBand.cpp b/dll/win32/browseui/shellbars/CISFBand.cpp similarity index 97% rename from dll/shellext/qcklnch/CISFBand.cpp rename to dll/win32/browseui/shellbars/CISFBand.cpp index 34192b45d3..85f44313ec 100644 --- a/dll/shellext/qcklnch/CISFBand.cpp +++ b/dll/win32/browseui/shellbars/CISFBand.cpp @@ -6,14 +6,13 @@ * PROGRAMMERS: Shriraj Sawant a.k.a SR13 <sr.offic...@hotmail.com> */ -#include "precomp.h" +#include "shellbars.h" #include <commoncontrols.h> +#include <strsafe.h> #define GET_X_LPARAM(lp) ((int)(short)LOWORD(lp)) #define GET_Y_LPARAM(lp) ((int)(short)HIWORD(lp)) -WINE_DEFAULT_DEBUG_CHANNEL(qcklnch); - // ***Extras*** /*++ * @name _ILIsDesktop @@ -26,7 +25,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(qcklnch); * @return True if PIDL is of Desktop, otherwise false. * *--*/ -BOOL WINAPI _ILIsDesktop(LPCITEMIDLIST pidl) +static BOOL _ILIsDesktop(LPCITEMIDLIST pidl) { return (pidl == NULL || pidl->mkid.cb == 0); } @@ -99,7 +98,7 @@ HRESULT CISFBand::CreateSimpleToolbar(HWND hWndParent) hr = m_pISF->GetDisplayNameOf(pidl, SHGDN_NORMAL, &stret); if (FAILED_UNEXPECTEDLY(hr)) { - strcpyW(sz, L"<Unknown-Name>"); + StringCchCopyW(sz, MAX_PATH, L"<Unknown-Name>"); } else StrRetToBuf(&stret, pidl, sz, _countof(sz)); @@ -277,9 +276,7 @@ HRESULT CISFBand::CreateSimpleToolbar(HWND hWndParent) // *** IPersistStream *** STDMETHODIMP CISFBand::GetClassID(OUT CLSID *pClassID) { - TRACE("CISFBand::GetClassID(0x%p)\n", pClassID); - /* We're going to return the (internal!) CLSID of the quick launch band */ - *pClassID = CLSID_QuickLaunchBand; + *pClassID = CLSID_ISFBand; return S_OK; } @@ -555,7 +552,8 @@ HRESULT CISFBand::CreateSimpleToolbar(HWND hWndParent) STDMETHODIMP CISFBand::QueryContextMenu(HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) { - HMENU qMenu = LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_POPUPMENU)); + HMENU qMenu = LoadMenu(GetModuleHandleW(L"browseui.dll"), MAKEINTRESOURCE(IDM_POPUPMENU)); + if(m_textFlag) CheckMenuItem(qMenu, IDM_SHOW_TEXT, MF_CHECKED); else diff --git a/dll/shellext/qcklnch/CISFBand.h b/dll/win32/browseui/shellbars/CISFBand.h similarity index 96% rename from dll/shellext/qcklnch/CISFBand.h rename to dll/win32/browseui/shellbars/CISFBand.h index fc74db0b7c..c8de82f50e 100644 --- a/dll/shellext/qcklnch/CISFBand.h +++ b/dll/win32/browseui/shellbars/CISFBand.h @@ -7,11 +7,10 @@ */ #pragma once -// COM class for cisfband class CISFBand : public CWindow, - public CComCoClass<CISFBand>, - public CComObjectRootEx<CComMultiThreadModelNoCS>, + public CComCoClass<CBandSiteMenu, &CLSID_ISFBand>, + public CComObjectRootEx<CComMultiThreadModelNoCS>, public IObjectWithSite, public IDeskBand, public IPersistStream, @@ -174,6 +173,7 @@ public: //***************************************************************************************************** + DECLARE_REGISTRY_RESOURCEID(IDR_ISFBAND) DECLARE_NOT_AGGREGATABLE(CISFBand) DECLARE_PROTECT_FINAL_CONSTRUCT() diff --git a/dll/win32/browseui/shellbars/CMakeLists.txt b/dll/win32/browseui/shellbars/CMakeLists.txt index 3807056b20..d52e71807c 100644 --- a/dll/win32/browseui/shellbars/CMakeLists.txt +++ b/dll/win32/browseui/shellbars/CMakeLists.txt @@ -10,6 +10,7 @@ list(APPEND SOURCE CBandSite.cpp CBandSiteMenu.cpp CBaseBar.cpp + CISFBand.cpp CSHEnumClassesOfCategories.cpp) add_library(shellbars ${SOURCE}) diff --git a/dll/win32/browseui/shellbars/shellbars.h b/dll/win32/browseui/shellbars/shellbars.h index 0c3b58b3de..731ecfdde5 100644 --- a/dll/win32/browseui/shellbars/shellbars.h +++ b/dll/win32/browseui/shellbars/shellbars.h @@ -30,6 +30,7 @@ #include "CBandSite.h" #include "CBandSiteMenu.h" +#include "CISFBand.h" WINE_DEFAULT_DEBUG_CHANNEL(browseui);