Commit graph

60041 commits

Author SHA1 Message Date
Giannis Adamopoulos 502f155b91 [EXPLORER]
- Simplify some code by using the IUnknown_ exports of shlwapi and using CComPtr.

svn path=/trunk/; revision=65605
2014-12-11 17:42:56 +00:00
David Quintana 71a780a54c Oops. That didn't happen.
svn path=/trunk/; revision=65604
2014-12-11 16:33:43 +00:00
David Quintana 4afe020ac6 [EXPLORER]
* Cleanup variable names and fix a few typos along the way.
* Refactor the start button code into a CStartButton class.
NOTE: There is a known regression with start button themeing, which I'm working on. The missing notification icons are not caused by this.
CORE-8898

svn path=/trunk/; revision=65603
2014-12-11 16:32:07 +00:00
Ziliang Guo e6979b9c26 [SHIMGVW]
Dynamically allocate the string for the file-type box. Patch by Ricardo Hanke.
CORE-7702 #resolve

svn path=/trunk/; revision=65602
2014-12-10 21:27:18 +00:00
Pierre Schweitzer 5e1a81a596 [NTFS]
Implement the downward fashion of FSCTL_GET_NTFS_FILE_RECORD and always return a file record which is in use
CORE-8725

svn path=/trunk/; revision=65601
2014-12-10 20:45:04 +00:00
Giannis Adamopoulos 7427f826d0 [EXPLORER]
* Simplify CreateStartMenu. Use CComPtr and IUnknown_SetSite.

svn path=/trunk/; revision=65600
2014-12-09 22:49:54 +00:00
Giannis Adamopoulos 50d056ca73 [EXPLORER]
* Make SetWindowStyle and SetWindowExStyle simple wrappers around SHSetWindowBits. There is no reason to reinvent the wheel.

svn path=/trunk/; revision=65599
2014-12-09 22:01:46 +00:00
Giannis Adamopoulos f8a69bddfb [EXPLORER]
* Remove dragdrop.cpp. It was never used.

svn path=/trunk/; revision=65598
2014-12-09 21:55:56 +00:00
Giannis Adamopoulos 8264611855 [EXPLORER]
* Import some undocumented functions directly instead of using GetProcAddress

svn path=/trunk/; revision=65597
2014-12-09 21:37:59 +00:00
Pierre Schweitzer 5503ce60e6 [NTOSKRNL]
THE oneliner....
Properly read the information from the IRP to get the reparse tag. This fixes the handling of reparse mount points in ReactOS.

To make it short and crystal clear: reparse points from NTFS now work in ReactOS.
Demonstration with a Windows 7 volume read inside ReactOS with our NTFS driver and the "Documents and Settings" directory pointing to Users.

IopDoNameTransmogrify() properly gets the reparse data and extracts the mount point:
(../../ntoskrnl/io/iomgr/file.c:178) IopDoNameTransmogrify(B074DB98, B022BC28, B0226068)
(../../ntoskrnl/io/iomgr/file.c:232) Old name: '\Documents and Settings\'
(../../ntoskrnl/io/iomgr/file.c:266) Reparsed name: '\??\C:\Users'

Then.... http://www.heisspiter.net/~Pierre/rostests/NTFS_Reparse.png
First, I attempt to open "Documents and Settings" on my NTFS volume, it fails as "C:\" drive is hardcoded in the reparse point.
So, I create the Users directory on C:\ and a dummy file in it.
Then, I cd again which works now.
And dir properly shows the dummy created file :-).

svn path=/trunk/; revision=65596
2014-12-09 21:33:38 +00:00
Pierre Schweitzer a98c9c1219 [NTOSKRNL]
Implement support reparse points in IofCompleteRequest()

svn path=/trunk/; revision=65595
2014-12-08 20:44:19 +00:00
Pierre Schweitzer 447fca27dc [NTFS]
Fix the implementation of the reparse point handling. This takes into account our $FILE_NAME attribute not being aware it's a reparse point...
We now fully get into Io and fail miserably as it seems I forgot one place where reparse points support has to be added.
D'oh!

svn path=/trunk/; revision=65594
2014-12-08 19:55:56 +00:00
Pierre Schweitzer 62f2a171cd [NTFS]
Fix a stupid copy paste error!

svn path=/trunk/; revision=65593
2014-12-08 19:51:55 +00:00
Pierre Schweitzer f94ebb610d [NTFS]
On FCB creation, merge file attributes from $FILE_NAME and from $STANDARD_INFORMATION
Not sure it's fully legal, but it allows us to catch them all!

svn path=/trunk/; revision=65592
2014-12-08 19:36:40 +00:00
Pierre Schweitzer a91d0a5297 [NTFS]
Implement GetStandardInformationFromRecord() which will return $STANDARD_INFORMATION attribute from a file record

svn path=/trunk/; revision=65591
2014-12-08 19:19:30 +00:00
Pierre Schweitzer 229c947271 [NTFS]
Complete a bit more the information dumped from attributes

svn path=/trunk/; revision=65590
2014-12-08 18:44:29 +00:00
James Tabor a4c82de831 [Shell32]
- Use a timeout to send WM_COPYDATA.
- Recall reading, while being sent to a thread that is hung indefinitely or blocked, it will not return properly. This seems to be the case for CORE-8779. Play it safe and use a timeout.

svn path=/trunk/; revision=65589
2014-12-08 17:10:02 +00:00
Pierre Schweitzer f9e8e07d32 [NTFS]
Do not forget to set IRP status block information in case of reparse point.

svn path=/trunk/; revision=65588
2014-12-08 07:35:45 +00:00
Eric Kohl ce3e70b717 [USETUP]
Show an indicator for active partitons in the partition list.

svn path=/trunk/; revision=65587
2014-12-07 22:28:12 +00:00
Pierre Schweitzer ebf69b050b [NTFS]
- Implement NtfsReadFCBAttribute() which is responsible for reading an attribute from a file which is referenced by its FCB. It will first read the file record in the MFT and then read the attribute, if found.
- Use NtfsReadFCBAttribute() to implement support for reparse point in NtfsCreateFile(). Once a reparse point is found, we attempt to open its data. Given their layout, we directly hand them to the Io manager. Just make sure that we return something consistent on disk. Only handle IO_REPARSE_TAG_MOUNT_POINT so far.
Next question to answer is: what to do when a reparse point is encountered during path traversal?

svn path=/trunk/; revision=65586
2014-12-07 20:59:45 +00:00
Pierre Schweitzer 0ee87ef80a [NTOSKRNL]
Addendum to r65584: don't forget to commit the header~

svn path=/trunk/; revision=65585
2014-12-07 18:02:04 +00:00
Pierre Schweitzer 70c4b88da1 [NTOSKRNL]
Implement support for (some) reparse points in Io manager. Ob should be already fine.
- Implement the IopDoNameTransmogrify() function. This one is responsible for checking the correct data for the reparse point and to update the path name in the file object. It will also free the memory buffer allocated by the driver to communicate the reparse information.
- Fix the support for reparse points in IopCompleteRequest(). If we receive reparse status + reparse tag we know, we call IopDoNameTransmogrify() to update file objet.
- Fix the support for reparse points in IopParseDevice() (oh! you again? :-)). When we complete the IRP ourselves, act as in IopCompleteRequest(). Then, we properly update objects manipulated by Io for the create request and we return STATUS_REPARSE so that Ob can update and recall us afterwards so that we complete.
Some parts are left unimplemented when it comes to reparse tags which are not IO_REPARSE_TAG_MOUNT_POINT. But still less than previously ;-).

svn path=/trunk/; revision=65584
2014-12-07 17:59:58 +00:00
Aleksandar Andrejevic 0dca6fd8ed [SHELL32:ICONS]
Replace the old "My Computer" icon with a new one.
New icon by: Ismael Ferreras Morezuelas.
CORE-8890 #resolve #comment Committed in revision r65583. Thanks!


svn path=/trunk/; revision=65583
2014-12-07 17:53:08 +00:00
Pierre Schweitzer 8d0ae10798 [BUGCODES]
Add bug check code 0xF9 DRIVER_RETURNED_STATUS_REPARSE_FOR_VOLUME_OPEN
Ref: http://msdn.microsoft.com/en-us/library/windows/hardware/ff560396%28v=vs.85%29.aspx

svn path=/trunk/; revision=65582
2014-12-07 16:54:27 +00:00
Pierre Schweitzer 5296d62877 [NTFS]
Implement NtfsFsdDeviceControl()


svn path=/trunk/; revision=65581
2014-12-07 14:16:13 +00:00
Pierre Schweitzer 14863b54d6 [NTFS]
Allow direct opening of a reparse point, but don't handle yet reparse itself

svn path=/trunk/; revision=65580
2014-12-07 14:05:47 +00:00
Pierre Schweitzer ce76daabd9 [NTFS]
Implement NtfsFCBIsReparsePoint() which returns true in case current FCB is a reparse point

svn path=/trunk/; revision=65579
2014-12-07 13:30:13 +00:00
Giannis Adamopoulos c3c85103f2 [EXPLORER]
- Add accelerator table for the taskbar. It is unused for now.

svn path=/trunk/; revision=65578
2014-12-07 11:07:51 +00:00
Daniel Reimer aa00cb3f4c [OSK]
Update keyboard layout to become bigger, text fitting in the buttons and bein easier to use Part 2/2
+ small fixes.

svn path=/trunk/; revision=65577
2014-12-07 01:33:46 +00:00
Hermès Bélusca-Maïto a177c84557 [OSK]: Add a better keyboard icon, copied from cpl/main/resources/keyboard.ico (it's keyboard tango icon). Pointed by swyter.
svn path=/trunk/; revision=65576
2014-12-06 19:58:28 +00:00
Daniel Reimer 132efe4c54 [OSK]
Update keyboard layout to become bigger, text fitting in the buttons and bein easier to use Part 1/2

svn path=/trunk/; revision=65575
2014-12-06 19:47:03 +00:00
Daniel Reimer 2ce1352fc8 Rule #1 of today: If you steal from resources... then at least steal from the most fitting one in layout matters...
[OSK]
Fix german layout by moving the "#" button where it should be and adding the "<" button next to "Y"

svn path=/trunk/; revision=65574
2014-12-06 13:43:55 +00:00
Daniel Reimer b0d6a110ef [OSK]
- Forgot to translate some hidden text ^^
- Add a less brownish ROS icon based on our favicon file.

svn path=/trunk/; revision=65573
2014-12-06 13:25:50 +00:00
Daniel Reimer d833e6777c [OSK]
- Add german resource file.
- Convert all others to UTF-8.
- Add manifest file and modify DOIALOG to DIALOGEX + changing default font to MS Shell Dlg. Hello themed keyboard ^^
TBD: Sizes are WAY too small IMO...

svn path=/trunk/; revision=65572
2014-12-06 13:08:48 +00:00
Sylvain Petreolle 2805f84806 [SHUTDOWN]
Remove useless check.

svn path=/trunk/; revision=65571
2014-12-06 11:33:31 +00:00
Hermès Bélusca-Maïto a381da464a [OSK]
- Fix some coding style (whitespace): this is not win32k!!
- Remove unneeded headers.

svn path=/trunk/; revision=65569
2014-12-05 22:09:10 +00:00
James Tabor e86551f057 [OSK]
- Add On Screen Keyboard to base applications. See CORE-7279 #resolved.

svn path=/trunk/; revision=65568
2014-12-05 21:43:00 +00:00
David Quintana 63a134ffc1 [BROWSEUI]
* Make the CBandSiteMenu class actually insert the Toolbars menu, even if it's not yet implemented. This fills the top of the taskbar context menu instead of leaving an ugly separator at the top.

svn path=/trunk/; revision=65566
2014-12-05 16:41:18 +00:00
Hermès Bélusca-Maïto 561200f6d3 Only layout was set different. Fix build.
svn path=/trunk/; revision=65565
2014-12-05 00:23:11 +00:00
Hermès Bélusca-Maïto f471dceaae [LOCALIZATION]: Add Bengali to other files.
svn path=/trunk/; revision=65564
2014-12-05 00:21:36 +00:00
Hermès Bélusca-Maïto b96ad17f20 [LOCALIZATION]
Add Bengali to the list of available lang #defines (see http://www.microsoft.com/resources/msdn/goglobal/default.mspx for the list).

svn path=/trunk/; revision=65563
2014-12-04 23:50:08 +00:00
Hermès Bélusca-Maïto 3ce4b32ab5 Fix some DPRINTs.
svn path=/trunk/; revision=65562
2014-12-04 23:15:18 +00:00
Hermès Bélusca-Maïto 03e7e918aa [CONSRV]
- Give the process handle which creates the screenbuffer, to ConDrvCreateScreenBuffer.
- Few code refactoring.

svn path=/trunk/; revision=65561
2014-12-04 22:47:13 +00:00
David Quintana 96d86fca58 [EXPLORER]
* Reorganize a bit the CTrayWindowCtxMenu::QueryContextMenu method and do not error if AddContextMenus fails. Fixes the taskbar context menu not opening on right-click.
(No need to call it explorer-new now that it's the primary one!)
CORE-8838

svn path=/trunk/; revision=65560
2014-12-04 19:53:02 +00:00
Giannis Adamopoulos be4775c2b8 [INCLUDES]
* Move some shared definitions in a common header

svn path=/trunk/; revision=65559
2014-12-04 18:20:51 +00:00
Giannis Adamopoulos d45dcc697d Try to fix build
svn path=/trunk/; revision=65558
2014-12-04 17:40:29 +00:00
Giannis Adamopoulos 8492b3df2a [SHELL32]
- Implement handling accelerators for CDesktopBrowser. The only noticeable difference is that pressing alt+f4 in the desktop doesn't close it.
See issue #8864 for more details.

svn path=/trunk/; revision=65557
2014-12-04 17:30:44 +00:00
Giannis Adamopoulos d1c24a9a68 [EXPLORER]
- Implement registering all hotkeys that explorer registers in windows. Not all of them are implemented. The ones that are implemented work fine in windows but most of them don't work on ros. Thankfully nothing regressed by doing things the same with windows .

svn path=/trunk/; revision=65556
2014-12-04 17:20:43 +00:00
Giannis Adamopoulos e018794583 [EXPLORER]
- Handle TWM_DOEXITWINDOWS in CTrayWindow. This message is sent from CDesktopWindow when it handles alt+f4 as an accelerator.
- Also handle SC_CLOSE for WM_SYSCOMMAND by calling ExitWindowsDialog.
- Fixes pressing alt+f4 in xp
- Now we have to make CDesktopWindow send TWM_DOEXITWINDOWS to the tray

svn path=/trunk/; revision=65555
2014-12-03 17:16:53 +00:00
David Quintana 079da15e39 [BROWSEUI]
* Add a stubbed CExplorerBand, which I will be using to investigate how the windows shell implements the sidebar panels.
This will never be called in ReactOS because our shell view doesn't handle the buttons for opening the sidebars, so it never asks the shell browser to open one.

CORE-8815

svn path=/trunk/; revision=65554
2014-12-03 16:11:46 +00:00