gadamopoulos in reactos

[EXPLORER] -Restore a call to RegLoadSettings while handling WM_DISPLAYCHANGE which was removed in r74221. This is not really correct since it resets the size and position of the taskbar but I add it back since it updates the cached rects for all four positions.
    • -0
    • +3
    /trunk/reactos/base/shell/explorer/traywnd.cpp
[EXPLORER] -Implement the minimum taskbar size for the vertical position.
    • -1
    • +7
    /trunk/reactos/base/shell/explorer/traywnd.cpp
    • -19
    • +11
    /trunk/reactos/base/shell/explorer/taskband.cpp
[BROWSEUI]

-CBandSite: Remove CCS_NORESIZE style. This is a hack probably needed because our rebar control is buggy.

[EXPLORER]

-CTaskBand::GetBandInfo: Use the toolbar button size as the minimum and integral size for the band.

-CTaskSwitchWnd: Use the system small icon size for the size of the icon. Recreate the image list if this size changes. This together with the size of the font are the only factors for the size of the toolbar and consequently for the size of the band and if it is the only band, the size of the taskbar. Don't use TB_SETBUTTONSIZE. Now the size of the image list and the font dictate the size.

-CTrayWindow: In the classic theme make the start button have the same height with the tasks toolbar button height. Improve the calculation of the size of the taskbar in FitToRebar.

These changes should make the taskbar and the toolbar have a proper size. On top of that the taskbar is finally resizable (however our rebar is too buggy and still fills only the first line in the taskbar). While testing this I noticed that moving the taskbar in the sides of the screen is buggy now. I'm not sure if this was uncovered by these changes, if this was broken before or this was caused by these changes (looks unlikely to me) but will be fixed in subsequent commits).

    • -3
    • +21
    /trunk/reactos/base/shell/explorer/traywnd.cpp
    • -33
    • +32
    /trunk/reactos/base/shell/explorer/taskswnd.cpp
    • -7
    • +7
    /trunk/reactos/base/shell/explorer/taskband.cpp
[SHELL32]

-CRegFolder: Implement CRegFolder::EnumObjects. Change its constructor to receive an extra parameter for the name of the key that should be enumerated.

-CEnumIDListBase: Add a new method called AppendItemsFromEnumerator to facilitate merging the contents from one IEnumIDList to another.

-Use the above in the enumerators of CControlPanelFolder, CDesktopFolder and CDrivesFolder to make them significantly simpler.

[SHELL32] -Move CFSExtractIcon_CreateInstance to CFSFolder.cpp
    • -169
    • +0
    /trunk/reactos/dll/win32/shell32/folders.cpp
[SHELL32]

- CDesktopFolder: Create the enumerators of the internal fs folders and add their items in its own list instead of calling CreateFolderEnumList which enumerates ... files.

- Remove CEnumIDListBase::CreateFolderEnumList and move its code to CFileSysEnum::Initialize.

[COMCTL32_APITEST] - Log the dwDrawStage when the NM_CUSTOMDRAW is received to make the test slightly more descriptive.
[EXPLORER]

- CTrayWindow: Implement the IContextMenu interface. This will be used by the CBandSite to query the context menu of its site (the CTrayWindow) and add it in its context menu.

- CTrayWindowCtxMenu: Use Shell_MergeMenus in QueryContextMenu and respect its parameters.

    • -12
    • +12
    /trunk/reactos/base/shell/explorer/resource.h
    • -31
    • +54
    /trunk/reactos/base/shell/explorer/traywnd.cpp
[SHELL32]

- Simplify SHELL32_CoCreateInitSF by letting the callers fill the PERSIST_FOLDER_TARGET_INFO. This lets us stop using _ILSimpleGetTextW in it which breaks the logic that pidls should be read only by their shell folder. Also add an overload for SHELL32_CoCreateInitSF that makes it simpler to create a shell folder with a csidl.

- Add a SHELL32_BindToSF helper to share some logic that was duplicated in several shell folders.

- Move SHELL32_GetCustomFolderAttributeFromPath, SHELL32_GetCLSIDForDirectory and SHELL32_GetFSItemAttributes, SHELL32_BindToFS to CFSFolder.cpp as these were fs specific.

- These changes give finer control to shell folders for how the bind will be done and shares more logic that can be shared.

    • -7
    • +10
    /trunk/reactos/dll/win32/shell32/shfldr.h
    • -252
    • +28
    /trunk/reactos/dll/win32/shell32/shlfolder.cpp
[SHELL32] -Remove IShellView_Constructor and CDefView_Constructor. Use SHCreateShellFolderView and SHCreateShellFolderViewEx instead.
    • -7
    • +41
    /trunk/reactos/dll/win32/shell32/CDefView.cpp
* Sync up to trunk HEAD (r75230).
  1. … 1642 more files in changeset.
[BROWSEUI] -CBandSite: Remove the Close item menu if the band is undeletable. Remove the Show caption menu item if the band doesn't have a caption. Implement showing or hiding the band caption.
[BROWSEUI] -CBandSite: Implement the context menu of the rebar. It queries the IContextMenu if the band and appends to it a static menu part that can show or hide the title and close the toolbar. Showing or hiding the title isn't implemented yet.
    • -0
    • +6
    /trunk/reactos/dll/win32/browseui/lang/it-IT.rc
    • -0
    • +6
    /trunk/reactos/dll/win32/browseui/lang/en-US.rc
    • -0
    • +6
    /trunk/reactos/dll/win32/browseui/lang/sq-AL.rc
    • -0
    • +6
    /trunk/reactos/dll/win32/browseui/lang/fr-FR.rc
    • -0
    • +6
    /trunk/reactos/dll/win32/browseui/lang/ja-JP.rc
    • -0
    • +4
    /trunk/reactos/dll/win32/browseui/resource.h
    • -0
    • +6
    /trunk/reactos/dll/win32/browseui/lang/ru-RU.rc
    • -0
    • +6
    /trunk/reactos/dll/win32/browseui/lang/zh-TW.rc
    • -0
    • +6
    /trunk/reactos/dll/win32/browseui/lang/uk-UA.rc
    • -0
    • +6
    /trunk/reactos/dll/win32/browseui/lang/pt-BR.rc
    • -0
    • +6
    /trunk/reactos/dll/win32/browseui/lang/pl-PL.rc
    • -0
    • +6
    /trunk/reactos/dll/win32/browseui/lang/es-ES.rc
    • -0
    • +6
    /trunk/reactos/dll/win32/browseui/lang/ro-RO.rc
  1. … 6 more files in changeset.
[WIN32K:NTUSER] -IntSetThreadDesktop: Don't close the previous desktop handle. Fixes a lot of tests. Based on a patch by Sebastian Gasiorek. CORE-13463
    • -3
    • +0
    /trunk/reactos/win32ss/user/ntuser/desktop.c
[USER32_APITEST] -Initial tests for desktop reference numbers.
    • -0
    • +18
    /trunk/rostests/apitests/user32/desktop.c
[ATL]

-Add a new template called CComQIIDPtr and its partner I_ID macro. Its purpose is to be a gcc compatible version of CComQIPtr.

-CComQIIDPtr<I_ID(Itype)> is the gcc compatible version of CComQIPtr<Itype>

- WARNING: this is not tested yet.

    • -0
    • +60
    /trunk/reactos/sdk/lib/atl/atlcomcli.h
[SHELL32]

-Rename constructors from Class_Creator to Class_CreateInstance. Prepend the ones that are exported from rshell with RSHELL_. The reasoning is that rshell will always use our code but whether or not internal classes will be used in shellmenu lib will be controlled by preprocessor definitions in shellmenu.h

[BROWSEUI]

-Rename more constructors to use the _CreateInstance suffix.

[RSHELL]

- The functions that let rshell export some objects have the RSHELL_ postfix but they are not exported as such.

[EXPLORER]

- Rename _CStartMenu_Constructor to _CStartMenu_CreateInstance.

    • -7
    • +7
    /trunk/reactos/base/shell/rshell/rshell.spec
    • -7
    • +7
    /trunk/reactos/dll/win32/browseui/browseui.cpp
    • -1
    • +1
    /trunk/reactos/base/shell/explorer/precomp.h
    • -3
    • +3
    /trunk/reactos/base/shell/explorer/rshell.cpp
    • -10
    • +10
    /trunk/reactos/base/shell/rshell/misc.cpp
    • -9
    • +1
    /trunk/reactos/base/shell/explorer/startmnu.cpp
  1. … 3 more files in changeset.
[SHELL32] -CMenuBand::SetSite: Don't fail if the site doesn't support the SID_STopLevelBrowser service.
[SHELL32] -CMenuBand: forward WM_WININICHANGE to CMenuToolbarBase so that when themes get enabled, the menu bar in explorer becomes flat immediately.
[BROWSEUI]

- CShellBrowser: Propagate WM_WININICHANGE to all immediate children.

- CInternetToolbar: Forward WM_WININICHANGE to the menu band to make aware that the flat menus option changed.

[SHELL32] -CMenuBand: When the flat menus style is enabled, shell menu bars should not look like toolbars.
[WIN32K] -Use RtlStringCchCopyW instead of RtlStringCbCopyW in SubstituteFontRecurse as LF_FACESIZE is the number of characters of the buffer. Patch by Katayama Hirofumi MZ. CORE-13419, CORE-13416
    • -1
    • +1
    /trunk/reactos/win32ss/gdi/ntgdi/freetype.c
[PSDK] -Add IShellFolderBand and IFolderBandPriv interfaces.
[PSDK] -Add CLSID_ISFBand, IID_IShellFolderBand and IID_IFolderBandPriv.
[SHELL32] -Add Comments as the 2nd column in CDesktopFolder, CDrivesFolder and CRegFolder. Add Type as the 3rd column in CRegFolder. This is not entirely correct. Our columns support is rudimentary, however we now show the comments stuff in the right place and the reg folder items have a type.
Fix build.
[SHELL32]

- Rename the resource identifiers for column names to make sense. Get rid of one called File. This was renamed to Name but was the same in other languages, now it is replaced by Name for good. We also had two strings for a column called Comments and I think that in some languages one was singular and the other was plural. We only need the plural one.

Note to translators: Please make sure that everything I changed makes sense. I had to edit all language files and there can be mistakes and typos.

    • -15
    • +13
    /trunk/reactos/dll/win32/shell32/lang/sk-SK.rc
    • -14
    • +12
    /trunk/reactos/dll/win32/shell32/lang/he-IL.rc
    • -14
    • +12
    /trunk/reactos/dll/win32/shell32/lang/ja-JP.rc
    • -14
    • +12
    /trunk/reactos/dll/win32/shell32/lang/ko-KR.rc
    • -14
    • +12
    /trunk/reactos/dll/win32/shell32/lang/de-DE.rc
    • -14
    • +12
    /trunk/reactos/dll/win32/shell32/lang/pt-BR.rc
    • -14
    • +12
    /trunk/reactos/dll/win32/shell32/lang/zh-TW.rc
    • -21
    • +19
    /trunk/reactos/dll/win32/shell32/shresdef.h
    • -14
    • +12
    /trunk/reactos/dll/win32/shell32/lang/fr-FR.rc
    • -15
    • +13
    /trunk/reactos/dll/win32/shell32/lang/el-GR.rc
    • -14
    • +12
    /trunk/reactos/dll/win32/shell32/lang/ro-RO.rc
  1. … 24 more files in changeset.
[SHELL32] -CDrivesFolder: Implement returning the appropriate type string in GetDetailsOf. Simplify GetDetailsOf and CDrivesExtractIcon_CreateInstance.
[EXPLORER] -Use WM_POPUPSYSTEMMENU to open the system menu of a window. CORE-13400
    • -13
    • +6
    /trunk/reactos/base/shell/explorer/taskswnd.cpp
[EXPLORER] -Fix the return value in HandleShellHookMsg. Suggestion by Christoph.
    • -7
    • +2
    /trunk/reactos/base/shell/explorer/taskswnd.cpp