Commit graph

63 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto
131678a025
[SHELL32] Rewrite the wrapping code for shell taskbar notifications.
- Introduce the TRAYNOTIFYDATAW structure, as documented by Geoff
  Chappell in "WM_COPYDATA for Taskbar Interface", at
  http://www.geoffchappell.com/studies/windows/shell/shell32/api/shlnot/copydata.htm
  that is the data structure passed between shell32 and explorer for
  communicating shell notify icon information.

- In Shell_NotifyIcon(), correctly capture the (ANSI and) UNICODE
  structures provided by the caller, properly taking into account for
  the different NOTIFYICONDATA structure sizes existing out there.
  The different strings are now properly null-terminated (especially
  szTip if it needs to be truncated out), and the flags validated.

- Remove the now unneeded "SHELL_NotifyIcon()" helper function.

[EXPLORER] Use TRAYNOTIFYDATAW and adjust the callers.
2018-02-04 18:11:50 +01:00
Hermès Bélusca-Maïto
04498f3eb5
[EXPLORER] Don't use deprecated StrNCpy function but use the string-safe StringCchCopy instead. Also fix a copy-paste error in the _countofs. 2018-02-04 01:57:05 +01:00
Hermès Bélusca-Maïto
f982d77b8a
[CONUTILS] Diverse improvements: start doxygenating and add some resource messsage helper functions.
- Start to doxygenate the library, focusing in great details on the
  functions of the "outstream" module.
- Add a K32LoadStringEx function that expands (K32)LoadString by
  allowing a LanguageId parameter to be able to load strings from other
  languages than the current one.
- Add "ConResMsg*" helper functions to be able to (format and) print
  message strings with inserts that come *NOT* from a message table (as
  usual) *BUT* from resource string tables.
  Will be helpful for CORE-14265 in particular.

[CMD] Fix the call to ConMsgPrintfV().
2018-02-02 00:41:54 +01:00
Luo Yufan
a13c998183 [TRANSLATION] Simplified Chinese translations updated. (#348) 2018-02-01 02:50:29 +01:00
Joachim Henze
f5d679aeb9 [EXPLORER] Pixel-perfect x-margins surrounding the clock
To look like XP/2k3.
Relies on d11e7af5f2

CORE-14272
2018-01-30 18:42:21 +01:00
Giannis Adamopoulos
556c485c8b [EXPLORER] Improve the width of the taskbar clock
Don't take into account TRAY_CLOCK_WND_SPACING_X twice
Increase TRAY_CLOCK_WND_SPACING_X
2018-01-29 22:32:17 +02:00
Giannis Adamopoulos
d11e7af5f2 [EXPLORER] Center the text of the clock
CTrayClockWnd: Fix the calculation that centered the text of the clock.
CTrayNotifyWnd: Restore the 1 pixel margin between the clock and the pager.
2018-01-29 21:50:33 +02:00
Joachim Henze
c109dc9f24 [EXPLORER] Tweak x-margins surrounding the clock
To look more like XP/2k3.
Not pixel-perfect yet, that would require asymmetric margins.

CORE-14272
2018-01-29 19:15:50 +01:00
Giannis Adamopoulos
fabf069daf [EXPLORER] Fix showing the lock status in the taskbar popup menu 2018-01-29 18:15:31 +02:00
Joann Mõndresku
d80ef2c90a [TRANSLATION] Various translations to Estonian (#329)
Estonian translations for shell + explorer, cpl files (access, appwiz, desk, timedate), devmgr, browseui, comctl32, aclui, avifil32, comdlg32 and credui.
2018-01-29 17:03:27 +01:00
Giannis Adamopoulos
22d1e1017f [EXPLORER] CNotifyToolbar: Set TBMETRICS::cxBarPad and TBMETRICS::cyBarPad
MSDN says that these values are not used but apparently they are used as a padding around the buttons.
This helps to center the buttons in the notification area.
2018-01-29 17:30:44 +02:00
Giannis Adamopoulos
c54c5ebb5f [EXPLORER] CTrayWindow: Draw the sizer only when the taskbar is not locked. 2018-01-29 00:27:45 +02:00
Giannis Adamopoulos
488477d10d [EXPLORER] CTrayNotifyWnd: Fix resizing when the clock is hidden 2018-01-28 22:38:48 +02:00
Giannis Adamopoulos
85d7dd4f83 [EXPLORER] CTrayNotifyWnd: Only update the requested dimension when handling TNWM_GETMINIMUMSIZE. 2018-01-28 22:04:34 +02:00
Giannis Adamopoulos
5a1984c998 [EXPLORER] CTaskSwitchWnd: Implement getting the setting for grouping tasks. This doesn't work yet but the setting does get stored in m_IsGroupingEnabled. TSWM_ENABLEGROUPING is not needed. 2018-01-28 20:24:02 +02:00
Giannis Adamopoulos
6c073e9539 [EXPLORER] CTrayClockWnd: Implement showing and hiding seconds or the whole clock from the properties window. 2018-01-28 18:59:18 +02:00
Giannis Adamopoulos
455bce68b5 [EXPLORER] -Make CSysPagerWnd, CTaskSwitchWnd, CTrayClockWnd and CTrayNotifyWnd proper com objects so that their lifetime is managed properly. 2018-01-28 18:35:16 +02:00
Giannis Adamopoulos
7f35908ad2 [EXPLORER] CTrayNotifyWnd: Simplify how it interacts with its parent and children. Clean up. 2018-01-27 19:41:09 +02:00
David Quintana
3d75cc0814 [EXPLORER] Split up the notification area into a few more manageable pieces. 2018-01-24 14:41:31 +01:00
David Quintana
5ec441a867 [EXPLORER] Workaround for something that may or may not be an "unintended feature" of the comctl toolbar.
Apparently the indices provided in NMTBGETINFOTIP (TBN_GETINFOTIP data struct), are not reliable,
but since the lParam values are, and it saves us a lookup, we will be using those instead. Win-Win!
2018-01-23 23:10:44 +01:00
David Quintana
bc43733e48 [EXPLORER] Implement balloon queueing. 2018-01-23 22:13:01 +01:00
David Quintana
bbca71c4a5 [EXPLORER] Implement rudimentary uVersion management, and notification balloons.
- uVersion will only be truly useful when Vista+'s V4 style notification icons are implemented.
- Balloon notifications do not yet support queuing and auto-closing.
- Force the notification icon tooltips to always show even if the taskbar isn't foreground.
[ROSCTRLS.H] Implement CTooltips class which manages a comctl32 tooltips window.
2018-01-23 22:13:01 +01:00
Ged Murphy
cb8cc0d098 [EXPLORER]
We need to leave one slot available for the m_WakeUpEvent handle
2018-01-20 18:50:10 +00:00
Ged Murphy
be2bf9b8c5 - Properly handle cases of more than 64 icons
- Don't leak the list of handles on each pass through the loop
- Make sure we clean up if the wait fails for whatever reason
2018-01-20 18:38:42 +00:00
gedmurphy
851e0ca5a8 Delete the lock on exit 2018-01-20 18:38:42 +00:00
gedmurphy
2abd068398 Properly delete the object and allow its destructor to cleanup 2018-01-20 18:38:42 +00:00
gedmurphy
8c91a00fcf Minor update 2018-01-20 18:38:42 +00:00
gedmurphy
6c9629bb72 forgot about the gcc build... 2018-01-20 18:38:42 +00:00
gedmurphy
d66c6890f7 Initial implementation of a watcher for the systray (notification area) that removes icons if the owning process dies/terminates without removing it 2018-01-20 18:38:42 +00:00
David Quintana
2c8ed37605 [EXPLORER] Fix the code that requests the taskbar to recalculate the size,
after an icon is removed due to missing owner. Also cleaned up the other case.
2018-01-18 02:20:20 +02:00
David Quintana
74e58d938e [EXPLORER] Fix some issues with the notification area code,
and implement NIS_SHAREDICON while at it.
2018-01-18 02:20:20 +02:00
Giannis Adamopoulos
71e66c69c1 [EXPLORER] CTrayBandSite: Call DBID_SETWINDOWTHEME on new bands to make them use the theme of the taskbar. CORE-14176 2018-01-16 11:50:52 +02:00
Giannis Adamopoulos
4b6d929be1 [EXPLORER] Winkey + E shortcut should open "My Computer" instead of "My documents" CORE-14199 2018-01-13 21:14:16 +02:00
Erdem Ersoy
ba3f074320 [TRANSLATIONS] Update the email address and add a note in the Turkish translation document (#271) 2018-01-07 22:09:42 +01:00
Katayama Hirofumi MZ
89f9c9101a
[TRANSLATION] Use correct font name in Korean resources, CORE-9566 (#228).
Localized resources should use the correct Korean fonts that are most suitable
for UI and compatible with Windows.
2017-12-29 01:51:15 +01:00
Katayama Hirofumi MZ
e9d8fa57c3
[TRANSLATION][BASE][FDEBUG][MODULES][WIN32SS] Use correct font name in Chinese resources, CORE-9566 (#227).
Localized resources should use the correct Traditional/Simplified Chinese fonts
that are most suitable for UI and compatible with Windows.
2017-12-29 01:51:06 +01:00
Lauri Ojansivu
2246a9f211 [TRANSLATION] Translate Explorer into Finnish, by Lauri Ojansivu (#218) 2017-12-26 20:17:30 +01:00
Markus Gothe
e2e699118f Improve swedish translations and add new translations to swedish. 2017-12-25 11:31:22 +01:00
Luo Yufan
d6131ace49 [TRANSLATION] Improve Simplified Chinese Translations.
* Fix Simplified Chinese Translation of EXPLORER.
* Fix Simplified Chinese Translation of MSCONFIG_NEW.
* Fix Simplified Chinese Translation of MSPAINT.
* Fix Simplified Chinese Translation of SHELL32.
* Fix Simplified Chinese Translation of SYSDM.
* Fix Simplified Chinese Translation of SETUP/REACTOS.
2017-12-17 14:40:59 +01:00
Hermès Bélusca-Maïto
49db8dc2a2
[CMD] Fix resource string (unrecognized escape sequence); addendum to 9a59558. 2017-12-07 22:08:54 +01:00
Luo Yufan
069546f5a4 Update Simplified Chinese translation. 2017-12-06 16:30:17 +01:00
Hermès Bélusca-Maïto
f79d268ea1
[CMD] Fix the del /s command, reported by Pablo De Napoli. CORE-10460
The command should delete files in the specified directory and all of its
sub-directories, using any file pattern specified.

For example, the command:

    del /S .\my_directory

should delete all the files inside my_directory and its sub-directories,
and as such should also detect that "my_directory" is indeed a directory,
while doing:

    del /S .\my_file

should of course detect that "my_file" is indeed a file pattern, and thus,
delete all "my_file" files from the current directory and its sub-directories.

The command:

    del /S some_directory\file_pattern

should delete "file_pattern" files from some_directory and its sub-directories.
2017-12-03 16:01:44 +01:00
Hermès Bélusca-Maïto
9a59558307
[CMD] Fix the presentation of some confirmation prompts. 2017-12-03 15:58:53 +01:00
Hermès Bélusca-Maïto
748c87202c
[CMD] Update the documentation of the FOR command. CORE-5806
- Also update & translate the french translation.
- Translators, please verify & update the translations!
2017-11-21 23:47:46 +01:00
Hermès Bélusca-Maïto
7bd33ac4df
[CMD] Addendum to 26ff2c8 and to r40474 / 8cf1106: Fix CMD process exit code.
As it appears, the process exit code of CMD /C is really the errorlevel,
and not the "command's return value".
2017-11-19 00:48:37 +01:00
Hermès Bélusca-Maïto
26ff2c8ef3
[CMD] Fix the errorlevel value set by the EXIT command, and when a batch file has run.
CORE-10495 CORE-13672

- Fix the behaviour of the EXIT command, where it set the last errorlevel
  value ONLY when it was called with the /b switch and otherwise kept the
  ambient one, instead of always using the value that the user specified
  on the command-line.

- When a batch file has terminated, make the Batch() helper returning the
  errorlevel value so that, when the batch file has been started with the
  CALL command, CALL can in turn set the correct errorlevel value.

Verified with respect to Windows' cmd.exe.
2017-11-18 23:52:50 +01:00
Hermès Bélusca-Maïto
24ed534474
[CMD] Code formatting only. 2017-11-18 23:52:50 +01:00
Hermès Bélusca-Maïto
56a19b1439
[CMD] ExecutePipeline() returns the last error level (set to process exit code).
CORE-13974

This should fix situations where (for example):
   command_1 | command_2 && echo Succeeded
should *NOT* run "echo Succeeded" if any of the command_1 or command_2 has
failed.

This also makes the ExecutePipeline() function on par with the other
"ExecuteXXX()" helpers.

Problem diagnosed by Doug Lyons; patch inspired by contributor 'cagey45'.
2017-11-18 20:59:06 +01:00
Hermès Bélusca-Maïto
8340574fe3
[CMD] Fix support for newlines in the emulated parenthesed set block of the "for" command.
CORE-7998
2017-11-17 00:58:45 +01:00
Hermès Bélusca-Maïto
cfcca53856
[CMD] Fix '?' command output by adding a missing new-line. CORE-14016
Patch by Doug Lyons.
2017-11-16 21:27:27 +01:00