ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
October 2007
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
20 participants
708 discussions
Start a n
N
ew thread
[mnordell] 29519: Make cabman build warning-free
by mnordell@svn.reactos.org
Author: mnordell Date: Fri Oct 12 01:01:39 2007 New Revision: 29519 URL:
http://svn.reactos.org/svn/reactos?rev=29519&view=rev
Log: Make cabman build warning-free Modified: trunk/reactos/tools/cabman/cabinet.cxx trunk/reactos/tools/cabman/dfp.cxx trunk/reactos/tools/cabman/main.cxx Modified: trunk/reactos/tools/cabman/cabinet.cxx URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/tools/cabman/cabinet.cxx?r…
============================================================================== --- trunk/reactos/tools/cabman/cabinet.cxx (original) +++ trunk/reactos/tools/cabman/cabinet.cxx Fri Oct 12 01:01:39 2007 @@ -80,13 +80,13 @@ NULL); // No attribute template if (FileHandle == INVALID_HANDLE_VALUE) { - DPRINT(MID_TRACE, ("ERROR OPENING '%d'.\n", (ULONG)GetLastError())); + DPRINT(MID_TRACE, ("ERROR OPENING '%lu'.\n", (ULONG)GetLastError())); return; } if (!WriteFile(FileHandle, Buffer, Size, &BytesWritten, NULL)) { - DPRINT(MID_TRACE, ("ERROR WRITING '%d'.\n", (ULONG)GetLastError())); + DPRINT(MID_TRACE, ("ERROR WRITING '%lu'.\n", (ULONG)GetLastError())); } CloseFile(FileHandle); @@ -144,7 +144,7 @@ NULL); // No attribute template if (FileHandle == INVALID_HANDLE_VALUE) { - DPRINT(MID_TRACE, ("ERROR '%d'.\n", (ULONG)GetLastError())); + DPRINT(MID_TRACE, ("ERROR '%lu'.\n", (ULONG)GetLastError())); return CAB_STATUS_CANNOT_CREATE; } #else /* !WIN32 */ @@ -154,7 +154,7 @@ /* FileHandle = fopen(FullName, "w+b"); if (FileHandle == NULL) { - DPRINT(MID_TRACE, ("ERROR '%d'.\n", (ULONG)errno)); + DPRINT(MID_TRACE, ("ERROR '%lu'.\n", (ULONG)errno)); return CAB_STATUS_CANNOT_CREATE; } */ @@ -200,7 +200,7 @@ FileHandle = tmpfile(); if (FileHandle == NULL) { - DPRINT(MID_TRACE, ("ERROR '%d'.\n", (ULONG)errno)); + DPRINT(MID_TRACE, ("ERROR '%lu'.\n", (ULONG)errno)); return CAB_STATUS_FAILURE; } #endif @@ -662,7 +662,7 @@ if ((Status = ReadBlock(&CABHeader, sizeof(CFHEADER), &BytesRead)) != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (ULONG)Status)); + DPRINT(MIN_TRACE, ("Cannot read from file (%lu).\n", (ULONG)Status)); return CAB_STATUS_INVALID_CAB; } @@ -687,7 +687,7 @@ if ((Status = ReadBlock(&Size, sizeof(ULONG), &BytesRead)) != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (ULONG)Status)); + DPRINT(MIN_TRACE, ("Cannot read from file (%lu).\n", (ULONG)Status)); return CAB_STATUS_INVALID_CAB; } CabinetReserved = Size & 0xFFFF; @@ -762,7 +762,7 @@ if ((Status = ReadBlock(&FolderNode->Folder, sizeof(CFFOLDER), &BytesRead)) != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (ULONG)Status)); + DPRINT(MIN_TRACE, ("Cannot read from file (%lu).\n", (ULONG)Status)); return CAB_STATUS_INVALID_CAB; } } @@ -771,7 +771,7 @@ Status = ReadFileTable(); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("ReadFileTable() failed (%d).\n", (ULONG)Status)); + DPRINT(MIN_TRACE, ("ReadFileTable() failed (%lu).\n", (ULONG)Status)); return Status; } @@ -782,7 +782,7 @@ Status = ReadDataBlocks(FolderNode); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("ReadDataBlocks() failed (%d).\n", (ULONG)Status)); + DPRINT(MIN_TRACE, ("ReadDataBlocks() failed (%lu).\n", (ULONG)Status)); return Status; } FolderNode = FolderNode->Next; @@ -916,7 +916,7 @@ Status = LocateFile(FileName, &File); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MID_TRACE, ("Cannot locate file (%d).\n", (ULONG)Status)); + DPRINT(MID_TRACE, ("Cannot locate file (%lu).\n", (ULONG)Status)); return Status; } @@ -936,7 +936,7 @@ return CAB_STATUS_UNSUPPCOMP; } - DPRINT(MAX_TRACE, ("Extracting file at uncompressed offset (0x%X) Size (%d bytes) AO (0x%X) UO (0x%X).\n", + DPRINT(MAX_TRACE, ("Extracting file at uncompressed offset (0x%lX) Size (%lu bytes) AO (0x%lX) UO (0x%lX).\n", (ULONG)File->File.FileOffset, (ULONG)File->File.FileSize, (ULONG)File->DataBlock->AbsoluteOffset, @@ -1057,13 +1057,13 @@ { do { - DPRINT(MAX_TRACE, ("CO (0x%lX) ReuseBlock (%d) Offset (0x%lX) Size (%ld) BytesLeftInBlock (%ld)\n", + DPRINT(MAX_TRACE, ("CO (0x%lX) ReuseBlock (%lu) Offset (0x%lX) Size (%ld) BytesLeftInBlock (%ld)\n", File->DataBlock->UncompOffset, (ULONG)ReuseBlock, Offset, Size, BytesLeftInBlock)); if (/*(CurrentDataNode != File->DataBlock) &&*/ (!ReuseBlock) || (BytesLeftInBlock <= 0)) { - DPRINT(MAX_TRACE, ("Filling buffer. ReuseBlock (%d)\n", (ULONG)ReuseBlock)); + DPRINT(MAX_TRACE, ("Filling buffer. ReuseBlock (%lu)\n", (ULONG)ReuseBlock)); CurrentBuffer = Buffer; TotalBytesRead = 0; @@ -1076,11 +1076,11 @@ { CloseFile(DestFile); FreeMemory(Buffer); - DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (ULONG)Status)); + DPRINT(MIN_TRACE, ("Cannot read from file (%lu).\n", (ULONG)Status)); return CAB_STATUS_INVALID_CAB; } - DPRINT(MAX_TRACE, ("Data block: Checksum (0x%X) CompSize (%d bytes) UncompSize (%d bytes)\n", + DPRINT(MAX_TRACE, ("Data block: Checksum (0x%lX) CompSize (%lu bytes) UncompSize (%lu bytes)\n", (ULONG)CFData.Checksum, (ULONG)CFData.CompSize, (ULONG)CFData.UncompSize)); @@ -1097,7 +1097,7 @@ { CloseFile(DestFile); FreeMemory(Buffer); - DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (ULONG)Status)); + DPRINT(MIN_TRACE, ("Cannot read from file (%lu).\n", (ULONG)Status)); return CAB_STATUS_INVALID_CAB; } @@ -1145,7 +1145,7 @@ Status = LocateFile(TempName, &File); if (Status == CAB_STATUS_NOFILE) { - DPRINT(MID_TRACE, ("Cannot locate file (%d).\n", (ULONG)Status)); + DPRINT(MID_TRACE, ("Cannot locate file (%lu).\n", (ULONG)Status)); return Status; } @@ -1171,7 +1171,7 @@ } #endif - DPRINT(MAX_TRACE, ("Continuing extraction of file at uncompressed offset (0x%X) Size (%d bytes) AO (0x%X) UO (0x%X).\n", + DPRINT(MAX_TRACE, ("Continuing extraction of file at uncompressed offset (0x%lX) Size (%lu bytes) AO (0x%lX) UO (0x%lX).\n", (ULONG)File->File.FileOffset, (ULONG)File->File.FileSize, (ULONG)File->DataBlock->AbsoluteOffset, @@ -1208,7 +1208,7 @@ } else { - DPRINT(MAX_TRACE, ("Using same buffer. ReuseBlock (%d)\n", (ULONG)ReuseBlock)); + DPRINT(MAX_TRACE, ("Using same buffer. ReuseBlock (%lu)\n", (ULONG)ReuseBlock)); BytesToWrite = BytesLeftInBlock; @@ -1221,7 +1221,7 @@ { CloseFile(DestFile); FreeMemory(Buffer); - DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (ULONG)Status)); + DPRINT(MIN_TRACE, ("Cannot read from file (%lu).\n", (ULONG)Status)); return CAB_STATUS_INVALID_CAB; } @@ -1262,7 +1262,7 @@ if (Size < BytesToWrite) BytesToWrite = Size; - DPRINT(MAX_TRACE, ("Offset (0x%X) CurrentOffset (0x%X) ToWrite (%d) Skipped (%d)(%d) Size (%d).\n", + DPRINT(MAX_TRACE, ("Offset (0x%lX) CurrentOffset (0x%lX) ToWrite (%lu) Skipped (%lu)(%lu) Size (%lu).\n", (ULONG)Offset, (ULONG)CurrentOffset, (ULONG)BytesToWrite, @@ -2081,7 +2081,7 @@ { PCFDATA_NODE Node; - DPRINT(MAX_TRACE, ("FileName '%s' FileOffset (0x%X) FileSize (%d).\n", + DPRINT(MAX_TRACE, ("FileName '%s' FileOffset (0x%lX) FileSize (%lu).\n", (char*)File->FileName, (ULONG)File->File.FileOffset, (ULONG)File->File.FileSize)); @@ -2089,7 +2089,7 @@ Node = CurrentFolderNode->DataListHead; while (Node != NULL) { - DPRINT(MAX_TRACE, ("GetAbsoluteOffset(): Comparing (0x%X, 0x%X) (%d).\n", + DPRINT(MAX_TRACE, ("GetAbsoluteOffset(): Comparing (0x%lX, 0x%lX) (%lu).\n", (ULONG)Node->UncompOffset, (ULONG)Node->UncompOffset + Node->Data.UncompSize, (ULONG)Node->Data.UncompSize)); @@ -2137,7 +2137,7 @@ CurrentFolderNode = LocateFolderNode(Node->File.FileControlID); if (!CurrentFolderNode) { - DPRINT(MID_TRACE, ("Folder with index number (%d) not found.\n", + DPRINT(MID_TRACE, ("Folder with index number (%lu) not found.\n", (ULONG)Node->File.FileControlID)); return CAB_STATUS_INVALID_CAB; } @@ -2187,7 +2187,7 @@ Status = ReadBlock(&String[Offset], Size, &BytesRead); if ((Status != CAB_STATUS_SUCCESS) || (BytesRead != Size)) { - DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (ULONG)Status)); + DPRINT(MIN_TRACE, ("Cannot read from file (%lu).\n", (ULONG)Status)); return CAB_STATUS_INVALID_CAB; } @@ -2276,7 +2276,7 @@ if ((Status = ReadBlock(&File->File, sizeof(CFFILE), &BytesRead)) != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (ULONG)Status)); + DPRINT(MIN_TRACE, ("Cannot read from file (%lu).\n", (ULONG)Status)); return CAB_STATUS_INVALID_CAB; } @@ -2292,7 +2292,7 @@ if (Status != CAB_STATUS_SUCCESS) return Status; - DPRINT(MAX_TRACE, ("Found file '%s' at uncompressed offset (0x%X). Size (%d bytes) ControlId (0x%X).\n", + DPRINT(MAX_TRACE, ("Found file '%s' at uncompressed offset (0x%lX). Size (%lu bytes) ControlId (0x%lX).\n", (char*)File->FileName, (ULONG)File->File.FileOffset, (ULONG)File->File.FileSize, @@ -2357,11 +2357,11 @@ if ((Status = ReadBlock(&Node->Data, sizeof(CFDATA), &BytesRead)) != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot read from file (%d).\n", (ULONG)Status)); + DPRINT(MIN_TRACE, ("Cannot read from file (%lu).\n", (ULONG)Status)); return CAB_STATUS_INVALID_CAB; } - DPRINT(MAX_TRACE, ("AbsOffset (0x%X) UncompOffset (0x%X) Checksum (0x%X) CompSize (%d) UncompSize (%d).\n", + DPRINT(MAX_TRACE, ("AbsOffset (0x%lX) UncompOffset (0x%lX) Checksum (0x%lX) CompSize (%lu) UncompSize (%lu).\n", (ULONG)AbsoluteOffset, (ULONG)UncompOffset, (ULONG)Node->Data.Checksum, @@ -2648,7 +2648,7 @@ /* FIXME: Doesn't seem to be correct. EXTRACT.EXE won't accept checksums computed by this routine */ - DPRINT(MIN_TRACE, ("Checksumming buffer (0x%p) Size (%d)\n", Buffer, Size)); + DPRINT(MIN_TRACE, ("Checksumming buffer (0x%p) Size (%lu)\n", Buffer, Size)); UlongCount = Size / 4; // Number of ULONGs Checksum = Seed; // Init checksum @@ -3141,7 +3141,7 @@ Status = ScratchFile->ReadBlock(&DataNode->Data, InputBuffer, &BytesRead); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot read from scratch file (%d).\n", (ULONG)Status)); + DPRINT(MIN_TRACE, ("Cannot read from scratch file (%lu).\n", (ULONG)Status)); return Status; } @@ -3241,7 +3241,7 @@ // FIXME: MAKECAB.EXE does not like this checksum algorithm //DataNode->Data.Checksum = ComputeChecksum(CurrentOBuffer, DataNode->Data.CompSize, 0); - DPRINT(MAX_TRACE, ("Writing block. Checksum (0x%X) CompSize (%d) UncompSize (%d).\n", + DPRINT(MAX_TRACE, ("Writing block. Checksum (0x%lX) CompSize (%lu) UncompSize (%lu).\n", (ULONG)DataNode->Data.Checksum, (ULONG)DataNode->Data.CompSize, (ULONG)DataNode->Data.UncompSize)); Modified: trunk/reactos/tools/cabman/dfp.cxx URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/tools/cabman/dfp.cxx?rev=2…
============================================================================== --- trunk/reactos/tools/cabman/dfp.cxx (original) +++ trunk/reactos/tools/cabman/dfp.cxx Fri Oct 12 01:01:39 2007 @@ -161,14 +161,14 @@ NULL); // No attribute template if (InfFileHandle == INVALID_HANDLE_VALUE) { - DPRINT(MID_TRACE, ("Error creating '%d'.\n", (ULONG)GetLastError())); + DPRINT(MID_TRACE, ("Error creating '%lu'.\n", (ULONG)GetLastError())); return; } #else /* !WIN32 */ InfFileHandle = fopen(buf, "wb"); if (InfFileHandle == NULL) { - DPRINT(MID_TRACE, ("Error creating '%d'.\n", (ULONG)errno)); + DPRINT(MID_TRACE, ("Error creating '%lu'.\n", (ULONG)errno)); return; } #endif @@ -177,7 +177,7 @@ #if defined(WIN32) if (!WriteFile(InfFileHandle, InfLine, (DWORD)strlen(InfLine), (LPDWORD)&BytesWritten, NULL)) { - DPRINT(MID_TRACE, ("ERROR WRITING '%d'.\n", (ULONG)GetLastError())); + DPRINT(MID_TRACE, ("ERROR WRITING '%lu'.\n", (ULONG)GetLastError())); return; } #else @@ -191,7 +191,7 @@ #if defined(WIN32) if (!WriteFile(InfFileHandle, eolbuf, sizeof(eolbuf), (LPDWORD)&BytesWritten, NULL)) { - DPRINT(MID_TRACE, ("ERROR WRITING '%d'.\n", (ULONG)GetLastError())); + DPRINT(MID_TRACE, ("ERROR WRITING '%lu'.\n", (ULONG)GetLastError())); return; } #else @@ -347,7 +347,7 @@ if (Status == CAB_STATUS_FAILURE) { - printf("Directive file contains errors at line %d.\n", (ULONG)CurrentLine); + printf("Directive file contains errors at line %lu.\n", (ULONG)CurrentLine); DPRINT(MID_TRACE, ("Error while executing command.\n")); } @@ -361,7 +361,7 @@ if (Status != CAB_STATUS_SUCCESS) { - printf("Directive file contains errors at line %d.\n", (ULONG)CurrentLine); + printf("Directive file contains errors at line %lu.\n", (ULONG)CurrentLine); DPRINT(MID_TRACE, ("Error while copying file.\n")); } @@ -382,8 +382,8 @@ break; default: - printf("Directive file contains errors at line %d.\n", (ULONG)CurrentLine); - DPRINT(MID_TRACE, ("Token is (%d).\n", (ULONG)CurrentToken)); + printf("Directive file contains errors at line %lu.\n", (ULONG)CurrentLine); + DPRINT(MID_TRACE, ("Token is (%lu).\n", (ULONG)CurrentToken)); return CAB_STATUS_SUCCESS; } NextToken(); @@ -402,7 +402,7 @@ Status = CloseDisk(); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot write disk (%d).\n", (ULONG)Status)); + DPRINT(MIN_TRACE, ("Cannot write disk (%lu).\n", (ULONG)Status)); return Status; } } @@ -412,7 +412,7 @@ Status = CloseCabinet(); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot close cabinet (%d).\n", (ULONG)Status)); + DPRINT(MIN_TRACE, ("Cannot close cabinet (%lu).\n", (ULONG)Status)); return Status; } } @@ -455,7 +455,7 @@ Number += 1; - DPRINT(MID_TRACE, ("Giving disk (%d) a label...\n", (ULONG)Number)); + DPRINT(MID_TRACE, ("Giving disk (%lu) a label...\n", (ULONG)Number)); if (GetDiskName(&DiskLabel, Number, Label)) return true; @@ -507,7 +507,7 @@ Number += 1; - DPRINT(MID_TRACE, ("Giving cabinet (%d) a name...\n", (ULONG)Number)); + DPRINT(MID_TRACE, ("Giving cabinet (%lu) a name...\n", (ULONG)Number)); if (GetDiskName(&CabinetName, Number, Buffer)) { @@ -687,7 +687,7 @@ * false if there was not enough free memory available */ { - DPRINT(MID_TRACE, ("Setting label of disk (%d) to '%s'\n", (ULONG)Number, Label)); + DPRINT(MID_TRACE, ("Setting label of disk (%lu) to '%s'\n", (ULONG)Number, Label)); return SetDiskName(&DiskLabel, Number, Label); } @@ -717,7 +717,7 @@ * false if there was not enough free memory available */ { - DPRINT(MID_TRACE, ("Setting name of cabinet (%d) to '%s'\n", (ULONG)Number, Name)); + DPRINT(MID_TRACE, ("Setting name of cabinet (%lu) to '%s'\n", (ULONG)Number, Name)); return SetDiskName(&CabinetName, Number, Name); } @@ -1004,7 +1004,7 @@ Status = CloseDisk(); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot write disk (%d).\n", (ULONG)Status)); + DPRINT(MIN_TRACE, ("Cannot write disk (%lu).\n", (ULONG)Status)); return CAB_STATUS_SUCCESS; } DiskCreated = false; @@ -1013,7 +1013,7 @@ Status = NewDisk(); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot create disk (%d).\n", (ULONG)Status)); + DPRINT(MIN_TRACE, ("Cannot create disk (%lu).\n", (ULONG)Status)); return CAB_STATUS_SUCCESS; } DiskCreated = true; @@ -1028,7 +1028,7 @@ Status = CloseDisk(); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot write disk (%d).\n", (ULONG)Status)); + DPRINT(MIN_TRACE, ("Cannot write disk (%lu).\n", (ULONG)Status)); return CAB_STATUS_SUCCESS; } DiskCreated = false; @@ -1037,7 +1037,7 @@ Status = NewCabinet(); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot create cabinet (%d).\n", (ULONG)Status)); + DPRINT(MIN_TRACE, ("Cannot create cabinet (%lu).\n", (ULONG)Status)); return CAB_STATUS_SUCCESS; } DiskCreated = true; @@ -1182,7 +1182,7 @@ Status = NewCabinet(); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot create cabinet (%d).\n", (ULONG)Status)); + DPRINT(MIN_TRACE, ("Cannot create cabinet (%lu).\n", (ULONG)Status)); printf("Cannot create cabinet.\n"); return CAB_STATUS_FAILURE; } @@ -1193,7 +1193,7 @@ Status = NewDisk(); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot create disk (%d).\n", (ULONG)Status)); + DPRINT(MIN_TRACE, ("Cannot create disk (%lu).\n", (ULONG)Status)); printf("Cannot create disk.\n"); return CAB_STATUS_FAILURE; } Modified: trunk/reactos/tools/cabman/main.cxx URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/tools/cabman/main.cxx?rev=…
============================================================================== --- trunk/reactos/tools/cabman/main.cxx (original) +++ trunk/reactos/tools/cabman/main.cxx Fri Oct 12 01:01:39 2007 @@ -391,14 +391,14 @@ Status = NewCabinet(); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot create cabinet (%d).\n", (ULONG)Status)); + DPRINT(MIN_TRACE, ("Cannot create cabinet (%lu).\n", (ULONG)Status)); return false; } Status = AddFile(FileName); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot add file to cabinet (%d).\n", (ULONG)Status)); + DPRINT(MIN_TRACE, ("Cannot add file to cabinet (%lu).\n", (ULONG)Status)); return false; } @@ -407,7 +407,7 @@ Status = CloseDisk(); if (Status != CAB_STATUS_SUCCESS) { - DPRINT(MIN_TRACE, ("Cannot write disk (%d).\n", (ULONG)Status)); + DPRINT(MIN_TRACE, ("Cannot write disk (%lu).\n", (ULONG)Status)); return false; } @@ -514,7 +514,7 @@ return false; default: - printf("Unspecified error code (%d).\n", (ULONG)Status); + printf("Unspecified error code (%lu).\n", (ULONG)Status); return false; } } while (FindNext(&Search) == CAB_STATUS_SUCCESS);
17 years, 2 months
1
0
0
0
[fireball] 29518: - Mm-rewrite: * Get rid of a hack-based heap allocation in FreeLdr, which makes real data interleaved with temporary data, all that unfreeable and unmanageable. * Introduce new APIs MmHeapAlloc / MmHeapFree to alloc/free memory from a pre-allocated heap. * Add BGET (public domain heap implementation), hook it up to the MmHeapAlloc / MmHeapFree APIs. * MmAllocateMemory still is a backward-compatibility API, will be removed soon. - Change most of allocations to the heap-based rou
by fireball@svn.reactos.org
Author: fireball Date: Fri Oct 12 00:40:38 2007 New Revision: 29518 URL:
http://svn.reactos.org/svn/reactos?rev=29518&view=rev
Log: - Mm-rewrite: * Get rid of a hack-based heap allocation in FreeLdr, which makes real data interleaved with temporary data, all that unfreeable and unmanageable. * Introduce new APIs MmHeapAlloc / MmHeapFree to alloc/free memory from a pre-allocated heap. * Add BGET (public domain heap implementation), hook it up to the MmHeapAlloc / MmHeapFree APIs. * MmAllocateMemory still is a backward-compatibility API, will be removed soon. - Change most of allocations to the heap-based routines, add frees where necessary (I must admit Brian already used MmFreeMemory in a lot of places, so I just had to change those to the corresponding MmHeapFree API). - Remove unneeded and wrong IDT filling, which was commented out. - Temporary disable caching support, because it needs a standalone place to keep its data in. For compatibility's sake it's better to leave it when WinLdr is more mature. Added: branches/winldr/include/bget.h (with props) branches/winldr/rtl/bget.c (with props) Modified: branches/winldr/arch/i386/hardware.c branches/winldr/cache/blocklist.c branches/winldr/freeldr_base.rbuild branches/winldr/fs/fat.c branches/winldr/include/freeldr.h branches/winldr/include/mm.h branches/winldr/mm/meminit.c branches/winldr/mm/mm.c branches/winldr/reactos/binhive.c branches/winldr/reactos/registry.c branches/winldr/rtl/libsupp.c branches/winldr/ui/ui.c branches/winldr/windows/peloader.c branches/winldr/windows/winldr.c branches/winldr/windows/wlmemory.c branches/winldr/windows/wlregistry.c [This mail would be too long, it was shortened to contain the URLs only.] Modified: branches/winldr/arch/i386/hardware.c URL:
http://svn.reactos.org/svn/reactos/branches/winldr/arch/i386/hardware.c?rev…
Modified: branches/winldr/cache/blocklist.c URL:
http://svn.reactos.org/svn/reactos/branches/winldr/cache/blocklist.c?rev=29…
Modified: branches/winldr/freeldr_base.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/winldr/freeldr_base.rbuild?rev=…
Modified: branches/winldr/fs/fat.c URL:
http://svn.reactos.org/svn/reactos/branches/winldr/fs/fat.c?rev=29518&r1=29…
Added: branches/winldr/include/bget.h URL:
http://svn.reactos.org/svn/reactos/branches/winldr/include/bget.h?rev=29518…
Modified: branches/winldr/include/freeldr.h URL:
http://svn.reactos.org/svn/reactos/branches/winldr/include/freeldr.h?rev=29…
Modified: branches/winldr/include/mm.h URL:
http://svn.reactos.org/svn/reactos/branches/winldr/include/mm.h?rev=29518&r…
Modified: branches/winldr/mm/meminit.c URL:
http://svn.reactos.org/svn/reactos/branches/winldr/mm/meminit.c?rev=29518&r…
Modified: branches/winldr/mm/mm.c URL:
http://svn.reactos.org/svn/reactos/branches/winldr/mm/mm.c?rev=29518&r1=295…
Modified: branches/winldr/reactos/binhive.c URL:
http://svn.reactos.org/svn/reactos/branches/winldr/reactos/binhive.c?rev=29…
Modified: branches/winldr/reactos/registry.c URL:
http://svn.reactos.org/svn/reactos/branches/winldr/reactos/registry.c?rev=2…
Added: branches/winldr/rtl/bget.c URL:
http://svn.reactos.org/svn/reactos/branches/winldr/rtl/bget.c?rev=29518&vie…
Modified: branches/winldr/rtl/libsupp.c URL:
http://svn.reactos.org/svn/reactos/branches/winldr/rtl/libsupp.c?rev=29518&…
Modified: branches/winldr/ui/ui.c URL:
http://svn.reactos.org/svn/reactos/branches/winldr/ui/ui.c?rev=29518&r1=295…
Modified: branches/winldr/windows/peloader.c URL:
http://svn.reactos.org/svn/reactos/branches/winldr/windows/peloader.c?rev=2…
Modified: branches/winldr/windows/winldr.c URL:
http://svn.reactos.org/svn/reactos/branches/winldr/windows/winldr.c?rev=295…
Modified: branches/winldr/windows/wlmemory.c URL:
http://svn.reactos.org/svn/reactos/branches/winldr/windows/wlmemory.c?rev=2…
Modified: branches/winldr/windows/wlregistry.c URL:
http://svn.reactos.org/svn/reactos/branches/winldr/windows/wlregistry.c?rev…
17 years, 2 months
1
0
0
0
[weiden] 29517: Display a context menu for the selected monitor
by weiden@svn.reactos.org
Author: weiden Date: Fri Oct 12 00:23:26 2007 New Revision: 29517 URL:
http://svn.reactos.org/svn/reactos?rev=29517&view=rev
Log: Display a context menu for the selected monitor Modified: trunk/reactos/dll/cpl/desk/desk.c trunk/reactos/dll/cpl/desk/desk.h trunk/reactos/dll/cpl/desk/lang/bg-BG.rc trunk/reactos/dll/cpl/desk/lang/cs-CZ.rc trunk/reactos/dll/cpl/desk/lang/de-DE.rc trunk/reactos/dll/cpl/desk/lang/el-GR.rc trunk/reactos/dll/cpl/desk/lang/en-US.rc trunk/reactos/dll/cpl/desk/lang/es-ES.rc trunk/reactos/dll/cpl/desk/lang/fr-FR.rc trunk/reactos/dll/cpl/desk/lang/hu-HU.rc trunk/reactos/dll/cpl/desk/lang/id-ID.rc trunk/reactos/dll/cpl/desk/lang/it-IT.rc trunk/reactos/dll/cpl/desk/lang/ja-JP.rc trunk/reactos/dll/cpl/desk/lang/nl-NL.rc trunk/reactos/dll/cpl/desk/lang/pl-PL.rc trunk/reactos/dll/cpl/desk/lang/ru-RU.rc trunk/reactos/dll/cpl/desk/lang/sk-SK.rc trunk/reactos/dll/cpl/desk/lang/sv-SE.rc trunk/reactos/dll/cpl/desk/lang/uk-UA.rc trunk/reactos/dll/cpl/desk/monslctl.c trunk/reactos/dll/cpl/desk/monslctl.h trunk/reactos/dll/cpl/desk/resource.h trunk/reactos/dll/cpl/desk/settings.c Modified: trunk/reactos/dll/cpl/desk/desk.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/desk/desk.c?rev=29…
============================================================================== --- trunk/reactos/dll/cpl/desk/desk.c (original) +++ trunk/reactos/dll/cpl/desk/desk.c Fri Oct 12 00:23:26 2007 @@ -33,6 +33,33 @@ DisplayApplet } }; + +HMENU +LoadPopupMenu(IN HINSTANCE hInstance, + IN LPCTSTR lpMenuName) +{ + HMENU hMenu, hSubMenu = NULL; + + hMenu = LoadMenu(hInstance, + lpMenuName); + + if (hMenu != NULL) + { + hSubMenu = GetSubMenu(hMenu, + 0); + if (hSubMenu != NULL && + !RemoveMenu(hMenu, + 0, + MF_BYPOSITION)) + { + hSubMenu = NULL; + } + + DestroyMenu(hMenu); + } + + return hSubMenu; +} static BOOL CALLBACK PropSheetAddPage(HPROPSHEETPAGE hpage, LPARAM lParam) Modified: trunk/reactos/dll/cpl/desk/desk.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/desk/desk.h?rev=29…
============================================================================== --- trunk/reactos/dll/cpl/desk/desk.h (original) +++ trunk/reactos/dll/cpl/desk/desk.h Fri Oct 12 00:23:26 2007 @@ -34,6 +34,10 @@ } DIBITMAP, *PDIBITMAP; extern HINSTANCE hApplet; + +HMENU +LoadPopupMenu(IN HINSTANCE hInstance, + IN LPCTSTR lpMenuName); PDIBITMAP DibLoadImage(LPTSTR lpFilename); VOID DibFreeImage(PDIBITMAP lpBitmap); Modified: trunk/reactos/dll/cpl/desk/lang/bg-BG.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/desk/lang/bg-BG.rc…
============================================================================== --- trunk/reactos/dll/cpl/desk/lang/bg-BG.rc (original) +++ trunk/reactos/dll/cpl/desk/lang/bg-BG.rc Fri Oct 12 00:23:26 2007 @@ -133,6 +133,18 @@ MENUITEM "Îáèêíîâåíî", ID_MENU_NORMAL MENUITEM "Èçêëþ÷åíî", ID_MENU_DISABLED MENUITEM "Èçáðàíî", ID_MENU_SELECTED +END + +IDM_MONITOR_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Attached", ID_MENU_ATTACHED + MENUITEM "&Primary", ID_MENU_PRIMARY + MENUITEM SEPARATOR + MENUITEM "&Identify", ID_MENU_IDENTIFY + MENUITEM "P&roperties", ID_MENU_PROPERTIES + END END STRINGTABLE Modified: trunk/reactos/dll/cpl/desk/lang/cs-CZ.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/desk/lang/cs-CZ.rc…
============================================================================== --- trunk/reactos/dll/cpl/desk/lang/cs-CZ.rc (original) +++ trunk/reactos/dll/cpl/desk/lang/cs-CZ.rc Fri Oct 12 00:23:26 2007 @@ -130,6 +130,18 @@ MENUITEM "Normální", ID_MENU_NORMAL MENUITEM "Nepøístupné", ID_MENU_DISABLED MENUITEM "Vybráno", ID_MENU_SELECTED +END + +IDM_MONITOR_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Attached", ID_MENU_ATTACHED + MENUITEM "&Primary", ID_MENU_PRIMARY + MENUITEM SEPARATOR + MENUITEM "&Identify", ID_MENU_IDENTIFY + MENUITEM "P&roperties", ID_MENU_PROPERTIES + END END STRINGTABLE Modified: trunk/reactos/dll/cpl/desk/lang/de-DE.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/desk/lang/de-DE.rc…
============================================================================== --- trunk/reactos/dll/cpl/desk/lang/de-DE.rc (original) +++ trunk/reactos/dll/cpl/desk/lang/de-DE.rc Fri Oct 12 00:23:26 2007 @@ -129,6 +129,18 @@ MENUITEM "Normal", ID_MENU_NORMAL MENUITEM "Deaktiviert", ID_MENU_DISABLED MENUITEM "Ausgewählt", ID_MENU_SELECTED +END + +IDM_MONITOR_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Attached", ID_MENU_ATTACHED + MENUITEM "&Primary", ID_MENU_PRIMARY + MENUITEM SEPARATOR + MENUITEM "&Identify", ID_MENU_IDENTIFY + MENUITEM "P&roperties", ID_MENU_PROPERTIES + END END STRINGTABLE Modified: trunk/reactos/dll/cpl/desk/lang/el-GR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/desk/lang/el-GR.rc…
============================================================================== --- trunk/reactos/dll/cpl/desk/lang/el-GR.rc (original) +++ trunk/reactos/dll/cpl/desk/lang/el-GR.rc Fri Oct 12 00:23:26 2007 @@ -129,6 +129,18 @@ MENUITEM "Normal", ID_MENU_NORMAL MENUITEM "Disabled", ID_MENU_DISABLED MENUITEM "Selected", ID_MENU_SELECTED +END + +IDM_MONITOR_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Attached", ID_MENU_ATTACHED + MENUITEM "&Primary", ID_MENU_PRIMARY + MENUITEM SEPARATOR + MENUITEM "&Identify", ID_MENU_IDENTIFY + MENUITEM "P&roperties", ID_MENU_PROPERTIES + END END STRINGTABLE Modified: trunk/reactos/dll/cpl/desk/lang/en-US.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/desk/lang/en-US.rc…
============================================================================== --- trunk/reactos/dll/cpl/desk/lang/en-US.rc (original) +++ trunk/reactos/dll/cpl/desk/lang/en-US.rc Fri Oct 12 00:23:26 2007 @@ -131,6 +131,18 @@ MENUITEM "Normal", ID_MENU_NORMAL MENUITEM "Disabled", ID_MENU_DISABLED MENUITEM "Selected", ID_MENU_SELECTED +END + +IDM_MONITOR_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Attached", ID_MENU_ATTACHED + MENUITEM "&Primary", ID_MENU_PRIMARY + MENUITEM SEPARATOR + MENUITEM "&Identify", ID_MENU_IDENTIFY + MENUITEM "P&roperties", ID_MENU_PROPERTIES + END END STRINGTABLE Modified: trunk/reactos/dll/cpl/desk/lang/es-ES.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/desk/lang/es-ES.rc…
============================================================================== --- trunk/reactos/dll/cpl/desk/lang/es-ES.rc (original) +++ trunk/reactos/dll/cpl/desk/lang/es-ES.rc Fri Oct 12 00:23:26 2007 @@ -136,6 +136,18 @@ MENUITEM "Normal", ID_MENU_NORMAL MENUITEM "Disabled", ID_MENU_DISABLED MENUITEM "Selected", ID_MENU_SELECTED +END + +IDM_MONITOR_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Attached", ID_MENU_ATTACHED + MENUITEM "&Primary", ID_MENU_PRIMARY + MENUITEM SEPARATOR + MENUITEM "&Identify", ID_MENU_IDENTIFY + MENUITEM "P&roperties", ID_MENU_PROPERTIES + END END STRINGTABLE Modified: trunk/reactos/dll/cpl/desk/lang/fr-FR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/desk/lang/fr-FR.rc…
============================================================================== --- trunk/reactos/dll/cpl/desk/lang/fr-FR.rc (original) +++ trunk/reactos/dll/cpl/desk/lang/fr-FR.rc Fri Oct 12 00:23:26 2007 @@ -132,6 +132,18 @@ MENUITEM "Normal", ID_MENU_NORMAL MENUITEM "Désactivé", ID_MENU_DISABLED MENUITEM "Sélectionné", ID_MENU_SELECTED +END + +IDM_MONITOR_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Attached", ID_MENU_ATTACHED + MENUITEM "&Primary", ID_MENU_PRIMARY + MENUITEM SEPARATOR + MENUITEM "&Identify", ID_MENU_IDENTIFY + MENUITEM "P&roperties", ID_MENU_PROPERTIES + END END STRINGTABLE Modified: trunk/reactos/dll/cpl/desk/lang/hu-HU.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/desk/lang/hu-HU.rc…
============================================================================== --- trunk/reactos/dll/cpl/desk/lang/hu-HU.rc (original) +++ trunk/reactos/dll/cpl/desk/lang/hu-HU.rc Fri Oct 12 00:23:26 2007 @@ -130,6 +130,18 @@ MENUITEM "Normal", ID_MENU_NORMAL MENUITEM "Disabled", ID_MENU_DISABLED MENUITEM "Selected", ID_MENU_SELECTED +END + +IDM_MONITOR_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Attached", ID_MENU_ATTACHED + MENUITEM "&Primary", ID_MENU_PRIMARY + MENUITEM SEPARATOR + MENUITEM "&Identify", ID_MENU_IDENTIFY + MENUITEM "P&roperties", ID_MENU_PROPERTIES + END END STRINGTABLE Modified: trunk/reactos/dll/cpl/desk/lang/id-ID.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/desk/lang/id-ID.rc…
============================================================================== --- trunk/reactos/dll/cpl/desk/lang/id-ID.rc (original) +++ trunk/reactos/dll/cpl/desk/lang/id-ID.rc Fri Oct 12 00:23:26 2007 @@ -129,6 +129,18 @@ MENUITEM "Normal", ID_MENU_NORMAL MENUITEM "Dimatikan", ID_MENU_DISABLED MENUITEM "Dipilih", ID_MENU_SELECTED +END + +IDM_MONITOR_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Attached", ID_MENU_ATTACHED + MENUITEM "&Primary", ID_MENU_PRIMARY + MENUITEM SEPARATOR + MENUITEM "&Identify", ID_MENU_IDENTIFY + MENUITEM "P&roperties", ID_MENU_PROPERTIES + END END STRINGTABLE Modified: trunk/reactos/dll/cpl/desk/lang/it-IT.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/desk/lang/it-IT.rc…
============================================================================== --- trunk/reactos/dll/cpl/desk/lang/it-IT.rc (original) +++ trunk/reactos/dll/cpl/desk/lang/it-IT.rc Fri Oct 12 00:23:26 2007 @@ -129,6 +129,18 @@ MENUITEM "Normal", ID_MENU_NORMAL MENUITEM "Disabled", ID_MENU_DISABLED MENUITEM "Selected", ID_MENU_SELECTED +END + +IDM_MONITOR_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Attached", ID_MENU_ATTACHED + MENUITEM "&Primary", ID_MENU_PRIMARY + MENUITEM SEPARATOR + MENUITEM "&Identify", ID_MENU_IDENTIFY + MENUITEM "P&roperties", ID_MENU_PROPERTIES + END END STRINGTABLE Modified: trunk/reactos/dll/cpl/desk/lang/ja-JP.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/desk/lang/ja-JP.rc…
============================================================================== --- trunk/reactos/dll/cpl/desk/lang/ja-JP.rc (original) +++ trunk/reactos/dll/cpl/desk/lang/ja-JP.rc Fri Oct 12 00:23:26 2007 @@ -129,6 +129,18 @@ MENUITEM "Normal", ID_MENU_NORMAL MENUITEM "Disabled", ID_MENU_DISABLED MENUITEM "Selected", ID_MENU_SELECTED +END + +IDM_MONITOR_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Attached", ID_MENU_ATTACHED + MENUITEM "&Primary", ID_MENU_PRIMARY + MENUITEM SEPARATOR + MENUITEM "&Identify", ID_MENU_IDENTIFY + MENUITEM "P&roperties", ID_MENU_PROPERTIES + END END STRINGTABLE Modified: trunk/reactos/dll/cpl/desk/lang/nl-NL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/desk/lang/nl-NL.rc…
============================================================================== --- trunk/reactos/dll/cpl/desk/lang/nl-NL.rc (original) +++ trunk/reactos/dll/cpl/desk/lang/nl-NL.rc Fri Oct 12 00:23:26 2007 @@ -131,6 +131,18 @@ MENUITEM "Normal", ID_MENU_NORMAL MENUITEM "Disabled", ID_MENU_DISABLED MENUITEM "Selected", ID_MENU_SELECTED +END + +IDM_MONITOR_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Attached", ID_MENU_ATTACHED + MENUITEM "&Primary", ID_MENU_PRIMARY + MENUITEM SEPARATOR + MENUITEM "&Identify", ID_MENU_IDENTIFY + MENUITEM "P&roperties", ID_MENU_PROPERTIES + END END STRINGTABLE Modified: trunk/reactos/dll/cpl/desk/lang/pl-PL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/desk/lang/pl-PL.rc…
============================================================================== --- trunk/reactos/dll/cpl/desk/lang/pl-PL.rc (original) +++ trunk/reactos/dll/cpl/desk/lang/pl-PL.rc Fri Oct 12 00:23:26 2007 @@ -135,6 +135,18 @@ MENUITEM "Normalny", ID_MENU_NORMAL MENUITEM "Wy³¹czony", ID_MENU_DISABLED MENUITEM "Wybrany", ID_MENU_SELECTED +END + +IDM_MONITOR_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Attached", ID_MENU_ATTACHED + MENUITEM "&Primary", ID_MENU_PRIMARY + MENUITEM SEPARATOR + MENUITEM "&Identify", ID_MENU_IDENTIFY + MENUITEM "P&roperties", ID_MENU_PROPERTIES + END END STRINGTABLE Modified: trunk/reactos/dll/cpl/desk/lang/ru-RU.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/desk/lang/ru-RU.rc…
============================================================================== --- trunk/reactos/dll/cpl/desk/lang/ru-RU.rc (original) +++ trunk/reactos/dll/cpl/desk/lang/ru-RU.rc Fri Oct 12 00:23:26 2007 @@ -129,6 +129,18 @@ MENUITEM "Îáû÷íàÿ", ID_MENU_NORMAL MENUITEM "Îòêëþ÷åííàÿ", ID_MENU_DISABLED MENUITEM "Âûáðàííàÿ", ID_MENU_SELECTED +END + +IDM_MONITOR_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Attached", ID_MENU_ATTACHED + MENUITEM "&Primary", ID_MENU_PRIMARY + MENUITEM SEPARATOR + MENUITEM "&Identify", ID_MENU_IDENTIFY + MENUITEM "P&roperties", ID_MENU_PROPERTIES + END END STRINGTABLE Modified: trunk/reactos/dll/cpl/desk/lang/sk-SK.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/desk/lang/sk-SK.rc…
============================================================================== --- trunk/reactos/dll/cpl/desk/lang/sk-SK.rc (original) +++ trunk/reactos/dll/cpl/desk/lang/sk-SK.rc Fri Oct 12 00:23:26 2007 @@ -138,6 +138,18 @@ MENUITEM "Normal", ID_MENU_NORMAL MENUITEM "Disabled", ID_MENU_DISABLED MENUITEM "Selected", ID_MENU_SELECTED +END + +IDM_MONITOR_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Attached", ID_MENU_ATTACHED + MENUITEM "&Primary", ID_MENU_PRIMARY + MENUITEM SEPARATOR + MENUITEM "&Identify", ID_MENU_IDENTIFY + MENUITEM "P&roperties", ID_MENU_PROPERTIES + END END STRINGTABLE Modified: trunk/reactos/dll/cpl/desk/lang/sv-SE.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/desk/lang/sv-SE.rc…
============================================================================== --- trunk/reactos/dll/cpl/desk/lang/sv-SE.rc (original) +++ trunk/reactos/dll/cpl/desk/lang/sv-SE.rc Fri Oct 12 00:23:26 2007 @@ -132,6 +132,18 @@ MENUITEM "Normal", ID_MENU_NORMAL MENUITEM "Disabled", ID_MENU_DISABLED MENUITEM "Selected", ID_MENU_SELECTED +END + +IDM_MONITOR_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Attached", ID_MENU_ATTACHED + MENUITEM "&Primary", ID_MENU_PRIMARY + MENUITEM SEPARATOR + MENUITEM "&Identify", ID_MENU_IDENTIFY + MENUITEM "P&roperties", ID_MENU_PROPERTIES + END END STRINGTABLE Modified: trunk/reactos/dll/cpl/desk/lang/uk-UA.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/desk/lang/uk-UA.rc…
============================================================================== --- trunk/reactos/dll/cpl/desk/lang/uk-UA.rc (original) +++ trunk/reactos/dll/cpl/desk/lang/uk-UA.rc Fri Oct 12 00:23:26 2007 @@ -137,6 +137,18 @@ MENUITEM "Çâè÷àéíå", ID_MENU_NORMAL MENUITEM "Âèìêíåíå", ID_MENU_DISABLED MENUITEM "Âèáðàíå", ID_MENU_SELECTED +END + +IDM_MONITOR_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Attached", ID_MENU_ATTACHED + MENUITEM "&Primary", ID_MENU_PRIMARY + MENUITEM SEPARATOR + MENUITEM "&Identify", ID_MENU_IDENTIFY + MENUITEM "P&roperties", ID_MENU_PROPERTIES + END END STRINGTABLE Modified: trunk/reactos/dll/cpl/desk/monslctl.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/desk/monslctl.c?re…
============================================================================== --- trunk/reactos/dll/cpl/desk/monslctl.c (original) +++ trunk/reactos/dll/cpl/desk/monslctl.c Fri Oct 12 00:23:26 2007 @@ -496,6 +496,32 @@ return FALSE; } +static INT +MonSelGetMonitorRect(IN OUT PMONITORSELWND infoPtr, + IN INT Index, + OUT PRECT prc) +{ + RECT rc, rcClient; + + if (Index < 0 || Index >= infoPtr->MonitorsCount) + return -1; + + if (!infoPtr->CanDisplay) + return 0; + + MonSelRectToScreen(infoPtr, + &infoPtr->Monitors[Index].rc, + prc); + + rcClient.left = rcClient.top = 0; + rcClient.right = infoPtr->ClientSize.cx; + rcClient.bottom = infoPtr->ClientSize.cy; + + return IntersectRect(&rc, + &rcClient, + prc) != FALSE; +} + static BOOL MonSelSetCurSelMonitor(IN OUT PMONITORSELWND infoPtr, IN INT Index, @@ -568,7 +594,8 @@ infoPtr->SelectionFrame.cx = infoPtr->SelectionFrame.cy = 4; infoPtr->Margin.cx = infoPtr->Margin.cy = 20; infoPtr->SelectedMonitor = -1; - infoPtr->ControlExStyle = MSLM_EX_ALLOWSELECTDISABLED; + infoPtr->ControlExStyle = MSLM_EX_ALLOWSELECTDISABLED | MSLM_EX_HIDENUMBERONSINGLE | + MSLM_EX_SELECTONRIGHTCLICK; return; } @@ -709,6 +736,10 @@ DWORD Index; RECT rc, rctmp; INT iPrevBkMode; + BOOL bHideNumber; + + bHideNumber = (infoPtr->ControlExStyle & MSLM_EX_HIDENUMBERS) || + ((infoPtr->MonitorsCount == 1) && (infoPtr->ControlExStyle & MSLM_EX_HIDENUMBERONSINGLE)); hbBk = GetSysColorBrush(COLOR_BACKGROUND); hpFg = CreatePen(PS_SOLID, @@ -773,22 +804,25 @@ -1, -1); - hFont = MonSelGetMonitorFont(infoPtr, - hDC, - Index); - if (hFont != NULL) - { - hPrevFont = SelectObject(hDC, - hFont); - - DrawText(hDC, - infoPtr->Monitors[Index].szCaption, - -1, - &rc, - DT_VCENTER | DT_CENTER | DT_NOPREFIX | DT_SINGLELINE); - - SelectObject(hDC, - hPrevFont); + if (!bHideNumber) + { + hFont = MonSelGetMonitorFont(infoPtr, + hDC, + Index); + if (hFont != NULL) + { + hPrevFont = SelectObject(hDC, + hFont); + + DrawText(hDC, + infoPtr->Monitors[Index].szCaption, + -1, + &rc, + DT_VCENTER | DT_CENTER | DT_NOPREFIX | DT_SINGLELINE); + + SelectObject(hDC, + hPrevFont); + } } if (infoPtr->MonitorInfo[Index].Flags & MSL_MIF_DISABLED) @@ -813,6 +847,41 @@ hbOldBk); } +static VOID +MonSelContextMenu(IN OUT PMONITORSELWND infoPtr, + IN SHORT x, + IN SHORT y) +{ + MONSL_MONNMBUTTONCLICKED nm; + INT Index; + + if (!infoPtr->HasFocus) + SetFocus(infoPtr->hSelf); + + nm.pt.x = x; + nm.pt.y = y; + + Index = MonSelHitTest(infoPtr, + &nm.pt); + + MonSelNotifyMonitor(infoPtr, + MSLN_RBUTTONUP, + Index, + (PMONSL_MONNMHDR)&nm); + + /* Send a WM_CONTEXTMENU notification */ + MapWindowPoints(infoPtr->hSelf, + NULL, + &nm.pt, + 1); + + SendMessage(infoPtr->hSelf, + WM_CONTEXTMENU, + (WPARAM)infoPtr->hSelf, + MAKELPARAM(nm.pt.x, + nm.pt.y)); +} + static LRESULT CALLBACK MonitorSelWndProc(IN HWND hwnd, IN UINT uMsg, @@ -873,9 +942,16 @@ break; } + case WM_RBUTTONDOWN: + { + if (!(infoPtr->ControlExStyle & MSLM_EX_SELECTONRIGHTCLICK)) + break; + + /* fall through */ + } + case WM_LBUTTONDBLCLK: case WM_LBUTTONDOWN: - case WM_RBUTTONDOWN: { INT Index; POINT pt; @@ -899,6 +975,14 @@ { if (!infoPtr->HasFocus) SetFocus(hwnd); + break; + } + + case WM_RBUTTONUP: + { + MonSelContextMenu(infoPtr, + (SHORT)LOWORD(lParam), + (SHORT)HIWORD(lParam)); break; } @@ -1081,6 +1165,14 @@ break; } + case MSLM_GETMONITORRECT: + { + Ret = (LRESULT)MonSelGetMonitorRect(infoPtr, + (INT)wParam, + (PRECT)lParam); + break; + } + case WM_CREATE: { infoPtr = (PMONITORSELWND) HeapAlloc(GetProcessHeap(), Modified: trunk/reactos/dll/cpl/desk/monslctl.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/desk/monslctl.h?re…
============================================================================== --- trunk/reactos/dll/cpl/desk/monslctl.h (original) +++ trunk/reactos/dll/cpl/desk/monslctl.h Fri Oct 12 00:23:26 2007 @@ -4,6 +4,9 @@ /* Control extended styles */ #define MSLM_EX_ALLOWSELECTNONE 0x1 #define MSLM_EX_ALLOWSELECTDISABLED 0x2 +#define MSLM_EX_HIDENUMBERONSINGLE 0x4 +#define MSLM_EX_HIDENUMBERS 0x8 +#define MSLM_EX_SELECTONRIGHTCLICK 0x10 /* MONSL_MONINFO Flags */ #define MSL_MIF_DISABLED 0x1 @@ -24,6 +27,13 @@ MONSL_MONINFO MonitorInfo; } MONSL_MONNMHDR, *PMONSL_MONNMHDR; +typedef struct _MONSL_MONNMBUTTONCLICKED +{ + /* Used with MSLN_MONITORCHANGING */ + MONSL_MONNMHDR hdr; + POINT pt; +} MONSL_MONNMBUTTONCLICKED, *PMONSL_MONNMBUTTONCLICKED; + typedef struct _MONSL_MONNMMONITORCHANGING { /* Used with MSLN_MONITORCHANGING */ @@ -52,7 +62,19 @@ * * lParam: PMONSL_MONNMHDR */ -#define MSLN_MONITORCHANGED 101 +#define MSLN_MONITORCHANGED 102 + +/* + * MSLN_RBUTTONUP + * This notification code is sent through WM_NOTIFY after the user did a + * right click on the control. If the control's extended style + * MSLM_EX_SELECTONRIGHTCLICK is set and the user clicked on a monitor, + * that monitor is selected and relevant notifications are sent before + * this notification is sent. + * + * lParam: PMONSL_MONNMBUTTONCLICKED + */ +#define MSLN_RBUTTONUP 103 /* * MSLM_SETMONITORSINFO @@ -146,7 +168,15 @@ * Allow deselecting a monitor by clicking into * unused areas of the control. * * MSLM_EX_ALLOWSELECTDISABLED - * Allow selecting disabled monitors + * Allow selecting disabled monitors. + * * MSLM_EX_HIDENUMBERONSINGLE + * Hides the monitor number if the control only + * displays one monitor. + * * MSLM_EX_HIDENUMBERS + * Does not show monitor numbers. + * * MSLM_EX_SELECTONRIGHTCLICK + * Selects a monitor when the user right clicks + * on it. * * Returns non-zero value if successful. */ @@ -160,6 +190,20 @@ * Returns the control's extended style flags. */ #define MSLM_GETEXSTYLE (WM_USER + 0x19) + +/* + * MSLM_GETMONITORRECT + * wParam: INT + * Index of the monitor whose display rectangle is queried. + * lParam: PRECT + * Pointer to a RECT structure that receives the rectangle + * in coordinates relative to the control's client area. + * + * Returns a positive value if the rectangle is visible. + * Returns zero if the rectangle is invisible. + * Returns a negative value if the index is not valid. + */ +#define MSLM_GETMONITORRECT (WM_USER + 0x20) BOOL RegisterMonitorSelectionControl(IN HINSTANCE hInstance); VOID UnregisterMonitorSelectionControl(IN HINSTANCE hInstance); Modified: trunk/reactos/dll/cpl/desk/resource.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/desk/resource.h?re…
============================================================================== --- trunk/reactos/dll/cpl/desk/resource.h (original) +++ trunk/reactos/dll/cpl/desk/resource.h Fri Oct 12 00:23:26 2007 @@ -70,6 +70,12 @@ #define ID_MENU_NORMAL 2101 #define ID_MENU_DISABLED 2102 #define ID_MENU_SELECTED 2103 + +#define IDM_MONITOR_MENU 2110 +#define ID_MENU_ATTACHED 2111 +#define ID_MENU_PRIMARY 2112 +#define ID_MENU_IDENTIFY 2113 +#define ID_MENU_PROPERTIES 2114 /* Settings Page */ Modified: trunk/reactos/dll/cpl/desk/settings.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/desk/settings.c?re…
============================================================================== --- trunk/reactos/dll/cpl/desk/settings.c (original) +++ trunk/reactos/dll/cpl/desk/settings.c Fri Oct 12 00:23:26 2007 @@ -644,6 +644,106 @@ break; } + case WM_CONTEXTMENU: + { + HWND hwndMonSel; + HMENU hPopup; + UINT uiCmd; + POINT pt, ptClient; + INT Index; + + pt.x = (SHORT)LOWORD(lParam); + pt.y = (SHORT)HIWORD(lParam); + + hwndMonSel = GetDlgItem(hwndDlg, + IDC_SETTINGS_MONSEL); + if ((HWND)wParam == hwndMonSel) + { + if (pt.x == -1 && pt.y == -1) + { + RECT rcMon; + + Index = (INT)SendMessage(hwndMonSel, + MSLM_GETCURSEL, + 0, + 0); + + if (Index >= 0 && + (INT)SendMessage(hwndMonSel, + MSLM_GETMONITORRECT, + Index, + (LPARAM)&rcMon) > 0) + { + pt.x = rcMon.left + ((rcMon.right - rcMon.left) / 2); + pt.y = rcMon.top + ((rcMon.bottom - rcMon.top) / 2); + } + else + pt.x = pt.y = 0; + + MapWindowPoints(hwndMonSel, + NULL, + &pt, + 1); + } + else + { + ptClient = pt; + MapWindowPoints(NULL, + hwndMonSel, + &ptClient, + 1); + + Index = (INT)SendMessage(hwndMonSel, + MSLM_HITTEST, + (WPARAM)&ptClient, + 0); + } + + if (Index >= 0) + { + hPopup = LoadPopupMenu(hApplet, + MAKEINTRESOURCE(IDM_MONITOR_MENU)); + if (hPopup != NULL) + { + /* FIXME: Enable/Disable menu items */ + EnableMenuItem(hPopup, + ID_MENU_ATTACHED, + MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); + EnableMenuItem(hPopup, + ID_MENU_PRIMARY, + MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); + EnableMenuItem(hPopup, + ID_MENU_IDENTIFY, + MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); + EnableMenuItem(hPopup, + ID_MENU_PROPERTIES, + MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); + + uiCmd = (UINT)TrackPopupMenu(hPopup, + TPM_RETURNCMD | TPM_RIGHTBUTTON, + pt.x, + pt.y, + 0, + hwndDlg, + NULL); + + switch (uiCmd) + { + case ID_MENU_ATTACHED: + case ID_MENU_PRIMARY: + case ID_MENU_IDENTIFY: + case ID_MENU_PROPERTIES: + /* FIXME: Implement */ + break; + } + + DestroyMenu(hPopup); + } + } + } + break; + } + case WM_DESTROY: { PDISPLAY_DEVICE_ENTRY Current = pGlobalData->DisplayDeviceList;
17 years, 2 months
1
0
0
0
[cfinck] 29516: Updated Ukrainian translation by Artem Reznikov (temarez AT yandex DOT ru) See issue #2731 for more details.
by cfinck@svn.reactos.org
Author: cfinck Date: Fri Oct 12 00:02:58 2007 New Revision: 29516 URL:
http://svn.reactos.org/svn/reactos?rev=29516&view=rev
Log: Updated Ukrainian translation by Artem Reznikov (temarez AT yandex DOT ru) See issue #2731 for more details. Modified: trunk/reactos/dll/cpl/input/lang/uk-UA.rc Modified: trunk/reactos/dll/cpl/input/lang/uk-UA.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/input/lang/uk-UA.r…
============================================================================== --- trunk/reactos/dll/cpl/input/lang/uk-UA.rc (original) +++ trunk/reactos/dll/cpl/input/lang/uk-UA.rc Fri Oct 12 00:02:58 2007 @@ -120,128 +120,128 @@ IDD_ADD2 DIALOG 20, 20, 257, 176 STYLE DS_SETFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_3DLOOK | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION -CAPTION "Add Input Language" -FONT 8, "MS Shell Dlg" -{ - LTEXT "&Input language:", -1, 7, 7, 61, 10 +CAPTION "Äîäàâàííÿ ìîâè ââîäó" +FONT 8, "MS Shell Dlg" +{ + LTEXT "&Ìîâà ââîäó:", -1, 7, 7, 61, 10 COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 105, 60, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL - AUTOCHECKBOX "&Keyboard layout/IME:", IDC_KEYBOARD_LO_CHECKBOX, 37, 36, 110, 10 + AUTOCHECKBOX "&Ðîçêëàäêà êëàâ³àòóðè àáî çàñ³á ââîäó (IME):", IDC_KEYBOARD_LO_CHECKBOX, 37, 36, 110, 10 COMBOBOX IDC_KEYBOARD_LO_COMBO, 49, 47, 200, 60, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL - AUTOCHECKBOX "&Handwriting recognition:", IDC_HANDWRITING_REC_CHECKBOX, 37, 65, 110, 10 + AUTOCHECKBOX "Ðîçï³çí&àâàííÿ ðóêîïèñíîãî òåêñòó:", IDC_HANDWRITING_REC_CHECKBOX, 37, 65, 110, 10 COMBOBOX IDC_HANDWRITING_REC_COMBO, 49, 76, 200, 60, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL - AUTOCHECKBOX "&Speech:", IDC_SPEECH_CHECKBOX, 37, 94, 110, 10 + AUTOCHECKBOX "Ìîâë&åííÿ:", IDC_SPEECH_CHECKBOX, 37, 94, 110, 10 COMBOBOX IDC_SPEECH_COMBO, 49, 105, 200, 60, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL - AUTOCHECKBOX "&More Text Services:", IDC_MORE_TEXT_SERV_CHECKBOX, 37, 123, 110, 10 + AUTOCHECKBOX "&²íø³ òåêñòîâ³ ñëóæáè:", IDC_MORE_TEXT_SERV_CHECKBOX, 37, 123, 110, 10 COMBOBOX IDC_MORE_TEXT_SERV_COMBO, 49, 134, 200, 60, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL DEFPUSHBUTTON "OK", IDOK, 146, 155, 50, 14 - PUSHBUTTON "Cancel", IDCANCEL, 199, 155, 50, 14 + PUSHBUTTON "Ñêàñóâàòè", IDCANCEL, 199, 155, 50, 14 } IDD_ADD3 DIALOG 20, 20, 257, 147 STYLE DS_SETFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_3DLOOK | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION -CAPTION "Add Input Language" -FONT 8, "MS Shell Dlg" -{ - LTEXT "&Input language:", -1, 7, 7, 61, 10 +CAPTION "Äîäàâàííÿ ìîâè ââîäó" +FONT 8, "MS Shell Dlg" +{ + LTEXT "&Ìîâà ââîäó:", -1, 7, 7, 61, 10 COMBOBOX IDC_INPUT_LANG_COMBO, 7, 17, 105, 60, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL - AUTOCHECKBOX "&Keyboard layout/IME:", IDC_KEYBOARD_LO_CHECKBOX, 37, 36, 110, 10 + AUTOCHECKBOX "&Ðîçêëàäêà êëàâ³àòóðè àáî çàñ³á ââîäó (IME):", IDC_KEYBOARD_LO_CHECKBOX, 37, 36, 110, 10 COMBOBOX IDC_KEYBOARD_LO_COMBO, 49, 47, 200, 60, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL - AUTOCHECKBOX "&Handwriting recognition:", IDC_HANDWRITING_REC_CHECKBOX, 37, 65, 110, 10 + AUTOCHECKBOX "Ðîçï³çí&àâàííÿ ðóêîïèñíîãî òåêñòó:", IDC_HANDWRITING_REC_CHECKBOX, 37, 65, 110, 10 COMBOBOX IDC_HANDWRITING_REC_COMBO, 49, 76, 200, 60, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL - AUTOCHECKBOX "&Speech:", IDC_SPEECH_CHECKBOX, 37, 94, 110, 10 + AUTOCHECKBOX "Ìîâë&åííÿ:", IDC_SPEECH_CHECKBOX, 37, 94, 110, 10 COMBOBOX IDC_SPEECH_COMBO, 49, 105, 200, 60, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL DEFPUSHBUTTON "OK", IDOK, 146, 126, 50, 14 - PUSHBUTTON "Cancel", IDCANCEL, 199, 126, 50, 14 + PUSHBUTTON "Ñêàñóâàòè", IDCANCEL, 199, 126, 50, 14 } IDD_CHANGE_KEY_SEQ DIALOG 5, 100, 285, 74 STYLE DS_SETFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_3DLOOK | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION -CAPTION "Change Key Sequence" +CAPTION "Çì³íà ñïîëó÷åííÿ êëàâ³ø" FONT 8, "MS Shell Dlg" { GROUPBOX "", -1, 9, 5, 209, 60 - AUTOCHECKBOX "&Switch input languages", IDC_SWITCH_INPUT_LANG_CHECKBOX, 15, 15, 90, 12 + AUTOCHECKBOX "&Ïåðåêëþ÷àòè ìîâè ââîäó", IDC_SWITCH_INPUT_LANG_CHECKBOX, 15, 15, 90, 12 LTEXT "SHIFT", -1, 73, 37, 27, 12 CTEXT "+", -1, 62, 37, 8, 9 AUTORADIOBUTTON "&CTRL", IDC_INLANG_CTRL_RADIOBTN, 29, 31, 30, 11, WS_GROUP - AUTORADIOBUTTON "Left &ALT", IDC_INLANG_LEFTALT_RADIOBTN, 29, 45, 40, 12, NOT WS_TABSTOP - AUTOCHECKBOX "S&witch keyboard layouts", IDC_SWITCH_KEYBOARD_LO_CHECKBOX, 121, 15, 90, 12 + AUTORADIOBUTTON "ALT ç&ë³âà", IDC_INLANG_LEFTALT_RADIOBTN, 29, 45, 40, 12, NOT WS_TABSTOP + AUTOCHECKBOX "Ïåðå&êëþ÷àòè ðîçêëàäêè êëàâ³àòóðè", IDC_SWITCH_KEYBOARD_LO_CHECKBOX, 121, 15, 90, 12 LTEXT "SHIFT", -1, 179, 37, 27, 12 CTEXT "+", -1, 168, 37, 8, 9 AUTORADIOBUTTON "C&TRL", IDC_LAYOUT_CTRL_RADIOBTN, 135, 31, 30, 11, WS_GROUP - AUTORADIOBUTTON "Left A<", IDC_LAYOUT_LEFTALT_RADIOBTN, 135, 45, 40, 12, NOT WS_TABSTOP + AUTORADIOBUTTON "ALT &çë³âà", IDC_LAYOUT_LEFTALT_RADIOBTN, 135, 45, 40, 12, NOT WS_TABSTOP DEFPUSHBUTTON "OK", IDOK, 227, 18, 50, 14 - PUSHBUTTON "Cancel", IDCANCEL, 227, 44, 50, 14 + PUSHBUTTON "Ñêàñóâàòè", IDCANCEL, 227, 44, 50, 14 } IDD_CHANGE_KEY_SEQ3 DIALOG 5, 100, 249, 125 STYLE DS_SETFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_3DLOOK | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION -CAPTION "Change Key Sequence" +CAPTION "Çì³íà ñïîëó÷åííÿ êëàâ³ø" FONT 8, "MS Shell Dlg" { GROUPBOX "", -1, 9, 5, 174, 110 - AUTOCHECKBOX "&Switch input languages", IDC_SWITCH_INPUT_LANG_CHECKBOX, 15, 15, 90, 12 + AUTOCHECKBOX "&Ïåðåêëþ÷àòè ìîâè ââîäó", IDC_SWITCH_INPUT_LANG_CHECKBOX, 15, 15, 90, 12 LTEXT "SHIFT", -1, 73, 37, 27, 12 CTEXT "+", -1, 62, 37, 8, 9 AUTORADIOBUTTON "&CTRL", IDC_INLANG_CTRL_RADIOBTN, 29, 31, 30, 11, WS_GROUP - AUTORADIOBUTTON "Left &ALT", IDC_INLANG_LEFTALT_RADIOBTN, 29, 45, 40, 12, NOT WS_TABSTOP - AUTOCHECKBOX "S&witch keyboard layouts", IDC_SWITCH_KEYBOARD_LO_CHECKBOX, 15, 65, 90, 12 + AUTORADIOBUTTON "ALT ç&ë³âà", IDC_INLANG_LEFTALT_RADIOBTN, 29, 45, 40, 12, NOT WS_TABSTOP + AUTOCHECKBOX "Ïåðå&êëþ÷àòè ðîçêëàäêè êëàâ³àòóðè", IDC_SWITCH_KEYBOARD_LO_CHECKBOX, 15, 65, 90, 12 LTEXT "SHIFT", -1, 73, 87, 27, 12 CTEXT "+", -1, 62, 87, 8, 9 CONTROL "", IDC_CKS_BUTTON, "BUTTON", BS_OWNERDRAW, 96, 77, 13, 33 - AUTORADIOBUTTON "&Grave Accent ( ` )", IDC_GRAVE_ACCENT_RADIOBTN, 110, 87, 69, 10, WS_GROUP + AUTORADIOBUTTON "&Òóïèé íàãîëîñ ( ` )", IDC_GRAVE_ACCENT_RADIOBTN, 110, 87, 69, 10, WS_GROUP AUTORADIOBUTTON "C&TRL", IDC_LAYOUT_CTRL_RADIOBTN, 29, 81, 30, 11, NOT WS_TABSTOP - AUTORADIOBUTTON "Left A<", IDC_LAYOUT_LEFTALT_RADIOBTN, 29, 95, 40, 12, NOT WS_TABSTOP + AUTORADIOBUTTON "ALT &çë³âà", IDC_LAYOUT_LEFTALT_RADIOBTN, 29, 95, 40, 12, NOT WS_TABSTOP DEFPUSHBUTTON "OK", IDOK, 192, 25, 50, 14 - PUSHBUTTON "Cancel", IDCANCEL, 192, 47, 50, 14 + PUSHBUTTON "Ñêàñóâàòè", IDCANCEL, 192, 47, 50, 14 } IDD_CHANGE_KEY_SEQ4 DIALOG 5, 100, 249, 125 STYLE DS_SETFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_3DLOOK | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION -CAPTION "Change Key Sequence" +CAPTION "Çì³íà ñïîëó÷åííÿ êëàâ³ø" FONT 8, "MS Shell Dlg" { GROUPBOX "", -1, 9, 5, 174, 110 - AUTOCHECKBOX "&Switch input languages", IDC_SWITCH_INPUT_LANG_CHECKBOX, 15, 15, 90, 12 + AUTOCHECKBOX "&Ïåðåêëþ÷àòè ìîâè ââîäó", IDC_SWITCH_INPUT_LANG_CHECKBOX, 15, 15, 90, 12 LTEXT "SHIFT", -1, 73, 37, 27, 12 CTEXT "+", -1, 62, 37, 8, 9 CONTROL "", IDC_CKS_BUTTON, "BUTTON", BS_OWNERDRAW, 96, 27, 13, 33 - AUTORADIOBUTTON "&Grave Accent ( ` )", IDC_GRAVE_ACCENT_RADIOBTN, 110, 37, 69, 10, WS_GROUP + AUTORADIOBUTTON "&Òóïèé íàãîëîñ ( ` )", IDC_GRAVE_ACCENT_RADIOBTN, 110, 37, 69, 10, WS_GROUP AUTORADIOBUTTON "&CTRL", IDC_INLANG_CTRL_RADIOBTN, 29, 31, 30, 11, NOT WS_TABSTOP - AUTORADIOBUTTON "Left &ALT", IDC_INLANG_LEFTALT_RADIOBTN, 29, 45, 40, 12, NOT WS_TABSTOP - AUTOCHECKBOX "S&witch keyboard layouts", IDC_SWITCH_KEYBOARD_LO_CHECKBOX, 15, 65, 90, 12 + AUTORADIOBUTTON "ALT ç&ë³âà", IDC_INLANG_LEFTALT_RADIOBTN, 29, 45, 40, 12, NOT WS_TABSTOP + AUTOCHECKBOX "Ïåðå&êëþ÷àòè ðîçêëàäêè êëàâ³àòóðè", IDC_SWITCH_KEYBOARD_LO_CHECKBOX, 15, 65, 90, 12 LTEXT "SHIFT", -1, 73, 87, 27, 12 CTEXT "+", -1, 62, 87, 8, 9 AUTORADIOBUTTON "C&TRL", IDC_LAYOUT_CTRL_RADIOBTN, 29, 81, 30, 11, WS_GROUP - AUTORADIOBUTTON "Left A<", IDC_LAYOUT_LEFTALT_RADIOBTN, 29, 95, 40, 12, NOT WS_TABSTOP + AUTORADIOBUTTON "ALT &çë³âà", IDC_LAYOUT_LEFTALT_RADIOBTN, 29, 95, 40, 12, NOT WS_TABSTOP DEFPUSHBUTTON "OK", IDOK, 192, 25, 50, 14 - PUSHBUTTON "Cancel", IDCANCEL, 192, 47, 50, 14 + PUSHBUTTON "Ñêàñóâàòè", IDCANCEL, 192, 47, 50, 14 } IDD_CHANGE_KEY_SEQ5 DIALOG 5, 100, 269, 78 STYLE DS_SETFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_3DLOOK | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION -CAPTION "Change Key Sequence" +CAPTION "Çì³íà ñïîëó÷åííÿ êëàâ³ø" FONT 8, "MS Shell Dlg" { LTEXT "", 1240, 16, 5, 250, 10 GROUPBOX "", -1, 12, 17, 184, 48 - AUTOCHECKBOX "&Enable Key Sequence", 1249, 17, 17, 85, 8 + AUTOCHECKBOX "&Âèêîðèñòîâóâàòè ñïîëó÷åííÿ êëàâ³ø", 1249, 17, 17, 85, 8 CTEXT "SHIFT", -1, 68, 37, 27, 12 CTEXT "+", -1, 57, 37, 8, 9 CTEXT "+", -1, 98, 37, 8, 10 AUTORADIOBUTTON "&CTRL", -1, 24, 31, 30, 11, WS_GROUP - AUTORADIOBUTTON "Left &ALT", -1, 24, 45, 40, 12, NOT WS_TABSTOP - LTEXT "&Key:", -1, 110, 37, 14, 10 + AUTORADIOBUTTON "ALT ç&ë³âà", -1, 24, 45, 40, 12, NOT WS_TABSTOP + LTEXT "&Êëàâ³øà:", -1, 110, 37, 14, 10 COMBOBOX 1236, 127, 34, 46, 48, CBS_DROPDOWNLIST | WS_VSCROLL DEFPUSHBUTTON "OK", IDOK, 212, 25, 50, 14 - PUSHBUTTON "Cancel", IDCANCEL, 212, 47, 50, 14 + PUSHBUTTON "Ñêàñóâàòè", IDCANCEL, 212, 47, 50, 14 } STRINGTABLE BEGIN - //Selected language on "Add Input language" + //Selected language on "Add Input language" ("Äîäàâàííÿ ìîâè ââîäó") IDS_SELECTED_LANGUAGE "English (United States)" - //Selected keyboard layout on "Add Input language" + //Selected keyboard layout on "Add Input language" ("Äîäàâàííÿ ìîâè ââîäó") IDS_SELECTED_LAYOUT, "United States-Dvorak" IDS_CPLSYSTEMNAME "Ìîâè òà ñëóæáè òåêñòîâîãî ââîäó" IDS_CPLSYSTEMDESCRIPTION "Íàëàøòîâóº ïàðàìåòðè äëÿ òåêñòîâîãî ââîäó."
17 years, 2 months
1
0
0
0
[cfinck] 29515: Replace the hard-coded menu in the Wiki skin by readfile() statements, which include autogenerated menu files of RosCMS (getbuilds does it the same)
by cfinck@svn.reactos.org
Author: cfinck Date: Thu Oct 11 23:55:03 2007 New Revision: 29515 URL:
http://svn.reactos.org/svn/reactos?rev=29515&view=rev
Log: Replace the hard-coded menu in the Wiki skin by readfile() statements, which include autogenerated menu files of RosCMS (getbuilds does it the same) Modified:
trunk/web/reactos.org/htdocs/wiki/skins/RosCMS.php
Modified:
trunk/web/reactos.org/htdocs/wiki/skins/RosCMS.php
URL:
http://svn.reactos.org/svn/reactos/trunk/web/reactos.org/htdocs/wiki/skins/…
============================================================================== ---
trunk/web/reactos.org/htdocs/wiki/skins/RosCMS.php
(original) +++
trunk/web/reactos.org/htdocs/wiki/skins/RosCMS.php
Thu Oct 11 23:55:03 2007 @@ -95,35 +95,11 @@ <body <?php if($this->data['body_ondblclick']) { echo "ondblclick=\"". $this->text('body_ondblclick') ."\""; } ?> <?php if($this->data['body_onload']) { echo "onload=\"". $this->text('body_onload') ."\""; } ?> class="mediawiki <?php $this->text('nsclass') ?> <?php $this->text('dir') ?> <?php $this->text('pageclass') ?>"> - -<div id="top"> - <div id="topMenu"> - <!-- - Use <p> to align things for links/lynx, then in the css make it - margin: 0; and use text-align: left/right/etc;. - --> - <p align="center"> - <a href="/?page=index">Home</a> <font color="#ffffff">|</font> - <a href="/?page=about">Info</a> <font color="#ffffff">|</font> - <a href="/?page=community">Community</a> <font color="#ffffff">|</font> - <a href="/?page=dev">Development</a> <font color="#ffffff">|</font> - <a href="/roscms/?page=user">myReactOS</a> - </p> - </div> -</div> - -<table border="0" width="100%" cellpadding="0" cellspacing="0"> - <tr valign="top"> - <td width="147" id="leftNav"> - <div class="navTitle">Navigation</div> - <ol> - <li><a href="/?page=index">Home</a></li> - <li><a href="/?page=about">Info</a></li> - <li><a href="/?page=community">Community</a></li> - <li><a href="/?page=dev">Development</a></li> - <li><a href="/roscms/?page=user">myReactOS</a></li> - </ol> - <p></p> + +<?php + readfile("
http://www.reactos.org/en/subsys_extern_menu_top.html
"); + readfile("
http://www.reactos.org/en/subsys_extern_menu_left.html
"); +?> <div class="navTitle">Wiki</div> <ol>
17 years, 2 months
1
0
0
0
[janderwald] 29514: - update shell32_ros.diff
by janderwald@svn.reactos.org
Author: janderwald Date: Thu Oct 11 23:43:22 2007 New Revision: 29514 URL:
http://svn.reactos.org/svn/reactos?rev=29514&view=rev
Log: - update shell32_ros.diff Modified: trunk/reactos/dll/win32/shell32/shell32_ros.diff Modified: trunk/reactos/dll/win32/shell32/shell32_ros.diff URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shell32_…
============================================================================== --- trunk/reactos/dll/win32/shell32/shell32_ros.diff (original) +++ trunk/reactos/dll/win32/shell32/shell32_ros.diff Thu Oct 11 23:43:22 2007 @@ -1,77 +1,1538 @@ -Index: shell32_main.c -=================================================================== ---- shell32_main.c (revision 26448) -+++ shell32_main.c (working copy) -@@ -509,23 +509,59 @@ - /* get the iconlocation */ - if (SUCCEEDED(hr) && (flags & SHGFI_ICONLOCATION )) - { -- UINT uDummy,uFlags; -+ if (!(flags & SHGFI_USEFILEATTRIBUTES)) -+ { -+ UINT uDummy,uFlags; - -- hr = IShellFolder_GetUIObjectOf(psfParent, 0, 1, -- (LPCITEMIDLIST*)&pidlLast, &IID_IExtractIconA, -- &uDummy, (LPVOID*)&pei); -- if (SUCCEEDED(hr)) -+ hr = IShellFolder_GetUIObjectOf(psfParent, 0, 1, -+ (LPCITEMIDLIST*)&pidlLast, &IID_IExtractIconA, -+ &uDummy, (LPVOID*)&pei); -+ if (SUCCEEDED(hr)) -+ { -+ hr = IExtractIconW_GetIconLocation(pei, uGilFlags, -+ szLocation, MAX_PATH, &iIndex, &uFlags); -+ psfi->iIcon = iIndex; -+ -+ if (!(uFlags & GIL_NOTFILENAME)) -+ lstrcpyW (psfi->szDisplayName, szLocation); -+ else -+ ret = FALSE; -+ -+ IExtractIconA_Release(pei); -+ } -+ } -+ else - { -- hr = IExtractIconW_GetIconLocation(pei, uGilFlags, -- szLocation, MAX_PATH, &iIndex, &uFlags); -- psfi->iIcon = iIndex; -- -- if (!(uFlags & GIL_NOTFILENAME)) -- lstrcpyW (psfi->szDisplayName, szLocation); -+ if (dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) -+ { -+ strcpyW(psfi->szDisplayName, swShell32Name); -+ psfi->iIcon = SIC_GetIconIndex(swShell32Name, -IDI_SHELL_FOLDER, 0); -+ } - else -- ret = FALSE; -+ { -+ WCHAR sTemp [MAX_PATH]; -+ WCHAR * szExt; -+ DWORD dwNr=0; -+ static const WCHAR p1W[] = {'%','1',0}; - -- IExtractIconA_Release(pei); -+ lstrcpynW(sTemp, szFullPath, MAX_PATH); -+ -+ psfi->iIcon = 0; -+ szExt = (LPWSTR) PathFindExtensionW(sTemp); -+ if ( szExt && -+ HCR_MapTypeToValueW(szExt, sTemp, MAX_PATH, TRUE) && -+ HCR_GetDefaultIconW(sTemp, sTemp, MAX_PATH, &dwNr)) -+ { -+ if (!lstrcmpW(p1W,sTemp)) /* icon is in the file */ -+ strcpyW(psfi->szDisplayName, szFullPath); -+ else -+ strcpyW(psfi->szDisplayName, sTemp); -+ -+ psfi->iIcon = SIC_GetIconIndex(psfi->szDisplayName, dwNr, 0); -+ if (psfi->iIcon == -1) -+ psfi->iIcon = 0; -+ } -+ } - } - } - +Index: autocomplete.c +=================================================================== +--- autocomplete.c (revision 29513) ++++ autocomplete.c (working copy) +@@ -38,7 +38,7 @@ + #include <stdarg.h> + #include <stdlib.h> + #include <string.h> +- ++#include <stdio.h> + #define COBJMACROS + + #include "wine/debug.h" +Index: changenotify.c +=================================================================== +--- changenotify.c (revision 29513) ++++ changenotify.c (working copy) +@@ -178,7 +178,7 @@ + + LeaveCriticalSection(&SHELL32_ChangenotifyCS); + +- DeleteCriticalSection(&SHELL32_ChangenotifyCS); ++ // DeleteCriticalSection(&SHELL32_ChangenotifyCS); // static + } + + /************************************************************************* +Index: control.c +=================================================================== +--- control.c (revision 29513) ++++ control.c (working copy) +@@ -464,6 +464,7 @@ + void WINAPI RunDLL_CallEntry16( DWORD proc, HWND hwnd, HINSTANCE inst, + LPCSTR cmdline, INT cmdshow ) + { ++#if !defined(__CYGWIN__) && !defined (__MINGW32__) && !defined(_MSC_VER) + WORD args[5]; + SEGPTR cmdline_seg; + +@@ -478,6 +479,10 @@ + args[0] = cmdshow; + WOWCallback16Ex( proc, WCB16_PASCAL, sizeof(args), args, NULL ); + UnMapLS( cmdline_seg ); ++#else ++ FIXME( "proc %lx hwnd %p inst %p cmdline %s cmdshow %d\n", ++ proc, hwnd, inst, debugstr_a(cmdline), cmdshow ); ++#endif + } + + /************************************************************************* +Index: iconcache.c +=================================================================== +--- iconcache.c (revision 29513) ++++ iconcache.c (working copy) +@@ -306,9 +306,23 @@ + HICON hiconLargeShortcut; + HICON hiconSmallShortcut; + +- PrivateExtractIconsW( sSourceFile, dwSourceIndex, 32, 32, &hiconLarge, 0, 1, 0 ); +- PrivateExtractIconsW( sSourceFile, dwSourceIndex, 16, 16, &hiconSmall, 0, 1, 0 ); ++#if defined(__CYGWIN__) || defined (__MINGW32__) || defined(_MSC_VER) ++ static UINT (WINAPI*PrivateExtractIconExW)(LPCWSTR,int,HICON*,HICON*,UINT) = NULL; + ++ if (!PrivateExtractIconExW) { ++ HMODULE hUser32 = GetModuleHandleA("user32"); ++ PrivateExtractIconExW = (UINT(WINAPI*)(LPCWSTR,int,HICON*,HICON*,UINT)) GetProcAddress(hUser32, "PrivateExtractIconExW"); ++ } ++ ++ if (PrivateExtractIconExW) ++ PrivateExtractIconExW(sSourceFile, dwSourceIndex, &hiconLarge, &hiconSmall, 1); ++ else ++#endif ++ { ++ PrivateExtractIconsW(sSourceFile, dwSourceIndex, 32, 32, &hiconLarge, NULL, 1, 0); ++ PrivateExtractIconsW(sSourceFile, dwSourceIndex, 16, 16, &hiconSmall, NULL, 1, 0); ++ } ++ + if ( !hiconLarge || !hiconSmall) + { + WARN("failure loading icon %i from %s (%p %p)\n", dwSourceIndex, debugstr_w(sSourceFile), hiconLarge, hiconSmall); +@@ -458,7 +472,7 @@ + ShellBigIconList = 0; + + LeaveCriticalSection(&SHELL32_SicCS); +- DeleteCriticalSection(&SHELL32_SicCS); ++ //DeleteCriticalSection(&SHELL32_SicCS); //static + } + + /***************************************************************************** +@@ -672,6 +686,19 @@ + */ + UINT WINAPI ExtractIconExW(LPCWSTR lpszFile, INT nIconIndex, HICON * phiconLarge, HICON * phiconSmall, UINT nIcons) + { ++ /* get entry point of undocumented function PrivateExtractIconExW() in user32 */ ++#if defined(__CYGWIN__) || defined (__MINGW32__) || defined(_MSC_VER) ++ static UINT (WINAPI*PrivateExtractIconExW)(LPCWSTR,int,HICON*,HICON*,UINT) = NULL; ++ ++ if (!PrivateExtractIconExW) { ++ HMODULE hUser32 = GetModuleHandleA("user32"); ++ PrivateExtractIconExW = (UINT(WINAPI*)(LPCWSTR,int,HICON*,HICON*,UINT)) GetProcAddress(hUser32, "PrivateExtractIconExW"); ++ ++ if (!PrivateExtractIconExW) ++ return 0; ++ } ++#endif ++ + TRACE("%s %i %p %p %i\n", debugstr_w(lpszFile), nIconIndex, phiconLarge, phiconSmall, nIcons); + + return PrivateExtractIconExW(lpszFile, nIconIndex, phiconLarge, phiconSmall, nIcons); +Index: regsvr.c +=================================================================== +--- regsvr.c (revision 29513) ++++ regsvr.c (working copy) +@@ -669,6 +669,7 @@ + static const WCHAR wszRecycleBin[] = { 'T','r','a','s','h', 0 }; + + static struct regsvr_namespace const namespace_extensions_list[] = { ++#if 0 + { + &CLSID_UnixDosFolder, + wszDesktop, +@@ -684,6 +685,7 @@ + wszDesktop, + wszRecycleBin + }, ++#endif + { NULL } + }; + +Index: shell32.spec +=================================================================== +--- shell32.spec (revision 29513) ++++ shell32.spec (working copy) +@@ -247,7 +247,7 @@ + 654 stdcall @(long long) shell32_654 # ReadCabinetState@8 + + 660 stdcall -noname FileIconInit(long) +- 680 stdcall -noname IsUserAdmin() ++ 680 stdcall IsUserAnAdmin() + + 714 stdcall @(ptr) SHELL32_714 # PathIsTemporaryW + 730 stdcall -noname RestartDialogEx(long wstr long long) +@@ -368,7 +368,7 @@ + @ stdcall SHQueryRecycleBinA(str ptr) + @ stdcall SHQueryRecycleBinW(wstr ptr) + @ stdcall SHSetLocalizedName(wstr wstr long) +-@ stdcall SHUpdateRecycleBinIcon() ++@ stub SHUpdateRecycleBinIcon + @ stdcall SheChangeDirA(str) + @ stub SheChangeDirExA + @ stub SheChangeDirExW +Index: shell32_De.rc +=================================================================== +--- shell32_De.rc (revision 29513) ++++ shell32_De.rc (working copy) +@@ -128,7 +128,7 @@ + ICON "", 1088, 10, 10, 14, 16 + LTEXT "", 100, 30, 10, 137, 10 + LTEXT "", 101, 30, 22, 137, 10 +- LTEXT "WINE wurde für Sie gekeltert von:", 98, 8, 55, 137, 10 ++ LTEXT "ReactOS wurde Ihnen zur Verfügung gestellt von:", 98, 8, 55, 170, 10 + } + + SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95 +@@ -137,14 +137,178 @@ + FONT 8, "MS Shell Dlg" + { + ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE +- LTEXT "Geben sie den Namen eines Programmes, eines Ordners, eines Dokumentes oder einer Internet-Ressource ein, die geöffnet werden soll", 12289, 36, 11, 182, 18 +- LTEXT "Ö&ffnen:", 12305, 7, 39, 24, 10 ++ LTEXT "Geben Sie den Namen eines Programms, eines Ordners, eines Dokuments oder einer Internetressource an.", 12289, 36, 11, 182, 18 ++ LTEXT "&Öffnen:", 12305, 7, 39, 24, 10 + CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100 + DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP + PUSHBUTTON "Abbrechen", IDCANCEL, 116, 63, 50, 14, WS_TABSTOP + PUSHBUTTON "&Durchsuchen...", 12288, 170, 63, 50, 14, WS_TABSTOP + } + ++SHELL_GENERAL_SHORTCUT_DLG DIALOGEX 0, 0, 240, 130 ++STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION ++CAPTION "Verknüpfung" ++FONT 8, "MS Shell Dlg", 0, 0, 0x0 ++{ ++ ICON "", 14000, 10, 5, 30, 30, WS_VISIBLE ++ LTEXT "Zeiltyp:", 14004, 10, 30, 50, 10 ++ LTEXT "", 14005, 70, 30, 150, 10 ++ LTEXT "Zielpfad:", 14006, 10, 40, 70, 10 ++ LTEXT "", 14007, 70, 40, 150, 10 ++ LTEXT "Ziel:", 14008, 10, 55, 45, 10 ++ EDITTEXT 14009, 70, 55, 150, 10, ES_LEFT ++ LTEXT "&Starten in:",14010, 10, 65, 45, 10 ++ EDITTEXT 14011, 70, 65, 150, 10, ES_LEFT ++ LTEXT "&Tastenkombination:", 14014, 10, 80, 45, 10 ++ EDITTEXT 14015, 70, 80, 150, 10, ES_LEFT ++ LTEXT "Ausführen:", 14016, 10, 90, 45, 10 ++ EDITTEXT 14017, 70, 90, 150, 10 ++ LTEXT "K&ommentar:", 14018, 10, 100, 45, 10 ++ EDITTEXT 14019, 70, 100, 150, 10, ES_LEFT ++ PUSHBUTTON "&Ziel finden...", 14020, 10, 115, 60, 14, ES_LEFT ++ PUSHBUTTON "I&con wechseln...", 14021, 80, 115, 60, 14, ES_LEFT ++ PUSHBUTTON "Er&weitert...", 14022, 150, 115, 60, 14, ES_LEFT ++} ++ ++SHELL_EXTENDED_SHORTCUT_DLG DIALOGEX 0, 0, 230, 150 ++STYLE DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU ++CAPTION "Erweiterte Einstellungen" ++FONT 8, "MS Shell Dlg", 0, 0, 0x0 ++{ ++LTEXT "Wählen Sie die erweiterten Einstellungen für diese Verknüpfung.", -1, 5, 30, 190, 10 ++ CHECKBOX "Als anderer Benutzer ausführen", 14000, 30, 50, 150, 10 ++ LTEXT "Diese Einstellung ermöglicht es, diese Verknüpfung unter\neinem anderen oder Ihrem eingenen Bentzerkonto auszuführen\nwährend der Computer und Ihre Daten vor unautorisierten\nProgrammaktivitäten geschützt werden können.", -1, 50, 60, 200, 40 ++ CHECKBOX "In getrennten Speicherbereich ausführen", 14001, 30, 100, 90, 10, WS_DISABLED ++ PUSHBUTTON "OK", IDOK, 25, 120, 40, 15, WS_VISIBLE ++ PUSHBUTTON "Abbrechen", IDCANCEL, 120, 120, 50, 15, WS_VISIBLE ++} ++ ++SHELL_FILE_GENERAL_DLG DIALOGEX 0, 0, 240, 130 ++STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION ++CAPTION "Allgemein" ++FONT 8, "MS Shell Dlg", 0, 0, 0x0 ++{ ++ ICON "", 14000, 10, 5, 30, 30, WS_VISIBLE ++ EDITTEXT 14001, 70, 5, 100, 10, ES_LEFT | ES_READONLY ++ LTEXT "Dateityp:", 14004, 10, 30, 50, 10 ++ LTEXT "Datei", 14005, 70, 30, 150, 10 ++ LTEXT "Öffnen mit:", 14006, 10, 40, 50, 10 ++ LTEXT "", 14007, 70, 40, 150, 10 ++ LTEXT "Pfad:", 14008, 10, 55, 45, 10 ++ LTEXT "", 14009, 70, 55, 200, 10 ++ LTEXT "Größe:",14010, 10, 65, 45, 10 ++ LTEXT "", 14011, 70, 65, 150, 10 ++ LTEXT "Erstellt:", 14014, 10, 80, 45, 10 ++ LTEXT "", 14015, 70, 80, 150, 10 ++ LTEXT "Geändert:", 14016, 10, 90, 45, 10 ++ LTEXT "", 14017, 70, 90, 150, 10 ++ LTEXT "Zugegriffen:", 14018, 10, 100, 45, 10 ++ LTEXT "", 14019, 70, 100, 150, 10 ++ LTEXT "Attribute:", 14020, 10, 115, 45, 10 ++ CHECKBOX "&Schreibgeschützt", 14021, 70, 115, 45, 10 ++ CHECKBOX "&Versteckt", 14022, 130, 115, 50, 10 ++ CHECKBOX "&Archiv", 14023, 180, 115, 45, 10 ++} ++ ++SHELL_FILE_VERSION_DLG DIALOGEX 0, 0, 240, 130 ++STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION ++CAPTION "Version" ++FONT 8, "MS Shell Dlg", 0, 0, 0x0 ++{ ++ LTEXT "Dateiversion: ", 14000, 10, 10, 45, 10 ++ LTEXT "", 14001, 70, 10, 150, 10 ++ LTEXT "Beschreibung: ", 14002, 10, 20, 45, 10 ++ LTEXT "", 14003, 70, 20, 150, 10 ++ LTEXT "Copyright: ", 14004, 10, 30, 45, 10 ++ LTEXT "", 14005, 70, 30, 150, 10 ++ GROUPBOX "Weitere Versionsinformationen: ", 14006, 10, 45, 220, 90 ++ LTEXT "Elementname: ", 14007, 20, 55, 50, 10 ++ LTEXT "Wert: ", 14008, 130, 55, 45, 10 ++ LISTBOX 14009,20,65,95,60, LBS_STANDARD | WS_TABSTOP | LBS_NOTIFY ++ EDITTEXT 14010, 130, 65, 95, 60, ES_LEFT|WS_BORDER|WS_VSCROLL|WS_GROUP|ES_MULTILINE|ES_READONLY ++ ++} ++ ++DRIVE_GENERAL_DLG DIALOGEX 0, 0, 240, 230 ++STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION ++CAPTION "Allgemein" ++FONT 8, "MS Shell Dlg", 0, 0, 0x0 ++{ ++ EDITTEXT 14001, 40, 20, 190, 10, ES_LEFT|WS_BORDER|WS_GROUP ++ LTEXT "Typ:", -1, 15, 55, 40, 10 ++ LTEXT "", 14002, 110, 55, 100, 10 ++ ++ ++ LTEXT "Dateisystem:", -1, 15, 70, 100, 10 ++ LTEXT "", 14003, 110, 70, 100, 10 ++ ++ CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 ++ LTEXT "Belegter Speicher:", -1, 25, 90, 120, 10 ++ LTEXT "", 14004, 110, 90, 120, 10 ++ LTEXT "", 14005, 200, 90, 40, 10 ++ ++ CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 ++ LTEXT "Freier Speicher:", -1, 25, 105, 70, 10 ++ LTEXT "", 14006, 110, 105, 120, 10 ++ LTEXT "", 14007, 200, 105, 40, 10 ++ ++ LTEXT "Speicherkapazität:", -1, 25, 125, 80, 10 ++ LTEXT "", 14008, 110, 125, 120, 10 ++ LTEXT "", 14009, 200, 125, 40, 10 ++ ++ CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 ++ ++ LTEXT "Laufwerk %s", 14010, 100, 170, 40, 10 ++ PUSHBUTTON "Bereinigen", 14011, 180, 175, 50, 15, WS_TABSTOP ++ CHECKBOX "Laufwerk komprimieren, um Speicherplatz zu sparen", 14012, 15, 205, 165, 10, WS_DISABLED ++ CHECKBOX "Laufwerk für schnelle Dateisuche indizieren", 14012, 15, 220, 165, 10, WS_DISABLED ++} ++ ++DRIVE_EXTRA_DLG DIALOGEX 0, 0, 240, 230 ++STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION ++CAPTION "Extras" ++FONT 8, "MS Shell Dlg", 0, 0, 0x0 ++{ ++ GROUPBOX "Fehlerüberprüfung", -1, 5, 5, 230, 60 ++ LTEXT "Bei Wahl dieser Option wird das Volume\nauf Fehler überprüft.", -1, 40, 25, 160, 20 ++ PUSHBUTTON "Jetzt &prüfen", 14000, 130, 45, 90, 15, WS_TABSTOP ++ GROUPBOX "Defragmentierung", -1, 5, 65, 230, 60 ++ LTEXT "Bei Wahl dieser Option werden die Dateien auf\ndem Volume defragmentiert.", -1, 40, 85, 160, 20 ++ PUSHBUTTON "Jetzt &defragmentieren", 14001, 130, 105, 90, 15, WS_TABSTOP ++ GROUPBOX "Sicherung", -1, 5, 130, 230, 60 ++ LTEXT "Bei Wahl dieser Option werden die auf dem\nVolume gespeicherten Dateien gesichert.", -1, 40, 150, 160, 20 ++ PUSHBUTTON "Jetzt &sichern", 14002, 130, 170, 90, 15, WS_TABSTOP ++} ++ ++DRIVE_HARDWARE_DLG DIALOGEX 0, 0, 240, 230 ++STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION ++CAPTION "Hardware" ++FONT 8, "MS Shell Dlg", 0, 0, 0x0 ++{ ++} ++ ++RUN_AS_DIALOG DIALOGEX 0, 0, 240, 190 ++STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION ++CAPTION "Ausführen als" ++FONT 8, "MS Shell Dlg", 0, 0, 0x0 ++{ ++ LTEXT "Which user account do you want to use to run this program?", -1, 30, 30, 170, 10 ++ CHECKBOX "Aktueller Benutzer %s", 14000, 5, 45, 150, 10 ++ LTEXT "Computer vor unauthorisierten Programmaktiviäten schützen", -1, 40, 65, 150, 10, WS_DISABLED ++ CHECKBOX "Diese Einstellung kann Computerviren daran hindern, ihrem\nComputer und/oder Ihren persönlichen Daten zu schaden, aber\nes kann auch Programme daran hindern, Ordnungsgemäß zu arbeiten.", 14001, 40, 80, 150, 10, WS_DISABLED ++ CHECKBOX "Folgender Benutzer:", 14002, 5, 100, 90, 10 ++ LTEXT "Benutzername:", -1, 15, 115, 60, 10 ++ COMBOBOX 14003, 70, 115, 100, 15, CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP ++ ++ PUSHBUTTON "...", 14004, 180, 115, 30, 10, WS_TABSTOP ++ LTEXT "Passwort:", -1, 15, 140, 60, 10 ++ EDITTEXT 14005, 70, 140, 100, 10, ES_LEFT | WS_BORDER | WS_GROUP ++ PUSHBUTTON "...", 14006, 180, 140, 30, 10, WS_TABSTOP ++ PUSHBUTTON "OK", 14007, 70, 170, 60, 15, WS_TABSTOP ++ PUSHBUTTON "Abbrechen", 14008, 140, 170, 60, 15, WS_TABSTOP ++} ++ ++ + STRINGTABLE DISCARDABLE + { + /* columns in the shellview */ +@@ -194,10 +358,10 @@ + "the folder?" + + /* message box strings */ +- IDS_RESTART_TITLE "Neustarten" +- IDS_RESTART_PROMPT "Möchten Sie, dass ein simulierter Windows Neustart durchgeführt wird ?" +- IDS_SHUTDOWN_TITLE "Anhalten" +- IDS_SHUTDOWN_PROMPT "Möchten Sie die aktuelle Wine Sitzung beenden ?" ++ IDS_RESTART_TITLE "Neu starten" ++ IDS_RESTART_PROMPT "Möchten Sie das System neu starten?" ++ IDS_SHUTDOWN_TITLE "Herunterfahren" ++ IDS_SHUTDOWN_PROMPT "Möchten Sie das System herunterfahren?" + + /* shell folder path default values */ + IDS_PROGRAMS "Startmenü\\Programme" +@@ -227,4 +391,7 @@ + IDS_COMMON_PICTURES "Dokumente\\Eigene Bilder" + IDS_COMMON_VIDEO "Dokumente\\Eigene Videos" + IDS_CDBURN_AREA "Lokale Einstellungen\\Anwendungsdaten\\Microsoft\\CD Burning" ++ IDS_DRIVE_FIXED "Lokaler Datenträger" ++ IDS_DRIVE_CDROM "CD-Laufwerk" ++ IDS_DRIVE_NETWORK "Netzwerklaufwerk" + } +Index: shell32_En.rc +=================================================================== +--- shell32_En.rc (revision 29513) ++++ shell32_En.rc (working copy) +@@ -16,7 +16,7 @@ + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +-LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT ++LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + + MENU_001 MENU DISCARDABLE + BEGIN +@@ -145,7 +145,7 @@ + ICON "", 1088, 10, 10, 14, 16 + LTEXT "", 100, 30, 10, 137, 10 + LTEXT "", 101, 30, 22, 137, 10 +- LTEXT "Wine was brought to you by:", 98, 8, 55, 137, 10 ++ LTEXT "ReactOS was brought to you by:", 98, 8, 55, 137, 10 + } + + SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95 +@@ -154,7 +154,7 @@ + FONT 8, "MS Shell Dlg" + { + ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE +- LTEXT "Type the name of a program, folder, document, or Internet resource, and Wine will open it for you.", 12289, 36, 11, 182, 18 ++ LTEXT "Type the name of a program, folder, document, or Internet resource, and ReactOS will open it for you.", 12289, 36, 11, 182, 18 + LTEXT "&Open:", 12305, 7, 39, 24, 10 + CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100 + DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP +@@ -162,6 +162,172 @@ + PUSHBUTTON "&Browse...", 12288, 170, 63, 50, 14, WS_TABSTOP + } + ++SHELL_GENERAL_SHORTCUT_DLG DIALOGEX 0, 0, 240, 130 ++STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION ++CAPTION "Shortcut" ++FONT 8, "MS Shell Dlg", 0, 0, 0x0 ++{ ++ ICON "", 14000, 10, 5, 30, 30, WS_VISIBLE ++ LTEXT "Target type:", 14004, 10, 30, 50, 10 ++ LTEXT "", 14005, 70, 30, 150, 10 ++ LTEXT "Target location:", 14006, 10, 40, 70, 10 ++ LTEXT "", 14007, 70, 40, 150, 10 ++ LTEXT "Target:", 14008, 10, 55, 45, 10 ++ EDITTEXT 14009, 70, 55, 150, 10, ES_LEFT ++ LTEXT "&Start in:",14010, 10, 65, 45, 10 ++ EDITTEXT 14011, 70, 65, 150, 10, ES_LEFT ++ LTEXT "Shortcut &key:", 14014, 10, 80, 45, 10 ++ EDITTEXT 14015, 70, 80, 150, 10, ES_LEFT ++ LTEXT "Run:", 14016, 10, 90, 45, 10 ++ EDITTEXT 14017, 70, 90, 150, 10 ++ LTEXT "C&omment:", 14018, 10, 100, 45, 10 ++ EDITTEXT 14019, 70, 100, 150, 10, ES_LEFT ++ PUSHBUTTON "&Find Target...", 14020, 10, 115, 60, 14, ES_LEFT ++ PUSHBUTTON "&Change Icon...", 14021, 80, 115, 60, 14, ES_LEFT ++ PUSHBUTTON "A&dvanced...", 14022, 150, 115, 60, 14, ES_LEFT ++} ++ ++SHELL_EXTENDED_SHORTCUT_DLG DIALOGEX 0, 0, 260, 150 ++STYLE DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_CAPTION ++CAPTION "Extended Properties" ++FONT 8, "MS Shell Dlg", 0, 0, 0x0 ++{ ++ LTEXT "Choose the advanced properties you want for this shortcut.", -1, 5, 30, 190, 10 ++ CHECKBOX "Run with different credentials", 14000, 30, 50, 150, 10 ++ LTEXT "This option can allow you to run the this shortcut as another\nuser, or continue as yourself while protecting your computer\nand data from unauthorized program activity.", -1, 50, 60, 200, 40 ++ CHECKBOX "Run in seperate memory space", 14001, 30, 100, 90, 10, WS_DISABLED ++ PUSHBUTTON "OK", IDOK, 25, 120, 40, 15, WS_VISIBLE ++ PUSHBUTTON "Abort", IDCANCEL, 120, 120, 50, 15, WS_VISIBLE ++} ++ ++SHELL_FILE_GENERAL_DLG DIALOGEX 0, 0, 240, 130 ++STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION ++CAPTION "General" ++FONT 8, "MS Shell Dlg", 0, 0, 0x0 ++{ ++ ICON "", 14000, 10, 5, 30, 30, WS_VISIBLE ++ EDITTEXT 14001, 70, 5, 100, 10, ES_LEFT | ES_READONLY ++ LTEXT "Type of file:", 14004, 10, 30, 50, 10 ++ LTEXT "File", 14005, 70, 30, 150, 10 ++ LTEXT "Opens with:", 14006, 10, 40, 50, 10 ++ LTEXT "", 14007, 70, 40, 150, 10 ++ LTEXT "Location:", 14008, 10, 55, 45, 10 ++ LTEXT "", 14009, 70, 55, 200, 10 ++ LTEXT "Size:",14010, 10, 65, 45, 10 ++ LTEXT "", 14011, 70, 65, 150, 10 ++ LTEXT "Created:", 14014, 10, 80, 45, 10 ++ LTEXT "", 14015, 70, 80, 150, 10 ++ LTEXT "Modified:", 14016, 10, 90, 45, 10 ++ LTEXT "", 14017, 70, 90, 150, 10 ++ LTEXT "Accessed:", 14018, 10, 100, 45, 10 ++ LTEXT "", 14019, 70, 100, 150, 10 ++ LTEXT "Attributes:", 14020, 10, 115, 45, 10 ++ CHECKBOX "&Read-only", 14021, 70, 115, 45, 10 ++ CHECKBOX "&Hidden", 14022, 130, 115, 50, 10 ++ CHECKBOX "&Archive", 14023, 180, 115, 45, 10 ++} ++ ++SHELL_FILE_VERSION_DLG DIALOGEX 0, 0, 240, 130 ++STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION ++CAPTION "Version" ++FONT 8, "MS Shell Dlg", 0, 0, 0x0 ++{ ++ LTEXT "File version: ", 14000, 10, 10, 45, 10 ++ LTEXT "", 14001, 70, 10, 150, 10 ++ LTEXT "Description: ", 14002, 10, 20, 45, 10 ++ LTEXT "", 14003, 70, 20, 150, 10 ++ LTEXT "Copyright: ", 14004, 10, 30, 45, 10 ++ LTEXT "", 14005, 70, 30, 150, 10 ++ GROUPBOX "Other version information: ", 14006, 10, 45, 220, 90 ++ LTEXT "Item name: ", 14007, 20, 55, 50, 10 ++ LTEXT "Value: ", 14008, 130, 55, 45, 10 ++ LISTBOX 14009,20,65,95,60, LBS_STANDARD | WS_TABSTOP | LBS_NOTIFY ++ EDITTEXT 14010, 130, 65, 95, 60, ES_LEFT|WS_BORDER|WS_VSCROLL|WS_GROUP|ES_MULTILINE|ES_READONLY ++ ++} ++ ++DRIVE_GENERAL_DLG DIALOGEX 0, 0, 240, 230 ++STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION ++CAPTION "General" ++FONT 8, "MS Shell Dlg", 0, 0, 0x0 ++{ ++ EDITTEXT 14001, 40, 20, 190, 10, ES_LEFT|WS_BORDER|WS_GROUP ++ LTEXT "Type:", -1, 15, 55, 40, 10 ++ LTEXT "", 14002, 110, 55, 100, 10 ++ ++ ++ LTEXT "File system:", -1, 15, 70, 100, 10 ++ LTEXT "", 14003, 110, 70, 100, 10 ++ ++ CONTROL "", 14013, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 90, 10, 10 ++ LTEXT "Used space:", -1, 25, 90, 120, 10 ++ LTEXT "", 14004, 110, 90, 120, 10 ++ LTEXT "", 14005, 200, 90, 40, 10 ++ ++ CONTROL "", 14014, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 5, 105, 10, 10 ++ LTEXT "Free space:", -1, 25, 105, 70, 10 ++ LTEXT "", 14006, 110, 105, 120, 10 ++ LTEXT "", 14007, 200, 105, 40, 10 ++ ++ LTEXT "Capacity:", -1, 25, 125, 80, 10 ++ LTEXT "", 14008, 110, 125, 120, 10 ++ LTEXT "", 14009, 200, 125, 40, 10 ++ ++ CONTROL "", 14015, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 20, 140, 200, 20 ++ ++ LTEXT "Drive %s", 14010, 100, 170, 40, 10 ++ PUSHBUTTON "Disk Cleanup", 14011, 180, 175, 50, 15, WS_TABSTOP ++ CHECKBOX "Compress drive to save disk space", 14012, 15, 205, 165, 10, WS_DISABLED ++ CHECKBOX "Allow Indexing Service to index this disk for fast file searching", 14012, 15, 220, 200, 10, WS_DISABLED ++} ++ ++DRIVE_EXTRA_DLG DIALOGEX 0, 0, 240, 230 ++STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION ++CAPTION "Tools" ++FONT 8, "MS Shell Dlg", 0, 0, 0x0 ++{ ++ GROUPBOX "Error-checking", -1, 5, 5, 230, 60 ++ LTEXT "This option will check the volume for\nerrors.", -1, 40, 25, 160, 20 ++ PUSHBUTTON "Check Now...", 14000, 130, 45, 90, 15, WS_TABSTOP ++ GROUPBOX "Defragmentation", -1, 5, 65, 230, 60 ++ LTEXT "This option will defragment files on the volume", -1, 40, 85, 160, 20 ++ PUSHBUTTON "Defragment Now...", 14001, 130, 105, 90, 15, WS_TABSTOP ++ GROUPBOX "Backup", -1, 5, 130, 230, 60 ++ LTEXT "This option will back up files on the volume.", -1, 40, 150, 160, 20 ++ PUSHBUTTON "Backup Now...", 14002, 130, 170, 90, 15, WS_TABSTOP ++} ++ ++ ++ ++DRIVE_HARDWARE_DLG DIALOGEX 0, 0, 240, 130 ++STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION ++CAPTION "Hardware" ++FONT 8, "MS Shell Dlg", 0, 0, 0x0 ++{ ++} ++ ++RUN_AS_DIALOG DIALOGEX 0, 0, 240, 190 ++STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION ++CAPTION "Run As" ++FONT 8, "MS Shell Dlg", 0, 0, 0x0 ++{ ++ LTEXT "Which user account do you want to use to run this program?", -1, 30, 30, 170, 10 ++ CHECKBOX "Current User %s", 14000, 5, 45, 150, 10 ++ LTEXT "Protect my computer and data from unauthorized program activity", -1, 40, 65, 150, 10, WS_DISABLED ++ CHECKBOX "This option can prevent computer viruses from harming your\ncomputer or personal data, but selecting it might cause the\nprogram to function improperly.", 14001, 40, 80, 150, 10, WS_DISABLED ++ CHECKBOX "The following user:", 14002, 5, 100, 90, 10 ++ LTEXT "User name:", -1, 15, 115, 60, 10 ++ COMBOBOX 14003, 70, 115, 100, 15, CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP ++ ++ PUSHBUTTON "...", 14004, 180, 115, 30, 10, WS_TABSTOP ++ LTEXT "Password:", -1, 15, 140, 60, 10 ++ EDITTEXT 14005, 70, 140, 100, 10, ES_LEFT | WS_BORDER | WS_GROUP ++ PUSHBUTTON "...", 14006, 180, 140, 30, 10, WS_TABSTOP ++ PUSHBUTTON "OK", 14007, 70, 170, 60, 15, WS_TABSTOP ++ PUSHBUTTON "Cancel", 14008, 140, 170, 60, 15, WS_TABSTOP ++} ++ ++ + STRINGTABLE DISCARDABLE + { + /* columns in the shellview */ +@@ -211,10 +377,10 @@ + "the folder?" + + /* message box strings */ +- IDS_RESTART_TITLE "Restart" +- IDS_RESTART_PROMPT "Do you want to simulate a Windows reboot?" +- IDS_SHUTDOWN_TITLE "Shutdown" +- IDS_SHUTDOWN_PROMPT "Do you want to shutdown your Wine session?" ++ IDS_RESTART_TITLE "Restart" ++ IDS_RESTART_PROMPT "Do you want to restart the system?" ++ IDS_SHUTDOWN_TITLE "Shutdown" ++ IDS_SHUTDOWN_PROMPT "Do you want to shutdown?" + + /* shell folder path default values */ + IDS_PROGRAMS "Start Menu\\Programs" +@@ -244,4 +410,7 @@ + IDS_COMMON_PICTURES "Documents\\My Pictures" + IDS_COMMON_VIDEO "Documents\\My Video" + IDS_CDBURN_AREA "Local Settings\\Application Data\\Microsoft\\CD Burning" ++ IDS_DRIVE_FIXED "Local Disk" ++ IDS_DRIVE_CDROM "CDROM" ++ IDS_DRIVE_NETWORK "Network Disk" + } +Index: shell32_main.h +=================================================================== +--- shell32_main.h (revision 29513) ++++ shell32_main.h (working copy) +@@ -239,4 +239,8 @@ + /* Detect Shell Links */ + BOOL SHELL_IsShortcut(LPCITEMIDLIST); + ++INT_PTR CALLBACK SH_FileGeneralDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); ++INT_PTR CALLBACK SH_FileVersionDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); ++HPROPSHEETPAGE SH_CreatePropertySheetPage(LPSTR resname, DLGPROC dlgproc, LPARAM lParam); ++BOOL SH_ShowDriveProperties(WCHAR * drive); + #endif +Index: shelllink.c +=================================================================== +--- shelllink.c (revision 29513) ++++ shelllink.c (working copy) +@@ -53,8 +53,9 @@ + #include "shlwapi.h" + #include "msi.h" + #include "appmgmt.h" +- ++#include "prsht.h" + #include "initguid.h" ++#include "shresdef.h" + + WINE_DEFAULT_DEBUG_CHANNEL(shell); + +@@ -86,6 +87,7 @@ + + #define SHLINK_LOCAL 0 + #define SHLINK_REMOTE 1 ++#define MAX_PROPERTY_SHEET_PAGE 32 + + typedef struct _LOCATION_INFO + { +@@ -157,9 +159,11 @@ + LPWSTR sProduct; + LPWSTR sComponent; + volume_info volume; +- ++ LPWSTR sLinkPath; ++ BOOL bRunAs; + BOOL bDirty; + INT iIdOpen; /* id of the "Open" entry in the context menu */ ++ INT iIdProperties; /* id of the "Properties" entry in the context menu */ + IUnknown *site; + } IShellLinkImpl; + +@@ -304,6 +308,7 @@ + HeapFree(GetProcessHeap(), 0, This->sWorkDir); + HeapFree(GetProcessHeap(), 0, This->sDescription); + HeapFree(GetProcessHeap(),0,This->sPath); ++ HeapFree(GetProcessHeap(),0,This->sLinkPath); + + if (This->site) + IUnknown_Release( This->site ); +@@ -386,6 +391,8 @@ + r = SHCreateStreamOnFileW(pszFileName, dwMode, &stm); + if( SUCCEEDED( r ) ) + { ++ HeapFree(GetProcessHeap(), 0, This->sLinkPath); ++ This->sLinkPath = _wcsdup(pszFileName); + r = IPersistStream_Load(StreamThis, stm); + ShellLink_UpdatePath(This->sPathRel, pszFileName, This->sWorkDir, &This->sPath); + IStream_Release( stm ); +@@ -919,6 +926,15 @@ + r = Stream_LoadAdvertiseInfo( stm, &This->sComponent ); + TRACE("Component -> %s\n",debugstr_w(This->sComponent)); + } ++ if( hdr.dwFlags & SLDF_RUNAS_USER ) ++ { ++ This->bRunAs = TRUE; ++ } ++ else ++ { ++ This->bRunAs = FALSE; ++ } ++ + if( FAILED( r ) ) + goto end; + +@@ -1089,6 +1105,8 @@ + header.dwFlags |= SLDF_HAS_LOGO3ID; + if( This->sComponent ) + header.dwFlags |= SLDF_HAS_DARWINID; ++ if( This->bRunAs ) ++ header.dwFlags |= SLDF_RUNAS_USER; + + SystemTimeToFileTime ( &This->time1, &header.Time1 ); + SystemTimeToFileTime ( &This->time2, &header.Time2 ); +@@ -1204,6 +1222,7 @@ + sl->bDirty = FALSE; + sl->iIdOpen = -1; + sl->site = NULL; ++ sl->bRunAs = FALSE; + + TRACE("(%p)->()\n",sl); + +@@ -2452,6 +2471,7 @@ + { + IShellLinkImpl *This = impl_from_IContextMenu(iface); + static WCHAR szOpen[] = { 'O','p','e','n',0 }; ++ static WCHAR szProperties[] = { 'P','r','o','p','e','r','t','i','e','s',0 }; + MENUITEMINFOW mii; + int id = 1; + +@@ -2461,10 +2481,10 @@ + if ( !hmenu ) + return E_INVALIDARG; + +- memset( &mii, 0, sizeof mii ); +- mii.cbSize = sizeof mii; ++ memset( &mii, 0, sizeof(mii) ); ++ mii.cbSize = sizeof (mii); + mii.fMask = MIIM_TYPE | MIIM_ID | MIIM_STATE; +- mii.dwTypeData = szOpen; ++ mii.dwTypeData = (LPWSTR)szOpen; + mii.cch = strlenW( mii.dwTypeData ); + mii.wID = idCmdFirst + id++; + mii.fState = MFS_DEFAULT | MFS_ENABLED; +@@ -2473,6 +2493,18 @@ + return E_FAIL; + This->iIdOpen = 0; + ++ mii.fState = MFS_ENABLED; ++ mii.dwTypeData = (LPWSTR)szProperties; ++ mii.cch = strlenW( mii.dwTypeData ); ++ mii.wID = idCmdFirst + id++; ++ if (!InsertMenuItemW( hmenu, idCmdLast, TRUE, &mii )) ++ { ++ TRACE("ShellLink_QueryContextMenu failed to insert item properties"); ++ return E_FAIL; ++ } ++ This->iIdProperties = 1; ++ id++; ++ + return MAKE_HRESULT( SEVERITY_SUCCESS, 0, id ); + } + +@@ -2500,7 +2532,223 @@ + return path; + } + ++INT_PTR CALLBACK ExtendedShortcutProc( ++ HWND hwndDlg, ++ UINT uMsg, ++ WPARAM wParam, ++ LPARAM lParam ++) ++{ ++ HWND hDlgCtrl; ++ ++ switch(uMsg) ++ { ++ case WM_INITDIALOG: ++ if (lParam) ++ { ++ hDlgCtrl = GetDlgItem(hwndDlg, 14000); ++ SendMessage(hDlgCtrl, BM_SETCHECK, BST_CHECKED, 0); ++ } ++ return TRUE; ++ case WM_COMMAND: ++ hDlgCtrl = GetDlgItem(hwndDlg, 14000); ++ if (LOWORD(wParam) == IDOK) ++ { ++ if ( SendMessage(hDlgCtrl, BM_GETCHECK, 0, 0) == BST_CHECKED ) ++ EndDialog(hwndDlg, 1); ++ else ++ EndDialog(hwndDlg, 0); ++ } ++ else if (LOWORD(wParam) == IDCANCEL) ++ { ++ EndDialog(hwndDlg, -1); ++ } ++ else if (LOWORD(wParam) == 14000) ++ { ++ if ( SendMessage(hDlgCtrl, BM_GETCHECK, 0, 0) == BST_CHECKED) ++ SendMessage(hDlgCtrl, BM_SETCHECK, BST_UNCHECKED, 0); ++ else ++ SendMessage(hDlgCtrl, BM_SETCHECK, BST_CHECKED, 0); ++ ++ } ++ } ++ return FALSE; ++} ++ ++/************************************************************************** ++ * SH_ShellLinkDlgProc ++ * ++ * dialog proc of the shortcut property dialog ++ */ ++ ++INT_PTR ++CALLBACK ++SH_ShellLinkDlgProc( ++ HWND hwndDlg, ++ UINT uMsg, ++ WPARAM wParam, ++ LPARAM lParam ++) ++{ ++ LPPROPSHEETPAGEW ppsp; ++ LPPSHNOTIFY lppsn; ++ IShellLinkImpl *This; ++ HWND hDlgCtrl; ++ WCHAR szBuffer[MAX_PATH]; ++ int IconIndex; ++ INT_PTR result; ++ ++ This = (IShellLinkImpl *)GetWindowLongPtr(hwndDlg, DWLP_USER); ++ ++ switch(uMsg) ++ { ++ case WM_INITDIALOG: ++ ppsp = (LPPROPSHEETPAGEW)lParam; ++ if (ppsp == NULL) ++ break; ++ ++ TRACE("ShellLink_DlgProc (WM_INITDIALOG hwnd %p lParam %p ppsplParam %x)\n",hwndDlg, lParam, ppsp->lParam); ++ ++ This = (IShellLinkImpl *)ppsp->lParam; ++ SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)This); ++ ++ TRACE("sArgs: %S sComponent: %S sDescription: %S sIcoPath: %S sPath: %S sPathRel: %S sProduct: %S sWorkDir: %S\n", This->sArgs, This->sComponent ,This->sDescription, ++ This->sIcoPath, This->sPath, This->sPathRel, This->sProduct, This->sWorkDir); ++ ++ /* target path */ ++ hDlgCtrl = GetDlgItem( hwndDlg, 14009 ); ++ if ( hDlgCtrl != NULL ) ++ SendMessageW( hDlgCtrl, WM_SETTEXT, (WPARAM)NULL, (LPARAM)This->sPath ); ++ ++ /* working dir */ ++ hDlgCtrl = GetDlgItem( hwndDlg, 14011 ); ++ if ( hDlgCtrl != NULL ) ++ SendMessageW( hDlgCtrl, WM_SETTEXT, (WPARAM)NULL, (LPARAM)This->sWorkDir ); ++ ++ /* description */ ++ hDlgCtrl = GetDlgItem( hwndDlg, 14019 ); ++ if ( hDlgCtrl != NULL ) ++ SendMessageW( hDlgCtrl, WM_SETTEXT, (WPARAM)NULL, (LPARAM)This->sDescription ); ++ return TRUE; ++ case WM_NOTIFY: ++ lppsn = (LPPSHNOTIFY) lParam; ++ if ( lppsn->hdr.code == PSN_APPLY ) ++ { ++ /* set working directory */ ++ hDlgCtrl = GetDlgItem( hwndDlg, 14011 ); ++ SendMessageW( hDlgCtrl, WM_GETTEXT, (WPARAM)MAX_PATH, (LPARAM)szBuffer ); ++ IShellLinkW_fnSetWorkingDirectory((IShellLinkW*)&This->lpvtblw, szBuffer); ++ /* set link destination */ ++ hDlgCtrl = GetDlgItem( hwndDlg, 14009 ); ++ SendMessageW( hDlgCtrl, WM_GETTEXT, (WPARAM)MAX_PATH, (LPARAM)szBuffer); ++ if ( !SHELL_ExistsFileW(szBuffer) ) ++ { ++ MessageBoxW( hwndDlg, L"file not existing", szBuffer, MB_OK ); ++ SetWindowLong( hwndDlg, DWL_MSGRESULT, PSNRET_INVALID_NOCHANGEPAGE ); ++ return TRUE; ++ } ++ IShellLinkW_fnSetPath((IShellLinkW*)&This->lpvtblw, szBuffer); ++ ++ TRACE("This %p sLinkPath %S\n", This, This->sLinkPath); ++ IPersistFile_fnSave( (IPersistFile*)&This->lpvtblPersistFile, This->sLinkPath, TRUE ); ++ SetWindowLong( hwndDlg, DWL_MSGRESULT, PSNRET_NOERROR ); ++ return TRUE; ++ } ++ break; ++ case WM_COMMAND: ++ switch(LOWORD(wParam)) ++ { ++ case 14020: ++ /// ++ /// FIXME ++ /// open target directory ++ /// ++ return TRUE; ++ case 14021: ++ if (PickIconDlg(hwndDlg, szBuffer, MAX_PATH, &IconIndex)) ++ { ++ IShellLinkW_fnSetIconLocation((IShellLinkW*)&This->lpvtblw, szBuffer, IconIndex); ++ /// ++ /// FIXME redraw icon ++ } ++ return TRUE; ++ case 14022: ++ result = DialogBoxParamW(shell32_hInstance, MAKEINTRESOURCEW(SHELL_EXTENDED_SHORTCUT_DLG), hwndDlg, ExtendedShortcutProc, (LPARAM)This->bRunAs); ++ if (result == 1 || result == 0) ++ { ++ if ( This->bRunAs != result ) ++ { ++ PropSheet_Changed(GetParent(hwndDlg), hwndDlg); ++ } ++ ++ This->bRunAs = result; ++ } ++ return TRUE; ++ } ++ switch(HIWORD(wParam)) ++ { ++ case EN_CHANGE: ++ PropSheet_Changed(GetParent(hwndDlg), hwndDlg); ++ break; ++ } ++ break; ++ default: ++ break; ++ } ++ return FALSE; ++} ++ ++/************************************************************************** ++ * ShellLink_ShortcutDialog [Internal] ++ * ++ * creates a shortcut property dialog ++ */ ++ + static HRESULT WINAPI ++ShellLink_ShowProperties( IShellLinkImpl *This ) ++{ ++ PROPSHEETHEADERW pinfo; ++ HPROPSHEETPAGE hppages[MAX_PROPERTY_SHEET_PAGE]; ++ HPROPSHEETPAGE hpage; ++ UINT numpages = 0; ++ ++ TRACE("ShellLink_ShortcutDialog entered\n"); ++ ++ memset(hppages, 0x0, sizeof(HPROPSHEETPAGE) * MAX_PROPERTY_SHEET_PAGE); ++ ++ hpage = SH_CreatePropertySheetPage("SHELL_FILE_GENERAL_DLG", SH_FileGeneralDlgProc, (LPARAM)This->sLinkPath); ++ if ( hpage == NULL ) ++ return E_FAIL; ++ else ++ hppages[numpages++] = hpage; ++ ++ hpage = SH_CreatePropertySheetPage("SHELL_GENERAL_SHORTCUT_DLG", SH_ShellLinkDlgProc, (LPARAM)This); ++ if ( hpage == NULL ) ++ { ++ ERR("SH_CreatePropertySheetPage failed\n"); ++ DestroyPropertySheetPage(hppages[0]); ++ return E_FAIL; ++ } ++ hppages[numpages++] = hpage; ++ ++ ///FIXME ++ /// load extensions ++ ++ memset(&pinfo, 0x0, sizeof(PROPSHEETHEADERW)); ++ pinfo.dwSize = sizeof(PROPSHEETHEADERW); ++ pinfo.dwFlags = PSH_NOCONTEXTHELP | PSH_PROPTITLE; ++ pinfo.nPages = numpages; ++ pinfo.u3.phpage = hppages; ++ pinfo.pszCaption = This->sDescription; ++ pinfo.u2.nStartPage = 1; ++ ++ if ( PropertySheetW(&pinfo) < 0 ) ++ return E_FAIL; ++ else ++ return S_OK; ++} ++ ++static HRESULT WINAPI + ShellLink_InvokeCommand( IContextMenu* iface, LPCMINVOKECOMMANDINFO lpici ) + { + IShellLinkImpl *This = impl_from_IContextMenu(iface); +@@ -2516,6 +2764,12 @@ + if ( lpici->cbSize < sizeof (CMINVOKECOMMANDINFO) ) + return E_INVALIDARG; + ++ if ( lpici->lpVerb == MAKEINTRESOURCEA(This->iIdProperties)) ++ { ++ ShellLink_ShowProperties(This); ++ return S_OK; ++ } ++ + if ( lpici->lpVerb != MAKEINTRESOURCEA(This->iIdOpen) ) + { + ERR("Unknown id %d != %d\n", (INT)lpici->lpVerb, This->iIdOpen ); +Index: shellole.c +=================================================================== +--- shellole.c (revision 29513) ++++ shellole.c (working copy) +@@ -69,11 +69,13 @@ + {&CLSID_DragDropHelper, &IDropTargetHelper_Constructor}, + {&CLSID_ControlPanel, &IControlPanel_Constructor}, + {&CLSID_AutoComplete, &IAutoComplete_Constructor}, ++#if 0 + {&CLSID_UnixFolder, &UnixFolder_Constructor}, + {&CLSID_UnixDosFolder, &UnixDosFolder_Constructor}, + {&CLSID_FolderShortcut, &FolderShortcut_Constructor}, + {&CLSID_MyDocuments, &MyDocuments_Constructor}, + {&CLSID_RecycleBin, &RecycleBin_Constructor}, ++#endif + {NULL,NULL} + }; + +Index: shellord.c +=================================================================== +--- shellord.c (revision 29513) ++++ shellord.c (working copy) +@@ -1265,9 +1265,70 @@ + * IsUserAdmin [SHELL32.680] NT 4.0 + * + */ +-HRESULT WINAPI IsUserAdmin(void) +-{ FIXME("stub\n"); +- return TRUE; ++ ++BOOL WINAPI IsUserAnAdmin(VOID) ++{ ++ SID_IDENTIFIER_AUTHORITY Authority = {SECURITY_NT_AUTHORITY}; ++ HANDLE hToken; ++ DWORD dwSize; ++ PTOKEN_GROUPS lpGroups; ++ PSID lpSid; ++ DWORD i; ++ BOOL bResult = FALSE; ++ ++ TRACE("\n"); ++ ++ if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hToken)) ++ { ++ return FALSE; ++ } ++ ++ if (!GetTokenInformation(hToken, TokenGroups, NULL, 0, &dwSize)) ++ { ++ if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) ++ { ++ CloseHandle(hToken); ++ return FALSE; ++ } ++ } ++ ++ lpGroups = HeapAlloc(GetProcessHeap(), 0, dwSize); ++ if (lpGroups == NULL) ++ { ++ CloseHandle(hToken); ++ return FALSE; ++ } ++ ++ if (!GetTokenInformation(hToken, TokenGroups, lpGroups, dwSize, &dwSize)) ++ { ++ HeapFree(GetProcessHeap(), 0, lpGroups); ++ CloseHandle(hToken); ++ return FALSE; ++ } ++ ++ CloseHandle(hToken); ++ ++ if (!AllocateAndInitializeSid(&Authority, 2, SECURITY_BUILTIN_DOMAIN_RID, ++ DOMAIN_ALIAS_RID_ADMINS, 0, 0, 0, 0, 0, 0, ++ &lpSid)) ++ { ++ HeapFree(GetProcessHeap(), 0, lpGroups); ++ return FALSE; ++ } ++ ++ for (i = 0; i < lpGroups->GroupCount; i++) ++ { ++ if (EqualSid(lpSid, lpGroups->Groups[i].Sid)) ++ { ++ bResult = TRUE; ++ break; ++ } ++ } ++ ++ FreeSid(lpSid); ++ HeapFree(GetProcessHeap(), 0, lpGroups); ++ ++ return bResult; + } + + /************************************************************************* +@@ -1584,14 +1645,6 @@ + } + + /************************************************************************* +- * SHCreatePropSheetExtArray [SHELL32.168] +- */ +-HPSXA WINAPI SHCreatePropSheetExtArray(HKEY hKey, LPCWSTR pszSubKey, UINT max_iface) +-{ +- return SHCreatePropSheetExtArrayEx(hKey, pszSubKey, max_iface, NULL); +-} +- +-/************************************************************************* + * SHCreatePropSheetExtArrayEx [SHELL32.194] + */ + HPSXA WINAPI SHCreatePropSheetExtArrayEx(HKEY hKey, LPCWSTR pszSubKey, UINT max_iface, IDataObject *pDataObj) +@@ -1695,6 +1748,15 @@ + } + + /************************************************************************* ++ * SHCreatePropSheetExtArray [SHELL32.168] ++ */ ++HPSXA WINAPI SHCreatePropSheetExtArray(HKEY hKey, LPCWSTR pszSubKey, UINT max_iface) ++{ ++ return SHCreatePropSheetExtArrayEx(hKey, pszSubKey, max_iface, NULL); ++} ++ ++ ++/************************************************************************* + * SHReplaceFromPropSheetExtArray [SHELL32.170] + */ + UINT WINAPI SHReplaceFromPropSheetExtArray(HPSXA hpsxa, UINT uPageID, LPFNADDPROPSHEETPAGE lpfnReplaceWith, LPARAM lParam) +Index: shellpath.c +=================================================================== +--- shellpath.c (revision 29513) ++++ shellpath.c (working copy) +@@ -24,6 +24,7 @@ + * + */ + ++#define symlink(A, B) + #include "config.h" + #include "wine/port.h" + +@@ -1977,7 +1978,7 @@ + + if (szBasePath[cLen-1] != '/') szBasePath[cLen++] = '/'; + +- if (!WideCharToMultiByte(CP_UNIXCP, 0, wszSubPath, -1, szBasePath + cLen, ++ if (!WideCharToMultiByte(CP_ACP, 0, wszSubPath, -1, szBasePath + cLen, + FILENAME_MAX - cLen, NULL, NULL)) + { + return FALSE; +@@ -1988,7 +1989,7 @@ + + return TRUE; + } +- ++#if 0 + /****************************************************************************** + * _SHCreateSymbolicLinks [Internal] + * +@@ -2040,7 +2041,7 @@ + for (i = 0; i < sizeof(aidsMyStuff)/sizeof(aidsMyStuff[0]); i++) { + strcpy(szMyStuffTarget, szPersonalTarget); + if (_SHAppendToUnixPath(szMyStuffTarget, MAKEINTRESOURCEW(aidsMyStuff[i]))) +- mkdir(szMyStuffTarget, 0777); ++ mkdir(szMyStuffTarget); + } + } + else +@@ -2061,7 +2062,7 @@ + for (i = 0; i < sizeof(aidsMyStuff)/sizeof(aidsMyStuff[0]); i++) { + strcpy(szMyStuffTarget, szPersonalTarget); + if (_SHAppendToUnixPath(szMyStuffTarget, MAKEINTRESOURCEW(aidsMyStuff[i]))) +- mkdir(szMyStuffTarget, 0777); ++ mkdir(szMyStuffTarget); + } + } + +@@ -2108,6 +2109,7 @@ + } + } + } ++#endif + + /* Register the default values in the registry, as some apps seem to depend + * on their presence. The set registered was taken from Windows XP. +@@ -2120,7 +2122,9 @@ + * 'My Video', 'My Music' and 'Desktop' in advance, so that the + * _SHRegister*ShellFolders() functions will find everything nice and clean + * and thus will not attempt to create them in the profile directory. */ ++#if 0 + _SHCreateSymbolicLinks(); ++#endif + + hr = _SHRegisterUserShellFolders(TRUE); + if (SUCCEEDED(hr)) +Index: shfldr_desktop.c +=================================================================== +--- shfldr_desktop.c (revision 29513) ++++ shfldr_desktop.c (working copy) +@@ -165,9 +165,11 @@ + else if (PathGetDriveNumberW (lpszDisplayName) >= 0) + { + /* it's a filesystem path with a drive. Let MyComputer/UnixDosFolder parse it */ ++#if 0 + if (UNIXFS_is_rooted_at_desktop()) + pidlTemp = _ILCreateGuid(PT_GUID, &CLSID_UnixDosFolder); + else ++#endif + pidlTemp = _ILCreateMyComputer (); + szNext = lpszDisplayName; + } +Index: shfldr_mycomp.c +=================================================================== +--- shfldr_mycomp.c (revision 29513) ++++ shfldr_mycomp.c (working copy) +@@ -695,20 +695,8 @@ + + if (SUCCEEDED (hr)) + { +- /* Win9x always returns ANSI strings, NT always returns Unicode strings */ +- if (GetVersion() & 0x80000000) +- { +- strRet->uType = STRRET_CSTR; +- if (!WideCharToMultiByte(CP_ACP, 0, pszPath, -1, strRet->u.cStr, MAX_PATH, +- NULL, NULL)) +- strRet->u.cStr[0] = '\0'; +- CoTaskMemFree(pszPath); +- } +- else +- { +- strRet->uType = STRRET_WSTR; +- strRet->u.pOleStr = pszPath; +- } ++ strRet->uType = STRRET_WSTR; ++ strRet->u.pOleStr = pszPath; + } + else + CoTaskMemFree(pszPath); +Index: shlexec.c +=================================================================== +--- shlexec.c (revision 29513) ++++ shlexec.c (working copy) +@@ -1300,6 +1300,7 @@ + static const WCHAR wFile[] = {'f','i','l','e',0}; + static const WCHAR wHttp[] = {'h','t','t','p',':','/','/',0}; + static const WCHAR wExplorer[] = {'e','x','p','l','o','r','e','r','.','e','x','e',0}; ++ static const WCHAR wProperties[] = { 'p','r','o','p','e','r','t','i','e','s',0 }; + static const DWORD unsupportedFlags = + SEE_MASK_INVOKEIDLIST | SEE_MASK_ICON | SEE_MASK_HOTKEY | + SEE_MASK_CONNECTNETDRV | SEE_MASK_FLAG_DDEWAIT | SEE_MASK_FLAG_NO_UI | +@@ -1405,6 +1406,13 @@ + return TRUE; + } + ++ if (sei_tmp.lpVerb && !wcscmp(sei_tmp.lpVerb, wProperties)) ++ { ++ SH_ShowPropertiesDialog(sei_tmp.lpFile); ++ sei->hInstApp = (HINSTANCE) 33; ++ return TRUE; ++ } ++ + if (sei_tmp.fMask & SEE_MASK_CLASSALL) + { + /* launch a document by fileclass like 'WordPad.Document.1' */ +Index: shlfileop.c +=================================================================== +--- shlfileop.c (revision 29513) ++++ shlfileop.c (working copy) +@@ -1303,8 +1303,8 @@ + return ERROR_SUCCESS; + + /* Windows also checks only the first item */ +- bTrash = (lpFileOp->fFlags & FOF_ALLOWUNDO) +- && TRASH_CanTrashFile(flFrom->feFiles[0].szFullPath); ++ bTrash = (lpFileOp->fFlags & FOF_ALLOWUNDO); ++ //&& TRASH_CanTrashFile(flFrom->feFiles[0].szFullPath); + + if (!(lpFileOp->fFlags & FOF_NOCONFIRMATION) || (!bTrash && lpFileOp->fFlags & FOF_WANTNUKEWARNING)) + if (!confirm_delete_list(lpFileOp->hwnd, lpFileOp->fFlags, bTrash, flFrom)) +@@ -1325,8 +1325,10 @@ + if (bTrash) + { + BOOL bDelete; ++#if 0 + if (TRASH_TrashFile(fileEntry->szFullPath)) + continue; ++#endif + + /* Note: Windows silently deletes the file in such a situation, we show a dialog */ + if (!(lpFileOp->fFlags & FOF_NOCONFIRMATION) || (lpFileOp->fFlags & FOF_WANTNUKEWARNING)) +@@ -1696,16 +1698,6 @@ + } + + /*********************************************************************** +- * SHPathPrepareForWriteA (SHELL32.@) +- */ +-HRESULT WINAPI SHPathPrepareForWriteA(HWND hwnd, IUnknown *modless, LPCSTR path, DWORD flags) +-{ +- WCHAR wpath[MAX_PATH]; +- MultiByteToWideChar( CP_ACP, 0, path, -1, wpath, MAX_PATH); +- return SHPathPrepareForWriteW(hwnd, modless, wpath, flags); +-} +- +-/*********************************************************************** + * SHPathPrepareForWriteW (SHELL32.@) + */ + HRESULT WINAPI SHPathPrepareForWriteW(HWND hwnd, IUnknown *modless, LPCWSTR path, DWORD flags) +@@ -1767,3 +1759,13 @@ + else + return HRESULT_FROM_WIN32(ERROR_DIRECTORY); + } ++ ++/*********************************************************************** ++ * SHPathPrepareForWriteA (SHELL32.@) ++ */ ++HRESULT WINAPI SHPathPrepareForWriteA(HWND hwnd, IUnknown *modless, LPCSTR path, DWORD flags) ++{ ++ WCHAR wpath[MAX_PATH]; ++ MultiByteToWideChar( CP_ACP, 0, path, -1, wpath, MAX_PATH); ++ return SHPathPrepareForWriteW(hwnd, modless, wpath, flags); ++} +Index: shlview.c +=================================================================== +--- shlview.c (revision 29513) ++++ shlview.c (working copy) +@@ -68,6 +68,8 @@ + + WINE_DEFAULT_DEBUG_CHANNEL(shell); + ++#undef SV_CLASS_NAME ++ + static const WCHAR SV_CLASS_NAME[] = {'S','H','E','L','L','D','L','L','_','D','e','f','V','i','e','w',0}; + + typedef struct +Index: shres.rc +=================================================================== +--- shres.rc (revision 29513) ++++ shres.rc (working copy) +@@ -35,88 +35,8 @@ + VK_F5, FCIDM_SHVIEW_REFRESH, VIRTKEY + END + +-/* @makedep: document.ico */ +-IDI_SHELL_DOCUMENT ICON document.ico + +-/* @makedep: folder.ico */ +-IDI_SHELL_FOLDER ICON folder.ico + +-/* @makedep: folder_open.ico */ +-IDI_SHELL_FOLDER_OPEN ICON folder_open.ico +- +-/* FIXME: Following three resources are not yet added */ +-/* @makedep: folder_open.ico */ +-IDI_SHELL_FOLDER_OPEN_SMALL ICON folder_open.ico +-/* @makedep: folder_open.ico */ +-IDI_SHELL_FOLDER_OPEN_LARGE ICON folder_open.ico +-/* @makedep: folder_open.ico */ +-IDI_SHELL_FOLDER_SMALL_XP ICON folder_open.ico +- +-/* @makedep: floppy.ico */ +-IDI_SHELL_FLOPPY ICON floppy.ico +- +-/* @makedep: drive.ico */ +-IDI_SHELL_DRIVE ICON drive.ico +- +-/* @makedep: netdrive.ico */ +-IDI_SHELL_NETDRIVE ICON netdrive.ico +- +-/* @makedep: netdrive2.ico */ +-IDI_SHELL_NETDRIVE2 ICON netdrive2.ico +- +-/* @makedep: cdrom.ico */ +-IDI_SHELL_CDROM ICON cdrom.ico +- +-/* @makedep: ramdisk.ico */ +-IDI_SHELL_RAMDISK ICON ramdisk.ico +- +-/* @makedep: mycomputer.ico */ +-IDI_SHELL_MY_COMPUTER ICON mycomputer.ico +- +-/* @makedep: printer.ico */ +-IDI_SHELL_PRINTER ICON printer.ico +- +-/* @makedep: shortcut.ico */ +-IDI_SHELL_SHORTCUT ICON shortcut.ico +- +-/* @makedep: desktop.ico */ +-IDI_SHELL_DESKTOP ICON desktop.ico +- +-/* @makedep: trash_file.ico */ +-IDI_SHELL_FULL_RECYCLE_BIN ICON trash_file.ico +- +-/* @makedep: trash_file.ico */ +-IDI_SHELL_TRASH_FILE ICON trash_file.ico +- +-/* @makedep: delete.ico */ +-IDI_SHELL_CONFIRM_DELETE ICON delete.ico +- +-/* @makedep: mydocs.ico */ +-IDI_SHELL_MY_DOCUMENTS ICON mydocs.ico +- +-/* @makedep: searching.avi */ +-IDR_AVI_SEARCHING AVI searching.avi +- +-/* @makedep: searching.avi */ +-IDR_AVI_SEARCH AVI searching.avi +- +-/* @makedep: searching.avi */ +-IDR_AVI_FILEMOVE AVI searching.avi +- +-/* @makedep: searching.avi */ +-IDR_AVI_FILECOPY AVI searching.avi +- +-/* @makedep: searching.avi */ +-IDR_AVI_FINDCOMPUTER AVI searching.avi +- +-/* @makedep: searching.avi */ +-IDR_AVI_FILENUKE AVI searching.avi +- +-/* @makedep: searching.avi */ +-IDR_AVI_FILEDELETE AVI searching.avi +- +-/*--------------------- END FIXME ------------------------*/ +- + /* + * Everything that does not depend on language, + * like textless bitmaps etc, go into the +@@ -125,7 +45,20 @@ + */ + #include "shell32_xx.rc" + ++ ++ ++ + /* ++ * This include a set of Shell32 icons, ++ * bitmaps and avi files. Licence's can be ++ * found in the corresponding directorys ++ */ ++#include "icon_res.rc" ++//#include "bitmap_res.rc" ++#include "avi_res.rc" ++ ++ ++/* + * Everything specific to any language goes + * in one of the specific files. + * Note that you can and may override resources +Index: shresdef.h +=================================================================== +--- shresdef.h (revision 29513) ++++ shresdef.h (working copy) +@@ -78,6 +78,9 @@ + #define IDS_COMMON_PICTURES 69 + #define IDS_COMMON_VIDEO 70 + #define IDS_CDBURN_AREA 71 ++#define IDS_DRIVE_FIXED 72 ++#define IDS_DRIVE_CDROM 73 ++#define IDS_DRIVE_NETWORK 74 + + #define IDS_CREATEFOLDER_DENIED 128 + #define IDS_CREATEFOLDER_CAPTION 129 +@@ -109,6 +112,7 @@ + #define IDD_STATUS 0x3743 + #define IDD_TITLE 0x3742 + #define IDD_TREEVIEW 0x3741 ++#define SHELL_EXTENDED_SHORTCUT_DLG 0x4000 + + #define IDI_SHELL_DOCUMENT 1 + #define IDI_SHELL_FOLDER 4 +Index: shv_item_cmenu.c +=================================================================== +--- shv_item_cmenu.c (revision 29513) ++++ shv_item_cmenu.c (working copy) +@@ -38,6 +38,9 @@ + + WINE_DEFAULT_DEBUG_CHANNEL(shell); + ++/* ugly hack for cut&paste files */ ++BOOL fileMoving = FALSE; ++ + /************************************************************************** + * IContextMenu Implementation + */ +@@ -254,6 +257,9 @@ + if(uFlags & CMF_CANRENAME) + _InsertMenuItem(hmenu, indexMenu++, TRUE, FCIDM_SHVIEW_RENAME, MFT_STRING, "&Rename", ISvItemCm_CanRenameItems(This) ? MFS_ENABLED : MFS_DISABLED); + ++ _InsertMenuItem(hmenu, indexMenu++, TRUE, 0, MFT_SEPARATOR, NULL, 0); ++ _InsertMenuItem(hmenu, indexMenu++, TRUE, FCIDM_SHVIEW_PROPERTIES, MFT_STRING, "&Properties", MFS_ENABLED); ++ + return MAKE_HRESULT(SEVERITY_SUCCESS, 0, (FCIDM_SHVIEWLAST)); + } + return MAKE_HRESULT(SEVERITY_SUCCESS, 0, 0); +@@ -294,7 +300,7 @@ + + ZeroMemory(&sei, sizeof(sei)); + sei.cbSize = sizeof(sei); +- sei.fMask = SEE_MASK_IDLIST | SEE_MASK_CLASSNAME; ++ sei.fMask = SEE_MASK_INVOKEIDLIST | SEE_MASK_CLASSNAME; + sei.lpIDList = pidlFQ; + sei.lpClass = "Folder"; + sei.hwnd = hwnd; +@@ -382,6 +388,54 @@ + } + return TRUE; + } ++static void DoProperties( ++ IContextMenu2 *iface, ++ HWND hwnd) ++{ ++ ItemCmImpl *This = (ItemCmImpl *)iface; ++ LPITEMIDLIST pidlFQ = NULL; ++ SHELLEXECUTEINFOA sei; ++ ++ if (_ILIsMyComputer(This->apidl[0])) ++ { ++ ShellExecuteA(hwnd, "open", "rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl", NULL, NULL, SW_SHOWNORMAL); ++ return; ++ } ++ else if (_ILIsDesktop(This->apidl[0])) ++ { ++ ShellExecuteA(hwnd, "open", "rundll32.exe shell32.dll,Control_RunDLL desk.cpl", NULL, NULL, SW_SHOWNORMAL); ++ return; ++ } ++ else if (_ILIsDrive(This->apidl[0])) ++ { ++ WCHAR buffer[111]; ++ ILGetDisplayName(This->apidl[0], buffer); ++ SH_ShowDriveProperties(buffer); ++ return; ++ } ++ else ++ { ++ pidlFQ = ILCombine(This->pidl, This->apidl[0]); ++ } ++ ++ ZeroMemory(&sei, sizeof(sei)); ++ sei.cbSize = sizeof(sei); ++ sei.fMask = SEE_MASK_INVOKEIDLIST; ++ sei.lpIDList = pidlFQ; ++ sei.hwnd = hwnd; ++ sei.nShow = SW_SHOWNORMAL; ++ sei.lpVerb = "properties"; ++ ++ TRACE("DoProperties before ShellExecuteEx\n"); ++ ShellExecuteExA(&sei); ++ TRACE("DoProperties after ShellExecuteEx\n"); ++ ++ if (pidlFQ) ++ { ++ SHFree(pidlFQ); ++ } ++} ++ + /************************************************************************** + * ISvItemCm_fnInvokeCommand() + */ +@@ -430,6 +484,10 @@ + TRACE("Verb FCIDM_SHVIEW_CUT\n"); + DoCopyOrCut(iface, lpcmi->hwnd, TRUE); + break; ++ case FCIDM_SHVIEW_PROPERTIES: ++ TRACE("Verb FCIDM_SHVIEW_PROPERTIES\n"); ++ DoProperties(iface, lpcmi->hwnd); ++ break; + default: + FIXME("Unhandled Verb %xl\n",LOWORD(lpcmi->lpVerb)); + }
17 years, 2 months
1
0
0
0
[janderwald] 29513: Copied remotely
by janderwald@svn.reactos.org
Author: janderwald Date: Thu Oct 11 23:35:28 2007 New Revision: 29513 URL:
http://svn.reactos.org/svn/reactos?rev=29513&view=rev
Log: Copied remotely Added: vendor/wine/dlls/shell32/current/ - copied from r29512, vendor/wine/dlls/shell32/Wine-0_9_46/
17 years, 2 months
1
0
0
0
[janderwald] 29512: - remove old wine sync
by janderwald@svn.reactos.org
Author: janderwald Date: Thu Oct 11 23:34:58 2007 New Revision: 29512 URL:
http://svn.reactos.org/svn/reactos?rev=29512&view=rev
Log: - remove old wine sync Removed: vendor/wine/dlls/shell32/Wine-0_9_10/ vendor/wine/dlls/shell32/current/
17 years, 2 months
1
0
0
0
[janderwald] 29511: - update doc
by janderwald@svn.reactos.org
Author: janderwald Date: Thu Oct 11 23:33:05 2007 New Revision: 29511 URL:
http://svn.reactos.org/svn/reactos?rev=29511&view=rev
Log: - update doc Modified: trunk/reactos/media/doc/README.WINE Modified: trunk/reactos/media/doc/README.WINE URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=…
============================================================================== --- trunk/reactos/media/doc/README.WINE (original) +++ trunk/reactos/media/doc/README.WINE Thu Oct 11 23:33:05 2007 @@ -72,7 +72,7 @@ reactos/dll/win32/rpcrt4 # Synced to Wine-0_9_10 reactos/dll/win32/sensapi # Autosync reactos/dll/win32/setupapi # Forked at Wine-20050524 -reactos/dll/win32/shell32 # Synced to Wine-0_9_5 +reactos/dll/win32/shell32 # Synced to Wine-0_9_46 reactos/dll/win32/shdocvw # Synced to Wine-0_9_5 reactos/dll/win32/shfolder # Autosync reactos/dll/win32/shlwapi # Autosync
17 years, 2 months
1
0
0
0
[janderwald] 29510: - forgot one file
by janderwald@svn.reactos.org
Author: janderwald Date: Thu Oct 11 23:26:16 2007 New Revision: 29510 URL:
http://svn.reactos.org/svn/reactos?rev=29510&view=rev
Log: - forgot one file Modified: trunk/reactos/dll/win32/shell32/shell32_main.c Modified: trunk/reactos/dll/win32/shell32/shell32_main.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shell32_…
============================================================================== --- trunk/reactos/dll/win32/shell32/shell32_main.c (original) +++ trunk/reactos/dll/win32/shell32/shell32_main.c Thu Oct 11 23:26:16 2007 @@ -16,7 +16,7 @@ * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ #include "config.h" @@ -37,7 +37,6 @@ #include "winuser.h" #include "wingdi.h" #include "shlobj.h" -#include "shlguid.h" #include "shlwapi.h" #include "undocshell.h" @@ -120,7 +119,7 @@ return argv; } - /* to get a writeable copy */ + /* to get a writable copy */ argc=0; bcount=0; in_quotes=0; @@ -275,6 +274,9 @@ SetFilePointer( hfile, mz_header.e_lfanew, NULL, SEEK_SET ); ReadFile( hfile, &nt, sizeof(nt), &len, NULL ); CloseHandle( hfile ); + /* DLL files are not executable and should return 0 */ + if (nt.FileHeader.Characteristics & IMAGE_FILE_DLL) + return 0; if (nt.OptionalHeader.Subsystem == IMAGE_SUBSYSTEM_WINDOWS_GUI) { return IMAGE_NT_SIGNATURE | @@ -348,7 +350,7 @@ BOOL IconNotYetLoaded=TRUE; UINT uGilFlags = 0; - TRACE("%s fattr=0x%lx sfi=%p(attr=0x%08lx) size=0x%x flags=0x%x\n", + TRACE("%s fattr=0x%x sfi=%p(attr=0x%08x) size=0x%x flags=0x%x\n", (flags & SHGFI_PIDL)? "pidl" : debugstr_w(path), dwFileAttributes, psfi, psfi->dwAttributes, sizeofpsfi, flags); @@ -356,7 +358,7 @@ (flags & (SHGFI_ATTRIBUTES|SHGFI_EXETYPE|SHGFI_PIDL))) return FALSE; - /* windows initializes this values regardless of the flags */ + /* windows initializes these values regardless of the flags */ if (psfi != NULL) { psfi->szDisplayName[0] = '\0'; @@ -509,58 +511,57 @@ /* get the iconlocation */ if (SUCCEEDED(hr) && (flags & SHGFI_ICONLOCATION )) { - if (!(flags & SHGFI_USEFILEATTRIBUTES)) - { - UINT uDummy,uFlags; - + UINT uDummy,uFlags; + + if (flags & SHGFI_USEFILEATTRIBUTES) + { + if (dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) + { + lstrcpyW(psfi->szDisplayName, swShell32Name); + psfi->iIcon = -IDI_SHELL_FOLDER; + } + else + { + WCHAR* szExt; + static const WCHAR p1W[] = {'%','1',0}; + WCHAR sTemp [MAX_PATH]; + + szExt = (LPWSTR) PathFindExtensionW(szFullPath); + TRACE("szExt=%s\n", debugstr_w(szExt)); + if ( szExt && + HCR_MapTypeToValueW(szExt, sTemp, MAX_PATH, TRUE) && + HCR_GetDefaultIconW(sTemp, sTemp, MAX_PATH, &psfi->iIcon)) + { + if (lstrcmpW(p1W, sTemp)) + strcpyW(psfi->szDisplayName, sTemp); + else + { + /* the icon is in the file */ + strcpyW(psfi->szDisplayName, szFullPath); + } + } + else + ret = FALSE; + } + } + else + { hr = IShellFolder_GetUIObjectOf(psfParent, 0, 1, - (LPCITEMIDLIST*)&pidlLast, &IID_IExtractIconA, - &uDummy, (LPVOID*)&pei); + (LPCITEMIDLIST*)&pidlLast, &IID_IExtractIconW, + &uDummy, (LPVOID*)&pei); if (SUCCEEDED(hr)) { hr = IExtractIconW_GetIconLocation(pei, uGilFlags, - szLocation, MAX_PATH, &iIndex, &uFlags); - psfi->iIcon = iIndex; - - if (!(uFlags & GIL_NOTFILENAME)) + szLocation, MAX_PATH, &iIndex, &uFlags); + + if (uFlags & GIL_NOTFILENAME) + ret = FALSE; + else + { lstrcpyW (psfi->szDisplayName, szLocation); - else - ret = FALSE; - - IExtractIconA_Release(pei); - } - } - else - { - if (dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) - { - strcpyW(psfi->szDisplayName, swShell32Name); - psfi->iIcon = SIC_GetIconIndex(swShell32Name, -IDI_SHELL_FOLDER, 0); - } - else - { - WCHAR sTemp [MAX_PATH]; - WCHAR * szExt; - DWORD dwNr=0; - static const WCHAR p1W[] = {'%','1',0}; - - lstrcpynW(sTemp, szFullPath, MAX_PATH); - - psfi->iIcon = 0; - szExt = (LPWSTR) PathFindExtensionW(sTemp); - if ( szExt && - HCR_MapTypeToValueW(szExt, sTemp, MAX_PATH, TRUE) && - HCR_GetDefaultIconW(sTemp, sTemp, MAX_PATH, &dwNr)) - { - if (!lstrcmpW(p1W,sTemp)) /* icon is in the file */ - strcpyW(psfi->szDisplayName, szFullPath); - else - strcpyW(psfi->szDisplayName, sTemp); - - psfi->iIcon = SIC_GetIconIndex(psfi->szDisplayName, dwNr, 0); - if (psfi->iIcon == -1) - psfi->iIcon = 0; + psfi->iIcon = iIndex; } + IExtractIconW_Release(pei); } } } @@ -572,7 +573,7 @@ { WCHAR sTemp [MAX_PATH]; WCHAR * szExt; - DWORD dwNr=0; + int icon_idx=0; lstrcpynW(sTemp, szFullPath, MAX_PATH); @@ -586,14 +587,14 @@ szExt = (LPWSTR) PathFindExtensionW(sTemp); if ( szExt && HCR_MapTypeToValueW(szExt, sTemp, MAX_PATH, TRUE) && - HCR_GetDefaultIconW(sTemp, sTemp, MAX_PATH, &dwNr)) + HCR_GetDefaultIconW(sTemp, sTemp, MAX_PATH, &icon_idx)) { if (!lstrcmpW(p1W,sTemp)) /* icon is in the file */ strcpyW(sTemp, szFullPath); if (flags & SHGFI_SYSICONINDEX) { - psfi->iIcon = SIC_GetIconIndex(sTemp,dwNr,0); + psfi->iIcon = SIC_GetIconIndex(sTemp,icon_idx,0); if (psfi->iIcon == -1) psfi->iIcon = 0; } @@ -601,16 +602,16 @@ { IconNotYetLoaded=FALSE; if (flags & SHGFI_SMALLICON) - PrivateExtractIconsW( sTemp,dwNr, + PrivateExtractIconsW( sTemp,icon_idx, GetSystemMetrics( SM_CXSMICON ), GetSystemMetrics( SM_CYSMICON ), &psfi->hIcon, 0, 1, 0); else - PrivateExtractIconsW( sTemp, dwNr, + PrivateExtractIconsW( sTemp, icon_idx, GetSystemMetrics( SM_CXICON), GetSystemMetrics( SM_CYICON), &psfi->hIcon, 0, 1, 0); - psfi->iIcon = dwNr; + psfi->iIcon = icon_idx; } } } @@ -650,11 +651,10 @@ if (hr != S_OK) ret = FALSE; - if (pidlLast) - SHFree(pidlLast); + SHFree(pidlLast); #ifdef MORE_DEBUG - TRACE ("icon=%p index=0x%08x attr=0x%08lx name=%s type=%s ret=0x%08lx\n", + TRACE ("icon=%p index=0x%08x attr=0x%08x name=%s type=%s ret=0x%08lx\n", psfi->hIcon, psfi->iIcon, psfi->dwAttributes, debugstr_w(psfi->szDisplayName), debugstr_w(psfi->szTypeName), ret); #endif @@ -670,29 +670,31 @@ UINT flags ) { INT len; - LPWSTR temppath; + LPWSTR temppath = NULL; + LPCWSTR pathW; DWORD ret; SHFILEINFOW temppsfi; if (flags & SHGFI_PIDL) { /* path contains a pidl */ - temppath = (LPWSTR) path; + pathW = (LPCWSTR)path; } else { len = MultiByteToWideChar(CP_ACP, 0, path, -1, NULL, 0); temppath = HeapAlloc(GetProcessHeap(), 0, len*sizeof(WCHAR)); MultiByteToWideChar(CP_ACP, 0, path, -1, temppath, len); + pathW = temppath; } if (psfi && (flags & SHGFI_ATTR_SPECIFIED)) temppsfi.dwAttributes=psfi->dwAttributes; if (psfi == NULL) - ret = SHGetFileInfoW(temppath, dwFileAttributes, NULL, sizeof(temppsfi), flags); + ret = SHGetFileInfoW(pathW, dwFileAttributes, NULL, sizeof(temppsfi), flags); else - ret = SHGetFileInfoW(temppath, dwFileAttributes, &temppsfi, sizeof(temppsfi), flags); + ret = SHGetFileInfoW(pathW, dwFileAttributes, &temppsfi, sizeof(temppsfi), flags); if (psfi) { @@ -714,8 +716,7 @@ } } - if (!(flags & SHGFI_PIDL)) - HeapFree(GetProcessHeap(), 0, temppath); + HeapFree(GetProcessHeap(), 0, temppath); return ret; } @@ -829,7 +830,7 @@ BOOL WINAPI Printers_RegisterWindowW(LPCWSTR wsPrinter, DWORD dwType, HANDLE * phClassPidl, HWND * phwnd) { - FIXME("(%s, %lx, %p (%p), %p (%p)) stub!\n", debugstr_w(wsPrinter), dwType, + FIXME("(%s, %x, %p (%p), %p (%p)) stub!\n", debugstr_w(wsPrinter), dwType, phClassPidl, (phClassPidl != NULL) ? *(phClassPidl) : NULL, phwnd, (phwnd != NULL) ? *(phwnd) : NULL); @@ -900,8 +901,8 @@ data->hWnd=GetActiveWindow(); return TRUE; case ABM_NEW: - SetWindowPos(data->hWnd,HWND_TOP,rec.left,rec.top, - width,height,SWP_SHOWWINDOW); + /* cbSize, hWnd, and uCallbackMessage are used. All other ignored */ + SetWindowPos(data->hWnd,HWND_TOP,0,0,0,0,SWP_SHOWWINDOW|SWP_NOMOVE|SWP_NOSIZE); return TRUE; case ABM_QUERYPOS: GetWindowRect(data->hWnd, &(data->rc)); @@ -932,7 +933,7 @@ */ DWORD WINAPI SHHelpShortcuts_RunDLLA(DWORD dwArg1, DWORD dwArg2, DWORD dwArg3, DWORD dwArg4) { - FIXME("(%lx, %lx, %lx, %lx) stub!\n", dwArg1, dwArg2, dwArg3, dwArg4); + FIXME("(%x, %x, %x, %x) stub!\n", dwArg1, dwArg2, dwArg3, dwArg4); return 0; } @@ -942,7 +943,7 @@ */ DWORD WINAPI SHHelpShortcuts_RunDLLW(DWORD dwArg1, DWORD dwArg2, DWORD dwArg3, DWORD dwArg4) { - FIXME("(%lx, %lx, %lx, %lx) stub!\n", dwArg1, dwArg2, dwArg3, dwArg4); + FIXME("(%x, %x, %x, %x) stub!\n", dwArg1, dwArg2, dwArg3, dwArg4); return 0; } @@ -999,8 +1000,8 @@ while (*pstr) { WCHAR name[64]; - /* authors list is in iso-8859-1 format */ - MultiByteToWideChar( 28591, 0, *pstr, -1, name, sizeof(name)/sizeof(WCHAR) ); + /* authors list is in utf-8 format */ + MultiByteToWideChar( CP_UTF8, 0, *pstr, -1, name, sizeof(name)/sizeof(WCHAR) ); SendMessageW( hWndCtl, LB_ADDSTRING, (WPARAM)-1, (LPARAM)name ); pstr++; } @@ -1109,9 +1110,17 @@ */ void WINAPI FreeIconList( DWORD dw ) { - FIXME("%lx: stub\n",dw); -} - + FIXME("%x: stub\n",dw); +} + +/************************************************************************* + * SHLoadNonloadedIconOverlayIdentifiers (SHELL32.@) + */ +HRESULT WINAPI SHLoadNonloadedIconOverlayIdentifiers( VOID ) +{ + FIXME("stub\n"); + return S_OK; +} /*********************************************************************** * DllGetVersion [SHELL32.@] @@ -1149,7 +1158,7 @@ WINE_FILEVERSION_BUILD, WINE_FILEVERSION_PLATFORMID); } - TRACE("%lu.%lu.%lu.%lu\n", + TRACE("%u.%u.%u.%u\n", pdvi->dwMajorVersion, pdvi->dwMinorVersion, pdvi->dwBuildNumber, pdvi->dwPlatformID); return S_OK; @@ -1179,7 +1188,7 @@ */ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad) { - TRACE("%p 0x%lx %p\n", hinstDLL, fdwReason, fImpLoad); + TRACE("%p 0x%x %p\n", hinstDLL, fdwReason, fImpLoad); switch (fdwReason) {
17 years, 2 months
1
0
0
0
← Newer
1
...
49
50
51
52
53
54
55
...
71
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
Results per page:
10
25
50
100
200