- 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.
spec2def(rshell.dll rshell.spec ADD_IMPORTLIB)
list(APPEND SOURCE
+ CQuickLaunchBand.cpp
misc.cpp
${CMAKE_CURRENT_BINARY_DIR}/rshell.def)
* PROGRAMMERS: Shriraj Sawant a.k.a SR13 <sr.official@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 } };
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;
// 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));
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))
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));
/*****************************************************************************/
// 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));
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))
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))
//*****************************************************************************************************
- DECLARE_REGISTRY_RESOURCEID(IDR_QCKLNCH)
DECLARE_NOT_AGGREGATABLE(CQuickLaunchBand)
DECLARE_PROTECT_FINAL_CONSTRUCT()
#include <shellutils.h>
+#include <CQuickLaunchBand.h>
+
#include <wine/debug.h>
extern "C"
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;
}
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;
}
add_subdirectory(fontext)
add_subdirectory(netshell)
add_subdirectory(ntobjshex)
-add_subdirectory(qcklnch)
add_subdirectory(shellbtrfs)
add_subdirectory(stobject)
+++ /dev/null
-
-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)
+++ /dev/null
-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
+++ /dev/null
-#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
+++ /dev/null
-/*
- * 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.official@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();
-}
+++ /dev/null
-#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
-
+++ /dev/null
-@ stdcall -private DllCanUnloadNow()
-@ stdcall -private DllGetClassObject(ptr ptr ptr)
-@ stdcall -private DllRegisterServer()
-@ stdcall -private DllUnregisterServer()
\ No newline at end of file
+++ /dev/null
-#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
+++ /dev/null
-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
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;
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>
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
#include "bandproxy.h"
#include "shellbars/CBandSite.h"
#include "shellbars/CBandSiteMenu.h"
+#include "shellbars/CISFBand.h"
#include "brandband.h"
#include "internettoolbar.h"
#include "commonbrowser.h"
--- /dev/null
+HKCR
+{
+ NoRemove CLSID
+ {
+ ForceRemove {D82BE2B0-5764-11D0-A96E-00C04FD705A2} = s 'IShellFolderBand'
+ {
+ InprocServer32 = s '%MODULE%'
+ {
+ val ThreadingModel = s 'Apartment'
+ }
+ }
+ }
+}
#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
#define IDR_PROGRESSDIALOG 140
#define IDR_AUTOCOMPLETE 141
#define IDR_ACLISTISF 142
+#define IDR_ISFBAND 143
#define IDS_SMALLICONS 12301
#define IDS_LARGEICONS 12302
* PROGRAMMERS: Shriraj Sawant a.k.a SR13 <sr.official@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
* @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);
}
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));
// *** 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;
}
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
*/
#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,
//*****************************************************************************************************
+ DECLARE_REGISTRY_RESOURCEID(IDR_ISFBAND)
DECLARE_NOT_AGGREGATABLE(CISFBand)
DECLARE_PROTECT_FINAL_CONSTRUCT()
CBandSite.cpp
CBandSiteMenu.cpp
CBaseBar.cpp
+ CISFBand.cpp
CSHEnumClassesOfCategories.cpp)
add_library(shellbars ${SOURCE})
#include "CBandSite.h"
#include "CBandSiteMenu.h"
+#include "CISFBand.h"
WINE_DEFAULT_DEBUG_CHANNEL(browseui);