Commit graph

85 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto 6dd27bd467
[CMD] Use CheckCtrlBreak(). 2018-04-29 00:50:40 +02:00
James Woodcock 8b72fce3e1
[CMD] Use _T() rather than L to initialise TCHARS. 2018-04-28 22:16:59 +02:00
James Woodcock d7e71357dc
[CMD] Fix CTRL-C handling.
Using CTRL-C to cancel command line input would leave the prompt in
a state where the next command would be ignored.  For example:

dir<CTRL-C>
dir

would cause cmd.exe to ignore the second dir command.
2018-04-28 22:16:58 +02:00
James Woodcock 23de2099e0
[CMD] Don't pass CTRL-C to child processes.
CORE-11677

The standard Win32 Console Control Handler will give CTRL-C events to
processes spawned from cmd.exe. If cmd.exe calls GenerateConsolCtrlEvent()
then the child process will receive two CTRL-C events.
2018-04-28 22:16:50 +02:00
Hermès Bélusca-Maïto c62bccdda0
[EXPLORER] Implement the feature of cleanly shutting down the explorer shell when cancelling the shutdown-dialog while pressing the CTRL-ALT-SHIFT keys.
See the feature description in https://msdn.microsoft.com/en-us/library/windows/desktop/cc144064(v=vs.85).aspx
and the additional observations reported in CORE-14358 .
2018-04-08 00:36:56 +02:00
Hermès Bélusca-Maïto 6093abdebb
[EXPLORER] Remove trailing whitespace. 2018-04-08 00:36:51 +02:00
Hermès Bélusca-Maïto eff4c2138d
[EXPLORER] Remove double 'return' statement. Determining whether it should be HTBORDER or HTCLIENT is left as an exercise to the reader.
Spotted by 'mudhead'. CORE-14528
2018-04-07 19:06:22 +02:00
Hermès Bélusca-Maïto 4127024b0d
[EXPLORER] Handle WM_CONTEXTMENU message in CNotifyToolbar and BN_CLICKED notification in CSysPagerWnd.
With these, we generate the WM_CONTEXTMENU and NIN_(KEY)SELECT
shell icon notifications that applications expect when they handle
shell notification icons with uVersion >= 3.

This fixes in particular the previously unresponsive icon of KVIrc 4.x,
and more generally *all* the notifiation icons of Qt applications.
CORE-10605 #resolve
2018-04-02 21:13:35 +02:00
Hermès Bélusca-Maïto 2f108ac8a8
[EXPLORER] Add missing 'break' statements. Spotted by mudhead. CORE-14518 2018-04-02 16:12:25 +02:00
Eric Kohl 4916c4cfd5 [CMD] Correct the action on shorcut Ctrl-M
Patch by Jacob S. Preciado.

CORE-10142
2018-03-22 22:29:33 +01:00
Mark Jansen bc67bb3dd0 [EXPLORER] Do not force X86 in the manifest. 2018-03-19 09:44:25 +01:00
Robert Naumann 69acbe905a
Update German translation (#438)
* [BROWSEUI] Update German translation

* [SHELL32] Update German translation

* [COMCTL32] Update German translation

* [COMDLG32] Update German Translation

* [SETUPAPI] Update German translation

* [EXPLORER] Update German translation
2018-03-17 22:48:16 +01:00
Thomas Faber ede8794c4b
[EXPLORER] Remove SetBandSiteInfo hack. CORE-9809 2018-03-03 17:17:13 +01:00
Giannis Adamopoulos b95fff5bce [EXPLORER] CTrayWindow: Set the initial lock state in the band site
This alongside the previous commit, fix locking and unlocking the taskbar.
2018-02-28 17:21:19 +02:00
Giannis Adamopoulos ec91188fff [WINSRV] Implement sending the hard error balloon package to explorer
[EXPLORER] Implement showing the hard error balloon
2018-02-26 16:51:59 +02:00
Pierre Schweitzer 6061c78e91
[EXPLORER] Update French translation 2018-02-16 19:36:25 +01:00
Serge Gautherie f1535c2d6e [EXPLORER] Fix a Clang-Cl warning about Icon->ProcessId
"warning: expression result unused [-Wunused-value]"
Regressed in be2bf9b.

CORE-14306
2018-02-12 08:41:26 +00:00
Bișoc George abdde0b764 [EXPLORER] WatchList should be freed with delete[], not delete (#374)
WatchList is a set of array objects, initialized with "new[]", so it should be freed with "delete[]" to free all of its elements. Otherwise using only "delete" only frees the first variable but not its array. This would lead to an undefined behaviour.
2018-02-11 22:56:38 +01:00
David Quintana 3003471e64 [EXPLORER] Send balloon notifications to the callback message.
TODO: Send NIN_BALLOONUSERCLICK when the user clicks on the balloon content (not the X button).
2018-02-10 16:31:26 +01:00
Joachim Henze 579e1e6b24 [EXPLORER] Update all preview bitmaps showing notification area
To reflect recent changes in taskbar height, icon spacing,
clock x and y margins.
Also make sure all shots show the exact same time
and choose a more localization agnostic time.
2018-02-06 17:35:08 +01:00
Joachim Henze bd7eae6795 [EXPLORER] Update classic/modern startmenu preview bitmaps
To reflect our recent updates in banners and notification area.
Also reduces explorer binary size by 214.016bytes.
2018-02-06 14:48:43 +01:00
Adam Słaboń 0d838f40a3 [TRANSLATION] Polish translation update (#357) 2018-02-04 18:45:20 +01:00
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