Commit graph

48 commits

Author SHA1 Message Date
Katayama Hirofumi MZ ad748b0b3b
[EXPLORER][SHELL32] Smaller Start Menu (#6646)
Improve customization of Start Menu.
JIRA issue: CORE-19494
- Add SmallStartMenu flag to TW_STRUCKRECTS2
  structure.
- Add IDS_ADVANCED_SMALL_START_MENU
  resource string.
- Update g_TaskbarSettings.sr.SmallStartMenu via
  a callback function.
- Check g_TaskbarSettings.sr.SmallStartMenu
  when Start Menu is updated.
2024-03-20 07:32:52 +09:00
Katayama Hirofumi MZ 5aaead3fdb
[SHELL32] Start Menu: Enhance context menu (#6606)
Improve Start Menu usability.
JIRA issue: CORE-19477
- Add CSIDLFromID helper function.
- Return a context menu interface at CShellMenuCallback::OnGetContextMenu.
FIXME: CSIDL_CONTROLS, CSIDL_NETWORK, and CSIDL_PRINTERS context menu
wrongly open My Computer.
2024-03-12 15:58:22 +09:00
Katayama Hirofumi MZ 57592b7e22
[SHELL32] Start Menu Customize: Fix bMustHideAdminTools (#6604)
Follow-up to #6603. Fix a bug in Admin Tools display.
JIRA issue: CORE-16956
Fix the value of bMustHideAdminTools in CMenuSFToolbar::FillToolbar.
2024-03-12 08:26:07 +09:00
Katayama Hirofumi MZ acb01cf568
[EXPLORER][SHELL32] Show/hide 'Admin tools' menu (#6598)
Improve Start Menu customization.
JIRA issue: CORE-16956
- Add IsPidlPrograms helper function.
- Specify a PIDL for Programs menu.
- Check the "StartMenuAdminTools" registry value.
- Don't add "Admin Tools" menu item into
  CMenuSFToolbar::FillToolbar if necessary.
2024-03-11 21:58:30 +09:00
Katayama Hirofumi MZ 8bd071a51e
[EXPLORER][SHELL32] Fix and improve Start Menu customization (#6596)
Correct the details of Start Menu customization.
JIRA issue: CORE-16956
- Hide the setting item if the item is restricted.
- Don't change restriction in Explorer.
- Fix Start Menu settings for restriction and registry.
- Fix and simplify code.
2024-03-11 20:18:07 +09:00
Katayama Hirofumi MZ 0241b5c4e9
[EXPLORER][SHELL32] Expand/unexpand Control Panel menu (#6595)
Follow-up to #6594. Improve Start Menu customization.
JIRA issue: CORE-16956
- Add IDS_ADVANCED_EXPAND_CONTROL_PANEL, IDS_ADVANCED_EXPAND_PRINTERS,
  and IDS_ADVANCED_EXPAND_NET_CONNECTIONS resource strings.
- Check the "CascadeControlPanel", "CascadeNetworkConnections", and "CascadePrinters"
  registry values.
- Modify Start Menu by using AddOrSetMenuItem and AddStartMenuItems helper
  functions in CShellMenuCallback::OnGetSubMenu.
2024-03-11 16:19:46 +09:00
Katayama Hirofumi MZ 71285dff48
[EXPLORER][SHELL32] Expand/unexpand My Documents menu (#6594)
Follow-up to #6592. Improve Start Menu
customization.
JIRA issue: CORE-16956
- Add IDS_ADVANCED_EXPAND_MY_DOCUMENTS
  and IDS_ADVANCED_EXPAND_MY_PICTURES
  resource strings.
- Check L"CascadeMyDocuments" and
  L"CascadeMyPictures" registry values.
- Add GetAdvancedValue helper function.
- Implement CreateRecentMenu function.
2024-03-11 13:18:58 +09:00
Katayama Hirofumi MZ 49b2b1dab1
[SHELL32] Use STDMETHOD macro and keyword override (#6570)
For simplicity and short typing.
JIRA issue: CORE-19469
- Replace "virtual HRESULT STDMETHODCALLTYPE
  m" with "STDMETHOD(m)" (m is a method name).
- Replace "virtual t STDMETHODCALLTYPE m" with
  "STDMETHOD_(t, m)" (t is a type. m is a method
  name).
- Use "override" keyword as possible.
- CDefView should inherit IShellView3 due to
  override CreateViewWindow3 method.
- Fix CDefView::CreateViewWindow3 (parameter
  prcView is const RECT *, not LPRECT).
2024-03-05 08:43:39 +09:00
Katayama Hirofumi MZ 059fd8e551
[SHELL32] Fix CMenuBand's context menu (#6548)
JIRA issue: CORE-17453, CORE-12328
In CMenuBand::_TrackContextMenu method:
- Use 100 for idCmdFirst, instead of zero.
- Use uCommand - idCmdFirst for cmi.lpVerb.
Zero is an invalid command ID.
2024-02-28 16:54:15 +09:00
Joachim Henze 6f91b6c0fe [SHELL32] Tweak formatting and logging
Some style-improvements I wanted to apply before a planned backport.
E.g. The biggest source-file CDefView.cpp in [SHELL32] can be shrinked considerably by stripping some outdated
comments from 10 and more years ago, when this class was still non-OOP and named ShellView.
Less excessive line-lengths also here and there.

In case it is not obvious when reviewing: In the beginning of CDevView.cpp in the declaration-part I just
reduced the indentation-level by 4 spaces for a big block.

Some shell classes were touched during 0.4.15-dev'ing for fixes like the 'unkown'-typo in
0.4.15-dev-6323-g 3854a5d8e9 for example
or missing \n were added to dbgprints like in
0.4.15-dev-4492-g 03422451b3
Touched again here, because I want to port those improvements back,
but don't intend to increase the size in older releases.

The commit looks big, but does consist solely of trivialities.
There is no functional change in this commit, aside the logging ofc.
2024-02-20 02:08:56 +01:00
Timo Kreuzer d0c1df7882 [SHELL32] Add check to CMenuToolbarBase::ShowDW
This fixes an ATL assert in shell32_apitest:menu
2023-01-04 10:32:28 +01:00
Katayama Hirofumi MZ 92c904addc [SHELL32] DestroyMenu on m_pShellMenu->SetMenu failure
CORE-13194
2022-10-10 08:48:59 +09:00
Katayama Hirofumi MZ 924a8fea10 [SHELL32] De-select m_marlett on CMenuToolbarBase::OnCustomDraw
CORE-13194
2022-10-10 08:45:04 +09:00
Mark Jansen cd2d284142
[EXPLORER][BROWSEUI][SHELL32][NETSHELL] Fix wrong usage of CComPtr 2022-10-02 00:38:23 +02:00
Mark Jansen 96e3c7bcc5
[SHELL32] Only hide a window when there is a window to hide 2022-09-12 20:00:39 +02:00
Mark Jansen d0ba8fd4a3
[SHELL32] Properly destroy window 2022-09-12 20:00:39 +02:00
Mark Jansen a6b8d4f6f0
[SHELL32] Don't try to remove buttons on a nonexisting window 2022-09-12 20:00:39 +02:00
Mark Jansen 55343f04b0
[MSPAINT][EXPLORER][SHELL32] Enable ATL asserts in CMake
CORE-17505

In MSVC builds they would not work reliably when enabled in the precompiled header
2022-09-10 17:27:50 +02:00
Serge Gautherie 03422451b3 [REACTOS] Add '\n' to debug logs
on TRACE, WARN, FIXME and ERR calls.

Plus a few nit picks.
2022-05-04 03:28:38 +03:00
Katayama Hirofumi MZ 974a0f03df [SHELL32] Fix assertion failure in CMenuToolbars
CORE-17505
2022-01-25 11:49:27 +09:00
Hermès Bélusca-Maïto a6bf77e7b9
[SDK:REACTOS] Move our ROS-specific header-only UI libraries into a "ui" sub-folder. (#4205) 2022-01-06 02:17:25 +01:00
Jesús Sanz del Rey b94b435a11
[SHELL32] Handle double click on focus manager (#4213)
CORE-9943
2021-12-29 17:00:59 +01:00
Mark Jansen 22e58e68aa [SHELL32] Fix uninitialized variable usage.
This fixes log spam about NM_CUSTOMDRAW not being handled
2021-10-01 17:40:01 +02:00
Hermès Bélusca-Maïto 9393fc320e
[FORMATTING] Remove trailing whitespace. Addendum to 34593d93.
Excluded: 3rd-party code (incl. wine) and most of the win32ss.
2021-09-13 03:52:22 +02:00
Katayama Hirofumi MZ 9259ded8ae
[ATL][SHELL32][EXPLORER] Disable ATLASSERT (#3527)
We are not ready for enabling ATLASSERT. Enabling ATL assertions takes time to realize. CORE-17505
- Disable ATLASSERT by undefining _DEBUG.
- Revert currently non-fixable codes.
2021-03-11 20:26:45 +09:00
Katayama Hirofumi MZ 4583eae4f7 [SHELL32] Fix CMenuToolbarBase
CORE-17505
2021-03-11 17:51:47 +09:00
Mark Jansen 1952e5b795
Fix some assertions now that they are enabled (#3524)
Fix some assertions, hack out some others (they need more ATL work).
CORE-17505
2021-03-11 07:43:06 +09:00
Jérôme Gardou 907025a018 [CMAKE] Introduce the atl_classes interface library
This takes care of adding the relvant include directory and the _ATL_NO_EXCEPTIONS define, if needed
2020-10-20 21:44:54 +02:00
Jérôme Gardou d6ea8659c8 [CMAKE] Get rid of the set_cpp macro
Instead of messing with global variables and the like, we introduce two target properties:
 - WITH_CXX_EXCEPTIONS: if you want to use C++ exceptions
 - WITH_CXX_RTTI: if you need RTTI in your module
You can use the newly introduced set_target_cpp_properties function, with WITH_EXCEPTIONS and WITH_RTTI arguments
We also introduce two libraries :
 - cpprt: for C++ runtime routines
 - cppstl: for the C++ standard template library

NB: On GCC, this requires to create imported libraries with the related built-in libraries:libsupc++, limingwex, libstdc++

Finally, we manage the relevant flags with the ad-hoc generator expressions

So, if you don't need exceptions, nor RTTI, nor use any runtime at all: you simply have nothing else to do than add your C++ file to your module
2020-10-20 21:44:54 +02:00
Timo Kreuzer 68cb54dc58 [SHELL32] Fix usage of return value 2020-09-27 19:58:21 +02:00
Katayama Hirofumi MZ 77b8505393
[SHELL32] Delete IDM_RECENTMENUHEAD resource menu (#2705)
Follow-up of #2648. Reduce translation cost and resource data.
CORE-3588, CORE-11483
2020-05-01 15:58:58 +09:00
Katayama Hirofumi MZ 8f3079c67f
[SHELL32][EXPLORER] Improve Recent Documents of Start Menu (#2648)
Improve Recent Documents of Start Menu. Add items of "My Documents" and "My Pictures" into Recent menu item.
CORE-3588, CORE-11483
2020-04-30 17:09:14 +09:00
Katayama Hirofumi MZ bc1519dd87
Shell Folders: Reject invalid characters (#2328)
Reject invalid input filename characters by using shell32!SHLimitInputEdit function and IItemNameLimits interface. Improve SHLimitInputEdit to sanitize paste.
CORE-11701
2020-02-12 09:18:24 +09:00
Hermès Bélusca-Maïto be19fda765
[SHELL32] Remove some trailing spaces; use explicitly global namespace for some functions. 2019-12-29 16:14:33 +01:00
Thomas Faber c2b476bd77
[SHELL] IPersistFolder::Initialize takes a PCIDLIST_ABSOLUTE. CORE-16385 2019-09-22 16:19:11 +02:00
Thomas Faber b90c24d640
[SHELL] IPersistFolder2::GetCurFolder takes a PIDLIST_ABSOLUTE*. CORE-16385 2019-09-22 16:19:09 +02:00
Mark Jansen f5731a41f8
[SHELL32] Use the same definitions for shell32 and it's static libs 2019-04-18 19:21:37 +02:00
Mark Jansen f9e50f5471 [ATL] Add GET_X_LPARAM and GET_Y_LPARAM to atlwin.h
Remove all local definitions
2019-01-15 14:34:53 +02:00
Thomas Faber 0aed0fd167
[BROWSEUI][SHELL32] Treat OnWinEvent's result parameter as optional. CORE-14443
Windows's explorer can call it with NULL.
2018-03-08 12:21:24 +01:00
Giannis Adamopoulos 5b38fed776 [SHELL32] -CMenuToolbarBase: Remove all buttons on destruction. CORE-13194
It seems that TBN_DELETINGBUTTON isn't called when the toolbar gets destroyed so the only way to avoid leaking the data is emptying it ourselves.
2018-02-23 12:27:48 +02:00
Thomas Faber b8741e2bb3 [SHELL32] Fix PIDL leak in CMenuSFToolbar::FillToolbar. CORE-13194 2018-02-22 11:53:34 +01:00
Thomas Faber 682735fb56
[SHELLMENU] Add missing psdk dependency. 2018-01-31 11:48:37 +01:00
Giannis Adamopoulos 5618b33c3b [SHELL32] CMenuBand: Redraw the toolbars if this is the menu bar of a window and its active state changed. Use COLOR_GRAYTEXT for the text of the inactive menu bar items. CORE-14197 2018-01-13 14:57:24 +02:00
Giannis Adamopoulos a671923037 [SHELL32] CMenuToolbarBase: Use COLOR_MENUTEXT color for the text color in normal menu items. CORE-13855 2018-01-05 11:53:35 +02:00
Amine Khaldi e83592920b [SHELL32] Remove unused debug channels and comment out unused variables. Silences some clang-cl warnings. 2017-12-07 23:54:22 +01:00
Amine Khaldi fe6d46f86e [SHELL32] Properly set case -714 as TBN_DRAGOUT. CORE-11799 (#94) 2017-10-30 21:53:00 +01:00
Amine Khaldi ce4ecd604d [SHELL32] Remove some unused members and comment out some unused Wine code. CORE-11799 (#94) 2017-10-27 23:51:44 +01:00
Colin Finck c2c66aff7d Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00