Compare commits

...

630 Commits

Author SHA1 Message Date
Colin Finck
caccea0628 Remove all non-working applications from "downloader.xml"
svn path=/branches/ros-branch-0_3_5/; revision=34195
2008-06-29 21:00:42 +00:00
Aleksey Bragin
fc8233b459 - Revert PCNET hack.
- Merge 34154 (a correct fix instead).

svn path=/branches/ros-branch-0_3_5/; revision=34184
2008-06-29 11:34:46 +00:00
Aleksey Bragin
6dfe643467 - Merge 34180 (RTL sprintf/swprintf fix).
svn path=/branches/ros-branch-0_3_5/; revision=34182
2008-06-29 09:46:01 +00:00
Aleksey Bragin
13bc2e01e5 - Merge 34174 (partition table size estimation fix).
svn path=/branches/ros-branch-0_3_5/; revision=34176
2008-06-29 08:37:32 +00:00
Aleksey Bragin
525033afc8 - Merge 34167,34171-34172.
svn path=/branches/ros-branch-0_3_5/; revision=34173
2008-06-29 08:20:08 +00:00
Aleksey Bragin
5323f99a5c - A hack to prevent PCNET+NDIS random bugcheck during startup.
See issue #3355 for more details.

svn path=/branches/ros-branch-0_3_5/; revision=34149
2008-06-28 10:26:07 +00:00
Aleksey Bragin
2958141893 - Merge 34111, 34127 (usermode GDB fixes), 34144 (fixing broken links in downloader).
svn path=/branches/ros-branch-0_3_5/; revision=34146
2008-06-28 08:37:56 +00:00
Aleksey Bragin
cd982f8780 - Remove NLS directory from release, since it's unused.
svn path=/branches/ros-branch-0_3_5/; revision=34143
2008-06-27 21:14:02 +00:00
Colin Finck
c98f2bb9af - Set "lake.bmp" as the default wallpaper
- Add a shortcut to "Download !" to the Desktop
- Change the version number for the Explorer start menu bitmap

svn path=/branches/ros-branch-0_3_5/; revision=34116
2008-06-26 22:11:24 +00:00
Colin Finck
9c439695e9 Hack: Copy the toolbar image on our own instead of using CopyImage to solve the messed up toolbar graphics.
See r31924 for more details

svn path=/branches/ros-branch-0_3_5/; revision=34115
2008-06-26 22:03:33 +00:00
Colin Finck
4611cdd960 Import Ged's mstsc hack from the 0.3.4 branch to solve the HitTest problem.
See r31922 for more details

svn path=/branches/ros-branch-0_3_5/; revision=34114
2008-06-26 22:01:18 +00:00
Colin Finck
0283a040f7 Change the version to 0.3.5
svn path=/branches/ros-branch-0_3_5/; revision=34113
2008-06-26 21:58:36 +00:00
Jeffrey Morlan
ae7e228924 Fix infinite loop in PspDumpThreads
svn path=/trunk/; revision=34108
2008-06-26 16:23:45 +00:00
Marc Piulachs
4865f6c89b Clean up tools folder.
svn path=/trunk/; revision=34107
2008-06-26 16:01:59 +00:00
Marc Piulachs
b2f5b33c7f - remove no longer required bootsect.mak
svn path=/trunk/; revision=34106
2008-06-26 15:58:56 +00:00
Marc Piulachs
9534f47230 -Remove obsolete Makefile. Spotted by Stefan Ginsberg.
svn path=/trunk/; revision=34105
2008-06-26 15:52:22 +00:00
Daniel Reimer
7e7b3c88bb Some more RC File fixes. TBD. Rename Norsk RC Files correctly.
svn path=/trunk/; revision=34103
2008-06-26 14:14:59 +00:00
Daniel Reimer
3b767564ef Some more RC File fixes.
svn path=/trunk/; revision=34102
2008-06-26 14:14:52 +00:00
Daniel Reimer
6c4b4e1148 We do not support any Wine LANG, SUBLANG Inventions. Bye, WALON and ESPERANTO.
svn path=/trunk/; revision=34101
2008-06-26 13:39:39 +00:00
Christoph von Wittich
5616673582 don't free a UNICODE_STRING which isn't allocated
svn path=/trunk/; revision=34099
2008-06-26 12:26:31 +00:00
Christoph von Wittich
4bcfbf7b99 don't free a UNICODE_STRING which isn't allocated
svn path=/trunk/; revision=34098
2008-06-26 12:20:09 +00:00
James Tabor
eec2739a8b Patch by Jeffrey Morlan <mrnobo1024 at yahoo.com>: Rearrange code in NtGdiSelectBitmap to prevent deadlock. See bug 3333.
svn path=/trunk/; revision=34097
2008-06-26 12:05:38 +00:00
Aleksey Bragin
968033dd41 - Rewrite David Welch's Ansi function wrappers to reduce their code size, improve readability, and fix a bug of freeing of a non-allocated string. Spotted by Christoph vW.
svn path=/trunk/; revision=34096
2008-06-26 11:49:47 +00:00
Christoph von Wittich
00334059ac don't free a UNICODE_STRING which isn't allocated
svn path=/trunk/; revision=34095
2008-06-26 11:34:56 +00:00
Christoph von Wittich
d8e81826d2 don't free a UNICODE_STRING which isn't allocated
svn path=/trunk/; revision=34094
2008-06-26 10:22:24 +00:00
Christoph von Wittich
9ff626f764 don't free a UNICODE_STRING which isn't allocated
svn path=/trunk/; revision=34093
2008-06-26 09:35:59 +00:00
Aleksey Bragin
ed1f927907 Jeffrey Morlan <mrnobo1024@yahoo.com>
- Fix a major problem in pushlock implementation: if there are 2 or more
threads waiting for a lock, only one of them ever gets woken. ExfWakePushLock
is missing a break in its loop so it removes all the WaitBlocks instead of just
the last one.
- This fixes all "weird" hangs happening, including FF1.5 installer hang, VMWare Video Driver Installer hang, taskmgr tabs hang, and other similar problems.
See issue #3141 for more details.

svn path=/trunk/; revision=34092
2008-06-26 08:26:48 +00:00
ReactOS Portable Systems Group
2b63244bc8 - Fix several interlocked list functions -- they should return NULL if the list is empty.
- Fix a bug in FreeLDR-ARM, we forgot to set the RegistryLength, resulting in a corrupted registry. We can now load the system registry.
- Enable code to handle DPC, Timer and Deferred Ready cleanup (portable code that's already written).
- Enable code to handle quantum end.
- We now load all the way to IoInitSystem!IopInitializeBootDrivers.


svn path=/trunk/; revision=34091
2008-06-26 06:38:42 +00:00
Daniel Reimer
e84c1a5512 Update xcopy, winhlp32 and wordpad to Wine HEAD. I kept Fireball's changes, but plz send them to Wine, too.
The Lithuan, Ukrainian and Greek Translators of winhlp32 should do the same.

svn path=/trunk/; revision=34090
2008-06-26 06:12:44 +00:00
Daniel Reimer
88c5a596a1 Update write and winfile to wine 1.0
This gives us new Translations for write. (Norway, Netherlands, Russia, Slovak) and a updated Danish one for winfile.

svn path=/trunk/; revision=34089
2008-06-26 06:10:28 +00:00
ReactOS Portable Systems Group
241449fc0e - Save and restore the trap frame for the current thread when we take an interrupt, so that ISRs can read it.
- We use this in the clock ISR, that can now actually send the trap frame to KeUpdateSystemTime.
- Implement KeUpdateRunTime to handle time accounting and DPC rescheduling as well as Quantum End.
- Ignore quantum end for now.
- We now have a working timebase, and we're back to our earlier checkpoint around CmInitSystem1!.


svn path=/trunk/; revision=34088
2008-06-26 05:56:35 +00:00
ReactOS Portable Systems Group
227dc95404 - Fix totally broken KeUpdateSystemRuntime code... please at least read your code once before committing.
svn path=/trunk/; revision=34087
2008-06-26 05:26:10 +00:00
Aleksey Bragin
eed84f7eae - MAKELONG takes (loword, hiword), not (hiword,loword) as was used in wordpad.
svn path=/trunk/; revision=34085
2008-06-25 19:59:10 +00:00
ReactOS Portable Systems Group
d7928010a4 - We now implement the KeUpdateSystemTime routine and the HalpClockInterrupt.
- We do not yet handle all cases, most notably, timer expiration.
- There may still be some bugs to work out in the code, but it's a start.
- This regresses progress, but does not ignore time anymore.

svn path=/trunk/; revision=34084
2008-06-25 16:10:14 +00:00
Marc Piulachs
82cbbc6ac9 - Fix InstallSysSetupComponents: SetupInstallFromInfSection was being called with the wrong HINF handler
- Always check for application existence before creating the shortcut

svn path=/trunk/; revision=34083
2008-06-25 14:21:27 +00:00
Filip Navara
3c6dcb0d0d Change the logic and make the AnswerInPublic Command option opt-out instead of opt-in. Now everything except !help is allowed in public again (due to popular demand).
svn path=/trunk/; revision=34082
2008-06-25 14:13:21 +00:00
Filip Navara
3790fc1254 Fix answers to !winerror <hex number> command and to !error command.
svn path=/trunk/; revision=34081
2008-06-25 14:07:13 +00:00
Marc Piulachs
a46601a21c - miscellaneous small fixes
- add support for preventing all commands to be run on the channel by default. Now TechBot only answers some of the commands in PM
- add back the error Command

svn path=/trunk/; revision=34079
2008-06-25 13:23:59 +00:00
James Tabor
b7525df85d Jeffrey Morlan (mrnobo1024 at yahoo.com) - Fix ModifyWorldTransform multiplies. See bug 3314.
svn path=/trunk/; revision=34078
2008-06-25 11:47:12 +00:00
Colin Finck
93bd1eebe6 Jeffrey Morlan (mrnobo1024@yahoo.com)
- Fix a race condition in msgina, which occasionally led to hangs at "Loading your personal settings"

See issue #3384 for more details.

svn path=/trunk/; revision=34077
2008-06-25 11:12:42 +00:00
Aleksey Bragin
7a18c92616 - Fix broken 0-padding, spotted by Russel.
See issue #3385 for more details.

svn path=/trunk/; revision=34076
2008-06-25 09:07:41 +00:00
ReactOS Portable Systems Group
b5cddb8ef5 - Implement KiComputeTimerTableIndex and stub KeUpdateRunTime und KeUpdateSystemTime.
- Hitting checkpoint in trap.c: DPC/Timer Delivery!
- Must now implement clock interrupt in HAL.

svn path=/trunk/; revision=34075
2008-06-25 05:01:31 +00:00
Dmitry Chapyshev
3d51d8fa8a - Start implementing MediaClassInstaller function
svn path=/trunk/; revision=34074
2008-06-24 15:17:28 +00:00
Colin Finck
b79ef105f1 Get shell32 to compile warning-free
Patch by Stefan Ginsberg with minor modifications by me

svn path=/trunk/; revision=34073
2008-06-24 14:37:50 +00:00
ReactOS Portable Systems Group
aa2b83d508 - Implement MmGetPfnForProcess, MmIsPageSwapEntry.
- Fix a bug in MmDeletePageTable.
- Use MmCreateVirtualMappingForKernel when we are already in the right process context, and allow it to be used for addresses < KSEG0_BASE as well.
- We now have full memory mapped file support, and get all the way to CmInitSystem1.


svn path=/trunk/; revision=34072
2008-06-24 14:16:06 +00:00
Johannes Anderwald
f0d289f527 - fix typo
svn path=/trunk/; revision=34071
2008-06-24 12:57:56 +00:00
Johannes Anderwald
eb0b862540 - check for a valid file descriptor
svn path=/trunk/; revision=34070
2008-06-24 12:42:22 +00:00
Dmitry Chapyshev
4b8a3ba4d6 - Add stubs for more functions
svn path=/trunk/; revision=34069
2008-06-24 12:00:53 +00:00
Dmitry Chapyshev
13ddc0ef07 - Activate default layout on startup
svn path=/trunk/; revision=34068
2008-06-24 09:59:35 +00:00
Daniel Reimer
e8d6023ad5 Add Rbuild files for WineTestGUI.
I had to disable the Icons to be able to build it. They seem to be invalid.

svn path=/trunk/; revision=34067
2008-06-24 09:05:56 +00:00
Dmitry Chapyshev
2bd794488a - Update Russian translation
svn path=/trunk/; revision=34066
2008-06-24 08:10:16 +00:00
James Tabor
3780af2706 Add PS_JOIN_MASK to psdk.
svn path=/trunk/; revision=34065
2008-06-24 03:17:35 +00:00
Aleksey Bragin
97be5703d8 Cameron Gutman <aicommander@gmail.com>
- Initialize LastChanceShutdownList.
- Sndblst.sys and a bunch of other drivers using Io[Un]RegisterLastChanceShutdownNotification work now.
See issue #3331 for more details.

svn path=/trunk/; revision=34064
2008-06-23 21:36:14 +00:00
Aleksey Bragin
0f6b71ad04 Stefan Ginsberg <stefan__100__@hotmail.com>:
- Make user32 and kernel32 compile warning-free.

svn path=/trunk/; revision=34063
2008-06-23 18:57:10 +00:00
James Tabor
f99a2998d3 Fix typo.
svn path=/trunk/; revision=34062
2008-06-23 17:57:41 +00:00
ReactOS Portable Systems Group
a179aed613 - Fix broken system call handler with shitty but works system call handler.
- Fix broken .rbuild file -- not sure how this was supposed to build in the first place.
- This gets us further -- more of ARM Mm needs implementing.


svn path=/trunk/; revision=34061
2008-06-23 16:08:32 +00:00
Aleksey Bragin
bd7a8aac20 - Add a missing return in case of exception. Spotted by Stefan Ginsberg.
svn path=/trunk/; revision=34060
2008-06-23 14:55:55 +00:00
Aleksey Bragin
3a0ed2c825 - Fix CM SEH by public demand.
svn path=/trunk/; revision=34059
2008-06-23 12:45:27 +00:00
Daniel Reimer
832844b9fb Bug 3378: update for slovak by Mario Kacmar (kario@szm.sk)
Bug 3287: My network place properties not displayed correctly by Mario Kacmar (kario@szm.sk)
P.S. The Polish Translation in the previous Commit was made by Maciej Bialas, not Olaf Siejka.

svn path=/trunk/; revision=34058
2008-06-23 10:37:18 +00:00
Daniel Reimer
8ad26a0358 Bug 3367: Korean translation of regedit by Sengju Kim (admin@manateeshome.com)
Polish Translation of usrmgr by Olaf Siejka
Renamed the Rest of the Korean RC Files.

svn path=/trunk/; revision=34057
2008-06-23 09:57:46 +00:00
Daniel Reimer
ec9dd69633 Start to rename all Korean RC Files to "ko-KR.rc". "ko-KO.rc" was not correct.
svn path=/trunk/; revision=34056
2008-06-23 09:42:06 +00:00
ReactOS Portable Systems Group
8df8940a6e - The CRT sync by "fireball" is incorrect and results in a broken ntos kernel. Although it may work on i386 builds, it results in a corrupted kernel anyways. On ARM, we try to hackfix around it by not including some routines that should not be in the kernel but were being imported due to the broken crt changes.
- We do not attemp to build world anymore. We have handwritten a new ARM rbuild file that only builds what we need for our current ARM work.
- HAL and FreeLDR do not seem to have an "installpath"... why not? Added one at least for our ARM stuff, so that "make install" can drop the binaries.
- Fixed some ARM DDK macro inconsistencies, allow more drivers to build.
- It is now possible to use "make install -k" to drop a completely working ARM build onto an image due to all these changes.

svn path=/trunk/; revision=34055
2008-06-23 03:57:50 +00:00
James Tabor
835571354c Update credits.
svn path=/trunk/; revision=34054
2008-06-23 01:09:20 +00:00
Colin Finck
5882bc1cea - Rebuild the left popup menu containing the keyboard layouts on every click to take care of keyboard layout changes.
I know this is probably not the best way for doing the job, but I don't know of any other method to achieve the same.
- Change the right popup menu to only show the "Options" and "Exit" menu items (like ctfmon does)
- Add the missing 'return 0;' statements, when a message was handled

See issue #3372 for more details.

svn path=/trunk/; revision=34053
2008-06-22 21:59:27 +00:00
Colin Finck
f721678f57 Fix the messed up "freeldr_arch" rbuild file: Specify one "freeldr_arch" module and then the files to build based on the architecture, not a separate module per architecture
Patch by Alex

svn path=/trunk/; revision=34052
2008-06-22 21:43:02 +00:00
Colin Finck
955672158d Build host_wcsfuncs as a host static library, not a target static library
Fixes build for all non-Win32 hosts

svn path=/trunk/; revision=34051
2008-06-22 21:41:25 +00:00
Colin Finck
8d9b815544 Add a library "host_wcsfuncs" with implementations for UTF-16 string functions needed for some host tools
Instead of copying those functions into every host tool, which needs it (as we did previously), we can now implement them all in this library and link the host tools to it.
If USE_HOST_WCSFUNCS is not defined, the "wcsfuncs.h" file will define them to the CRT functions (so this library does not create overhead, when the code is built for the target platform)

See issue #3285 for more details.

svn path=/trunk/; revision=34050
2008-06-22 20:58:56 +00:00
Colin Finck
33c4221b1e Add support for a new environment variable ROS_GENERATE_RSYM to disable RSYM during the build
Patch by Alex

svn path=/trunk/; revision=34049
2008-06-22 18:38:12 +00:00
Colin Finck
c251e18523 Move wshtcpip to dll/win32, it's a DLL and not a driver
"Patch" by Alex

svn path=/trunk/; revision=34048
2008-06-22 18:19:19 +00:00
Aleksey Bragin
07a38cedf1 - Extend SEH to cover writing result to output arguments. Noticed by Stefan Ginsberg.
svn path=/trunk/; revision=34047
2008-06-22 16:24:15 +00:00
Aleksey Bragin
e1419be7cd SVN Maintenance: set eol-style:native for lib/sdk/crt.
svn path=/trunk/; revision=34046
2008-06-22 12:08:15 +00:00
Matthias Kupfer
39fd08d7ce - Seungju Kim <admin AT manateeshome DOT com>
- Korean translation of explorer-new added
- See issue #3368 for more details.
- Alexander Wurzinger <<Lohnegrim At gmx DOT net>
- Patch for the "CreateEnergyList failed"-Error added.
- See issue #2469 for more details.

svn path=/trunk/; revision=34045
2008-06-22 10:01:59 +00:00
Ged Murphy
7d842bd859 Don't link to libs we don't need
svn path=/trunk/; revision=34044
2008-06-21 23:27:23 +00:00
Ged Murphy
3c16ea89b9 - Auto expand the list of available tests
- Add the selected test to the main combo
- Tag the dll path to each combo item
- Run the test when the 'run' button is hit. 
We can now run all Wine tests from the GUI, but we get no feedback yet.

svn path=/trunk/; revision=34043
2008-06-21 19:19:22 +00:00
Aleksey Bragin
3ee18cdb67 - Provide a real fix for fwprintf and fputwc in case the output stream is in TEXT mode by doing a widechar to multibyte conversion.
- This should be submitted to Wine to close their bug.
See issue #3353 for more details.

svn path=/trunk/; revision=34042
2008-06-21 15:58:00 +00:00
Pierre Schweitzer
7cf55b1f25 Ext2 and NTFS:
- Remove FCB from the linked list when it's released
NTFS:
- Check we have a FCB before releasing it

svn path=/trunk/; revision=34041
2008-06-21 11:20:48 +00:00
Matthias Kupfer
1334454750 - fix hive for korean keyboard layout
Alexander Wurzinger <Lohnegrim At gmx DOT net>
- Patch to fix the "Pos InitData failed"-Error in power options.
- See issue #2469 for more details.

svn path=/trunk/; revision=34040
2008-06-21 10:08:09 +00:00
Pierre Schweitzer
3d5de429aa Bugfixes:
- Check whether we have a valid VCB before creating FCB
- Initialize FCBs list before using it...

svn path=/trunk/; revision=34039
2008-06-21 10:04:14 +00:00
Aleksey Bragin
cdd5ae5641 - vsn[w]printf -> _vsn[w]printf.
svn path=/trunk/; revision=34038
2008-06-21 10:00:59 +00:00
Aleksey Bragin
a04bcca3a3 Jeffrey Morlan <mrnobo1024@yahoo.com>
- Wrap libwine's memory allocations, avoiding msvcrt imports in kernel32
- The cause is that libwine/debug.c uses functions (malloc, free, realloc, _strdup) which are only present in a complete CRT, creating imports from msvcrt.dll in any module that uses it, including kernel32.dll. Since kernel32 is currently importing from msvcrt, kernel32 gets DLL_PROCESS_DETACHed first, creating a problem for msvcrt's DLL_PROCESS_DETACH which, as a result of a recent bugfix, now uses kernel32 functions that depend on the resources that were freed.
- Fix this by implementing those 4 functions as wrappers around the Local* APIs, in order to avoid the problematic imports.
See issue #3373 for more details.

svn path=/trunk/; revision=34037
2008-06-20 19:00:37 +00:00
Pierre Schweitzer
b22a7f63e8 Miscellaneous NTFS patch:
- Filled FCB structures with more informations
- Added them to linked list
- Set mounted volume to FILE_DEVICE_DISK_FILE_SYSTEM
- Various code cleanup

svn path=/trunk/; revision=34036
2008-06-20 18:40:57 +00:00
Ged Murphy
8683e62101 Don't forget to free the parent nodes
svn path=/trunk/; revision=34035
2008-06-20 11:39:31 +00:00
Ged Murphy
0537163f8d Save the select test info on close.
The browse dialog now lists all winetest dlls and allows selection of either all tests in all dlls, all tests within a dll, or the option to choose individual tests. (rewuires a modified winetest framework)

svn path=/trunk/; revision=34034
2008-06-20 11:20:26 +00:00
Ged Murphy
938f407a80 - build up test data for each node in the treeview and tag it
- traverse the tree recursively and free all data on close

svn path=/trunk/; revision=34033
2008-06-20 08:21:49 +00:00
Colin Finck
25f5cca19d Put a comment and an #if around the lines I changed in my previous commit, because the ##__VA_ARGS__ syntax was only tested with MSVC and GCC
svn path=/trunk/; revision=34032
2008-06-19 22:03:22 +00:00
Colin Finck
460379ac3f Reapply Ged's fix, this time correctly :-)
Thanks to hackbunny for pointing out that ##__VA_ARGS__ will strip the trailing comma and this works on both GCC and MSVC.

svn path=/trunk/; revision=34031
2008-06-19 21:57:32 +00:00
Ged Murphy
d726ab1152 revert the debug macros change, the entire codebase isn't ready for it yet
svn path=/trunk/; revision=34030
2008-06-19 21:40:08 +00:00
Ged Murphy
2db5b6cc04 Only call DbgPrintEx once for each debug macro. This stops trace info from being split over 2 lines in some tools, like DebugView.
svn path=/trunk/; revision=34029
2008-06-19 20:42:57 +00:00
Matthias Kupfer
0632ec63d8 - Template for korean keyboard layout implemented (TODO: kbdko.c needs modifications for korean keyboard layout)
- bootdata, hives and usetup modified for korean keyboard layout
- See issue #3345 for more details.
- Patch from Gabriel Ilardi <gabrielilardi [at] hotmail [dot] it> for timedate settings applied
- See issue #3251 for more details.



svn path=/trunk/; revision=34028
2008-06-19 17:58:43 +00:00
Colin Finck
fa77a22c50 GCC 4.3.x fixes for cabman and sysreg
Also clean up sysreg a bit and put all #include's for standard headers in the .h files. (they were spread around the .cpp and the .h files previously)

See issue #3370 for more details.

svn path=/trunk/; revision=34027
2008-06-19 17:07:38 +00:00
Aleksey Bragin
a00a86834c - Remove all string msvcrt->ntdll forwards: let's be consistent, either forward everything, or forward only something. I left assembly math functions though, since they are standalone and 100% identical.
- As a result, fixed a couple of incorrect functions linkage.
- Fixed a name of vsnprintf, so really msvcrt's version is used now, not RTL's one.

svn path=/trunk/; revision=34026
2008-06-19 13:08:46 +00:00
Aleksey Bragin
b1a06042c9 - Restored ACP/OEMCP/MACCP static entries (removed in 34010) - they are needed for LiveCD boot process.
svn path=/trunk/; revision=34025
2008-06-19 12:11:32 +00:00
Ged Murphy
671448e212 Add all modules within a test to the treeview
svn path=/trunk/; revision=34024
2008-06-19 11:57:14 +00:00
Aleksey Bragin
febcfe8913 - Revert 34010 completely, too much breakages. "Don't fix what's not broken".
svn path=/trunk/; revision=34023
2008-06-19 08:41:31 +00:00
Ged Murphy
b790fafdb2 add all test dlls into the treeview
svn path=/trunk/; revision=34022
2008-06-19 08:36:17 +00:00
Daniel Reimer
ab6d5a14d6 Bug 3362: Italian translation update by Paolo Devoti (devotip@tiscali.it)
svn path=/trunk/; revision=34021
2008-06-19 06:15:59 +00:00
James Tabor
a4a099099f Path does not work and it locks up the system with out any debug information. I will try to have it ready before 0.3.5 is release.
svn path=/trunk/; revision=34020
2008-06-19 01:47:57 +00:00
James Tabor
e402662f7e Set default miter limit.
svn path=/trunk/; revision=34019
2008-06-19 01:29:01 +00:00
Dmitry Chapyshev
2a4eb36d58 - Fix typos
svn path=/trunk/; revision=34018
2008-06-18 19:33:55 +00:00
Matthias Kupfer
2559061aa2 Jeffrey Morlan <mrnobo1024 AT yahoo DOT com>
- Patch for Optimizations of TextIntGetTextExtentPoint
- See issue #3366 for more details.

svn path=/trunk/; revision=34017
2008-06-18 19:15:37 +00:00
Ged Murphy
cda095c0fe The start of a GUI to make running the Wine API tests a pleasure rather than a pain.
This will plug into the new testing framework for the Wine tests, which will also publish it's results on a live website (if I can get Colin to help me with the web stuff ;) )
This is the time to pester me with requests / ideas anyone may have.

svn path=/trunk/; revision=34016
2008-06-18 19:10:39 +00:00
Dmitry Chapyshev
d73e9e4231 - Add rasacd driver (not implemented)
svn path=/trunk/; revision=34015
2008-06-18 19:00:50 +00:00
Dmitry Chapyshev
23b40d082d - Add "Alternate Sorts" keys (used by kernel32)
- Delete static codepages values (they are added in usetup)
- Add keys for powrprof/powercfg

svn path=/trunk/; revision=34014
2008-06-18 18:58:16 +00:00
Aleksey Bragin
297baed6c0 - Add a bit more DPFLTR items.
svn path=/trunk/; revision=34013
2008-06-18 17:56:07 +00:00
Dmitry Chapyshev
e612eaf998 - Small update icon
svn path=/trunk/; revision=34012
2008-06-18 16:48:25 +00:00
Dmitry Chapyshev
4cf0f9906b - Implement ReplaceFileA/W (not fully)
- Implement DnsHostnameToComputerNameA/W (not fully)
- Implement FoldStringA/W
- Implement SetCPGlobal (not tested)
- Implement TzSpecificLocalTimeToSystemTime
- Implement ReadFileScatter
- Implement WriteFileGather
- Other small changes
All based on Wine 1.0 implementation

svn path=/trunk/; revision=34010
2008-06-18 15:37:44 +00:00
Aleksey Bragin
f550691222 - Rename made-up Ob functions names to match publicly available NT names, as most of other Ob names do.
svn path=/trunk/; revision=34009
2008-06-18 12:28:29 +00:00
Aleksey Bragin
ab2b63b87b - More fixes to pushlock implementation:
* In ExTimedWaitForUnblockPushLock, check only for STATUS_SUCCESS (which is the only status return when the wait was satisfied, while other like STATUS_TIMEOUT would still be considered a success).
* In ExBlockPushlock, fix a typo when trying out an interlocked exchange with a new value - wrong value was assigned.
* In ExfAcquirePushLockShared, assign PushLock value passed to this function, not the NewValue, like it's done in ExfAcquirePushLockExclusive.
* In ExfReleaseReleasePushLockExclusive, fix a typo which led to incorrect behavior and not waking up the pushlock when it should be.

svn path=/trunk/; revision=34008
2008-06-18 11:34:10 +00:00
Matthias Kupfer
67572c740e - several german translation fixes
- missing file of issue #3365 added (see rev. 35004)

svn path=/trunk/; revision=34007
2008-06-18 11:19:07 +00:00
Aleksey Bragin
da950aee49 - Wake up a pushlock only if it wasn't waking already, not vice versa (was a typo in ExfAcquirePushLockExclusive, but was done correctly in ExfAcquirePushLockShared).
svn path=/trunk/; revision=34006
2008-06-18 09:53:38 +00:00
Matthias Kupfer
cd5d1959f0 Vytis Girdzijauskas <cman AT cman DOT us>
- Lithuanian translation of explorer-new and shimgvw
- See issue #3365 for more details.


svn path=/trunk/; revision=34005
2008-06-18 09:39:10 +00:00
James Tabor
7f2b7d7436 Implement Get/SetMiterLimit, with proper float containment.
svn path=/trunk/; revision=34004
2008-06-17 20:19:30 +00:00
Dmitry Chapyshev
9e2224d220 - Comment some languages
svn path=/trunk/; revision=34003
2008-06-17 20:11:22 +00:00
Dmitry Chapyshev
10ea44c612 - Add correct scrolling by keypress
svn path=/trunk/; revision=34002
2008-06-17 20:10:07 +00:00
Aleksey Bragin
9e8038303f Mikhail Zvyozdochkink <mzvyozd@narod.ru>
- Limit inputable max partition size to 999999 Mbs.
See issue #3356 for more details.

svn path=/trunk/; revision=34001
2008-06-17 18:42:20 +00:00
Aleksey Bragin
85dbdefb9f Daniel Zimmerman <netzimme@aim.com>
- Cosmetic fix: initialize pushlocks using a special macro, not by assigning 0 to its value.
See issue #3352 for more details.

svn path=/trunk/; revision=34000
2008-06-17 18:21:41 +00:00
James Tabor
9127f8cb64 Fix build
svn path=/trunk/; revision=33999
2008-06-17 05:33:46 +00:00
James Tabor
b5b4c9ab4b Update changes to Clip regions andregions. New support for Rao and Vis.
svn path=/trunk/; revision=33998
2008-06-17 05:19:08 +00:00
James Tabor
9dbc5faab4 Update NtUserSetSysColors.
svn path=/trunk/; revision=33997
2008-06-17 02:42:40 +00:00
Timo Kreuzer
8594831504 IntEngGradientFill: fix cleanup when calling the driver
svn path=/trunk/; revision=33996
2008-06-16 18:56:52 +00:00
Timo Kreuzer
2e105930d6 - print out when process takes too much gdi handles
- GDIOBJ_FreeObjByHandly: unlock handle table entry when object to delete was locked
- REGION_AllocRgnWithHandle: unlock region before trying to delete it on failure
Now gdi32_winetest clipping doesn't freeze ros anymore

svn path=/trunk/; revision=33995
2008-06-16 18:27:18 +00:00
Timo Kreuzer
66397a3a3f - add test for GdiGetCharDimension
- fix a test name
- comment out more tests for EngReleaseSemaphore, they cause heap corruption on ros
- convert more TEST -> RTEST

svn path=/trunk/; revision=33994
2008-06-16 15:24:05 +00:00
Timo Kreuzer
aa36da89c9 TEST -> RTEST as these succeed on ros now
svn path=/trunk/; revision=33993
2008-06-16 13:27:39 +00:00
Timo Kreuzer
e49f53ea51 comment out some tests that fail on win XP, until someone fixes them
svn path=/trunk/; revision=33992
2008-06-16 13:20:06 +00:00
Aleksey Bragin
999e377e55 - Revert .spec -> .def conversion (incorrect one also, which broke rostests compile).
svn path=/trunk/; revision=33991
2008-06-16 12:22:13 +00:00
Aleksey Bragin
89d35e62dd - More NDK fixes.
- Hackmove: Define NTDDI_VERSION in kernel32, otherwise it gets derived from WINVER version (and thus kernel32 becomes Vista). This allows to remove #undef NTDDI_VERSION from ndk/obtypes.h.

svn path=/trunk/; revision=33990
2008-06-16 09:20:47 +00:00
Aleksey Bragin
6c45a42f53 - NDK fixes (structure rename only).
svn path=/trunk/; revision=33989
2008-06-16 08:54:21 +00:00
Dmitry Chapyshev
1a6bae63ba - Small fix DeletePwrScheme
- Implement ReadGlobalPwrPolicy
- Implement ReadPwrScheme
- Implement ValidatePowerPolicies (not fully implemented)

svn path=/trunk/; revision=33988
2008-06-16 08:20:21 +00:00
Dmitry Chapyshev
31619ecee5 - Update information about powrprof
svn path=/trunk/; revision=33987
2008-06-16 06:06:38 +00:00
Dmitry Chapyshev
3b3c516d31 - Fork powrprof.dll
- Replace .spec with .def
- Implement EnumPwrSchemes
- Implement GetActivePwrScheme
- Implement DeletePwrScheme

svn path=/trunk/; revision=33986
2008-06-16 06:00:22 +00:00
Colin Finck
abae3b6913 Use a ClipRegion when collapsing, so that the TreeView works correctly.
This patch has already been submitted to Wine, but as they don't care currently, I applied it manually here and updated "comctl32_ros.diff" accordingly.

Patch by Timo Kreuzer

svn path=/trunk/; revision=33985
2008-06-15 16:05:39 +00:00
Colin Finck
6846255313 Fix yet another invalid use of WriteFile.
This patch has already been submitted to Wine, but as they don't care currently, I applied it manually here and updated "wininet_ros.diff" accordingly.

svn path=/trunk/; revision=33984
2008-06-15 16:04:03 +00:00
Daniel Reimer
5ffe9e945e Bug 3320: Czech translation update by Radek Liska (radekliska@gmail.com)
Small Update for the German USETUP by me.

svn path=/trunk/; revision=33982
2008-06-15 08:14:43 +00:00
ReactOS Portable Systems Group
69bc0881f9 - Continue cleanup, use new peripheral headers (And fix them)
- Fix ARM HAL headers and use them


svn path=/trunk/; revision=33981
2008-06-15 07:54:18 +00:00
ReactOS Portable Systems Group
480243927a - These are peripherals, not targets
svn path=/trunk/; revision=33980
2008-06-15 06:15:13 +00:00
ReactOS Portable Systems Group
b300ac4364 - Start major ARM port cleanup:
- Make use of the SARCH rbuild parameter to define the target board (default to ARM VersatilePB for now)
  - Make official ARM include directory (include/reactos/arm) and move the ARM DDK there
  - Start creating header files for different target board components.
- Update halfuncs in NDK with one missing function, and temporarily, one ARM function.

svn path=/trunk/; revision=33979
2008-06-15 06:14:02 +00:00
Dmitry Chapyshev
a52eaf94d5 - Update Russian translation
svn path=/trunk/; revision=33978
2008-06-15 06:01:53 +00:00
ReactOS Portable Systems Group
def9fa66b4 - Create cmhardwr.c for ARM, stub it out.
- Implement KiInitMachineDependent -- this is only useful for x86 and has nothing relevant to ARM, so we just return.
- Implement HalAllProcessorsStarted (again, a no-op) and HalQueryRealTimeClock (uses the RTC on the board -- uboot must set it up first).
- Make sure we get the right Sp during a system call (this is still broken though).
- We need to fix our system call handler next.


svn path=/trunk/; revision=33977
2008-06-15 05:40:27 +00:00
ReactOS Portable Systems Group
531a8ad588 - Copy/pasted a bunch of code from the i386 bootvid for text output.
- Don't implement BitBlt for now.
- Add the bootdata font file to the arm bootvid as well.
- Not sure how it's possible, but we are seeing text output on the console with this hacked-up code! The ReactOS version string appears...
- We are now getting much further in the boot cycle.


svn path=/trunk/; revision=33976
2008-06-15 04:43:22 +00:00
ReactOS Portable Systems Group
133e63adea - Implement VidSolidColorFill, VidSetScrollRegion and VidSetTextColor
- Fix a bug in VidpBuildColor


svn path=/trunk/; revision=33975
2008-06-15 04:11:21 +00:00
ReactOS Portable Systems Group
bfd0d8594d - Fix a bug in MmGetPhysicalAddress.
- Don't hang in the clock interrupt anymore, for now we'll just ignore it (but it works! :D)
- Make all unimplemented bootvid functions hang the system, so we can better stop at progress-points.
- Implement VidInitialize:
  - We allocate a 640x480@16bpp framebuffer using contiguous physical memory (our MMU code survives!).
  - We setup the LCD controller timings and framebuffer address.
  - We enable the LCD
- For debugging, we're also drawing a nice little test pattern... and it works! We have GUI Code :)


svn path=/trunk/; revision=33974
2008-06-15 03:32:52 +00:00
ReactOS Portable Systems Group
0ea44bde8f - Separate bootvid into bootvid/i386 and bootvid/arm (no code change to i386 version).
- Stub out all the bootvid functions for ARM, and add an infinite loop so we stop there.
- Remove the infinite loop from the HAL -- Hal Initialization is complete.
- We must now implement the LCD graphics functions.


svn path=/trunk/; revision=33973
2008-06-14 23:43:45 +00:00
Timo Kreuzer
86909f313f revert r26384 - this is an old hack to make console output work. We don't need this any longer since freetype / text output is fixed.
svn path=/trunk/; revision=33972
2008-06-14 23:20:22 +00:00
ReactOS Portable Systems Group
35656fd354 - Dude, we don't need to calibrate anything... we've got a 1MHz timer, which means 1us-precision. KeStallExecutionProcessor needs 1us-precision!
- Since we have two timers (ha x86!!!), set the second one as the stall timer. It's a one-shot periodic timer, set to the exact number of microseconds being waited on.
- To fully emulate stalling, we don't use a clock interrupt for it (it supports not sending one!) and just busy-loop until the value reaches 0.
- Tried it with a 10 second (10000000 us) wait and it worked -perfectly-.
- Re-implemented KeStallExecutionProcessor and got rid of the other code. Back in HalInitSystem(phase1) now...
- Also killed some DPRINT1s getting on my nerves.


svn path=/trunk/; revision=33971
2008-06-14 23:19:03 +00:00
ReactOS Portable Systems Group
fe22db7c05 - We now implement the idle loop (thanks for fixing the interrupt code...).
- We are now back to HalInitSystem just like before the previous fixes.
- Now we'll implement stall calibration and switch to the clock interrupt.


svn path=/trunk/; revision=33970
2008-06-14 22:48:30 +00:00
ReactOS Portable Systems Group
949bda1cee - Implement the basic stall interrupt to be used to calculate the factors for KeStallExecution (using NT MIPS algorithm, hope this will work)
- Also written KeStallExecution.
- Now, we are back to where we hang before Phase 1 (so Phase 1 doesn't occur anymore).
- This hang is because we used to do a DPC here, which isn't good, since IRQL is already at dispatch.
- Instead, the correct course of action is to enter the idle loop, which will schedule the phase 1 thread.
- But, we don't have an idle loop yet ;-)


svn path=/trunk/; revision=33969
2008-06-14 22:28:40 +00:00
Matthias Kupfer
8b9fa093a3 - Give listbox in explorer searchprograms dialog i18n column heads (only done for German and English, other language need to be done)
svn path=/trunk/; revision=33968
2008-06-14 22:21:44 +00:00
ReactOS Portable Systems Group
e66a86c8b9 - Fix stupid IRQL/Interrupt handling code that someone wrote ;):
- Get rid of KeSwapIrql -- both lower and higher IRQL handling was treated the same!
  - We can now re-activate the assert in the IRQL code
  - Disable interrupts before changing the interrupt mask!!!
  - And re-enable them solely if they were enabled.
  - Clear interrupts mask before setting a new one -- raising isn't always additive!
  - Fix KiInterruptHandler to perform operations in the right order.
  - Finish implementing interrupt exit code.
- Code KeArmStatusRegisterGet to read CPSR and interrupt status.
- Make debug prints a lot more readable and dont trying to acquire the stack during pool allocations.
- Setup the clock interval timer!!!
- This code regresses progress but makes stuf fwork right. We'll get better after implementing the stall interrupt.


svn path=/trunk/; revision=33967
2008-06-14 22:02:50 +00:00
Colin Finck
ff164b383d - Implement the code for the "Run" and "Shutdown" menu items, create stubs for the other custom commands
- Replace the ROS-specific STDCALL by APIENTRY for the function prototypes

svn path=/trunk/; revision=33966
2008-06-14 21:18:08 +00:00
James Tabor
e264b0b3c9 Patch by carlo bramix at libero dot it: Bug 3336 statusbar in the wrong place.
svn path=/trunk/; revision=33965
2008-06-14 17:10:55 +00:00
Matthias Kupfer
11e8d42306 Vytis Girdzijauskas <cman AT cman DOT us>
- time zone update to sync with Windows tz data
- See issue #3084 for more details.

svn path=/trunk/; revision=33964
2008-06-14 11:49:55 +00:00
Matthias Kupfer
9439a307c3 niski_ (bjauy AT go2 DOT pl)
- polish language patch for shell32.
- See issue #3338 for more details.

svn path=/trunk/; revision=33963
2008-06-14 10:23:05 +00:00
Matthias Kupfer
15ce5e598a fix/add some german translations
svn path=/trunk/; revision=33962
2008-06-14 08:51:42 +00:00
Aleksey Bragin
17f5df55c4 - Release the acquired spinlock in IoUnregisterShutdownNotification(), spotted by Cameron Gutman.
svn path=/trunk/; revision=33961
2008-06-14 08:16:22 +00:00
James Tabor
ddd1764f85 Patch by Jeffrey Morlan (mrnobo1024 at yahoo dot com, irc: Goplat), Registers ansi scroll bar proc.
svn path=/trunk/; revision=33960
2008-06-14 05:34:02 +00:00
Colin Finck
427bda68a5 Don't use MenuCleanupRosMenuItemInfo for an array of Items allocated on the heap!
This function is meant to be used for a single menu item info and just frees the memory allocated for dwTypeInfo.

Replaced this with a simple HeapFree call to free the memory for the whole array allocated in MenuGetAllRosMenuItemInfo.
Fixes a heap corruption discovered by encoded.

See issue #3349 for more details.

svn path=/trunk/; revision=33959
2008-06-14 00:00:20 +00:00
Colin Finck
aa42a19f40 Revert parts of r33578:
- First of all, MenuSetItemData is only called from InsertMenuA/W and ModifyMenuA/W.
  Therefore the passed MENUITEMINFO structure will always be empty, so it makes no sense to check for flags in this structure.
  This way, I could simplify the code block for MF_BITMAP.
- Also fType = MFT_BITMAP and fMask = MIIM_BITMAP at the same time passed to win32k don't work.
  Changing this back to only set fMask fixes bitmap menus.
- Furthermore the data for MF_OWNERDRAW is really stored in dwItemData and not in dwTypeData.
  The MSDN documentation for InsertMenu applies here, not the one for the MENUITEMINFO structure.
  This fixes owner-drawn menus like the one in Abiword.

See issue #3272 for more details.

svn path=/trunk/; revision=33958
2008-06-13 23:14:27 +00:00
Matthias Kupfer
7a0f6cc635 - german translation of explorer completed
- minor fix for label text size in german version of desk.cpl

svn path=/trunk/; revision=33957
2008-06-13 20:33:42 +00:00
James Tabor
f7a11147ec Add notes, no code change.
svn path=/trunk/; revision=33956
2008-06-13 18:19:28 +00:00
Timo Kreuzer
86853e2cea MSDB KB 145994 (http://support.microsoft.com/?scid=kb%3Ben-us%3B145994): yBaseUnit is textmetric->tmHeight not average text extent. Testing confirms that GdiGetCharDimension returns this as height. This makes dialog boxes less stretched in height. Still not identical to XP. calx.exe: On XP yBaseUnit == 13, on ROS == 14 (was 16 before)
svn path=/trunk/; revision=33955
2008-06-13 13:33:53 +00:00
Thomas Bluemel
451c7e1c69 Revert 33953. This is completely wrong! WINE doesn't quite get the ordinals right. Ordinal 200 really should be SHCreateDesktop and ordinal 201 really should be SHDesktopMessageLoop. I am currently working on a patch for this. The fact that explorer-new was able to start with these changes is just pure coincidence.
svn path=/trunk/; revision=33954
2008-06-13 13:14:08 +00:00
Dmitry Chapyshev
756f63990f - Implement AddCommasW
- Implement SHLocalAlloc
- Implement SHLocalFree
- Implement SHLocalReAlloc
explorer-new starts in reactos now!

svn path=/trunk/; revision=33953
2008-06-13 07:58:34 +00:00
Thomas Bluemel
a21b191fdf Add missing definitions
svn path=/trunk/; revision=33952
2008-06-12 23:38:09 +00:00
Timo Kreuzer
ee9c5d0a88 Patch by Jeffrey Morlan (mrnobo1024 at yahoo dot com, irc: Goplat), modified by me:
The freetype asm function FT_MulFix clobbers the edx register, but doesn't tell it to gcc explicitly, so when inlined versions were resulting in wrong results. Fix it by also marking edx as output register.
Also enable commented out code in win32k again that works correctly now.
By me:
I modified the patch to not alter any 3rd party code, but instead I copied the fuction to _ftmulfix_ros.c and also coplied the container file ftbase.c which now uses the fixed function from our private file.
This fixes a bunch of text output issues (underscore, text marking)
See issue #3346 for more details.

svn path=/trunk/; revision=33951
2008-06-12 20:50:12 +00:00
Thomas Bluemel
cdbc0773a5 Lookup DrawCaptionTemp () only once during startup
svn path=/trunk/; revision=33950
2008-06-12 16:50:57 +00:00
Thomas Bluemel
5d074bd015 Fix call to DrawCaptionTemp ()
svn path=/trunk/; revision=33949
2008-06-12 15:45:09 +00:00
Aleksey Bragin
cb467b55e9 - Fix a bug in timedate.cpl, where an incorrect color was passed.
- Add bounds checking for GetSystemMetrics both in user32 and in kernel counterpart.
- Based on a patch from bug 3316.
See issue #3316 for more details.

svn path=/trunk/; revision=33947
2008-06-12 09:50:12 +00:00
Aleksey Bragin
57da8d9f18 - Formatting cleanup for the previously patched functions.
svn path=/trunk/; revision=33946
2008-06-12 09:40:33 +00:00
Aleksey Bragin
3da8a2640d Oriol Pique <oripipa@yahoo.es>
- Minor patch to HEAP_GetPtr to include magic value in debug output.
- Fixing the parameters checking in HEAP_InitSubHeap (it is currently not used - put between #if 0 / #endif ).
- Correcting HEAP_FindFreeBlock which was logging error message as warning (while still returning NULL to caller) by changing severity of logged message.
- Implementing RtlEnumProcessHeaps (previously stubbed out).
- Fixing sanity checks in and implementation of RtlGetProcessHeaps (previously
the function was not checking for the counter value, and also was not assigning anything to the returned value; now this seems to be corrected.
- Fixing RtlValidateProcessHeaps implementation (the function was stubbed out because (most probably, I wasn't able to find a bug mentioning this) it was previously using a global lock for all heaps (which probably could cause some problems in the kernel), now it only locks heaps belonging to the given process - and this is the correct behaviour.

Aleksey Bragin <aleksey@reactos.org>
- Fix typo in ntuser.c, and low severity of debug message.
See issue #2964 for more details.

svn path=/trunk/; revision=33945
2008-06-12 09:35:24 +00:00
Aleksey Bragin
fd13a6484a - Fix two bugs in MiDoMappedCopy: MI_MAPPED_PAGES is pages, not bytes; and a misuse of TotalSize / BufferSize.
- Fix similar mistake in MiDoPoolCopy.
- Patch from bug 3341.
See issue #3341 for more details.

svn path=/trunk/; revision=33944
2008-06-12 09:18:11 +00:00
Aleksey Bragin
b21dc84f01 - Prevent a misunderstanding: kdHandleException means the debugger did NOT handle the exception. Fix the logic, and thus fix vectored exception handling which led to 2nd stage hang in qemu.
- TODO: This ContinueType thing should be reworked into a better logic.
See issue #3344 for more details.

svn path=/trunk/; revision=33943
2008-06-12 08:56:13 +00:00
Daniel Reimer
31bec7ebbf Updated Wordpad, XCopy, WInhlp32 to WIne 1.0rc4
I skipped Collibri's Typo-Fix in the German Wordpad RC File. Collibri, plz send this to Wine.

svn path=/trunk/; revision=33942
2008-06-12 06:23:44 +00:00
Daniel Reimer
6a6c9c1c6c Updated Winefile to Wine 1.0rc4.
Renamed it to Winfile, because this is the name it has under windows.

svn path=/trunk/; revision=33941
2008-06-12 06:22:23 +00:00
ReactOS Portable Systems Group
bf502620c3 - We now implement more proper context switching.
- This fixes an issue where code was using PCR->CurrentThread but x86/shared routines use PRCB->CurrentThread.
- Added a note to explain the difference, and we now set both.
- We currently stop at Phase 1 HAL Initialization.

svn path=/trunk/; revision=33940
2008-06-12 04:32:45 +00:00
Thomas Bluemel
20ebf8a9c5 Use band styles provided by the IDeskBand interface
svn path=/trunk/; revision=33939
2008-06-12 03:12:02 +00:00
Thomas Bluemel
1777cc3a03 More IBandSite support code
svn path=/trunk/; revision=33938
2008-06-12 01:14:18 +00:00
ReactOS Portable Systems Group
0bcdd3cdcc - We now implement a super-basic (and probably broken) context switching mechanism.
- We completely ignore setting the thread to the right scheduler state, and don't do any APC delivery checking, or any other work.
- We now implement a basic KiThreadStartup, which behaves properly (we believe). Doesn't handle user-mode threads yet, though.
- This gets us through PspSystemThreadStartup, and..
- We now reach Phase1InitializationDiscard! A major step has been reached, now it's time to cleanup what has been done until now and verify it to be correct.
- Then we move on... the next two things will be 1) Hal Initialization (setting up the timer) and 2) Displaying the boot logo.
- Graphics will require using the PL-110 LCD Controller.

svn path=/trunk/; revision=33937
2008-06-12 00:40:53 +00:00
ReactOS Portable Systems Group
c84fd405bf - We now implement a skeleton framework for context switching
- The only things we do are swap the stack and then display the old/new thread/stack.
- More work to be done to actually save the non-volatiles, prepare the thread state, and restore the volatiles for the new thread.
- Then we will return to the saved return address, and we should be in Phase 1 with working thread switching/scheduling.

svn path=/trunk/; revision=33935
2008-06-11 19:13:25 +00:00
ReactOS Portable Systems Group
0eec889557 - We now make appropriate space on the stack to save the old IRQL in the trap frame.
- Save the old IRQL and assert it in the interrupt handler.
- Fix KTRAP_FRAME structure.


svn path=/trunk/; revision=33934
2008-06-11 18:39:44 +00:00
ReactOS Portable Systems Group
e6d9765059 - Fix build on ARM:
- _iob is already defined as a dll_import
  - _rotl intrinsic is now implemented (should use rol instruction, but not sure on the syntax!)
  - Add a stub psctx.h for ARM
  - Added InterlockedEXchangePointers
  - Fix uninitialized variable warning in ex/resource.c
- Start to implement interrupt handling:
  - We now have a rudimentary interrupt handler that takes care of software interrupts
  - We now have a rudimentary DPC handler which takes care of switching to the next thread, if any
  - We now setup the HAL Interrupt Source -> IRQL Table (The IRQLMask Table).
  - Implemented HalGetInterruptSource, which allows us to get the interrupt # that cause the IRQ.
    Note: this wasn't needed on Alpha/PPC/MIPS NT ports, because that information is stored on the CPU,
    and the kernel could read it -- we must abstract it through the HAL.
  - Add the OldIrql to the TRAP_FRAME, we don't use it yet.
- We are now ready to context switch to the Phase 1 thread.

svn path=/trunk/; revision=33933
2008-06-11 16:48:07 +00:00
Matthias Kupfer
1f2f57762a - minor fix of german wordpad menu entry
- german translation of dialog resource of keyboard layout switcher completed including start menu entry

svn path=/trunk/; revision=33932
2008-06-11 12:31:23 +00:00
Aleksey Bragin
f80fd06171 - Fix build.
svn path=/trunk/; revision=33931
2008-06-11 12:00:09 +00:00
Aleksey Bragin
7d5306e11b - Fix typos in NDK structures.
svn path=/trunk/; revision=33930
2008-06-11 11:48:59 +00:00
Aleksey Bragin
87f175a68a - Unregress KDBG: It has to increment EIP in case of STATUS_BREAKPOINT to skip over the current instruction, but now do it inside KDBG's exception handler.
- In Kd and GDB exception handler wrappers, return FALSE if kdDoNotHandleException, and return TRUE otherwise (kdHandled / kdContinue). After my previous commit these functions were always returning FALSE / exception not handled.

svn path=/trunk/; revision=33929
2008-06-11 11:34:04 +00:00
Aleksey Bragin
8a2b9285a7 - Revert 33689 as breaking mIRC installation.
See issue #3328 for more details.

svn path=/trunk/; revision=33928
2008-06-11 09:05:39 +00:00
Aleksey Bragin
7b57917c46 - Completely rewrite most of stdio functions by merging Wine's msvcrt code adapted for ReactOS.
- Leave and refactor existing underlying linux-code based sprintf implementation into lnx_ prefixed functions.
- Misc source code and headers cleanup.
- Fixes bugs 2910, 2803.
See issue #2803 for more details.

svn path=/trunk/; revision=33927
2008-06-11 08:54:46 +00:00
James Tabor
553e9f4821 Fix warnings.
svn path=/trunk/; revision=33926
2008-06-11 04:45:42 +00:00
Thomas Bluemel
ab5a70b128 More IDeskBar support
svn path=/trunk/; revision=33925
2008-06-11 03:52:45 +00:00
Thomas Bluemel
4a314da798 Improve IBandSite support a bit
svn path=/trunk/; revision=33924
2008-06-11 03:37:56 +00:00
Thomas Bluemel
46ccbc43af Fix a small bug
svn path=/trunk/; revision=33923
2008-06-11 03:36:21 +00:00
James Tabor
93c1e5a013 Retool SetSysColors and use SEH.
svn path=/trunk/; revision=33922
2008-06-10 21:57:16 +00:00
Eric Kohl
78c0b7a1df Enable the user to modify the profile information of a user account.
svn path=/trunk/; revision=33921
2008-06-10 21:56:19 +00:00
James Tabor
07bd1ef0d2 Use server information for GetSystemMetrics.
svn path=/trunk/; revision=33920
2008-06-10 21:09:31 +00:00
Colin Finck
e851af141d Matthias Kupfer (matthias DOT kupfer AT informatik DOT tu-chemnitz DOT de)
- Give the Run Dialog resources a default title (only done in German and English resources so far, others still need to be done)
- Add support for passing no title to RunFileDlg, so that it uses the default title
- Pass no hardcoded english title in Explorer and Task-Manager.
  I slightly modified the patch to also remove the other hardcoded text passed in Explorer.

See issue #3340 for more details.

svn path=/trunk/; revision=33919
2008-06-10 19:19:59 +00:00
James Tabor
baa980036b Fix build, add float to long union for dword transfer.
svn path=/trunk/; revision=33918
2008-06-10 05:48:18 +00:00
James Tabor
f79680eb17 Move NtGdiAngleArc to arc.c.
svn path=/trunk/; revision=33917
2008-06-10 05:25:37 +00:00
James Tabor
4feb37f50f Move AngleArc out of stubs.
svn path=/trunk/; revision=33916
2008-06-10 05:14:35 +00:00
Thomas Bluemel
2edcc21ee5 shlwapi.dll is already loaded, no need to use LoadLibrary
svn path=/trunk/; revision=33915
2008-06-10 03:13:12 +00:00
Thomas Bluemel
561efe278f - Don't lookup DrawCaptionTempA/W by ordinal but rather by name
- Various minor fixes

svn path=/trunk/; revision=33914
2008-06-10 02:58:13 +00:00
Thomas Bluemel
f1d9b70f81 Do a more correct check in EDIT_IsInsideDialog ()
svn path=/trunk/; revision=33913
2008-06-10 00:31:10 +00:00
Timo Kreuzer
9fe71b1a02 fix an endless loop bug
See issue #2142 for more details.

svn path=/trunk/; revision=33912
2008-06-09 20:57:30 +00:00
Gregor Brunmar
eaff1fdfa2 Fixed four more winetests, code taken from wine again
svn path=/trunk/; revision=33910
2008-06-09 19:14:36 +00:00
Gregor Brunmar
2692c60678 Fixed 11 winetests for edit boxes based on code from wine but tweaked for ReactOS
svn path=/trunk/; revision=33909
2008-06-09 19:07:54 +00:00
Timo Kreuzer
f5a1426f4c add simple TTF icon to fontview
svn path=/trunk/; revision=33908
2008-06-09 18:10:02 +00:00
James Tabor
1662719886 - Fix Ellipes, for Filip Navara, nice work!
- Ref: http://www.reactos.org/archives/public/ros-dev/2007-January/009090.html
- Test: http://www.reactos.org/pipermail/ros-dev/attachments/20070118/46ace072/attachment-0001.exe

svn path=/trunk/; revision=33907
2008-06-09 16:46:52 +00:00
James Tabor
ada39af182 Move old pie code into arc.
svn path=/trunk/; revision=33906
2008-06-08 19:00:50 +00:00
Aleksey Bragin
730d8e4ee5 - Update dciddi.h header based on Magnus's patch.
- Fix dciman32.dll compilation.

svn path=/trunk/; revision=33905
2008-06-08 18:26:22 +00:00
Pierre Schweitzer
cbf728b477 Synced shlwapi_winetest.exe with Wine HEAD
svn path=/trunk/; revision=33904
2008-06-08 17:14:50 +00:00
Pierre Schweitzer
8a7513a6c7 SySynced shlwapi.dll with Wine HEAD
svn path=/trunk/; revision=33903
2008-06-08 17:13:54 +00:00
Dmitry Chapyshev
939c49a493 - Remove duplicate code
- Fix formatting
- Add checking parameters for more functions

svn path=/trunk/; revision=33902
2008-06-08 15:04:00 +00:00
Eric Kohl
5736c65128 - User properties:
Fix a memory leak.
  Enable the Apply button when the users full name or description is changed.
- Group properties:
  The group description can be changed.
  Update the group list when the group description changes.
  

svn path=/trunk/; revision=33901
2008-06-08 13:34:42 +00:00
Hervé Poussineau
8db6f07370 Fix debug message
svn path=/trunk/; revision=33899
2008-06-08 09:52:56 +00:00
Dmitry Chapyshev
9364f96a85 - Add gdiplus test to bootcd
svn path=/trunk/; revision=33898
2008-06-08 09:49:48 +00:00
Dmitry Chapyshev
077d269069 - Add wine test for gdiplus
svn path=/trunk/; revision=33897
2008-06-08 09:47:47 +00:00
Magnus Olsen
cfd749136a add dummy test for dciman32 for now, real test will come later
svn path=/trunk/; revision=33896
2008-06-08 08:29:04 +00:00
Aleksey Bragin
7245944072 - Magnus: Reformat clip.c source code to better match overall coding style. No code logic change.
svn path=/trunk/; revision=33895
2008-06-08 07:31:10 +00:00
James Tabor
b557c10181 Update NtUserInitializeClientPfnArrays add additional structures and types for future support.
svn path=/trunk/; revision=33894
2008-06-08 03:34:25 +00:00
Timo Kreuzer
b8ceca0d0d Fix some region leaks: GdiSelectVisRgn copies the region, so the given one it must be deleted afterwards. This code is not perfect ~ as Jim already said, not completed. But it's at least working correctly now. Say welcome to a stable running Firefox 1.5.
Also added some DPRINTs on failures.

svn path=/trunk/; revision=33893
2008-06-08 00:43:07 +00:00
Eric Kohl
58c925232a Real fix for the broken netapi32.dll.
svn path=/trunk/; revision=33892
2008-06-07 22:50:55 +00:00
Eric Kohl
f3091aac50 Fix for broken netapi32.dll.
svn path=/trunk/; revision=33891
2008-06-07 22:44:15 +00:00
Eric Kohl
57efc6d296 - Group properties: Display the SID of well-known members.
- User properties: Store changes to the general settings.

svn path=/trunk/; revision=33890
2008-06-07 22:31:24 +00:00
Hervé Poussineau
c844e808fd Write the complete error message to debug log, instead of partial information
svn path=/trunk/; revision=33889
2008-06-07 20:44:57 +00:00
Aleksey Bragin
3f4244aafc - Cleanup leftovers and bugs from GreatLord's fix. I think this is my last "postfix" of GreatLord's commits to trunk.
svn path=/trunk/; revision=33886
2008-06-07 12:58:48 +00:00
Magnus Olsen
f984375fa8 BugFix : NtGdiStretchDIBitsInternal
it did not check after some NULL pointer and did crash in firefox. 
and some reason  NtGdiCreateCompatibleBitmap fail in some case, that what happen in firefox 1.5.

svn path=/trunk/; revision=33885
2008-06-07 11:35:53 +00:00
Magnus Olsen
d1fd748e27 fix one winetest for Bitmap and add note why some alpha blend test fails.
svn path=/trunk/; revision=33884
2008-06-07 10:15:38 +00:00
Magnus Olsen
8f663e980b Fixed Alphablend crash in win32k
svn path=/trunk/; revision=33883
2008-06-07 09:43:35 +00:00
Aleksey Bragin
96bd76c450 - Revert 33881, PatBlt may be buggy, but what was introduced in 33881 was a non-working hack. Unregresses FF2.0 installer having a black rectangle in the bottom of its window.
svn path=/trunk/; revision=33882
2008-06-07 09:20:05 +00:00
Magnus Olsen
66efb44d68 disable NtGdiPatBlt code, in some case it can cause random crash and have some graphic glichters it need be rewrite.
svn path=/trunk/; revision=33881
2008-06-07 07:58:39 +00:00
Magnus Olsen
9199d4af30 revert some change I did in r33877 for buch.c object it cause to many regress
svn path=/trunk/; revision=33880
2008-06-07 07:22:09 +00:00
James Tabor
099735586d This does fix bug 3237. I've run this patch for two months now, it is still in the rough and needs cleaning up. Separates Owned and Class styles and gives them their own DCes.
svn path=/trunk/; revision=33879
2008-06-07 02:58:15 +00:00
Magnus Olsen
888f12a297 small cleanup thx irc: aicom for notice this.
svn path=/trunk/; revision=33878
2008-06-07 01:18:55 +00:00
Magnus Olsen
12528a2fc8 add a NULL check in IntGdiInitBrushInstance if XlateObj is NULL fall back to use white as default color when GDIBRUSH_IS_SOLID are set.
svn path=/trunk/; revision=33877
2008-06-07 01:14:12 +00:00
Magnus Olsen
48150abcea BitBlt
Make it act bit more like windows, use PatBlt instead for BitBlt for no ROP source for it bit faster
Thx irc Goplat found my bug in the macro. 

svn path=/trunk/; revision=33876
2008-06-07 00:51:38 +00:00
Magnus Olsen
b879687075 BugFix : NtGdiPatBlt did not call on NtGdiMaskBlt when source have been set in ROP
svn path=/trunk/; revision=33873
2008-06-06 23:37:41 +00:00
Magnus Olsen
72e6fde566 BugFix : NtGdiBitblt follow member BitmapDest and BitmapSrc one of them can be NULL in NtGdiBitBlt logic so do not try access members in null pointer
svn path=/trunk/; revision=33872
2008-06-06 23:09:42 +00:00
Aleksey Bragin
00d190a404 - Fix KDBG's EIP munging.
- Don't make single-step break into KDBG if it comes from user-mode.
- Don't make KDBG return "continue" for breakpoint/singlestep, it should return "do not handle exception".
- Add 20 new invalid instructions detected instead of crashing/"UNHANDLED CODE".
- Fix DR registry handling (set DebugActive = TRUE when needed, and set Context->Dr7).
- Fix set/get context: These two functions didn't work at all. Get actually performed a Set, and Vice-versa. Also, Set would incorrectly set the frame of the caller, not the target thread. Also, the trap frame pointer wasn't being grabbed correctly for kernel-mode callers.
- Move the code to a non-portable i386 directory, since the code is architecture-specific.
- Move GET_SET_CTX_CONTENT out to ps.h.

svn path=/trunk/; revision=33871
2008-06-06 21:51:21 +00:00
Aleksey Bragin
3eb4e85097 - Fix a major bug while closing a process that was debugging another process, which would cause a bugcheck because it tried to kill itself while it was being killed -- instead, it should try killing the debuggee! fixes the bug that arty and I fought about when he said "process killing seems broken" and tried to add delayed-object-closing. Patch by Alex Ionescu.
- Remove a leftover from kernel32 which assumed that if "BeingDebugged" was TRUE, the library was being tested on an XP machine.

svn path=/trunk/; revision=33870
2008-06-06 21:43:37 +00:00
Aleksey Bragin
edc9924731 - Change the registry name from Registry to REGISTRY, which fixes almost all Wine registry tests and any other application using the registry in case-sensitive mode, because the real name is REGISTRY.
- Add SEH to NtCreate/OpenKey, which fixes the rest of the wine registry tests.
- Fix PnP Manager code that was doing case sensitive registry access with "Registry".

svn path=/trunk/; revision=33869
2008-06-06 21:40:37 +00:00
Aleksey Bragin
d409591250 - Update RtlIsTextUnicode (fixes some ntdll rtlstr winetests).
svn path=/trunk/; revision=33868
2008-06-06 21:33:43 +00:00
Dmitry Chapyshev
036789044b - Sync tahoma fonts with wine head
svn path=/trunk/; revision=33867
2008-06-06 19:40:27 +00:00
Aleksey Bragin
45ebe0ccc2 - Update many parts of CRT, and misc cleanup.
- Largely based on the patch by Samuel Serapion.
- Include file.c from Wine's msvcrt, but exclude its contents from the build process for now.

svn path=/trunk/; revision=33866
2008-06-06 17:49:24 +00:00
Aleksey Bragin
3f2bc58da5 - Move scanf.c into strings, it belongs there.
- Move thread.c to process, and remove outdated/duplicated copy.
- Sync threadx with Wine.
- Update README.WINE accordingly.

svn path=/trunk/; revision=33865
2008-06-06 12:20:28 +00:00
Aleksey Bragin
c129f7fcd3 - Fix a typo.
svn path=/trunk/; revision=33864
2008-06-06 11:26:14 +00:00
James Tabor
4d4d130154 Attempt to fix bug 3259. Use IntGdiCleanDC for error checking.
svn path=/trunk/; revision=33863
2008-06-06 02:59:12 +00:00
Magnus Olsen
af03c08689 commit 33747 did remove almost all redirect to ntdll and to some internal functions, I re add thuse redirect
also by mistake   _seh_longjmp_unwind was not longer redirected to  seh_longjmp_unwind it is now again 
thx irc nick : Goplat to notice this. 

svn path=/trunk/; revision=33862
2008-06-05 23:51:27 +00:00
Timo Kreuzer
d448c26dba patch by Jeffrey Morlan (mrnobo1024 at yahoo dot com, irc: Goplat):
fix coordinate transformation for NtGdiSetDIBitsToDevice,
fixes bug 3200
See issue #3294 for more details.

svn path=/trunk/; revision=33861
2008-06-05 22:23:19 +00:00
Timo Kreuzer
56d318331b co_MsqTranslateMouseMessage:
- add a comment about who removes a message from a queue
- fix filter handling (typo)
- correct the callers next list entry, if it might have been deleted. Yes, it's ugly, but the only way I could currently think of without rewriting everything and it was already ugly before. This fixes bug 2317 and some random crashes with FF.
See issue #2317 for more details.

svn path=/trunk/; revision=33860
2008-06-05 16:57:27 +00:00
Timo Kreuzer
fbf0cbd302 IntEngGradientFill: don't assert, if no CLIPOBJ is given, instead handle this case in EngGradientFill, creating a CLIPOBJ from bounds rect.
svn path=/trunk/; revision=33859
2008-06-05 00:23:27 +00:00
James Tabor
6378983897 This should do it for pen. Tested the same with wine tests.
svn path=/trunk/; revision=33858
2008-06-04 21:05:18 +00:00
James Tabor
e61ef65c4a Sorry, I should have spotted this when I was in here.. I think this takes care of the leak and crash. Wine testing is back with the same errors. So we are good to go.
svn path=/trunk/; revision=33857
2008-06-04 17:45:18 +00:00
Timo Kreuzer
a1aca981cf - fix mem leak when failing to create an extpen with penstyles
- rename a tag, change a tag, remove unused tag

svn path=/trunk/; revision=33856
2008-06-04 16:15:24 +00:00
James Tabor
63428932b8 Prevent a crash if the list is empty and check for zero. If (List is Empty! DCE!) is called before the crash, this means we have a thread that is not finished running before shutdown. There is a proper way for handling this
svn path=/trunk/; revision=33855
2008-06-04 16:07:47 +00:00
Aleksey Bragin
bcd6451e5b - libcntpr does not need console/file versions of scanf.
svn path=/trunk/; revision=33854
2008-06-04 10:52:54 +00:00
Aleksey Bragin
7b68ed11e0 - Fix crtdll build.
svn path=/trunk/; revision=33853
2008-06-04 10:41:17 +00:00
Aleksey Bragin
97e7725dc9 - Misc cleanup of kmtest.
- Add paged/nonpaged pools test routines.
- Comment out invocations of other tests temporary.

svn path=/trunk/; revision=33852
2008-06-04 09:50:19 +00:00
Aleksey Bragin
170743424f - Misc ctype wine sync.
svn path=/trunk/; revision=33851
2008-06-04 09:45:12 +00:00
Aleksey Bragin
683a6c4181 - Remove duplicated sscanf wrapper.
- Sync scanf.c / scanf.h with Wine.

svn path=/trunk/; revision=33850
2008-06-04 09:10:40 +00:00
James Tabor
6857246d17 No need to do it twice.
svn path=/trunk/; revision=33849
2008-06-04 06:10:49 +00:00
Gregor Brunmar
f91ca27dd7 * Fixes 14 wine tests for the edit control
* Indentation fixes

svn path=/trunk/; revision=33848
2008-06-04 06:08:37 +00:00
James Tabor
01c9364e27 Implement IntGdiSetBrushOwner and IntGdiAllocObjAttr.
svn path=/trunk/; revision=33847
2008-06-04 05:43:11 +00:00
James Tabor
833d68c273 Separate SelectPalette function from User and move it to GDI.
svn path=/trunk/; revision=33846
2008-06-04 05:08:46 +00:00
James Tabor
528fc30198 Check to see if the list is empty.
svn path=/trunk/; revision=33845
2008-06-04 01:52:13 +00:00
Timo Kreuzer
fa7b96c770 fix indentation
svn path=/trunk/; revision=33844
2008-06-03 23:59:26 +00:00
Timo Kreuzer
7bc03a5188 fix checks for deleted gdi objects and add GDI_DEBUG function to trace the deleter of an object.
svn path=/trunk/; revision=33843
2008-06-03 23:56:09 +00:00
James Tabor
7c21c02f9b Attempt to fix bugs 3050 and 3209. DCE list becomes corrupted during shutdown.
svn path=/trunk/; revision=33841
2008-06-03 21:13:10 +00:00
Dmitry Chapyshev
37a3eaf812 - Update English translation
svn path=/trunk/; revision=33840
2008-06-03 17:05:24 +00:00
Dmitry Chapyshev
a7d6984117 - Update all translations
svn path=/trunk/; revision=33839
2008-06-03 16:56:23 +00:00
Colin Finck
81d738e77c Slovak keyboard layout update by Milan Margus (malin23 AT atlas DOT sk)
See issue #1251 for more details.

svn path=/trunk/; revision=33838
2008-06-03 13:47:19 +00:00
Dmitry Chapyshev
6ed534a3b0 - Implement EnumSystemLanguageGroupsA/W
- Implement EnumSystemLocalesA
- Reimplement EnumSystemLocalesW

svn path=/trunk/; revision=33837
2008-06-03 13:20:41 +00:00
Dmitry Chapyshev
1f7ff705dd - Add Language Groups values
svn path=/trunk/; revision=33836
2008-06-03 13:17:02 +00:00
Dmitry Chapyshev
348822f367 - More implement "Regional Options" dialog
- Small fix "Advanced" dialog

svn path=/trunk/; revision=33835
2008-06-03 11:55:02 +00:00
Dmitry Chapyshev
5249beecfa - Implement EnumSystemGeoID
- Implement GetGeoInfoA/W (partially)
- Small fix EnumSystemCodePagesA/W

svn path=/trunk/; revision=33834
2008-06-03 11:51:21 +00:00
Dmitry Chapyshev
0b5dd6ddfe - Add geographic locations
svn path=/trunk/; revision=33833
2008-06-03 11:48:16 +00:00
James Tabor
e8eda04c27 Move from fixed PrimarySurface to pointer based pPrimarySurface. Misc changes..
svn path=/trunk/; revision=33832
2008-06-03 03:41:54 +00:00
James Tabor
bcefe305f1 Update Dc level structure.
svn path=/trunk/; revision=33831
2008-06-02 21:10:31 +00:00
James Tabor
b0c65c30fe Move xform data from W structure into DcLevel within unions. Why: Sticking with systems floating point and reducing the size of DC.
svn path=/trunk/; revision=33830
2008-06-02 19:51:04 +00:00
Gregor Brunmar
720d38711f Added dialog FNID
svn path=/trunk/; revision=33829
2008-06-02 19:15:33 +00:00
James Tabor
114a366a38 Stefan Ginsberg <stefan__100__ at hotmail.com>
- Remove old DCOrg and replace it with ptlDCOrig.

svn path=/trunk/; revision=33828
2008-06-02 17:53:53 +00:00
Dmitry Chapyshev
ae9a18969f - Update txtsetup languages list
svn path=/trunk/; revision=33827
2008-06-02 15:35:34 +00:00
Dmitry Chapyshev
d35aa6d4ce - Add more languages
- Add scrolling to position in languages list

svn path=/trunk/; revision=33826
2008-06-02 15:34:57 +00:00
Aleksey Bragin
204acf76b0 Stefan Ginsberg <stefan__100__@hotmail.com>
- Remove ExTryToAcquireResourceExclusiveLite from NDK since it's not exported by NT kernel.
- Add ObSetSecurityObjectByPointer, RtlInitAnsiStringEx (and implement it, rather straightforward) to NDK.
- Uncomment exports in ntoskrnl_i386.def which are already implemented.
- Add KeInvalidateAllCaches to ARM's stubs.

svn path=/trunk/; revision=33825
2008-06-02 10:21:49 +00:00
Colin Finck
c91fecf968 - Add a test suite for ws2_32.dll
It currently tests the features I needed to adjust/implement when fixing the wininet problem.
  ReactOS currently passes all tests, but fails one if you launch the test app for the second time quickly after the first time (timing problem in the network code?).
- Fix the behaviour on an ioctlsocket FIONREAD call: The output buffer is not touched, when we have no socket, but when we have no connection, it is set to 0.
- Forward the socket call to WSASocketW instead of WSASocketA, minimal performance improvement

svn path=/trunk/; revision=33824
2008-06-01 22:08:45 +00:00
Colin Finck
ce52fa83e3 Use the Windows CreateFile/WriteFile functions instead of open/write.
Fixes compilation with MSVC. (note that you also have to change the calling convention from __stdcall to __cdecl in the auto-created project file for the lib)

svn path=/trunk/; revision=33823
2008-06-01 20:34:12 +00:00
Hervé Poussineau
78faaa3063 Fix debug message
svn path=/trunk/; revision=33822
2008-06-01 19:56:21 +00:00
Hervé Poussineau
6a7b9457dc Add a "ReactOS (WinLdr)" entry when using a debug build
svn path=/trunk/; revision=33821
2008-06-01 19:15:15 +00:00
Colin Finck
0f76b280cc - Add a parameter for listing all valid test names
- Generate valid XHTML 1.0 Strict

svn path=/trunk/; revision=33820
2008-06-01 18:37:55 +00:00
Hervé Poussineau
879d178c13 Remove dead code (GetActualSourceFilename, GetSourceFilenames, GetSourceFilenamesWithoutGeneratedFiles)
In rules, put generated file name at the end of the line

svn path=/trunk/; revision=33819
2008-06-01 18:20:30 +00:00
Colin Finck
d55028d26f Set svn:eol-style "native" for all apitest stuff
svn path=/trunk/; revision=33818
2008-06-01 18:06:22 +00:00
James Tabor
5367e27e3a Stefan Ginsberg <stefan__100__ at hotmail.com> - Move MetaFile stubs into Metafile.c.
svn path=/trunk/; revision=33817
2008-06-01 17:47:46 +00:00
Magnus Olsen
ba14ded010 Adding complete test kit for EngCreateSemaphore, EngAcquireSemaphore, EngDeleteSemaphore, EngReleaseSemaphore
I think it testing all case it can now, and also split up some test to EngDeleteSemaphore and EngReleaseSemaphore and EngAcquireSemaphore, that was in EngCreateSemaphore


svn path=/trunk/; revision=33816
2008-06-01 17:33:51 +00:00
Dmitry Chapyshev
c3f50e79c8 - Update txtsetup.sif
svn path=/trunk/; revision=33815
2008-06-01 17:18:35 +00:00
Dmitry Chapyshev
5fd3663edf - Add more languages
- Update languages

svn path=/trunk/; revision=33814
2008-06-01 17:17:56 +00:00
James Tabor
8a24ff76e0 Use SetDCOwnerEx, this will allow for gracefull errors when changing ownership of the DCs.
svn path=/trunk/; revision=33812
2008-06-01 16:21:38 +00:00
Magnus Olsen
457aee023d add all test we can do for EngCreateSemaphore, it checking some info in the internal HANDLE hsem is same as PRTL_CRITICAL_SECTION struct
svn path=/trunk/; revision=33811
2008-06-01 15:48:51 +00:00
James Tabor
5047d04ffc Imp NtGdiUnmapMemFont and fix NtGdiGetDhpdev.
svn path=/trunk/; revision=33810
2008-06-01 15:22:25 +00:00
Magnus Olsen
0b090eef6a add more test for EngCreateSemaphore, it checking some info in the internal HANDLE hsem is same as PRTL_CRITICAL_SECTION struct
svn path=/trunk/; revision=33809
2008-06-01 15:06:40 +00:00
Eric Kohl
828f4f1216 Add the Membership and Profile pages to the users property sheet. Changing the settings is not implemented yet.
svn path=/trunk/; revision=33808
2008-06-01 15:05:22 +00:00
Magnus Olsen
f54e38e9ac add Test for EngDeleteSemaphore, it only test if it been create or not
svn path=/trunk/; revision=33807
2008-06-01 14:38:02 +00:00
Marc Piulachs
ed39c925a0 set 'installname' attribute for halup to 'hal.dll'
svn path=/trunk/; revision=33806
2008-06-01 13:24:25 +00:00
Marc Piulachs
2c0aa23f29 'base' is not a valid attribute of element 'installfile'
svn path=/trunk/; revision=33805
2008-06-01 13:21:12 +00:00
Dmitry Chapyshev
150abb0844 - Sync with Wine HEAD
svn path=/trunk/; revision=33804
2008-06-01 13:14:02 +00:00
Dmitry Chapyshev
fa6f8006d0 - Update headers
svn path=/trunk/; revision=33803
2008-06-01 13:13:10 +00:00
Dmitry Chapyshev
cfb95de0f7 - Add language groups
svn path=/trunk/; revision=33802
2008-06-01 13:07:38 +00:00
Dmitry Chapyshev
1ddfc357da - Remove SysFontSubstitutes values
svn path=/trunk/; revision=33801
2008-06-01 13:05:55 +00:00
Dmitry Chapyshev
9b6d791e60 - Move layouts to lang headers
- Other small changes

svn path=/trunk/; revision=33800
2008-06-01 12:52:18 +00:00
Hervé Poussineau
b3b07836ef Start Rpc server listener thread before device installer thread
See issue #3068 for more details.

svn path=/trunk/; revision=33799
2008-06-01 10:49:28 +00:00
Daniel Reimer
fcd2a4e62c Bug 3299: czech translation from forum and some slovak translation by Stepan Gabriel - SGABA (sgaba@centrum.cz)
svn path=/trunk/; revision=33798
2008-06-01 10:26:42 +00:00
Magnus Olsen
61f33dad43 merge down changes from win32k-gdi-dx
1. Cleanup the layout it was mix of space and tab for whitespace
2. dllmain add same behoirs as xp/vista

svn path=/trunk/; revision=33797
2008-06-01 07:54:17 +00:00
James Tabor
1177ff923f Sorry again... NtGdiCreateEnhMetaFile will be converted to NtGdiCreateMetafileDC. Keeping the original code for now.
svn path=/trunk/; revision=33796
2008-06-01 05:40:53 +00:00
James Tabor
9adac31641 Sorry,,, NtGdiCreateEnhMetaFile will be converted to
svn path=/trunk/; revision=33795
2008-06-01 05:22:42 +00:00
Timo Kreuzer
2e3c186197 IntGdiLineTo: the dc pen might be deleted, don't assert, instead fall back to BLACK_PEN, fixes a crash when using FF
svn path=/trunk/; revision=33793
2008-06-01 00:54:08 +00:00
Timo Kreuzer
91b1e254fd preserve code for NtGdiCreateEnhMetaFile from win32k (where it's going to be removed later) in gdi32 (where it's going to be implemented later)
svn path=/trunk/; revision=33792
2008-05-31 23:15:34 +00:00
Eric Kohl
4e9ffdff7e User the user-specific date format instead of a hard-coded one.
svn path=/trunk/; revision=33791
2008-05-31 20:09:17 +00:00
Eric Kohl
fbcc10c57e - Add a property sheet for user groups. Settings are visible but cannot be changed yet.
- Add missing SVN properties.

svn path=/trunk/; revision=33790
2008-05-31 19:48:44 +00:00
Dmitry Chapyshev
b82096c544 - Move languages structures to header
- Add structures for adding fonts settings

svn path=/trunk/; revision=33789
2008-05-31 13:29:45 +00:00
Colin Finck
bdec9df44c Sync wininet with Wine. This fixes the Download! issue.
As we implement some more functions in the network stack now, I could remove some hacks from the "wininet_ros.diff" file.
Anyways, the following things still needed to be changed:
- Pass a variable to WriteFile for receiving the number of bytes written. This parameter is not checked for NULL in ReactOS and Windows, when lpOverlapped is also NULL.
  I'll submit a patch about this to Wine as well.
- Replace Unix poll() calls by equivalent select() calls
- Bypass sock_get_error(), directly call WSAGetLastError() as we don't have to translate Unix socket errors.

See issue #3197 for more details.

svn path=/trunk/; revision=33788
2008-05-31 13:02:59 +00:00
Colin Finck
c446f5ff58 Implement support for FIONREAD in WSPIoctl. (hope I did it properly)
It works correctly with the wininet I'll commit later and a test app I wrote myself.

svn path=/trunk/; revision=33787
2008-05-31 12:53:55 +00:00
Colin Finck
923017639c Implement support for MSG_PEEK.
Patch by Art Yerkes with small fix by me to make it working correctly. (verified with a test app)

svn path=/trunk/; revision=33786
2008-05-31 12:51:22 +00:00
Colin Finck
cb57056f4b Stub QuerySecurityPackageInfoA and QuerySecurityPackageInfoW, needed for the wininet Wine sync
svn path=/trunk/; revision=33785
2008-05-31 12:49:25 +00:00
Colin Finck
33369deba9 Use FILE_SHARE_READ | FILE_SHARE_WRITE in CopyFileExW to also copy opened files. Thanks to Christoph for the hint.
Behaviour was verified under WinXP SP2.

svn path=/trunk/; revision=33784
2008-05-31 12:48:51 +00:00
Magnus Olsen
de95e30718 revert my last change
1. it break vmware drv, for it align each bitmap row it create
2. diffent behoirs in diffent vm
this did show we have more serius bug to fix before we can apply correct fix.

svn path=/trunk/; revision=33783
2008-05-31 12:17:25 +00:00
Magnus Olsen
9ae5fa0777 Fixed bug in DIB_GetDIBWidthBytes
accdoing OSR it is number of bytes to next scanline in the bitmap, wine version did align it, that why wrong number of bytes was reported also fixed overflow bug in the math, and make sure if some part of win32k send in negtive width, it will not calc it wrong, Remove one hack in win32k, thx of this, Thx fireball that suggest this functions mabey was wrong 

svn path=/trunk/; revision=33782
2008-05-31 11:01:51 +00:00
Timo Kreuzer
2027d8d907 patch by Jeffrey Morlan (mrnobo1024 at yahoo dot com)
Testcase for NtGdiSetDIBitsToDeviceInternal
See issue #3294 for more details.

svn path=/trunk/; revision=33781
2008-05-31 00:04:16 +00:00
Pierre Schweitzer
58871282fd Added more cluster size values.
Spotted by GreatLord
For more informations: http://support.microsoft.com/kb/140365/en-us

svn path=/trunk/; revision=33780
2008-05-30 20:59:56 +00:00
Pierre Schweitzer
4db827d152 Check cluster size when mounting a volume
svn path=/trunk/; revision=33779
2008-05-30 18:55:05 +00:00
Dmitry Chapyshev
18eca01b10 - Implement parsing font.inf (Now it's possible to specify custom fonts for a language/locale!)
svn path=/trunk/; revision=33778
2008-05-30 18:18:36 +00:00
Dmitry Chapyshev
94ae0fcf03 - Change in WindowMetrics font to Tahoma
- Add Tahome font to bootcd
- Add some file association

svn path=/trunk/; revision=33777
2008-05-30 18:12:59 +00:00
Dmitry Chapyshev
2f15b4e95a - Small update inf file
svn path=/trunk/; revision=33776
2008-05-30 18:09:55 +00:00
Dmitry Chapyshev
3b36a9d68f - Add Tahoma fonts from Wine
svn path=/trunk/; revision=33775
2008-05-30 18:09:14 +00:00
Magnus Olsen
0feff0d802 fixed last part for the def file.
now it is 100% completed and update to windows 2003 sp1
sorry I did not do it one commit. 

svn path=/trunk/; revision=33774
2008-05-30 16:00:16 +00:00
James Tabor
7be3065c79 Thanks aicom, remove unimplemented tag.
svn path=/trunk/; revision=33773
2008-05-30 15:42:06 +00:00
James Tabor
326b3a11f8 Use System Bitmap DC, like a stock object but a hDC one.
svn path=/trunk/; revision=33772
2008-05-30 15:18:51 +00:00
Dmitry Chapyshev
ce3527ab5a - Add intl.inf and font.inf to bootcd
- Add shimgvw.dll to bootcd

svn path=/trunk/; revision=33771
2008-05-30 14:06:07 +00:00
Dmitry Chapyshev
00b0111c6c - Add font.inf and intl.inf
svn path=/trunk/; revision=33770
2008-05-30 14:03:19 +00:00
Dmitry Chapyshev
806eed0a98 - Implement EnumSystemCodePagesA/W
svn path=/trunk/; revision=33769
2008-05-30 13:59:20 +00:00
Aleksey Bragin
944d8b65c4 - Really fix _rotl. Thanks KJK::Hyperion!
svn path=/trunk/; revision=33768
2008-05-30 12:16:05 +00:00
Aleksey Bragin
c5d4f0f35a - Fix a warning in 1st of April's implementation of _rotl function.
svn path=/trunk/; revision=33767
2008-05-30 12:10:28 +00:00
James Tabor
c4f0f3c668 Move the init of server info after heap is init.
svn path=/trunk/; revision=33766
2008-05-30 06:13:52 +00:00
James Tabor
87b264fba8 Modified GDIOBJ_Copy and Set owner to return bool. Start the use of server info for metrics data. Tested with Qemu on Linux.
svn path=/trunk/; revision=33765
2008-05-30 04:56:10 +00:00
Magnus Olsen
a8585cf880 1. do not use wine def for reactos
2. this is almost 100% correct list of windows 2003 export list of msvcrt.def and it will make abiword working again for it was missing api wfreopen and allot more api from msvcrt
3. this add back api that was remove api they exists in windows 2003 export list
4. List was provide from colin f

See issue #3293 for more details.

svn path=/trunk/; revision=33764
2008-05-30 01:27:29 +00:00
Magnus Olsen
e141a01feb patch by Jeffrey Morlan ( email : mrnobo1024 at yahoo dot com )
the comment above is my. 
See issue #3295 for more details.

svn path=/trunk/; revision=33763
2008-05-29 22:39:39 +00:00
Timo Kreuzer
22942d0ae4 remove hFirstBitmap from the WIN_DC_INFO struct, wasn't used anyway and use StockObject(DEFAULT_BITMAP) for the default bitmap when creating a mem dc as on windows.
svn path=/trunk/; revision=33762
2008-05-29 19:44:23 +00:00
James Tabor
b61def0c68 Fix build.
svn path=/trunk/; revision=33761
2008-05-29 18:58:03 +00:00
James Tabor
c03961764a Use server information structure for system colors.
svn path=/trunk/; revision=33760
2008-05-29 18:51:17 +00:00
Aleksey Bragin
616f5e97e0 Stefan Ginsberg <stefan__100__@hotmail.com>
- Remove NT3/4 specific unimplemented function and change STDCALL -> NTAPI in mm.c
- Make ReactOS i386 kernel exports almost fully correspond to W2003SP1 ntoskrnl.exe's exports.

svn path=/trunk/; revision=33759
2008-05-29 16:09:47 +00:00
Aleksey Bragin
c5fa27e2d7 Stefan Ginsberg <stefan__100__@hotmail.com>
- Remove usage of unexported RtlDuplicateUnicodeString in green.sys driver (this is basically the same fix which Herve applied to blue.sys).

svn path=/trunk/; revision=33758
2008-05-29 16:00:20 +00:00
James Tabor
802eba95c5 Update NtUserBitBltSysBmp.
svn path=/trunk/; revision=33757
2008-05-29 15:32:05 +00:00
Dmitry Chapyshev
fa06cb862b - Add Russian translation
- Fixed parameters functions
- Add debug functions
- Add stubs for some functions

svn path=/trunk/; revision=33756
2008-05-29 14:30:26 +00:00
Daniel Reimer
e5ec2becfb Bug 3282: Spanish and Basque translation by Javier Remacha (remialdo@gmail.com)
Bug 3284: small slovak translation update by Mario Kacmar (kario@szm.sk)
Part 2 of 2

svn path=/trunk/; revision=33755
2008-05-29 11:40:11 +00:00
Daniel Reimer
b3091b7bf3 Bug 3282: Spanish and Basque translation by Javier Remacha (remialdo@gmail.com)
Bug 3284: small slovak translation update by Mario Kacmar (kario@szm.sk)
Part 1 of 2

svn path=/trunk/; revision=33754
2008-05-29 11:36:08 +00:00
Timo Kreuzer
3c6e5e169c sorry forgot this one
svn path=/trunk/; revision=33753
2008-05-29 01:30:33 +00:00
Timo Kreuzer
d60ea94881 fix palette implementation: use the surface's palette to crate the xlate objects, default to the device default palette. The dc palette defaults to stock object default palette. Implement IntCreateXlateForBlt, used in BitBlt etc functions to perform the needed operations to create the xlate object instead of duplicating the code. This allows for global thermonuclear solitaire again and hopefully doesn't break everything else ;-)
svn path=/trunk/; revision=33752
2008-05-29 01:17:50 +00:00
Timo Kreuzer
8d17551ae9 reapply Magnus Change to fix build.
note to Colin: THAT is the reason why ;-)

svn path=/trunk/; revision=33751
2008-05-28 23:02:26 +00:00
Timo Kreuzer
363e65143d (Nt)GdiFlushUserBatch:
- optmize by moving the locking of the dc to NtGdiFlushUserBatch instead of doing it for every object
- fix wrong pointer calculation (GdiFlushUserBatch returns the size of the objects in bytes not in ULONG)
- simplify a check
- add a comment: on XP NtGdiFlushUserBatch doesn't return NTSTATUS, but a pointer to inside the Teb, maybe random/VOID

svn path=/trunk/; revision=33750
2008-05-28 22:25:08 +00:00
Colin Finck
5a47d0b0ad Sync usp10 with Wine again, fixes the corrupted text display in AbiWord.
Thanks to CMan for regression-testing!

Also I removed Magnus' change in r33700.
If this is really required, please name the reason and add the change to a usp10_ros.diff file as this is a Wine-synched component. Also don't forget to include a header file for the DbgPrint prototype.

See issue #3280 for more details.

svn path=/trunk/; revision=33749
2008-05-28 21:41:41 +00:00
Colin Finck
d7e28db400 Sorry, forgot this file
svn path=/trunk/; revision=33748
2008-05-28 21:37:05 +00:00
Colin Finck
1e95911991 Samuel Serapión (samdwise51 AT gmail DOT com):
- Sync parts of msvcrt with Wine (more will follow)
  This makes us passing a lot more msvcrt Wine tests (like all heap tests)

svn path=/trunk/; revision=33747
2008-05-28 21:08:23 +00:00
Daniel Reimer
c6aa541df2 Add winhlp32 to bootcd.
svn path=/trunk/; revision=33746
2008-05-28 20:10:50 +00:00
Timo Kreuzer
d1dfa7c318 DCOrg is in device coordinates, fix a comment accordingly
svn path=/trunk/; revision=33745
2008-05-28 20:03:36 +00:00
Magnus Olsen
fe93333f0e This file will be share between dxg and win32k explain why will follow in documentations that Z98 helping me writing at moment. they will be release to public
fast explain windows xp and higher have two gdi table, it is better reuse same macro for both, that rewrite it one more time. 

svn path=/trunk/; revision=33744
2008-05-28 20:03:10 +00:00
Timo Kreuzer
ed5eae8cb6 EngLineTo: if pco == NULL use a private clip object, initialized with bounds rect
svn path=/trunk/; revision=33743
2008-05-28 20:00:03 +00:00
Dmitry Chapyshev
7c07a3d2c3 - Add baseaddress for shimgvw.dll
svn path=/trunk/; revision=33742
2008-05-28 19:53:41 +00:00
Dmitry Chapyshev
399371ec09 - Start implementing shimgvw.dll
svn path=/trunk/; revision=33741
2008-05-28 19:52:46 +00:00
Dmitry Chapyshev
862d7688c6 - Update Russian translation
svn path=/trunk/; revision=33740
2008-05-28 19:47:11 +00:00
Timo Kreuzer
cf00bb3cc7 EngCreateClip must allocate CLIPGDI, not only CLIPOBJ
svn path=/trunk/; revision=33739
2008-05-28 17:22:49 +00:00
Timo Kreuzer
492a434c2b [FORMATTING]
Apply consistent indentation (4 spaces)

svn path=/trunk/; revision=33738
2008-05-28 15:20:56 +00:00
Timo Kreuzer
219ad25324 [FORMATTING]
Fix indentation: 4 spaces, no code change

svn path=/trunk/; revision=33737
2008-05-28 14:32:06 +00:00
Daniel Reimer
896c4d6934 Updated winhelp from wine and renamed accordingly from winhelp to winhlp32.
svn path=/trunk/; revision=33736
2008-05-28 07:43:38 +00:00
James Tabor
85baf3767e Add Gdi entry flag.
svn path=/trunk/; revision=33735
2008-05-28 05:01:17 +00:00
James Tabor
56eae74260 NtUserRegisterClassExWOW also given FNID. Added one more fnid type.
svn path=/trunk/; revision=33734
2008-05-28 04:04:35 +00:00
James Tabor
5cccc4e338 NtUserSetWindowFNID is needed for supporting NtUserGetClassName bGetRealClass.
svn path=/trunk/; revision=33733
2008-05-28 02:36:25 +00:00
Timo Kreuzer
31335eaca5 exception.h: merge changes from wine.
Revision 1.37 fixes the exception in ole32 when opening a file with FoxitReader. Also fixes some warnings and hopefully some usermode crashes.

1.28: Jonathan Ernst <jonathan@ernstfamily.ch>
Update the address of the Free Software Foundation.

1.29: Alexandre Julliard <julliard@winehq.org>
include: Exception filters should return LONG, not DWORD.
Also move UnhandledExceptionFilter definitions to winbase.h since they
are there in the latest SDK.

1.30: Rob Shearman <rob@codeweavers.com>
include: Move Wine-specific EH_* defines from winnt.h to include/wine/exception.h.

1.33: Rob Shearman <rob@codeweavers.com>
Add a new convenience macro for an exception handler that handles all exceptions.
When using native compiler exceptions, the previous method of doing
this, __EXCEPT(NULL), would expand to __except(
(NULL)(GetExceptionInformation())) which doesn't compile as NULL isn't a
function.
So add a new macro, __EXCEPT_ALL, which works correctly both when using
native compiler exceptions and without and which makes the meaning of
code in which it is used clearer.

1.35: Alexandre Julliard <julliard@winehq.org>
ntdll: Make the exception handling functions inline.

1.36: Alexandre Julliard <julliard@winehq.org>
exception.h: Only push the exception frame after sigsetjmp.
Otherwise on Windows longjmp may want to mess with the exception frame.

1.37: Alexandre Julliard <julliard@winehq.org>
exception.h: Preserve registers when calling RtlUnwind.

See issue #812 for more details.

svn path=/trunk/; revision=33732
2008-05-28 00:41:13 +00:00
Aleksey Bragin
fb517419d2 - More header fixes.
svn path=/trunk/; revision=33731
2008-05-27 18:59:59 +00:00
Daniel Reimer
17e1cf3127 Polish language Update by Olaf Siejka
svn path=/trunk/; revision=33730
2008-05-27 18:54:23 +00:00
Johannes Anderwald
134baad36b - access parameter after they have been verified as valid
- fixes a kernel32_winetest crash
- fixes bug 3264

svn path=/trunk/; revision=33729
2008-05-27 10:53:23 +00:00
Johannes Anderwald
502222bd4c - fix typo in CreateServiceA
- bug found by Michael martinmnet at hotmail dot com (IRC: bugboy)

svn path=/trunk/; revision=33728
2008-05-27 08:54:07 +00:00
Ged Murphy
29ca8d764e Another typo. Yep, I'm officially today's jester...
svn path=/trunk/; revision=33727
2008-05-27 08:34:28 +00:00
Ged Murphy
7cb9f6e369 fix typo
svn path=/trunk/; revision=33726
2008-05-27 08:32:19 +00:00
Ged Murphy
d0a0a529f1 fix potential buffer overflow
svn path=/trunk/; revision=33725
2008-05-27 08:28:52 +00:00
Aleksey Bragin
6fdb1140a3 Daniel Zimmermann <netzimme@aim.com>
- Sync setlocale from Wine.
See issue #3254 for more details.

svn path=/trunk/; revision=33724
2008-05-27 08:11:06 +00:00
James Tabor
2ac4cc37b5 Rename and add new internal functions.
svn path=/trunk/; revision=33723
2008-05-27 01:38:01 +00:00
James Tabor
950f7264b3 Removed NtGdi rect calls.
svn path=/trunk/; revision=33722
2008-05-26 23:57:30 +00:00
James Tabor
d8b3f39eef Fix the rest too....
svn path=/trunk/; revision=33721
2008-05-26 21:12:17 +00:00
Johannes Anderwald
92d954c542 - check if MDICLIENTINFO is available before retrieving information
- fixes a user32_winetest crash

svn path=/trunk/; revision=33720
2008-05-26 20:52:28 +00:00
James Tabor
4204cdca6e Why are we deleting prgnVis after setting it up? Wine code shows that it is deleted after an error if it was setup prior the error. This fixes a bug introduced in revision 5118.
svn path=/trunk/; revision=33719
2008-05-26 20:36:38 +00:00
Filip Navara
2cb33838e4 Change the code a bit, as Hervé Poussineau points out, the interrupt vector could in some cases be zero.
svn path=/trunk/; revision=33718
2008-05-26 18:51:15 +00:00
Filip Navara
e5b4190710 Fix incorrect logic in IntVideoPortSetupInterrupt and add comment.
svn path=/trunk/; revision=33717
2008-05-26 18:32:40 +00:00
Johannes Anderwald
d543aa9e03 - only convert the devmode if the caller passed one
- fixes a user32_winetest crash failure

svn path=/trunk/; revision=33716
2008-05-26 18:13:17 +00:00
Aleksey Bragin
32a9a804de - Fix misc structures definitions.
svn path=/trunk/; revision=33715
2008-05-26 18:08:50 +00:00
Gregor Brunmar
53baa88e72 Removed legacy code from r33695, trying to free a NULL pointer
svn path=/trunk/; revision=33714
2008-05-26 16:13:19 +00:00
Aleksey Bragin
3c352d6375 - Erase countdown timer when needed. Based on a patch from bug 3279.
See issue #3046 for more details.

svn path=/trunk/; revision=33713
2008-05-26 15:27:09 +00:00
Johannes Anderwald
2dab0a3d0f - add support for a future timeout callback mechanism
svn path=/trunk/; revision=33712
2008-05-26 15:23:24 +00:00
Aleksey Bragin
b0bbb622d9 - Remove $Id tags.
svn path=/trunk/; revision=33711
2008-05-26 14:42:27 +00:00
Johannes Anderwald
d827979288 - check if its a primary monitor before calculating monitor intersection rectangle
- should fix bug 3281

svn path=/trunk/; revision=33709
2008-05-26 13:50:36 +00:00
Aleksey Bragin
76df1b3538 - Add more functions to the lookup table (used by the newest VMWare 6.5 Video driver).
svn path=/trunk/; revision=33708
2008-05-26 11:47:47 +00:00
Daniel Reimer
2b7e19ea24 Bug 3275: Italian resource translation update by Paolo Devoti (devotip@tiscali.it)
Bug 3277: Lithuanian translation by Vytis Girdzijauskas (cman@cman.us)

svn path=/trunk/; revision=33707
2008-05-25 22:44:32 +00:00
Daniel Reimer
2a4639ca5d Bug 3275: Italian resource translation update by Paolo Devoti (devotip@tiscali.it)
Bug 3277: Lithuanian translation by Vytis Girdzijauskas (cman@cman.us)

svn path=/trunk/; revision=33705
2008-05-25 22:15:26 +00:00
KJK::Hyperion
b8ff60afe1 modified include/psdk/winnls.h
Added definitions for NormalizeString and IsNormalizedString (Vista and later)
   Correct an embarassing bug (some macros were terminated with ";", shame shame)

added      nls
added      nls/3rdparty
added      nls/3rdparty/icu
   We officially welcome IBM's excellent ICU4C library for Unicode support to our humble source tree. May our marriage be long, happy and fertile.

added      nls/3rdparty/icu4ros.rbuild
added      nls/dll
added      nls/dll/normaliz_redist
added      nls/dll/normaliz_redist/normaliz.cpp
added      nls/dll/normaliz_redist/normaliz.def
added      nls/dll/normaliz_redist/normaliz_redist.rbuild
added      nls/lib
added      nls/lib/normalize
added      nls/lib/normalize/normalize.cpp
added      nls/lib/normalize/normalize.rbuild
added      nls/nls.rbuild
modified   ReactOS-generic.rbuild
   Incomplete implementation of the redistributable normaliz.dll DLL for Unicode normalization, as a technical preview of what's to come from the use of ICU4C - namely, straightforward, painless implementation of complex algorithms and several megabytes worth of data, with a Win32-compatible interface on top. Currently disabled in the build until basic testing is over.

Watch this space for more of the same.

svn path=/trunk/; revision=33703
2008-05-25 21:00:08 +00:00
Magnus Olsen
b5ab26f7a3 implement LpkDllInitialize for lpk
svn path=/trunk/; revision=33701
2008-05-25 17:52:28 +00:00
Magnus Olsen
b2744bf34b fix right export prefix for LpkPresent.
svn path=/trunk/; revision=33700
2008-05-25 17:51:15 +00:00
Magnus Olsen
ed494cbfbc add dll lpk it is stub for now.
it will be use of gdi32 and user32 later 

svn path=/trunk/; revision=33699
2008-05-25 15:22:09 +00:00
Colin Finck
b1f83f040a Update README.WINE about the crypt32 sync
svn path=/trunk/; revision=33698
2008-05-25 14:16:14 +00:00
Magnus Olsen
b86be5acd2 started added test for InitializeLpkHooks
this tests are not completed more will follow.
this is the frame work for testing InitializeLpkHooks


svn path=/trunk/; revision=33697
2008-05-25 12:04:06 +00:00
Eric Kohl
d53c67dc50 Add the general user properties page. Settings are visible but cannot be changed yet.
svn path=/trunk/; revision=33696
2008-05-25 11:50:56 +00:00
Gregor Brunmar
e1ae479d5a Reinstated DIALOG_get_info() based of Wine's implementation, but with some modifications. This makes us pass the last 6 failed dialog wine tests.
svn path=/trunk/; revision=33695
2008-05-25 11:12:42 +00:00
Dmitry Chapyshev
eaaa829ad8 - Start implementing WDM Audio driver mapper
svn path=/trunk/; revision=33694
2008-05-25 10:41:08 +00:00
Dmitry Chapyshev
8ad6c02608 - Add baseaddress for wdmaud.drv
svn path=/trunk/; revision=33693
2008-05-25 10:39:34 +00:00
Dmitry Chapyshev
bb3f867eee - Add stubs WDM Audio driver mapper
svn path=/trunk/; revision=33691
2008-05-25 09:34:14 +00:00
Gregor Brunmar
21f3bde4eb * Changed to correct signature of NtUserGetClassName()
* Implemented correct behaviour in GetRealWindowClass(), but in reality just shifted the todo parts to NtUserGetClassName() instead.

svn path=/trunk/; revision=33689
2008-05-25 08:36:30 +00:00
Pierre Schweitzer
61350d2a48 Fixed a bug in GetClipboardFormatNameA
svn path=/trunk/; revision=33688
2008-05-25 08:30:33 +00:00
Johannes Anderwald
cdc5cb8cf5 - fix wait functions for console handles
- bug 3273

svn path=/trunk/; revision=33687
2008-05-25 07:05:34 +00:00
Magnus Olsen
73e46408e9 implemeted test for GdiDeleteLocalDC, GdiReleaseLocalDC, GdiSetAttrs
tested in xp/vista/reactos and works no fault report.

svn path=/trunk/; revision=33681
2008-05-24 22:42:46 +00:00
Magnus Olsen
287182ff5f implemeted test for GdiConvertBitmap, GdiConvertBrush, GdiConvertDC, GdiConvertFont, GdiConvertPalette, GdiConvertRegion, GdiGetLocalBrush, GdiGetLocalDC
tested in xp/vista/reactos and works no fault report.

svn path=/trunk/; revision=33680
2008-05-24 22:20:31 +00:00
Colin Finck
1528124748 Samuel Serapión (samdwise51 AT gmail DOT com):
- Sync the advapi32 crypt functions to Wine 1.0-rc2, this way we pass some more winetests.

Changes by myself:
- Implement SystemFunction036 (RtlGenRandom) as the Wine equivalent is based on /dev/urandom, so that it cannot be used.
  Warning: This function uses the pseudo random number generator RtlRandom. It should better be implemented using a crypto-safe random number generator!

svn path=/trunk/; revision=33679
2008-05-24 22:16:15 +00:00
Ged Murphy
e96c16aa1e Add functionality to allow dll injection for all apps which link to user32.
svn path=/trunk/; revision=33678
2008-05-24 21:21:58 +00:00
Marc Piulachs
22ab89339c - Move every x86 HAL to it's own .rbuild file
- Take advantage of r33676

svn path=/trunk/; revision=33677
2008-05-24 20:32:44 +00:00
Marc Piulachs
1915f51cbc - Add "base" and "root" support to ImportLibrary. <importlibrary definition="../hal/hal_i386.def" /> -> <importlibrary base="hal" definition="hal_i386.def" />
svn path=/trunk/; revision=33676
2008-05-24 20:31:23 +00:00
Magnus Olsen
ff1a74c0da merge from win32k-gdi-dx r33674 Implement GdiAddGlsBounds
svn path=/trunk/; revision=33675
2008-05-24 19:02:23 +00:00
Marc Piulachs
9ea0a62432 - remove 'basename' , no such attribute exists for <importlibrary>
svn path=/trunk/; revision=33672
2008-05-24 15:33:49 +00:00
Pierre Schweitzer
0d8cccef41 Set default return of IRP_MJ_QUERY_INFORMATION to STATUS_INVALID_PARAMETER
svn path=/trunk/; revision=33671
2008-05-24 09:06:53 +00:00
Pierre Schweitzer
e2d4593c45 - Imported dciman32.dll from Wine HEAD
- Added it to bootcd
- Update README.WINE

svn path=/trunk/; revision=33670
2008-05-24 08:42:53 +00:00
Magnus Olsen
c11d2b1e4f Fixed at typo from me thx Daniel Zimmermann (netzimme at aim dot com) that notes it.
svn path=/trunk/; revision=33666
2008-05-23 19:12:07 +00:00
Magnus Olsen
389b7a34fb add test for NtUserGetTitleBarInfo patch by Daniel Zimmermann (netzimme at aim dot com)
tested on xp sp3 by me

See issue #3266 for more details.

svn path=/trunk/; revision=33665
2008-05-23 18:22:39 +00:00
Magnus Olsen
3797dab429 Fixed memory leak in w32knapi if it fail found gdihandle table patch by Daniel Zimmermann (netzimme at aim dot com)
See issue #3266 for more details.

svn path=/trunk/; revision=33664
2008-05-23 18:14:15 +00:00
Pierre Schweitzer
7625429990 No need to keep linux-ntfs:
- it's outdated
- more docs are available

svn path=/trunk/; revision=33663
2008-05-23 18:01:42 +00:00
Aleksey Bragin
494bf7baae - msiexec is GUI app, not CUI.
svn path=/trunk/; revision=33662
2008-05-23 17:55:30 +00:00
Johannes Anderwald
1f9058bdaf - add stubs for GetTraceEnableFlags, GetTraceEnableLevel, RegisterTraceGuidsA, RegisterTraceGuidsW and UnregisterTraceGuids
svn path=/trunk/; revision=33661
2008-05-23 16:31:22 +00:00
Johannes Anderwald
3dd48684d5 - add prototypes for GetTraceEnableLevel, RegisterTraceGuidsA, RegisterTraceGuidsW, UnregisterTraceGuids
- add WMIPREQUEST, TRACE_GUID_REGISTRATION definition
- add wmistr.h header

svn path=/trunk/; revision=33660
2008-05-23 16:29:05 +00:00
Aleksey Bragin
20263a1377 - Revert 32675 (enabling usage of the cache bitmap). It was just hiding the real bug fixed in r33633, and the bitmap code seems to not be finished (e.g. "out of CacheSeg space" bug).
svn path=/trunk/; revision=33659
2008-05-23 14:40:50 +00:00
James Tabor
d05a01709b Add more data for extended clip object.
svn path=/trunk/; revision=33658
2008-05-23 12:50:46 +00:00
Magnus Olsen
3b4c9ded42 Implemtened : NtUserGetTitleBarInfo
This code was writen by me and Daniel Zimmermann (netzimme at aim dot com) and it is base on wine version, 


See issue #3266 for more details.

svn path=/trunk/; revision=33657
2008-05-23 05:46:22 +00:00
James Tabor
540035b99a Removed w.flags from dc.h update all related.
svn path=/trunk/; revision=33656
2008-05-23 01:46:55 +00:00
James Tabor
f5aa4b5c0c Move W structure back into dc.h and added the clip object for dcobj.
svn path=/trunk/; revision=33655
2008-05-23 01:11:25 +00:00
Marc Piulachs
62413f7a09 - Remove crtdll reference. All Win32* modules implicitly link msvcrt.
svn path=/trunk/; revision=33654
2008-05-23 00:57:32 +00:00
James Tabor
6f3798d0cf Removed unused code from Arc. Removed old saveLevel and hSelf, use DcLevel. Other changes to region and clipping.
svn path=/trunk/; revision=33653
2008-05-23 00:29:08 +00:00
Colin Finck
6eb7885be4 Apply the fix from r32705 to C and C++ files as well.
This fixes the "rebuild-everything-on-every-change" bug (at least for me)
For the record, this is broken since r32595.

Note: If you have building problems after this commit when building a single module, please try to revert only my changes from lines 1847 to 1850.

svn path=/trunk/; revision=33652
2008-05-23 00:11:52 +00:00
Timo Kreuzer
89deeaf7c4 fix a cast and indentation
svn path=/trunk/; revision=33651
2008-05-22 23:16:35 +00:00
Steven Edwards
5c30086951 Sync GetTempPathW with current Wine. This should help with some
installers the depend on the USERPROFILE variable being present. Does
not fix the Word 2003 viewer install but changes the behavior slightly
and is more correct.


svn path=/trunk/; revision=33650
2008-05-22 21:07:41 +00:00
Marc Piulachs
09a85aaedd - express PCH location in a more correct way
svn path=/trunk/; revision=33649
2008-05-22 20:45:58 +00:00
Johannes Anderwald
3460e9ab3c - add GetTraceEnableFlags prototype
svn path=/trunk/; revision=33648
2008-05-22 20:26:53 +00:00
Aleksey Bragin
e5196d85e3 - Actually remove the exports.
svn path=/trunk/; revision=33647
2008-05-22 19:44:43 +00:00
Aleksey Bragin
8522c6766e Stefan Ginsberg <stefan__100__@hotmail.com>
- Remove KiRosPrintAddress export from ntoskrnl_i386.def, and CcRos* apis too.
- Make win32k use KeRosDumpStackFrames instead of KiRosPrintAddress.

svn path=/trunk/; revision=33646
2008-05-22 19:31:49 +00:00
Johannes Anderwald
1e5dd70adb - fix integer to string representation
- patch by Carlo Bramini
- bug 2437

svn path=/trunk/; revision=33645
2008-05-22 17:40:01 +00:00
Johannes Anderwald
27ee5b62b8 - define _WMI_SOURCE_ macro
- include evntrace header
- implement stubs for GetTraceLoggerHandle and TraceEvent and also export them

svn path=/trunk/; revision=33644
2008-05-22 17:23:47 +00:00
Johannes Anderwald
63477f9dd4 - check if PEVENT_TRACE_HEADER is already defined
- define WMIAPI macro
- add TraceEvent, GetTraceLoogerHandler prototypes
- PEVENT_TRACE_HEADER should not be defined in the NDK

svn path=/trunk/; revision=33643
2008-05-22 17:12:42 +00:00
Timo Kreuzer
5db224e2b9 implement SPI_GET/SETSTICKYKEYS, SPI_GET/SETFILTERKEYS, SPI_GET/SETTOGGLEKEYS, SPI_GET/SETSERIALKEYS, SPI_GET/SETMOUSEKEYS, SPI_GET/SETKEYBOARDPREF, SPI_GET/SETSHOWSOUNDS, SPI_GET/SETACCESSTIMEOUT
makes access.cpl start again.
See issue #3133 for more details.

svn path=/trunk/; revision=33640
2008-05-22 14:51:01 +00:00
Timo Kreuzer
41b38a2ea1 fix a typo
svn path=/trunk/; revision=33639
2008-05-22 14:36:25 +00:00
KJK::Hyperion
dc75130891 Patch by Alex Ionescu <alex.ionescu@reactos.org>
See issue #3054 for more details.

svn path=/trunk/; revision=33637
2008-05-22 13:40:42 +00:00
KJK::Hyperion
1fe8b5d775 Reverting r33635
svn path=/trunk/; revision=33636
2008-05-22 13:37:27 +00:00
KJK::Hyperion
7184323272 Patch by Alex Ionescu <alex.ionescu@reactos.org>
See issue #3116 for more details.

svn path=/trunk/; revision=33635
2008-05-22 13:19:32 +00:00
James Tabor
c379e6ad12 Add NtGdiGetRandomRgn iCode values.
svn path=/trunk/; revision=33634
2008-05-22 12:51:53 +00:00
KJK::Hyperion
b16ac9683a - Remove WINE-isms from KeDeviceQueue code
- Fix memory corruption that happened pretty much everytime you pressed a key or moved the mouse -- reponsible for countless crashes, including the famous ASSERT during 1-stage setup.
 - Remove anti-memory-corruption-workaround from VFAT
 - Note: If you're going to do use device queues in your driver, please learn how. Kthxbye.
Patch by Alex Ionescu <alex.ionescu@reactos.org>
_____

Alex,
 Marry me,
KJK::Hyperion
XOXOXO

See issue #3116 for more details.

svn path=/trunk/; revision=33633
2008-05-22 11:46:46 +00:00
Magnus Olsen
af1376546d implemented GetTitleBarInfo in user32 it works now same as xp/vista left todo implemented it proper in win32k on the syscall NtUserGetTitleBarInfo that is stub at moment.
svn path=/trunk/; revision=33632
2008-05-22 08:39:24 +00:00
Aleksey Bragin
483ac0fe6c - Fix a typo in this header's guard, prevents multiple inclusion.
svn path=/trunk/; revision=33631
2008-05-22 07:17:16 +00:00
James Tabor
f9814c9de4 Fix behavior if bmi null in NtGdiCreateDIBSection. Start internal functions for regions, includes a wine port get_region_type.
svn path=/trunk/; revision=33629
2008-05-21 22:32:13 +00:00
Hervé Poussineau
1136b9642b Fix precompiled header name.
According to http://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html , precompiled header name *must be* the name of the header followed by .gch
See issue #3263 for more details.

svn path=/trunk/; revision=33627
2008-05-21 18:00:40 +00:00
Hervé Poussineau
b18f57e3fc Disable precompiled headers for files which are in more than one module
(Precompiled header name have a fixed name, but modules may have different compile options)

svn path=/trunk/; revision=33626
2008-05-21 17:57:24 +00:00
Aleksey Bragin
3c2ec47c4a - Fix build.
svn path=/trunk/; revision=33624
2008-05-21 16:19:41 +00:00
Aleksey Bragin
04d1f6f145 Stefan Ginsberg <stefan__100__@hotmail.com>
- Fix NtFlushVirtualMemory definition in PSDK.
- Fix NtFlushVirtualMemory's usage in kernel32.
- Fix FlushViewOfFile's prototype (DWORD -> SIZE_T, as it is in PlatformSDK).
- Add a C_ASSERT definition to winnt.h.
- Change a meaningless ASSERT to a C_ASSERT.

svn path=/trunk/; revision=33623
2008-05-21 16:10:00 +00:00
Johannes Anderwald
fad6923fb5 - check input parameters in LoadString[A|W]
- fixes a winetest issue
- patch by Kamil Hornicek (Pigglesworth)

svn path=/trunk/; revision=33622
2008-05-21 15:33:38 +00:00
Aleksey Bragin
dbc9964533 - Fix a few typos in SHARED_CACHE_MAP definition in NDK.
- Minor fix to BITMAP_RANGE structure in ntifs.h.

svn path=/trunk/; revision=33621
2008-05-21 15:28:43 +00:00
Aleksey Bragin
90c42a08eb - Convert imagehlp's .def file to .spec format (keeping same ordinals, etc), since ---enable-stdcall-fuxup does not really work for linking.
- Uncomment function declarations in psdk/imagehlp.h and thus make crypt32 use them to prevent stack corruption (it was generating implicit declarations warnings).

svn path=/trunk/; revision=33620
2008-05-21 14:43:29 +00:00
Magnus Olsen
23722e0cb4 filter the higher part of DWORD for return value of VBE return value from the BIOS
this will make allot ATI card working proper. thx again bear windows for the info and mail response which card need it, more info for this issue at http://www.bearwindows.boot-land.net/vbemp.htm#10

svn path=/trunk/; revision=33619
2008-05-21 13:47:22 +00:00
Timo Kreuzer
788d425ef1 - Fix wrong debug output when a process is terminated, by deleting the it's objects in a proper order, fixes bug 2954
- remove Fireball's, ugly nasty hack.
- Fix debug output to show the right problem
- For all people who think the handle table might be messed up: add a function that validates the handle table integrity after a process is closed, when GDI_DEBUG is defined.
- fix the BaseObjects hHmgr field when converting an object to a stock object.
- move all GDI_DEBUG stuff into it's own file

See issue #2954 for more details.

svn path=/trunk/; revision=33618
2008-05-20 20:39:32 +00:00
Marc Piulachs
c912e98ba3 - Added 'MessageHeader' module type for handling .mc files
- turn .mc generated files (RC & Headers) into real dependencies

svn path=/trunk/; revision=33616
2008-05-20 19:46:14 +00:00
Marc Piulachs
3c976797cd - Add svchost to build
svn path=/trunk/; revision=33615
2008-05-20 19:33:00 +00:00
Dmitry Chapyshev
413660b2dc - Add code for getting language name
svn path=/trunk/; revision=33614
2008-05-20 18:02:39 +00:00
Johannes Anderwald
0f40cce788 - monitor device name start with "\\.\\DISPLAY<number>" than with "\\??\\DISPLAY<number>"
- implement handling MONITOR_DEFAULTTOPRIMARY in IntGetMonitorsFromRect
- implement handling MONITOR_DEFAULTTONULL in NtUserMonitorFromWIndow
- ReactOS now passes all user32_winetest monitor tests

svn path=/trunk/; revision=33613
2008-05-20 15:20:28 +00:00
Johannes Anderwald
dd8f25a940 - zero DISPLAY_DEVICEW struct before passing it to NtUserEnumDisplayDevices
- copy string the resulting strings on success but on failure
- fix 2 memory leaks in EnumDisplayMonitors
- fixes a user32_winetest error

svn path=/trunk/; revision=33612
2008-05-20 14:57:37 +00:00
Ged Murphy
45a63ea020 iterate the number of sections, not the number of directory entries
svn path=/trunk/; revision=33611
2008-05-20 14:20:54 +00:00
Johannes Anderwald
0b0ec52a01 - remove unneeded cast in GetClipboardData
- use WideCharToMultiByte instead of RtlUnicodeStringToAnsiString
- fix memory leak in GetClipboardFormatNameA
- ReactOS now passes all user32_winetest.exe clipboard test (previously 2 failures)

svn path=/trunk/; revision=33610
2008-05-20 13:42:17 +00:00
Aleksey Bragin
7347f5ab15 Stefan Ginsberg <stefan__100__@hotmail.com>
- Fix the commented out export in win32k.def and fix the definition for EngGetCurrentCodePage.
- Add RtlGetDefaultCodePage to NDK headers.

svn path=/trunk/; revision=33609
2008-05-20 13:21:21 +00:00
Dmitry Chapyshev
be3257fbc9 - Add kbsdll to bootcd
svn path=/trunk/; revision=33608
2008-05-20 12:54:36 +00:00
Dmitry Chapyshev
0f37c3c8f0 - Added kbsdll to install hooks (does not work on ReactOS). To switch layouts temporarily used keys Left Alt + F10
svn path=/trunk/; revision=33607
2008-05-20 12:53:31 +00:00
Daniel Reimer
14f90f0f92 Bug 3256: Greek translation update for usetup by Apostulos Alexandris (djapal@gmail.com)
Bug 3261: Korean translation of mstsc by Seungju Kim (admin@manateeshome.com)

svn path=/trunk/; revision=33606
2008-05-20 08:49:40 +00:00
James Tabor
1879a9fa70 Win32k:
- GDI_TABLE_ENTRY ProcessId is a dword or int not a short.
- Notice also the pid for f5e, it's set GDI_OBJ_HMGR_NONE with pUser 0. Our DCE code handling pUser is right with that respect.
- Tested wine gdi32: dc gdiobj and user32: dce, all result same as before.

 object list for DC type objects owned by ALL PIDs
   I,   handle,   Lock, sCount,  pid,       pv,     objt, unique,  Flags,    pUser,    Tlock
--------------------------------------------------------------------------------------------
 f4c, ca010f4c,      0,      0,  d60, e2ebc2a0,       DC,   ca01,      0, 00f80570, 00f80570
 f5e, 60010f5e,      0,      0, 80000012, e28ce008,       DC,   6001,      4, 00000000, 00000000
 f9d, b4010f9d,      0,      0,  d60, e2ee6008,       DC,   b401,      0, 00350000, 00350000


svn path=/trunk/; revision=33605
2008-05-20 02:54:33 +00:00
Aleksey Bragin
7e73882c3e Stefan Ginsberg <stefan__100__@hotmail.com>
- Export undocumented Win32k functions and add stubs for them (information about prototypes if from Alex). Also implement and export a couple of documented APIs, and a bunch of APIs we implement but did not export.

svn path=/trunk/; revision=33604
2008-05-19 20:47:31 +00:00
Marc Piulachs
e9cfeb1071 - Removed hard coded bootsector from *Iso module types and express it with rbuild syntax.
- Enabled installname attribute and removed hard coded output file name from *Iso module types. We can now use properties : ReactOS_$(arch).iso > ReactOS_i386.iso

svn path=/trunk/; revision=33603
2008-05-19 20:46:46 +00:00
Hervé Poussineau
eb2daf17cc Use dynamic traces
svn path=/trunk/; revision=33602
2008-05-19 20:34:04 +00:00
Aleksey Bragin
1d020c54d9 - Ugly hack about corrupted KernelData pointer, which is being accessed. Hacks around bugs like bug 2954.
See issue #2954 for more details.

svn path=/trunk/; revision=33601
2008-05-19 20:27:48 +00:00
James Tabor
2a28b8de6b Add correction for GetClassName.
svn path=/trunk/; revision=33600
2008-05-19 19:23:02 +00:00
Gregor Brunmar
e657a0d73a ReactOS leads you to mysterious API calls. Added tests for RealGetWindowsClass() with some strange behaviours for later use when implementing RealGetWindowClass().
svn path=/trunk/; revision=33599
2008-05-19 17:50:39 +00:00
Magnus Olsen
67e132ff6b Bugfix EngBitBlt it did miss the prefix @44 in the def file
svn path=/trunk/; revision=33598
2008-05-19 10:20:39 +00:00
Aleksey Bragin
9cc4675c59 - Implement restoring DRx registers if the thread is being debugged.
svn path=/trunk/; revision=33597
2008-05-19 10:04:21 +00:00
Hervé Poussineau
8ee5bedcd5 Implement FSCTL_SET_COMPRESSION
svn path=/trunk/; revision=33596
2008-05-18 19:22:31 +00:00
Hervé Poussineau
9a96254da9 Add a key to change the keyboard layout on the livecd
svn path=/trunk/; revision=33594
2008-05-18 18:37:17 +00:00
Hervé Poussineau
cf5b6bb2e2 Display again the 'New' context menu, which was broken in r30366
See issue #3183 for more details.

svn path=/trunk/; revision=33592
2008-05-18 18:07:00 +00:00
Hervé Poussineau
0485103593 Add stub implementation for ElfrOpenELW()
svn path=/trunk/; revision=33590
2008-05-18 16:14:34 +00:00
Marc Piulachs
0ac3f1989d - remove now unneeded files
svn path=/trunk/; revision=33589
2008-05-18 16:04:19 +00:00
Marc Piulachs
4442c49eca - small fix
svn path=/trunk/; revision=33588
2008-05-18 16:01:34 +00:00
Hervé Poussineau
fdb3291c6b Send an empty string, as required by the documentation
See issue #3202 for more details.

svn path=/trunk/; revision=33587
2008-05-18 16:01:29 +00:00
Marc Piulachs
ac77d9d3a6 - Moved commands outside TechBot.Library to TechBot.Commands.Common and TechBot.Commands.MSDN except for Command base classes
- Made TechBot more configurable through .config files
- Code refactoring
- Removed automatic parameter parsing support to make everyone happy

svn path=/trunk/; revision=33586
2008-05-18 15:54:43 +00:00
Hervé Poussineau
6d51a10a1b Make eventlog RPC interface more compatible with MS Windows
svn path=/trunk/; revision=33585
2008-05-18 15:29:53 +00:00
Hervé Poussineau
8163d0f36b Replace ERR() by WARN() on error codes which can be normal
svn path=/trunk/; revision=33584
2008-05-18 15:26:24 +00:00
Hervé Poussineau
744f5df30f Fix build
svn path=/trunk/; revision=33583
2008-05-18 15:23:52 +00:00
Hervé Poussineau
053940df37 Add ms-dtyp.idl file, and use it
svn path=/trunk/; revision=33582
2008-05-18 15:17:12 +00:00
Dmitry Chapyshev
b590073eb4 - Add "ReactOS Standard" and "ReactOS Classic" color schemes
- Add registry keys for cursors schemes

svn path=/trunk/; revision=33581
2008-05-18 15:14:04 +00:00
Dmitry Chapyshev
46dd23149f - Update icons
svn path=/trunk/; revision=33580
2008-05-18 15:06:30 +00:00
Eric Kohl
653089313c - Rename CheckUserName() to CheckAccountName() and move it to a new source file (misc.c).
- Also use CheckAccountName() to check group names for illegal characters.

svn path=/trunk/; revision=33579
2008-05-18 14:59:44 +00:00
Johannes Anderwald
e5495f7f62 - default to seperator item type
- add the styles grayed and disabled in case they have not been added
- initialize allocated user buffer to zero
- allow support for bitmap items with MF_HELP style
- check result of WideCharToMultiByte
- always zero terminate a string buffer when enough space is available

svn path=/trunk/; revision=33578
2008-05-18 14:18:00 +00:00
Hervé Poussineau
36ce0cd8af Forward all IRPs, even unknown ones
svn path=/trunk/; revision=33577
2008-05-18 11:45:26 +00:00
Gregor Brunmar
5dd0513c53 Reverted winesync's wrongly updated msi.rbuild to get rid of "always build msi" problem again.
svn path=/trunk/; revision=33576
2008-05-18 11:45:17 +00:00
Gregor Brunmar
d480eb8884 Reminder to self: Don't rely on MSDN. This should get taskmgr working again.
svn path=/trunk/; revision=33575
2008-05-18 11:41:32 +00:00
Aleksey Bragin
b97e40c655 - Add a comment describing behavior in case of HvSyncHive failure.
svn path=/trunk/; revision=33574
2008-05-18 11:26:36 +00:00
Colin Finck
5508c5cbb2 Make 1000% sure that any regedit is started by launching regedit from the search path if the GetWindowsDirectory call failed. (suggested by Alex on ros-dev)
svn path=/trunk/; revision=33573
2008-05-18 11:24:56 +00:00
Colin Finck
5bc725550f Oops, forgot to link to shlwapi now that we use PathAppend.
svn path=/trunk/; revision=33572
2008-05-18 11:08:11 +00:00
Colin Finck
722735c754 Check if the GetWindowsDirectory call succeeded and use PathAppend to prevent a buffer overflow, when WinDir + "\regedit.exe" > MAX_PATH
svn path=/trunk/; revision=33571
2008-05-18 10:56:31 +00:00
Dmitry Chapyshev
b00f2fbdd7 - Add hotkeys settings to registry
svn path=/trunk/; revision=33570
2008-05-18 10:37:32 +00:00
Pierre Schweitzer
a0f56dbcb8 Synced uxtheme.dll with Wine HEAD
svn path=/trunk/; revision=33569
2008-05-18 10:03:29 +00:00
Hervé Poussineau
922e25b702 Free memory only we allocated it
svn path=/trunk/; revision=33568
2008-05-18 09:34:31 +00:00
Dmitry Chapyshev
e3a477e256 - Implement "Advanced Key Settings" and "Change Key Sequence" dialogs
svn path=/trunk/; revision=33567
2008-05-18 09:06:48 +00:00
Gregor Brunmar
5b23dbf12b More correct include for PSEH support
svn path=/trunk/; revision=33566
2008-05-18 08:40:03 +00:00
Eric Kohl
02d1ef26f3 Check user name for illegal characters when it is changed from within the user list.
svn path=/trunk/; revision=33565
2008-05-17 22:33:04 +00:00
Pierre Schweitzer
8fdd4d9b2a Forgot to commit urlmon.dll tests synced with Wine HEAD
svn path=/trunk/; revision=33564
2008-05-17 22:29:12 +00:00
Pierre Schweitzer
0cbcee9d20 Removed wrong entrypoint
svn path=/trunk/; revision=33563
2008-05-17 21:52:51 +00:00
Colin Finck
ab189e51e4 Change the LCID for the default Bulgarian keyboard layout from 00040402 to 00000402.
See issue #3208 for more details.

svn path=/trunk/; revision=33562
2008-05-17 21:01:08 +00:00
Colin Finck
92545f124e - Minor fixes to work more like WinXP's cmd
- Removed the now obsolete "seta_test.cmd"

svn path=/trunk/; revision=33561
2008-05-17 20:07:31 +00:00
Colin Finck
b655fc4f5e Add a testing suite for CMD based on CMD scripts.
Of course, ReactOS' cmd doesn't work at all with the framework at the moment :-)

Some tests were taken from "seta_test.cmd" by Royce. (see file headers)

svn path=/trunk/; revision=33560
2008-05-17 20:01:21 +00:00
The Wine Synchronizer
a5d311777a Autosyncing with Wine HEAD
svn path=/trunk/; revision=33559
2008-05-17 19:46:54 +00:00
The Wine Synchronizer
0617a6d452 Autosyncing with Wine HEAD
svn path=/trunk/; revision=33558
2008-05-17 19:46:01 +00:00
Eric Kohl
fdaf506151 Add code to create, delete and rename user groups.
svn path=/trunk/; revision=33557
2008-05-17 16:06:54 +00:00
Marc Piulachs
107c3d29cb -make rbuild files XML compliant by adding the XInclude namespace
-sync winetest to WINE-rc1
-add a rbuild file for winetest (not added to build yet)
note: minor winetest modifications should be made like loading tests from a folder at startup

svn path=/trunk/; revision=33556
2008-05-17 15:44:47 +00:00
Eric Kohl
95b8c49444 Limit the maximum user name length to 20 characters when a user name is changed from within the users list.
svn path=/trunk/; revision=33555
2008-05-17 15:19:01 +00:00
Eric Kohl
9e6e290b4f New user dialog: Implement user options properly.
svn path=/trunk/; revision=33554
2008-05-17 14:00:39 +00:00
James Tabor
4f5b849245 Add DCE pointer to window class. Start support for real Class DCEs.
svn path=/trunk/; revision=33553
2008-05-17 11:55:24 +00:00
Pierre Schweitzer
4fc98cbda8 Synced urlmon.dll with Wine HEAD.
This *does not* fix Downloader, but it now returns an error message.

svn path=/trunk/; revision=33552
2008-05-17 10:36:13 +00:00
Marc Piulachs
6cf68480b9 Add ROS_BUILDENGINE variable to determine the location of rbuild
- Allows using an rbuild executable other than the one found in the same source tree (tools\rbuild)

svn path=/trunk/; revision=33551
2008-05-17 09:56:15 +00:00
Hervé Poussineau
cc899cd2b7 Add fusion.idl from Wine
svn path=/trunk/; revision=33550
2008-05-17 09:53:01 +00:00
Pierre Schweitzer
77d213e6cf Limit introduction string to 256 letters (no more, not less)
svn path=/trunk/; revision=33549
2008-05-17 09:45:13 +00:00
Colin Finck
6209e87ead Make 100% sure that the correct "regedit.exe" is launched by using GetWindowsDirectory and appending "\regedit.exe" as suggested by Alex on ros-dev.
svn path=/trunk/; revision=33547
2008-05-17 09:39:36 +00:00
Colin Finck
0b51d20053 Revert the _T('x') to 'x' changes from my previous commit.
Although both methods work properly, _T('x') seems to be the more convenient method used throughout cmd.

svn path=/trunk/; revision=33546
2008-05-17 09:23:21 +00:00
Colin Finck
3b1370bd40 - Fix some warnings spotted by MSVC
- Define cmd_exit to ExitProcess if _DEBUG_MEM is not defined.
  Fixes compilation, when _DEBUG_MEM is turned off.

svn path=/trunk/; revision=33545
2008-05-17 08:49:39 +00:00
Pierre Schweitzer
982ea317be Apply the same fix to dwnl
svn path=/trunk/; revision=33544
2008-05-17 08:20:32 +00:00
Pierre Schweitzer
7f3429142d Zero memory using HeapAlloc flag
Spotted by Stefan Ginsberg <stefan__100__@hotmail.com>

svn path=/trunk/; revision=33543
2008-05-17 08:19:23 +00:00
Hervé Poussineau
ab0acbf7ef Remove IRP_MJ_QUERY_INFORMATION / FileNetworkOpenInformation
Fix misc bugs

svn path=/trunk/; revision=33542
2008-05-16 19:00:47 +00:00
Colin Finck
2b6a8f06f5 Carlo Bramini (carlo DOT bramix AT libero DOT it):
- Implemented "regedt32", which just calls "regedit"
See issue #3248 for more details.

svn path=/trunk/; revision=33541
2008-05-16 16:53:36 +00:00
Pierre Schweitzer
f4de98290f Check if memory was goodly allocated and zero it before use
svn path=/trunk/; revision=33540
2008-05-16 16:13:04 +00:00
Marc Piulachs
3195cffc1f - Add specific properties to the keyboardlayout module type. They will assist us on autogenerating/updating the [keyboardLayout] & [Files.KeyboardLayout] from txtsetup and registry information automatically in the near future
note: All rbuild files in reactos\dll\keyboard must be updated to contain the follwing information:

<module name="kbdusl" type="keyboardlayout" (...) description="US Dvorak for left hand" lcid="00030409" layoutId="001A" layoutnameresid="5027" >

svn path=/trunk/; revision=33539
2008-05-15 22:38:18 +00:00
Marc Piulachs
3b3bd169e9 - change module type kernelmodedll -> keyboardlayout
svn path=/trunk/; revision=33538
2008-05-15 22:23:34 +00:00
Hervé Poussineau
768bae5356 Improve filter command by changing its syntax
Syntax: filter [error|warning|trace|info|level]+|-[componentname|default]

svn path=/trunk/; revision=33537
2008-05-15 20:43:26 +00:00
Hervé Poussineau
c79d92ab52 Fix debug output of strings
svn path=/trunk/; revision=33536
2008-05-15 20:29:50 +00:00
Gregor Brunmar
c65c9124fa Oops, didn't see the commented section.
svn path=/trunk/; revision=33535
2008-05-15 20:13:40 +00:00
Gregor Brunmar
937c311155 Synced listbox LB_SETCURSEL behaviour with Wine, to pass a couple of more winetests.
svn path=/trunk/; revision=33534
2008-05-15 20:11:26 +00:00
Hervé Poussineau
2f9c333ded cmd: replace static traces by dynamic ones
svn path=/trunk/; revision=33533
2008-05-15 20:02:05 +00:00
Gregor Brunmar
bc59a11cc8 Patch by Kamil Hornicek ( tykef AT atlas DOT cz ):
* Fixed DialogBoxParam to set correct error values and returning correct error codes

svn path=/trunk/; revision=33532
2008-05-15 19:07:46 +00:00
Marc Piulachs
eb3bf8718c - Add specific module type for keyboard layouts
- Added a description attribute to modules
- Added a lcid attribute to modules (KeyboardLayout only)

svn path=/trunk/; revision=33531
2008-05-15 14:46:15 +00:00
Colin Finck
d2bc8a879f - Rename the LICINFO structure to LIC_CONTEXT as LICINFO is already used in one of the official MS PSDK headers
- Replace IsUserAdmin (Wine API) with IsUserAnAdmin (shell32 API)

When you now add the PROCESSOR_POWER_INFORMATION structure to "precomp.h" (which was "accidentally omitted from WinNT.h" according to MSDN..), sysdm.cpl can be compiled using MSVC and the MS PSDK headers.

svn path=/trunk/; revision=33530
2008-05-15 14:33:33 +00:00
Johannes Anderwald
5961c78fbd - use menu identifier for menu items which have submenus
- menu item is a separator when id, flags and string is zero (verified with MS Visual 2005)
- set item separator MF_GRAYED as default style
- rewrite CheckMenuRadioItem
- check if checkmarks applies to more than one submenu
- check if checkmark was set
- dont set checkmark on menu item separator
- recurse into sub menus when available
- implement handling by MF_BYPOSITION
- ReactOS now passes now all tests from test_CheckMenuRadioItem in user32_winetest

svn path=/trunk/; revision=33529
2008-05-15 14:10:55 +00:00
Colin Finck
c091afbac7 Carlo Bramini (carlo DOT bramix AT libero DOT it):
- Simplify blitting the screen bitmap to the main window.

This also hides a ROS GDI bug, for which I'm going to open a new bug report.
See issue #3241 for more details.

svn path=/trunk/; revision=33528
2008-05-15 14:06:19 +00:00
Colin Finck
571960c0e1 Remove old leftovers from the time when shell32 was still synchronized with Wine
svn path=/trunk/; revision=33527
2008-05-15 13:55:26 +00:00
Marc Piulachs
e5eeaef2d2 - Added a new attribute 'internal' to 'Property' element. Internal properties are like regular properties but internal to rbuild (they are not included in the generated makefile)
svn path=/trunk/; revision=33526
2008-05-15 13:55:25 +00:00
Dmitry Chapyshev
18ef8485c0 - Start implement "Advanced Key Settings" and "Change Key Sequence" dialogs
- Update all resources

svn path=/trunk/; revision=33525
2008-05-15 12:38:12 +00:00
James Tabor
cb1555ed4f Add Client and Color transform objects.
svn path=/trunk/; revision=33524
2008-05-15 11:38:46 +00:00
Dmitry Chapyshev
3a5f1cf0b9 - Don't show applets on taskbar
svn path=/trunk/; revision=33523
2008-05-15 05:43:01 +00:00
James Tabor
ba435ce3c6 Implement Delete/CreateColorSpace and Get/SetColorSpace.
svn path=/trunk/; revision=33522
2008-05-15 02:15:10 +00:00
Aleksey Bragin
3b144199de Stefan Ginsberg <stefan__100__@hotmail.com>
- Spelling fixes.
- Remove deprecated and unused HalReleaseDisplayOwnership prototype.
- Fix handle leak in NtCreateProfile.
- Don't miss an OBTRACE debug print in ObpCloseHandle in STATUS_SUCCESS case.

svn path=/trunk/; revision=33521
2008-05-14 20:59:43 +00:00
Aleksey Bragin
5f265ed22c Stefan Ginsberg <stefan__100__@hotmail.com>
- Remove deprecated NEW_SCHEDULER define.
- Remove empty addition arc subdirectory in include/reactos/arc

svn path=/trunk/; revision=33520
2008-05-14 20:57:19 +00:00
Marc Piulachs
8724283c06 - update msiexec version
- add iexplorer

svn path=/trunk/; revision=33519
2008-05-14 17:32:19 +00:00
Marc Piulachs
7fd8e1f35f - sync msiexec to Wine 1.0-rc1
- change module type to win32cui inset of win32gui

svn path=/trunk/; revision=33518
2008-05-14 17:25:57 +00:00
Steven Edwards
fe11b99061 Add iexplore from Wine. (Disabled until shdocvw sync)
svn path=/trunk/; revision=33517
2008-05-14 17:24:40 +00:00
Eric Kohl
187c594643 - Check that the user name does not contain any illegal characters.
- Check that both passwords are the same.
- Limit the maximum user name length to 20 characters.

svn path=/trunk/; revision=33516
2008-05-14 17:02:17 +00:00
Dmitry Chapyshev
5a803bf1bf - Implement "Set Default" button
- Added checking whether there was already layout

svn path=/trunk/; revision=33515
2008-05-14 15:51:53 +00:00
Marc Piulachs
3c2cc97af2 - Set catalan default keyboard layout to spanish (no specific catalan kb layout exists)
- [FORMATTING] small code indent for LanguageList contents

svn path=/trunk/; revision=33514
2008-05-14 14:40:17 +00:00
Colin Finck
451afd1750 Carlo Bramini (carlo DOT bramix AT libero DOT it)
- Italian translations and various fixes to Magnify (fixes part of bug #3241 as well)

Changes by me:
- Shorten the german dialog string a bit, so that it won't be truncated. Strings for Static controls can only be 256 characters long.
  A french translator should change the text as well, because it's longer than 256 characters.

See issue #3245 for more details.

svn path=/trunk/; revision=33513
2008-05-14 14:18:11 +00:00
Marc Piulachs
57a0b9d688 - Implement generic list PageUp/PageDown
svn path=/trunk/; revision=33512
2008-05-14 14:01:06 +00:00
Ged Murphy
5e27385583 A few missing defines I needed
svn path=/trunk/; revision=33511
2008-05-14 11:38:10 +00:00
James Tabor
e07a1445f4 We have Brush Attributes already define in ntgdihdl.h, its a user space structure.
svn path=/trunk/; revision=33510
2008-05-13 23:54:20 +00:00
James Tabor
f366e9f6c1 Implement NtGdiSetVirtualResolution, SetSizeDevice and NtGdiScaleViewport/WindowExtEx. Getting ready to fix wine gdi mapping tests.
svn path=/trunk/; revision=33509
2008-05-13 23:26:02 +00:00
Colin Finck
d45bd86a52 Open the Explorer Shell Folder instead of providing a standalone Control Panel.
This changed enables us to remove lots of files from the app :-)

svn path=/trunk/; revision=33508
2008-05-13 21:39:25 +00:00
Colin Finck
6efebc63d2 Completely revamped "control.exe":
- Now uses shell32 functions for loading the control panel applets, so that the mutex is used as well (see bug #781)
- Supports all built-in command-line parameters, which are supported by the WinXP version.
  This also added support for opening shell folders.
- Loads other possible parameters from the registry.
- Only passes the command for RunControlPanel to each ListView item, not a whole struct whose members aren't needed later.
- Fixed memory leaks
- Added a header file
- Fixed indentation

This is the last version of the standalone Control Panel.
I will change it to call the Explorer shell folder in my next commit.
See issue #781 for more details.

svn path=/trunk/; revision=33507
2008-05-13 21:30:55 +00:00
Martin Fuchs
ce69bc85e4 display available command line options when started with "-?"
svn path=/trunk/; revision=33506
2008-05-13 21:01:09 +00:00
Eric Kohl
016fa01795 - Implement the creation and removal of user accounts.
- User name and passwords are NOT checked upon the creation of a new user account.
- Disable all unimplemented popup menu items.

svn path=/trunk/; revision=33505
2008-05-13 20:55:37 +00:00
Dmitry Chapyshev
381642f247 - Implement "Input language Properties" dialog
svn path=/trunk/; revision=33504
2008-05-13 20:23:23 +00:00
Gregor Brunmar
c5465c5668 Hopefully fixes bug #1110. Requested fixed by amine48rz.
See issue #1110 for more details.

svn path=/trunk/; revision=33503
2008-05-13 20:14:30 +00:00
Aleksey Bragin
286385fc87 - Remove a leftover.
svn path=/trunk/; revision=33502
2008-05-13 19:29:20 +00:00
Gregor Brunmar
6d97e286b5 Fixed spelling mistake from previous checkin
svn path=/trunk/; revision=33501
2008-05-13 18:12:08 +00:00
Gregor Brunmar
9736840986 NtUserBuildHwndList() returns NTSTATUS, not ULONG. More correct fix than 33483 to some of the winetest problems. Pass return value as out parameter instead.
svn path=/trunk/; revision=33500
2008-05-13 18:09:08 +00:00
KJK::Hyperion
8efa2c983f Case-sensitivity fix for Linux build hosts. Spotted by Tushar S. (GreyGhost)
svn path=/trunk/; revision=33499
2008-05-13 17:32:19 +00:00
Christoph von Wittich
7aa5ab1e76 add some info for xen to txtmode.cfg
fix a bug rosboot_test.cpp

svn path=/trunk/; revision=33498
2008-05-13 17:30:29 +00:00
Christoph von Wittich
7f477c644a don't display all debug data 4 times when using PipeReader class (spotted by janderwald)
svn path=/trunk/; revision=33497
2008-05-13 17:17:31 +00:00
Johannes Anderwald
74f90fc65a - move hardcoded xen configuration name to config file
svn path=/trunk/; revision=33496
2008-05-13 16:22:31 +00:00
Dmitry Chapyshev
df3c1568fa - Update Russian translation
- Small fix mstsc icon

svn path=/trunk/; revision=33495
2008-05-13 13:46:31 +00:00
Marc Piulachs
fb898f7d38 - [FORMATTING] replace tabs by spaces
- Modified keyboard layout listbox location to give usetup a more consistent look

svn path=/trunk/; revision=33494
2008-05-13 11:43:39 +00:00
Marc Piulachs
940dd048e1 - fixed and simplified scroll behavior
svn path=/trunk/; revision=33493
2008-05-13 11:29:56 +00:00
Colin Finck
f952d12c8d Use a Mutex, so that CPL applets cannot be launched multiple times.
Fixes bug #781 partly, we still need a fix in "control.exe" (see my comment in the bug report)

svn path=/trunk/; revision=33492
2008-05-13 08:56:23 +00:00
Klemens Friedl
7bcc8fccde improve visual scroll behavior (arrow-up/-down hints) of the generic list (first step setup)
svn path=/trunk/; revision=33491
2008-05-13 08:04:59 +00:00
James Tabor
5fc4e8a5f9 Added W32PF and Brush flags. Fixed IntGdiExtCreatePen and all related so to pass wine gdi32 pen tests. Fail 100 out of 664 no skips.
svn path=/trunk/; revision=33490
2008-05-13 05:13:25 +00:00
Timo Kreuzer
8f56b70c8b fix build, sorry
svn path=/trunk/; revision=33489
2008-05-13 04:30:00 +00:00
Timo Kreuzer
27ff35dcc8 - fix a pointer to INT cast
- use InterlockedExchangePointer instead of InterlockedExchange for a pointer

svn path=/trunk/; revision=33488
2008-05-13 04:18:07 +00:00
Colin Finck
083c5dcbd2 Don't strip trailing spaces from the command line
This way, stuff like "notepad abc.txt  " will correctly pass "abc.txt  " as the filename like Windows does.

See issue #1818 for more details.

svn path=/trunk/; revision=33487
2008-05-12 21:26:38 +00:00
Colin Finck
003e7d8a1b Fix the Release build by marking MmPageArraySize as unreferenced.
Changing the ASSERT, so that it doesn't spit out an "unused variable" warning on Release builds doesn't work, because then it expects this variable to exist. (which is not the case for some struct elements passed to ASSERT in some other parts of the kernel)

svn path=/trunk/; revision=33486
2008-05-12 20:48:48 +00:00
Colin Finck
85de27e4af [FORMATTING] Fix indentation (4 spaces)
svn path=/trunk/; revision=33485
2008-05-12 20:11:11 +00:00
Colin Finck
abab705b13 The lstr* functions don't reset the last error on an exception. Also they handle more than just access violation exceptions.
This makes us passing (at least) one more sub test of a Wine test (user32_winetest text)
Behaviour verified under Windows XP SP2.

svn path=/trunk/; revision=33484
2008-05-12 20:01:48 +00:00
Gregor Brunmar
858f98f040 * Synced DIALOG_DlgDirListW() and DIALOG_DlgDirSelect() from Wine to get more user32.dll winetests to pass
* Fixed indentation in User32EnumWindows()
* Removed internal use of Set/GetLastError() from User32EnumWindows() - makes even more winetests pass

svn path=/trunk/; revision=33483
2008-05-12 19:36:39 +00:00
Colin Finck
58f94d1774 Sync CharLowerA/W and CharUpperA/W with Wine (after replacing Wine's SEH with PSEH).
This way, we pass all user32 wsprintf Wine tests.
Verified under Windows XP SP2.

svn path=/trunk/; revision=33482
2008-05-12 18:35:21 +00:00
James Tabor
cf585bc08a Misc patch, for later Icm support, update CreateCompatibleDC.
svn path=/trunk/; revision=33481
2008-05-12 18:16:48 +00:00
Eric Kohl
5244432b9c Do not touch the new user name if the user cancels the rename action.
svn path=/trunk/; revision=33479
2008-05-12 17:39:58 +00:00
Johannes Anderwald
c0c67eed2b - ModifyMenu[A|W], AppendMenu[A|W], InsertMenu[A|W] should accept MF_HILITE
- verified by user32_winetest.exe 
- ReactOS now passes these tests (test_menu_flags)

svn path=/trunk/; revision=33478
2008-05-12 17:17:55 +00:00
Johannes Anderwald
5bc1879d50 - create the profiles directory if it does not yet exist
svn path=/trunk/; revision=33477
2008-05-12 16:59:06 +00:00
Colin Finck
f50c85e75f Remove all remaining occurrences of the W64 macro.
The __w64 setting is obsolete beginning with MSVC 2008.

svn path=/trunk/; revision=33475
2008-05-12 15:59:31 +00:00
Aleksey Bragin
78681a8ec7 - Fix a typo in NtSecureConnectPort, ViewBase was not updated, thus confusing callers.
See issue #3242 for more details.

svn path=/trunk/; revision=33473
2008-05-12 15:27:15 +00:00
Timo Kreuzer
3dfc1c7b9e convert another pointer calculations to FIELD_OFFSET macro and use "%p" instead of casting pointers to long
svn path=/trunk/; revision=33472
2008-05-12 15:12:43 +00:00
Aleksey Bragin
fcae112976 - Make IoCreateNotificationEvent and IoCreateSynchronizationEvent create kernel handles (according to MSDN http://msdn.microsoft.com/en-us/library/aa490498.aspx). Spotted by Stefan Ginsberg.
svn path=/trunk/; revision=33470
2008-05-12 13:42:05 +00:00
Hervé Poussineau
d600586fdd Use dynamic debug system
svn path=/trunk/; revision=33469
2008-05-12 12:01:51 +00:00
Hervé Poussineau
7c21013a99 Reuse existing function instead of duplicating functionality
Patch by Carlo Bramini, carlo dot bramix at libero dot it
See issue #2437 for more details.

svn path=/trunk/; revision=33468
2008-05-12 09:58:14 +00:00
Hervé Poussineau
a617fe3890 "\\.\" always exists
Fixes "copy freeldr.ini con:" command

svn path=/trunk/; revision=33467
2008-05-12 09:40:08 +00:00
Aleksey Bragin
2e73601047 - Fix yet another typo in the same line, spotted by Stefan Ginsberg.
svn path=/trunk/; revision=33465
2008-05-12 08:34:33 +00:00
Aleksey Bragin
b17882ecd8 Kamil Hornicek <tykef@atlas.cz>
- Update tests to Wine head (as of 11th of May, 2008).

svn path=/trunk/; revision=33464
2008-05-12 08:33:26 +00:00
Aleksey Bragin
0d2bc37302 - Fix a typo, spotted by Stefan Ginsberg.
svn path=/trunk/; revision=33463
2008-05-12 08:11:31 +00:00
James Tabor
92849df7cc Fixed ExtCreatePen and started CreatePen. Tested with wine gdi32 cross test. Isolated problem in win32k.
svn path=/trunk/; revision=33461
2008-05-12 07:31:15 +00:00
James Tabor
f5cf7f122c Fixed wine all of gdi32 dc tests and only 2 of gdiobj tests left todo.
svn path=/trunk/; revision=33460
2008-05-12 04:59:20 +00:00
James Tabor
e051367b2f Fix typo spoted by Stefan100.
svn path=/trunk/; revision=33459
2008-05-12 01:55:34 +00:00
Timo Kreuzer
da0b3935d7 NtUserEnumDisplaySettings returns NTSTATUS not BOOL, it doesn't set LastError value. Fix parameter validation and return value, based on tests in w32knapi.Move NtUserEnumDisplayMonitors and NtUserEnumDisplaySettings from windc to a new file display.c (Int functions should go there, too). adapt user32 functions accordingly. As a result w32knapi test doesn't crash anymore.
svn path=/trunk/; revision=33458
2008-05-11 23:51:55 +00:00
Timo Kreuzer
fcaf6d5aef fix a header name
svn path=/trunk/; revision=33457
2008-05-11 23:25:02 +00:00
Timo Kreuzer
41758b941b patch by hyperion: convert pointer calculations with FIELD_OFFSET macro
svn path=/trunk/; revision=33456
2008-05-11 23:15:44 +00:00
Timo Kreuzer
c6aa16c16a use "%p" to DPRINT a pointer instead of casting it to int and using "%08x"
svn path=/trunk/; revision=33455
2008-05-11 22:28:20 +00:00
Timo Kreuzer
8c2db2fee0 - Use InterlockedExchangePointer instead of InterlockedExchange for a pointer.
- Don't cast a DWORD to HANDLE directly
- ViewSize param of MmMapViewOfSection is SIZE_T, not ULONG

svn path=/trunk/; revision=33454
2008-05-11 22:23:45 +00:00
Timo Kreuzer
24a4495952 a "real" InterlockedExchangePointer wants PVOID* and nothing else.
svn path=/trunk/; revision=33453
2008-05-11 22:09:53 +00:00
Timo Kreuzer
e7657c026b - a bunch of tests for NtUserEnumDisplaySettings
- one test for NtGdiGetFontResourceInfoInternalW

svn path=/trunk/; revision=33452
2008-05-11 21:49:56 +00:00
Hervé Poussineau
906bec0223 Add generic list scrolling
See issue #3234 for more details.

svn path=/trunk/; revision=33451
2008-05-11 21:32:00 +00:00
Hervé Poussineau
2199183bbe Better encapsulation of generic list
svn path=/trunk/; revision=33450
2008-05-11 21:17:57 +00:00
Filip Navara
0e6c1e1d3a Fix incorrect parameters to IoSetDeviceToVerify/IoVerifyVolume. Spotted by R.T.Sivakumar <rtshiva@gmail.com>.
svn path=/trunk/; revision=33449
2008-05-11 20:04:47 +00:00
Filip Navara
b512080393 Fix checking of return values from IoCreateDevice. Spotted by R.T.Sivakumar <rtshiva@gmail.com>.
svn path=/trunk/; revision=33448
2008-05-11 19:47:50 +00:00
Filip Navara
76256a1bdd Fix wrong variable usage - "Filename" (8 characters long) of a directory entry was referenced instead of a "ShortName" (11 characters long). The actual bug was harmless since both arrays are defined in an union and lie at the same place in memory.
svn path=/trunk/; revision=33447
2008-05-11 18:57:07 +00:00
Colin Finck
951e1367da Robin Geuze (r DOT geuze AT chello DOT nl):
- Add the correct Visual Studio version to the .sln file header, so that the Visual Studio Version Selector does not get confused.
  I slightly modified the patch to replace some following if's by else if's.

svn path=/trunk/; revision=33446
2008-05-11 18:30:36 +00:00
Colin Finck
67e88fe072 - [FORMATTING] Fix indentation in usetup's genlist.
- Remove the obsolete "media/vgafonts/readme.txt" file.

No code changes

svn path=/trunk/; revision=33445
2008-05-11 15:07:16 +00:00
Marc Piulachs
bd846f9aa4 - fix typo
svn path=/trunk/; revision=33444
2008-05-11 15:05:19 +00:00
Pierre Schweitzer
d91736aefb Synced urlmon.dll with Wine HEAD.
This *does not* fix Downloader

svn path=/trunk/; revision=33443
2008-05-11 13:57:45 +00:00
Gregor Brunmar
5e244d149d Made 17 listbox winetests pass in user32.dll (some of the changes were taken from wine)
svn path=/trunk/; revision=33442
2008-05-11 13:46:47 +00:00
Pierre Schweitzer
ba3a40c9e9 No need for a shortcut to kbswitch.exe on the desktop
svn path=/trunk/; revision=33441
2008-05-11 13:11:30 +00:00
1797 changed files with 68652 additions and 56974 deletions

View File

@@ -1,25 +1,26 @@
using System;
namespace TechBot.Library
using TechBot.Library;
namespace TechBot.Commands.Common
{
public abstract class BugCommand : Command
{
private string m_BugID = null;
// private string m_BugID = null;
public BugCommand()
{
}
[CommandParameter("id", "The bug ID")]
public string BugID
{
get { return m_BugID; }
set { m_BugID = value; }
get { return Parameters; }
set { Parameters = value; }
}
public override void ExecuteCommand()
{
if (BugID == null)
if (string.IsNullOrEmpty(BugID))
{
Say("Please provide a valid bug number.");
}

View File

@@ -2,7 +2,9 @@ using System;
using System.Xml;
using System.Collections;
namespace TechBot.Library
using TechBot.Library;
namespace TechBot.Commands.Common
{
[Command("error", Help = "!error <value>")]
public class ErrorCommand : Command
@@ -68,27 +70,24 @@ namespace TechBot.Library
return code.ToString();
}
public override void Handle(MessageContext context)
{
if (Text.Equals(String.Empty))
public override void ExecuteCommand()
{
if (Parameters.Equals(String.Empty))
{
TechBot.ServiceOutput.WriteLine(context,
"Please provide an Error Code.");
Say("Please provide an Error Code.");
return;
}
string errorText = originalErrorText;
string errorText = Parameters;
retry:
NumberParser np = new NumberParser();
long error = np.Parse(errorText);
if (np.Error)
{
TechBot.ServiceOutput.WriteLine(context,
String.Format("{0} is not a valid Error Code.",
originalErrorText));
return;
}
if (np.Error)
{
Say("{0} is not a valid Error Code.", Parameters);
return;
}
ArrayList descriptions = new ArrayList();
@@ -159,27 +158,23 @@ namespace TechBot.Library
goto retry;
}
TechBot.ServiceOutput.WriteLine(context,
String.Format("I don't know about Error Code {0}.",
originalErrorText));
}
else if (descriptions.Count == 1)
{
string description = (string)descriptions[0];
TechBot.ServiceOutput.WriteLine(context,
String.Format("{0} is {1}.",
originalErrorText,
description));
}
else
{
TechBot.ServiceOutput.WriteLine(context,
String.Format("{0} could be:",
originalErrorText));
foreach(string description in descriptions)
TechBot.ServiceOutput.WriteLine(context, String.Format("\t{0}", description));
Say("I don't know about Error Code {0}.",
Parameters);
}
else if (descriptions.Count == 1)
{
string description = (string)descriptions[0];
Say("{0} is {1}.",
Parameters,
description);
}
else
{
Say("{0} could be:", Parameters);
foreach (string description in descriptions)
Say("\t{0}", description);
}
}
}
}

View File

@@ -0,0 +1,66 @@
using System;
using System.Xml;
using TechBot.Library;
namespace TechBot.Commands.Common
{
[Command("hresult", Help = "!hresult <value>")]
public class HResultCommand : XmlLookupCommand
{
public HResultCommand()
{
}
public override string XmlFile
{
get { return Settings.Default.HResultXml; }
}
public override void ExecuteCommand()
{
if (string.IsNullOrEmpty(Text))
{
Say("Please provide a valid HRESULT value.");
}
else
{
NumberParser np = new NumberParser();
long hresult = np.Parse(Text);
if (np.Error)
{
Say("{0} is not a valid HRESULT value.", Text);
return;
}
string description = GetHresultDescription(hresult);
if (description != null)
{
Say("{0} is {1}.",
Text,
description);
}
else
{
Say("I don't know about HRESULT {0}.", Text);
}
}
}
public string GetHresultDescription(long hresult)
{
XmlElement root = base.m_XmlDocument.DocumentElement;
XmlNode node = root.SelectSingleNode(String.Format("Hresult[@value='{0}']",
hresult.ToString("X8")));
if (node != null)
{
XmlAttribute text = node.Attributes["text"];
if (text == null)
throw new Exception("Node has no text attribute.");
return text.Value;
}
else
return null;
}
}
}

View File

@@ -0,0 +1,66 @@
using System;
using System.Xml;
using TechBot.Library;
namespace TechBot.Commands.Common
{
[Command("ntstatus", Help = "!ntstatus <value>")]
public class NtStatusCommand : XmlLookupCommand
{
public NtStatusCommand()
{
}
public override string XmlFile
{
get { return Settings.Default.NtStatusXml; }
}
public override void ExecuteCommand()
{
if (string.IsNullOrEmpty(Text))
{
Say("Please provide a valid NTSTATUS value.");
}
else
{
NumberParser np = new NumberParser();
long ntstatus = np.Parse(Text);
if (np.Error)
{
Say("{0} is not a valid NTSTATUS value.", Text);
return;
}
string description = GetNtstatusDescription(ntstatus);
if (description != null)
{
Say("{0} is {1}.",
Text,
description);
}
else
{
Say("I don't know about NTSTATUS {0}.", Text);
}
}
}
public string GetNtstatusDescription(long ntstatus)
{
XmlElement root = base.m_XmlDocument.DocumentElement;
XmlNode node = root.SelectSingleNode(String.Format("Ntstatus[@value='{0}']",
ntstatus.ToString("X8")));
if (node != null)
{
XmlAttribute text = node.Attributes["text"];
if (text == null)
throw new Exception("Node has no text attribute.");
return text.Value;
}
else
return null;
}
}
}

View File

@@ -0,0 +1,35 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("TechBot.Commands.Common")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Sand")]
[assembly: AssemblyProduct("TechBot.Commands.Common")]
[assembly: AssemblyCopyright("Copyright © Sand 2008")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("5d39d6f8-37fb-423b-ba88-1d5d8e5a1317")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -2,9 +2,11 @@ using System;
using System.Collections.Generic;
using System.Text;
namespace TechBot.Library
using TechBot.Library;
namespace TechBot.Commands.Common
{
[Command("rosbug", Help = "!rosbug <number>")]
[Command("rosbug", Help = "!rosbug <number>", Description = "Will give you a link to the reqested ReactOS bug")]
class ReactOSBugUrl : BugCommand
{
public ReactOSBugUrl()

View File

@@ -2,9 +2,11 @@ using System;
using System.Collections.Generic;
using System.Text;
namespace TechBot.Library
using TechBot.Library;
namespace TechBot.Commands.Common
{
[Command("sambabug", Help = "!sambabug <number>")]
[Command("sambabug", Help = "!sambabug <number>", Description = "Will give you a link to the reqested Samba bug")]
class SambaBugUrl : BugCommand
{
public SambaBugUrl()

View File

@@ -0,0 +1,71 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.1433
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace TechBot.Commands.Common {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("C:\\Ros\\current\\irc\\TechBot\\Resources\\ntstatus.xml")]
public string NtStatusXml {
get {
return ((string)(this["NtStatusXml"]));
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("C:\\Ros\\current\\irc\\TechBot\\Resources\\winerror.xml")]
public string WinErrorXml {
get {
return ((string)(this["WinErrorXml"]));
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("C:\\Ros\\current\\irc\\TechBot\\Resources\\hresult.xml")]
public string HResultXml {
get {
return ((string)(this["HResultXml"]));
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("C:\\Ros\\current\\irc\\TechBot\\Resources\\wm.xml")]
public string WMXml {
get {
return ((string)(this["WMXml"]));
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("svn://svn.reactos.org/trunk/reactos")]
public string SVNRoot {
get {
return ((string)(this["SVNRoot"]));
}
}
}
}

View File

@@ -0,0 +1,28 @@
namespace TechBot.Commands.Common {
// This class allows you to handle specific events on the settings class:
// The SettingChanging event is raised before a setting's value is changed.
// The PropertyChanged event is raised after a setting's value is changed.
// The SettingsLoaded event is raised after the setting values are loaded.
// The SettingsSaving event is raised before the setting values are saved.
internal sealed partial class Settings {
public Settings() {
// // To add event handlers for saving and changing settings, uncomment the lines below:
//
// this.SettingChanging += this.SettingChangingEventHandler;
//
// this.SettingsSaving += this.SettingsSavingEventHandler;
//
}
private void SettingChangingEventHandler(object sender, System.Configuration.SettingChangingEventArgs e) {
// Add code to handle the SettingChangingEvent event here.
}
private void SettingsSavingEventHandler(object sender, System.ComponentModel.CancelEventArgs e) {
// Add code to handle the SettingsSaving event here.
}
}
}

View File

@@ -0,0 +1,21 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="TechBot.Commands.Common" GeneratedClassName="Settings">
<Profiles />
<Settings>
<Setting Name="NtStatusXml" Type="System.String" Scope="Application">
<Value Profile="(Default)">C:\Ros\current\irc\TechBot\Resources\ntstatus.xml</Value>
</Setting>
<Setting Name="WinErrorXml" Type="System.String" Scope="Application">
<Value Profile="(Default)">C:\Ros\current\irc\TechBot\Resources\winerror.xml</Value>
</Setting>
<Setting Name="HResultXml" Type="System.String" Scope="Application">
<Value Profile="(Default)">C:\Ros\current\irc\TechBot\Resources\hresult.xml</Value>
</Setting>
<Setting Name="WMXml" Type="System.String" Scope="Application">
<Value Profile="(Default)">C:\Ros\current\irc\TechBot\Resources\wm.xml</Value>
</Setting>
<Setting Name="SVNRoot" Type="System.String" Scope="Application">
<Value Profile="(Default)">svn://svn.reactos.org/trunk/reactos</Value>
</Setting>
</Settings>
</SettingsFile>

View File

@@ -1,8 +1,10 @@
using System;
namespace TechBot.Library
using TechBot.Library;
namespace TechBot.Commands.Common
{
[Command("svn", Help = "!svn")]
[Command("svn", Help = "!svn" , Description="Where the ROS SVN repository is located")]
public class SvnCommand : Command
{
private string m_SvnRoot;

View File

@@ -0,0 +1,75 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{041B5F06-BF97-4981-B024-3A7B6DD9F6AE}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>TechBot.Commands.Common</RootNamespace>
<AssemblyName>TechBot.Commands.Common</AssemblyName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Base\BugCommand.cs" />
<Compile Include="ErrorCommand.cs" />
<Compile Include="HResultCommand.cs" />
<Compile Include="NtStatusCommand.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ReactOSBugUrl.cs" />
<Compile Include="SambaBugUrl.cs" />
<Compile Include="Settings.cs" />
<Compile Include="Settings.Designer.cs">
<DependentUpon>Settings.settings</DependentUpon>
<AutoGen>True</AutoGen>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<Compile Include="SvnCommand.cs" />
<Compile Include="WineBugUrl.cs" />
<Compile Include="WinerrorCommand.cs" />
<Compile Include="WMCommand.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\TechBot.Library\TechBot.Library.csproj">
<Project>{1114F34D-F388-4F38-AE27-C0EE1B10B777}</Project>
<Name>TechBot.Library</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -1,13 +1,13 @@
using System;
using System.Xml;
namespace TechBot.Library
using TechBot.Library;
namespace TechBot.Commands.Common
{
[Command("wm" , Help = "!wm <value> or !wm <name>")]
public class WMCommand : XmlCommand
{
private string m_WMText = null;
public WMCommand()
{
}
@@ -17,48 +17,46 @@ namespace TechBot.Library
get { return Settings.Default.WMXml; }
}
[CommandParameter("wm", "The windows message to check")]
[CommandParameter("wm", "The windows message to check" , DefaultParameter = true)]
public string WMText
{
get { return m_WMText; }
set { m_WMText = value; }
get { return Parameters; }
set { Parameters = value; }
}
public override void ExecuteCommand()
{
if (WMText.Equals(String.Empty))
{
TechBot.ServiceOutput.WriteLine(Context,
"Please provide a valid window message value or name.");
return;
}
if (string.IsNullOrEmpty(WMText))
{
Say("Please provide a valid window message value or name.");
NumberParser np = new NumberParser();
long wm = np.Parse(WMText);
string output;
if (np.Error)
{
// Assume "!wm <name>" form.
output = GetWmNumber(WMText);
}
else
{
output = GetWmDescription(wm);
}
}
else
{
NumberParser np = new NumberParser();
long wm = np.Parse(WMText);
string output;
if (np.Error)
{
// Assume "!wm <name>" form.
output = GetWmNumber(WMText);
}
else
{
output = GetWmDescription(wm);
}
if (output != null)
{
TechBot.ServiceOutput.WriteLine(Context,
String.Format("{0} is {1}.",
WMText,
output));
}
else
{
TechBot.ServiceOutput.WriteLine(Context,
String.Format("I don't know about window message {0}.",
WMText));
}
if (output != null)
{
Say("{0} is {1}.",
WMText,
output);
}
else
{
Say("I don't know about window message {0}.", WMText);
}
}
}
private string GetWmDescription(long wm)

View File

@@ -2,9 +2,11 @@ using System;
using System.Collections.Generic;
using System.Text;
namespace TechBot.Library
using TechBot.Library;
namespace TechBot.Commands.Common
{
[Command("winebug", Help = "!winebug <number>")]
[Command("winebug", Help = "!winebug <number>" , Description="Will give you a link to the reqested Wine bug")]
class WineBugUrl : BugCommand
{
public WineBugUrl()

View File

@@ -0,0 +1,66 @@
using System;
using System.Xml;
using TechBot.Library;
namespace TechBot.Commands.Common
{
[Command("winerror", Help = "!winerror <value>")]
public class WinErrorCommand : XmlLookupCommand
{
public WinErrorCommand()
{
}
public override string XmlFile
{
get { return Settings.Default.WinErrorXml; }
}
public override void ExecuteCommand()
{
if (string.IsNullOrEmpty(Text))
{
Say("Please provide a valid System Error Code value.");
}
else
{
NumberParser np = new NumberParser();
long winerror = np.Parse(Text);
if (np.Error)
{
Say("{0} is not a valid System Error Code value.", Text);
return;
}
string description = GetWinerrorDescription(winerror);
if (description != null)
{
Say("{0} is {1}.",
Text,
description);
}
else
{
Say("I don't know about System Error Code {0}.", Text);
}
}
}
public string GetWinerrorDescription(long winerror)
{
XmlElement root = base.m_XmlDocument.DocumentElement;
XmlNode node = root.SelectSingleNode(String.Format("Winerror[@value='{0}']",
winerror.ToString()));
if (node != null)
{
XmlAttribute text = node.Attributes["text"];
if (text == null)
throw new Exception("Node has no text attribute.");
return text.Value;
}
else
return null;
}
}
}

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="TechBot.Commands.Common.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<applicationSettings>
<TechBot.Commands.Common.Settings>
<setting name="NtStatusXml" serializeAs="String">
<value>C:\Ros\current\irc\TechBot\Resources\ntstatus.xml</value>
</setting>
<setting name="WinErrorXml" serializeAs="String">
<value>C:\Ros\current\irc\TechBot\Resources\winerror.xml</value>
</setting>
<setting name="HResultXml" serializeAs="String">
<value>C:\Ros\current\irc\TechBot\Resources\hresult.xml</value>
</setting>
<setting name="WMXml" serializeAs="String">
<value>C:\Ros\current\irc\TechBot\Resources\wm.xml</value>
</setting>
<setting name="SVNRoot" serializeAs="String">
<value>svn://svn.reactos.org/trunk/reactos</value>
</setting>
</TechBot.Commands.Common.Settings>
</applicationSettings>
</configuration>

View File

@@ -2,46 +2,52 @@ using System;
using System.IO;
using System.Data;
using System.Text.RegularExpressions;
using HtmlHelp;
using HtmlHelp.ChmDecoding;
namespace TechBot.Library
using TechBot.Library;
namespace TechBot.Commands.MSDN
{
[Command("api", Help = "!api <apiname>")]
public class ApiCommand : Command
{
private const bool IsVerbose = false;
private bool IsVerbose = false;
private HtmlHelpSystem chm;
private string chmPath;
private string mainChm;
public ApiCommand()
{
Run();
}
private void WriteIfVerbose(MessageContext context,
string message)
{
if (IsVerbose)
TechBot.ServiceOutput.WriteLine(context,
message);
LoadCHM();
}
private void Run()
[CommandParameter("api", "The API name")]
public string API
{
get { return Parameters; }
set { Parameters = value; }
}
private void WriteIfVerbose(string message)
{
string CHMFilename = Path.Combine(chmPath, mainChm);
if (IsVerbose)
Say(message);
}
private void LoadCHM()
{
string CHMFilename = Path.Combine(Settings.Default.ChmPath, Settings.Default.MainChm);
chm = new HtmlHelpSystem();
chm.OpenFile(CHMFilename, null);
Console.WriteLine(String.Format("Loaded main CHM: {0}",
Path.GetFileName(CHMFilename)));
foreach (string filename in Directory.GetFiles(chmPath))
foreach (string filename in Directory.GetFiles(Settings.Default.ChmPath))
{
if (!Path.GetExtension(filename).ToLower().Equals(".chm"))
continue;
if (Path.GetFileName(filename).ToLower().Equals(mainChm))
if (Path.GetFileName(filename).ToLower().Equals(Settings.Default.MainChm))
continue;
Console.WriteLine(String.Format("Loading CHM: {0}",
@@ -61,50 +67,48 @@ namespace TechBot.Library
chm.FileList.Length));
}
public override void Handle(MessageContext context)
{
if (parameters.Trim().Equals(String.Empty))
DisplayNoKeyword(context);
else
Search(context,
parameters);
}
public override void ExecuteCommand()
{
if (Name.Trim().Equals(String.Empty))
{
Say("Please give me a keyword.");
}
else
{
Search(Name);
}
}
private bool SearchIndex(MessageContext context,
string keyword)
{
if (chm.HasIndex)
{
IndexItem item = chm.Index.SearchIndex(keyword,
IndexType.KeywordLinks);
if (item != null && item.Topics.Count > 0)
{
WriteIfVerbose(context,
String.Format("Keyword {0} found in index",
item.KeyWord));
IndexTopic indexTopic = item.Topics[0] as IndexTopic;
return DisplayResult(context,
keyword,
indexTopic);
}
else
{
WriteIfVerbose(context,
String.Format("Keyword {0} not found in index",
keyword));
return false;
}
}
else
return false;
}
private bool SearchIndex(
string keyword)
{
if (chm.HasIndex)
{
IndexItem item = chm.Index.SearchIndex(keyword,
IndexType.KeywordLinks);
if (item != null && item.Topics.Count > 0)
{
WriteIfVerbose(String.Format("Keyword {0} found in index",
item.KeyWord));
IndexTopic indexTopic = item.Topics[0] as IndexTopic;
return DisplayResult( keyword,
indexTopic);
}
else
{
WriteIfVerbose(String.Format("Keyword {0} not found in index",
keyword));
return false;
}
}
else
return false;
}
private void SearchFullText(MessageContext context,
string keyword)
private void SearchFullText(string keyword)
{
string sort = "Rating ASC";
WriteIfVerbose(context,
String.Format("Searching fulltext database for {0}",
WriteIfVerbose(String.Format("Searching fulltext database for {0}",
keyword));
bool partialMatches = false;
@@ -114,58 +118,46 @@ namespace TechBot.Library
maxResults,
partialMatches,
titlesOnly);
WriteIfVerbose(context,
String.Format("results.Rows.Count = {0}",
WriteIfVerbose(String.Format("results.Rows.Count = {0}",
results != null ?
results.Rows.Count.ToString() : "(none)"));
if (results != null && results.Rows.Count > 0)
{
results.DefaultView.Sort = sort;
if (!DisplayResult(context,
keyword,
if (!DisplayResult(keyword,
results))
{
DisplayNoResult(context,
keyword);
Say("No result");
}
}
else
{
DisplayNoResult(context,
keyword);
Say("No result");
}
}
private void Search(MessageContext context,
string keyword)
private void Search(string keyword)
{
if (!SearchIndex(context,
keyword))
SearchFullText(context,
keyword);
if (!SearchIndex(keyword))
SearchFullText(keyword);
}
private bool DisplayResult(MessageContext context,
string keyword,
private bool DisplayResult(string keyword,
IndexTopic indexTopic)
{
keyword = keyword.Trim().ToLower();
string url = indexTopic.URL;
WriteIfVerbose(context,
String.Format("URL from index search {0}",
WriteIfVerbose(String.Format("URL from index search {0}",
url));
string prototype = ExtractPrototype(context,
url);
string prototype = ExtractPrototype(url);
if (prototype == null || prototype.Trim().Equals(String.Empty))
return false;
string formattedPrototype = FormatPrototype(prototype);
TechBot.ServiceOutput.WriteLine(context,
formattedPrototype);
Say(formattedPrototype);
return true;
}
private bool DisplayResult(MessageContext context,
string keyword,
private bool DisplayResult(string keyword,
DataTable results)
{
keyword = keyword.Trim().ToLower();
@@ -173,20 +165,17 @@ namespace TechBot.Library
{
DataRowView row = results.DefaultView[i];
string title = row["Title"].ToString();
WriteIfVerbose(context,
String.Format("Examining {0}", title));
WriteIfVerbose(String.Format("Examining {0}", title));
if (title.Trim().ToLower().Equals(keyword))
{
string location = row["Location"].ToString();
string rating = row["Rating"].ToString();
string url = row["Url"].ToString();
string prototype = ExtractPrototype(context,
url);
string prototype = ExtractPrototype(url);
if (prototype == null || prototype.Trim().Equals(String.Empty))
continue;
string formattedPrototype = FormatPrototype(prototype);
TechBot.ServiceOutput.WriteLine(context,
formattedPrototype);
Say(formattedPrototype);
return true;
}
}
@@ -201,12 +190,6 @@ namespace TechBot.Library
keyword));
}
private void DisplayNoKeyword(MessageContext context)
{
TechBot.ServiceOutput.WriteLine(context,
"Please give me a keyword.");
}
private string ReplaceComments(string s)
{
return Regex.Replace(s, "//(.+)\r\n", "");
@@ -248,11 +231,9 @@ namespace TechBot.Library
return s;
}
private string ExtractPrototype(MessageContext context,
string url)
private string ExtractPrototype(string url)
{
string page = GetPage(context,
url);
string page = GetPage(url);
Match match = Regex.Match(page,
"<PRE class=\"?syntax\"?>(.+)</PRE>",
RegexOptions.Multiline |
@@ -282,8 +263,7 @@ namespace TechBot.Library
return Regex.Replace(html, @"<(.|\n)*?>", String.Empty);
}
private string GetPage(MessageContext context,
string url)
private string GetPage(string url)
{
string CHMFileName = "";
string topicName = "";
@@ -298,8 +278,7 @@ namespace TechBot.Library
}
else
{
baseStream = GetBaseStreamFromCHMFileName(context,
CHMFileName);
baseStream = GetBaseStreamFromCHMFileName(CHMFileName);
}
if ((topicName == "") || (CHMFileName == "") || (baseStream == null))
@@ -310,13 +289,11 @@ namespace TechBot.Library
return baseStream.ExtractTextFile(topicName);
}
private CHMStream.CHMStream GetBaseStreamFromCHMFileName(MessageContext context,
string CHMFileName)
private CHMStream.CHMStream GetBaseStreamFromCHMFileName(string CHMFileName)
{
foreach (CHMFile file in chm.FileList)
{
WriteIfVerbose(context,
String.Format("Compare: {0} <> {1}",
WriteIfVerbose(String.Format("Compare: {0} <> {1}",
file.ChmFilePath,
CHMFileName));
if (file.ChmFilePath.ToLower().Equals(CHMFileName.ToLower()))
@@ -324,8 +301,7 @@ namespace TechBot.Library
return file.BaseStream;
}
}
WriteIfVerbose(context,
String.Format("Could not find loaded CHM file in list: {0}",
WriteIfVerbose(String.Format("Could not find loaded CHM file in list: {0}",
CHMFileName));
return null;
}

View File

@@ -0,0 +1,35 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("TechBot.Commands.MSDN")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Sand")]
[assembly: AssemblyProduct("TechBot.Commands.MSDN")]
[assembly: AssemblyCopyright("Copyright © Sand 2008")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("8a6332ce-82e3-4fbd-a799-8f4b8d025955")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -0,0 +1,50 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.1433
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace TechBot.Commands.MSDN {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("C:\\IRC\\TechBot\\CHM")]
public string ChmPath {
get {
return ((string)(this["ChmPath"]));
}
set {
this["ChmPath"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("kmarch.chm")]
public string MainChm {
get {
return ((string)(this["MainChm"]));
}
set {
this["MainChm"] = value;
}
}
}
}

View File

@@ -0,0 +1,12 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="TechBot.Commands.MSDN" GeneratedClassName="Settings">
<Profiles />
<Settings>
<Setting Name="ChmPath" Type="System.String" Scope="User">
<Value Profile="(Default)">C:\IRC\TechBot\CHM</Value>
</Setting>
<Setting Name="MainChm" Type="System.String" Scope="User">
<Value Profile="(Default)">kmarch.chm</Value>
</Setting>
</Settings>
</SettingsFile>

View File

@@ -0,0 +1,69 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{ADBF1ED6-A586-4707-BD59-4CD53448D0FE}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>TechBot.Commands.MSDN</RootNamespace>
<AssemblyName>TechBot.Commands.MSDN</AssemblyName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="ApiCommand.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
<DependentUpon>Settings.settings</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\CHMLibrary\CHMLibrary.csproj">
<Project>{72E5CCA1-6318-4D62-964D-CB23A5C743B5}</Project>
<Name>CHMLibrary</Name>
</ProjectReference>
<ProjectReference Include="..\TechBot.Library\TechBot.Library.csproj">
<Project>{1114F34D-F388-4F38-AE27-C0EE1B10B777}</Project>
<Name>TechBot.Library</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -0,0 +1,5 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ProjectFiles</ProjectView>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="TechBot.Commands.MSDN.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<userSettings>
<TechBot.Commands.MSDN.Settings>
<setting name="ChmPath" serializeAs="String">
<value>C:\IRC\TechBot\CHM</value>
</setting>
<setting name="MainChm" serializeAs="String">
<value>kmarch.chm</value>
</setting>
</TechBot.Commands.MSDN.Settings>
</userSettings>
</configuration>

View File

@@ -1,15 +1,27 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="IRCServerHostName" value="irc.eu.freenode.net" />
<add key="IRCServerHostPort" value="6667" />
<add key="IRCChannelNames" value="channel1;channel2" />
<add key="IRCBotName" value="MyBot" />
<add key="IRCBotPassword" value="MyPassword" />
<add key="ChmPath" value="C:\IRC\TechBot\CHM" />
<add key="MainChm" value="kmarch.chm" />
<add key="BugUrl" value="http://www.reactos.org/bugzilla/show_bug.cgi?id={0}" />
<add key="WineBugUrl" value="http://bugs.winehq.org/show_bug.cgi?id={0}" />
<add key="SambaBugUrl" value="https://bugzilla.samba.org/show_bug.cgi?id={0}" />
</appSettings>
</configuration>
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="TechBot.Console.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<userSettings>
<TechBot.Console.Settings>
<setting name="IRCServerHostName" serializeAs="String">
<value>irc.eu.freenode.net</value>
</setting>
<setting name="IRCChannelNames" serializeAs="String">
<value>rbuildbottest2</value>
</setting>
<setting name="IRCBotName" serializeAs="String">
<value>RBuildBot2</value>
</setting>
<setting name="IRCBotPassword" serializeAs="String">
<value>qwerty</value>
</setting>
<setting name="IRCServerHostPort" serializeAs="String">
<value>6667</value>
</setting>
</TechBot.Console.Settings>
</userSettings>
</configuration>

View File

@@ -17,11 +17,10 @@ namespace TechBot.Console
public class ConsoleTechBotService : TechBotService
{
public ConsoleTechBotService(
string chmPath,
string mainChm)
: base(new ConsoleServiceOutput(), chmPath, mainChm)
public ConsoleTechBotService()
: base(new ConsoleServiceOutput())
{
System.Console.WriteLine("TechBot running console service...");
}
public override void Run()
@@ -31,8 +30,7 @@ namespace TechBot.Console
while (true)
{
string s = System.Console.ReadLine();
InjectMessage(null, s);
InjectMessage(System.Console.ReadLine());
}
}
}

View File

@@ -1,240 +1,29 @@
using System;
using System.Configuration;
using TechBot.Library;
namespace TechBot.Console
{
class MainClass
{
private static void VerifyRequiredOption(string optionName,
string optionValue)
{
if (optionValue == null)
{
throw new Exception(String.Format("Option '{0}' not set.",
optionName));
}
}
private static string IRCServerHostName
{
get
{
string optionName = "IRCServerHostName";
string s = ConfigurationSettings.AppSettings[optionName];
VerifyRequiredOption(optionName,
s);
return s;
}
}
private static int IRCServerHostPort
{
get
{
string optionName = "IRCServerHostPort";
string s = ConfigurationSettings.AppSettings[optionName];
VerifyRequiredOption(optionName,
s);
return Int32.Parse(s);
}
}
private static string IRCChannelNames
{
get
{
string optionName = "IRCChannelNames";
string s = ConfigurationSettings.AppSettings[optionName];
VerifyRequiredOption(optionName,
s);
return s;
}
}
private static string IRCBotName
{
get
{
string optionName = "IRCBotName";
string s = ConfigurationSettings.AppSettings[optionName];
VerifyRequiredOption(optionName,
s);
return s;
}
}
private static string IRCBotPassword
{
get
{
string optionName = "IRCBotPassword";
string s = ConfigurationSettings.AppSettings[optionName];
VerifyRequiredOption(optionName,
s);
return s;
}
}
private static string ChmPath
{
get
{
string optionName = "ChmPath";
string s = ConfigurationSettings.AppSettings[optionName];
VerifyRequiredOption(optionName,
s);
return s;
}
}
private static string MainChm
{
get
{
string optionName = "MainChm";
string s = ConfigurationSettings.AppSettings[optionName];
VerifyRequiredOption(optionName,
s);
return s;
}
}
private static string NtstatusXml
{
get
{
string optionName = "NtstatusXml";
string s = ConfigurationSettings.AppSettings[optionName];
VerifyRequiredOption(optionName,
s);
return s;
}
}
private static string WinerrorXml
{
get
{
string optionName = "WinerrorXml";
string s = ConfigurationSettings.AppSettings[optionName];
VerifyRequiredOption(optionName,
s);
return s;
}
}
private static string HresultXml
{
get
{
string optionName = "HresultXml";
string s = ConfigurationSettings.AppSettings[optionName];
VerifyRequiredOption(optionName,
s);
return s;
}
}
private static string WmXml
{
get
{
string optionName = "WmXml";
string s = ConfigurationSettings.AppSettings[optionName];
VerifyRequiredOption(optionName,
s);
return s;
}
}
private static string SvnCommand
{
get
{
string optionName = "SvnCommand";
string s = ConfigurationSettings.AppSettings[optionName];
VerifyRequiredOption(optionName,
s);
return s;
}
}
private static string BugUrl
{
get
{
string optionName = "BugUrl";
string s = ConfigurationSettings.AppSettings[optionName];
VerifyRequiredOption(optionName,
s);
return s;
}
}
private static string WineBugUrl
{
get
{
string optionName = "WineBugUrl";
string s = ConfigurationSettings.AppSettings[optionName];
VerifyRequiredOption(optionName,
s);
return s;
}
}
private static string SambaBugUrl
{
get
{
string optionName = "SambaBugUrl";
string s = ConfigurationSettings.AppSettings[optionName];
VerifyRequiredOption(optionName,
s);
return s;
}
}
//private static void RunIrcService()
//{
// IrcTechBotService ircService = new IrcTechBotService(IRCServerHostName,
// IRCServerHostPort,
// IRCChannelNames,
// IRCBotName,
// IRCBotPassword,
// ChmPath,
// MainChm);
// ircService.Run();
//}
public static void Main(string[] args)
{
TechBotService m_TechBot = null;
if (args.Length > 0 && args[0].ToLower().Equals("irc"))
{
m_TechBot = new IrcTechBotService(IRCServerHostName,
IRCServerHostPort,
IRCChannelNames,
IRCBotName,
IRCBotPassword,
ChmPath,
MainChm);
}
else
{
System.Console.WriteLine("TechBot running console service...");
m_TechBot = new ConsoleTechBotService(
ChmPath,
MainChm);
}
m_TechBot.Run();
}
}
using System;
using System.Configuration;
using TechBot.Library;
namespace TechBot.Console
{
class MainClass
{
public static void Main(string[] args)
{
TechBotService m_TechBot = null;
if (args.Length > 0 && args[0].ToLower().Equals("irc"))
{
m_TechBot = new IrcTechBotService(Settings.Default.IRCServerHostName,
Settings.Default.IRCServerHostPort,
Settings.Default.IRCChannelNames,
Settings.Default.IRCBotName,
Settings.Default.IRCBotPassword);
}
else
{
m_TechBot = new ConsoleTechBotService();
}
m_TechBot.Run();
}
}
}

View File

@@ -0,0 +1,86 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.1433
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace TechBot.Console {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("irc.eu.freenode.net")]
public string IRCServerHostName {
get {
return ((string)(this["IRCServerHostName"]));
}
set {
this["IRCServerHostName"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("rbuildbottest2")]
public string IRCChannelNames {
get {
return ((string)(this["IRCChannelNames"]));
}
set {
this["IRCChannelNames"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("RBuildBot2")]
public string IRCBotName {
get {
return ((string)(this["IRCBotName"]));
}
set {
this["IRCBotName"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("qwerty")]
public string IRCBotPassword {
get {
return ((string)(this["IRCBotPassword"]));
}
set {
this["IRCBotPassword"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("6667")]
public int IRCServerHostPort {
get {
return ((int)(this["IRCServerHostPort"]));
}
set {
this["IRCServerHostPort"] = value;
}
}
}
}

View File

@@ -0,0 +1,21 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="TechBot.Console" GeneratedClassName="Settings">
<Profiles />
<Settings>
<Setting Name="IRCServerHostName" Type="System.String" Scope="User">
<Value Profile="(Default)">irc.eu.freenode.net</Value>
</Setting>
<Setting Name="IRCChannelNames" Type="System.String" Scope="User">
<Value Profile="(Default)">rbuildbottest2</Value>
</Setting>
<Setting Name="IRCBotName" Type="System.String" Scope="User">
<Value Profile="(Default)">RBuildBot2</Value>
</Setting>
<Setting Name="IRCBotPassword" Type="System.String" Scope="User">
<Value Profile="(Default)">qwerty</Value>
</Setting>
<Setting Name="IRCServerHostPort" Type="System.Int32" Scope="User">
<Value Profile="(Default)">6667</Value>
</Setting>
</Settings>
</SettingsFile>

View File

@@ -40,11 +40,24 @@
<Compile Include="AssemblyInfo.cs" />
<Compile Include="ConsoleTechBotService.cs" />
<Compile Include="Main.cs" />
<Compile Include="Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
<DependentUpon>Settings.settings</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<Reference Include="System" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\TechBot.Commands.Common\TechBot.Commands.Common.csproj">
<Project>{041B5F06-BF97-4981-B024-3A7B6DD9F6AE}</Project>
<Name>TechBot.Commands.Common</Name>
</ProjectReference>
<ProjectReference Include="..\TechBot.Commands.RBuild\TechBot.Commands.RBuild.csproj">
<Project>{D676FEDE-62DD-4B4D-94C6-308598E827F9}</Project>
<Name>TechBot.Commands.RBuild</Name>
</ProjectReference>
<ProjectReference Include="..\TechBot.IRCLibrary\TechBot.IRCLibrary.csproj">
<Project>{D2A57931-DF04-4BC3-BD11-75DF4F3B0A88}</Project>
<Name>TechBot.IRCLibrary</Name>
@@ -55,7 +68,11 @@
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
<None Include="app.config" />
<None Include="Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\" />

View File

@@ -50,6 +50,9 @@
<ItemGroup>
<Reference Include="System" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\" />
</ItemGroup>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="TechBot.IRCLibrary.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<userSettings>
<TechBot.IRCLibrary.Settings>
<setting name="CommandPrefix" serializeAs="String">
<value>@</value>
</setting>
</TechBot.IRCLibrary.Settings>
</userSettings>
</configuration>

View File

@@ -13,6 +13,7 @@ namespace TechBot.Library
private string m_name = "";
private string m_description = "";
private bool m_Required = true;
private bool m_Default = false;
#endregion
#region Public Properties
@@ -26,6 +27,12 @@ namespace TechBot.Library
public bool Required { get { return m_Required; } }
public bool DefaultParameter
{
get { return m_Default; }
set { m_Default = value; }
}
#endregion
#region Constructors

View File

@@ -1,4 +1,5 @@
using System;
using System.Text.RegularExpressions;
namespace TechBot.Library
{
@@ -6,6 +7,7 @@ namespace TechBot.Library
{
protected TechBotService m_TechBotService = null;
protected MessageContext m_Context = null;
protected string m_Params = null;
public TechBotService TechBot
{
@@ -19,6 +21,11 @@ namespace TechBot.Library
set { m_Context = value; }
}
public virtual bool AnswerInPublic
{
get { return true; }
}
public string Name
{
get
@@ -30,10 +37,15 @@ namespace TechBot.Library
}
}
public void ParseParameters(string paramaters)
public string Parameters
{
ParametersParser parser = new ParametersParser(paramaters, this);
parser.Parse();
get { return m_Params; }
set { m_Params = value; }
}
protected virtual void Say()
{
TechBot.ServiceOutput.WriteLine(Context, string.Empty);
}
protected virtual void Say(string message)
@@ -46,6 +58,33 @@ namespace TechBot.Library
TechBot.ServiceOutput.WriteLine(Context, String.Format(format, args));
}
public void Run()
{
if (Context is ChannelMessageContext)
{
if (AnswerInPublic)
{
ExecuteCommand();
}
else
{
Say("Sorry, I only respond '{0}' in private , PM me!", Name);
}
}
else
{
ExecuteCommand();
}
}
public abstract void ExecuteCommand();
public virtual void Initialize()
{
}
public virtual void DeInitialize()
{
}
}
}

View File

@@ -6,13 +6,10 @@ namespace TechBot.Library
{
public abstract class XmlLookupCommand : XmlCommand
{
private string m_Text = null;
[CommandParameter("text", "The value to check")]
public string Text
public virtual string Text
{
get { return m_Text; }
set { m_Text = value; }
get { return Parameters; }
set { Parameters = value; }
}
}
}

View File

@@ -1,33 +1,38 @@
using System;
using System.Reflection;
using System.Collections;
namespace TechBot.Library
{
[Command("help", Help = "!help")]
[Command("help", Help = "!help or !help -name:[CommandName]", Description = "Shows this help , type 'help -name:[CommandName]'")]
public class HelpCommand : Command
{
private string m_CommandName = null;
public HelpCommand()
{
}
[CommandParameter("Name", "The command name to show help")]
public override bool AnswerInPublic
{
get { return false; }
}
[CommandParameter("Name", "The command name to show help")]
public string CommandName
{
get { return m_CommandName; }
set { m_CommandName = value; }
get { return Parameters; }
set { Parameters = value; }
}
public override void ExecuteCommand()
{
if (CommandName == null)
if (string.IsNullOrEmpty(CommandName))
{
Say("I support the following commands:");
foreach (CommandBuilder command in TechBot.Commands)
{
Say("!{0} - {1}",
Say("{0}{1} - {2}",
Settings.Default.CommandPrefix,
command.Name,
command.Description);
}
@@ -43,7 +48,29 @@ namespace TechBot.Library
else
{
Say("Command '{0}' help:", CommandName);
Say("");
Say();
Say(cmdBuilder.Description);
Say();
Say(cmdBuilder.Help);
Say();
Say("Parameters :");
Say();
PropertyInfo[] propertyInfoArray = cmdBuilder.Type.GetProperties(BindingFlags.Public | BindingFlags.Instance);
foreach (PropertyInfo propertyInfo in propertyInfoArray)
{
CommandParameterAttribute[] commandAttributes = (CommandParameterAttribute[])
Attribute.GetCustomAttributes(propertyInfo, typeof(CommandParameterAttribute));
foreach (CommandParameterAttribute parameter in commandAttributes)
{
Say("\t-{0}: [{1}]",
parameter.Name,
parameter.Description);
}
}
Say();
}
}
}

View File

@@ -1,69 +0,0 @@
using System;
using System.Xml;
namespace TechBot.Library
{
[Command("hresult", Help = "!hresult <value>")]
public class HResultCommand : XmlLookupCommand
{
public HResultCommand()
{
}
public override string XmlFile
{
get { return Settings.Default.HResultXml; }
}
public override void ExecuteCommand()
{
if (Text.Equals(String.Empty))
{
TechBot.ServiceOutput.WriteLine(Context,
"Please provide a valid HRESULT value.");
return;
}
NumberParser np = new NumberParser();
long hresult = np.Parse(Text);
if (np.Error)
{
TechBot.ServiceOutput.WriteLine(Context,
String.Format("{0} is not a valid HRESULT value.",
Text));
return;
}
string description = GetHresultDescription(hresult);
if (description != null)
{
TechBot.ServiceOutput.WriteLine(Context,
String.Format("{0} is {1}.",
Text,
description));
}
else
{
TechBot.ServiceOutput.WriteLine(Context,
String.Format("I don't know about HRESULT {0}.",
Text));
}
}
public string GetHresultDescription(long hresult)
{
XmlElement root = base.m_XmlDocument.DocumentElement;
XmlNode node = root.SelectSingleNode(String.Format("Hresult[@value='{0}']",
hresult.ToString("X8")));
if (node != null)
{
XmlAttribute text = node.Attributes["text"];
if (text == null)
throw new Exception("Node has no text attribute.");
return text.Value;
}
else
return null;
}
}
}

View File

@@ -1,69 +0,0 @@
using System;
using System.Xml;
namespace TechBot.Library
{
[Command("ntstatus", Help = "!ntstatus <value>")]
public class NtStatusCommand : XmlLookupCommand
{
public NtStatusCommand()
{
}
public override string XmlFile
{
get { return Settings.Default.NtStatusXml; }
}
public override void ExecuteCommand()
{
if (Text.Equals(String.Empty))
{
TechBot.ServiceOutput.WriteLine(Context,
"Please provide a valid NTSTATUS value.");
return;
}
NumberParser np = new NumberParser();
long ntstatus = np.Parse(Text);
if (np.Error)
{
TechBot.ServiceOutput.WriteLine(Context,
String.Format("{0} is not a valid NTSTATUS value.",
Text));
return;
}
string description = GetNtstatusDescription(ntstatus);
if (description != null)
{
TechBot.ServiceOutput.WriteLine(Context,
String.Format("{0} is {1}.",
Text,
description));
}
else
{
TechBot.ServiceOutput.WriteLine(Context,
String.Format("I don't know about NTSTATUS {0}.",
Text));
}
}
public string GetNtstatusDescription(long ntstatus)
{
XmlElement root = base.m_XmlDocument.DocumentElement;
XmlNode node = root.SelectSingleNode(String.Format("Ntstatus[@value='{0}']",
ntstatus.ToString("X8")));
if (node != null)
{
XmlAttribute text = node.Attributes["text"];
if (text == null)
throw new Exception("Node has no text attribute.");
return text.Value;
}
else
return null;
}
}
}

View File

@@ -1,69 +0,0 @@
using System;
using System.Xml;
namespace TechBot.Library
{
[Command("winerror", Help = "!winerror <value>")]
public class WinErrorCommand : XmlLookupCommand
{
public WinErrorCommand()
{
}
public override string XmlFile
{
get { return Settings.Default.WinErrorXml; }
}
public override void ExecuteCommand()
{
if (Text.Equals(String.Empty))
{
TechBot.ServiceOutput.WriteLine(Context,
"Please provide a valid System Error Code value.");
return;
}
NumberParser np = new NumberParser();
long winerror = np.Parse(Text);
if (np.Error)
{
TechBot.ServiceOutput.WriteLine(Context,
String.Format("{0} is not a valid System Error Code value.",
Text));
return;
}
string description = GetWinerrorDescription(winerror);
if (description != null)
{
TechBot.ServiceOutput.WriteLine(Context,
String.Format("{0} is {1}.",
Text,
description));
}
else
{
TechBot.ServiceOutput.WriteLine(Context,
String.Format("I don't know about System Error Code {0}.",
Text));
}
}
public string GetWinerrorDescription(long winerror)
{
XmlElement root = base.m_XmlDocument.DocumentElement;
XmlNode node = root.SelectSingleNode(String.Format("Winerror[@value='{0}']",
Text));
if (node != null)
{
XmlAttribute text = node.Attributes["text"];
if (text == null)
throw new Exception("Node has no text attribute.");
return text.Value;
}
else
return null;
}
}
}

View File

@@ -28,6 +28,8 @@ namespace TechBot.Library
{
Assembly assPlugin = Assembly.LoadFile(sFile);
Console.WriteLine("Loading plugins from : {0}", assPlugin.Location);
if (assPlugin != null)
{
foreach (Type pluginType in assPlugin.GetTypes())
@@ -36,6 +38,12 @@ namespace TechBot.Library
{
if (pluginType.IsAbstract == false)
{
CommandBuilder cmdBuilder = new CommandBuilder(pluginType);
Console.WriteLine("{0}:{1}",
cmdBuilder.Name,
cmdBuilder.Description);
//Add it to the list.
Commands.Add(new CommandBuilder(pluginType));
}

View File

@@ -1,537 +0,0 @@
using System;
using System.Text.RegularExpressions;
//Code taken from : http://www.codeproject.com/KB/recipes/commandlineparser.aspx
namespace TechBot.Library
{
/// <summary>Implementation of a command-line parsing class. Is capable of
/// having switches registered with it directly or can examine a registered
/// class for any properties with the appropriate attributes appended to
/// them.</summary>
public class ParametersParser
{
/// <summary>A simple internal class for passing back to the caller
/// some information about the switch. The internals/implementation
/// of this class has privillaged access to the contents of the
/// SwitchRecord class.</summary>
public class SwitchInfo
{
#region Private Variables
private object m_Switch = null;
#endregion
#region Public Properties
public string Name { get { return (m_Switch as SwitchRecord).Name; } }
public string Description { get { return (m_Switch as SwitchRecord).Description; } }
public string[] Aliases { get { return (m_Switch as SwitchRecord).Aliases; } }
public System.Type Type { get { return (m_Switch as SwitchRecord).Type; } }
public object Value { get { return (m_Switch as SwitchRecord).Value; } }
public object InternalValue { get { return (m_Switch as SwitchRecord).InternalValue; } }
public bool IsEnum { get { return (m_Switch as SwitchRecord).Type.IsEnum; } }
public string[] Enumerations { get { return (m_Switch as SwitchRecord).Enumerations; } }
#endregion
/// <summary>
/// Constructor for the SwitchInfo class. Note, in order to hide to the outside world
/// information not necessary to know, the constructor takes a System.Object (aka
/// object) as it's registering type. If the type isn't of the correct type, an exception
/// is thrown.
/// </summary>
/// <param name="rec">The SwitchRecord for which this class store information.</param>
/// <exception cref="ArgumentException">Thrown if the rec parameter is not of
/// the type SwitchRecord.</exception>
public SwitchInfo( object rec )
{
if ( rec is SwitchRecord )
m_Switch = rec;
else
throw new ArgumentException();
}
}
/// <summary>
/// The SwitchRecord is stored within the parser's collection of registered
/// switches. This class is private to the outside world.
/// </summary>
private class SwitchRecord
{
#region Private Variables
private string m_name = "";
private string m_description = "";
private object m_value = null;
private System.Type m_switchType = typeof(bool);
private System.Collections.ArrayList m_Aliases = null;
private string m_Pattern = "";
// The following advanced functions allow for callbacks to be
// made to manipulate the associated data type.
private System.Reflection.MethodInfo m_SetMethod = null;
private System.Reflection.MethodInfo m_GetMethod = null;
private object m_PropertyOwner = null;
#endregion
#region Private Utility Functions
private void Initialize( string name, string description )
{
m_name = name;
m_description = description;
BuildPattern();
}
private void BuildPattern()
{
string matchString = Name;
if ( Aliases != null && Aliases.Length > 0 )
foreach( string s in Aliases )
matchString += "|" + s;
string strPatternStart = @"(\s|^)(?<match>(-{1,2}|/)(";
string strPatternEnd; // To be defined below.
// The common suffix ensures that the switches are followed by
// a white-space OR the end of the string. This will stop
// switches such as /help matching /helpme
//
string strCommonSuffix = @"(?=(\s|$))";
if ( Type == typeof(bool) )
strPatternEnd = @")(?<value>(\+|-){0,1}))";
else if ( Type == typeof(string) )
strPatternEnd = @")(?::|\s+))((?:"")(?<value>.+)(?:"")|(?<value>\S+))";
else if ( Type == typeof(int) )
strPatternEnd = @")(?::|\s+))((?<value>(-|\+)[0-9]+)|(?<value>[0-9]+))";
else if ( Type.IsEnum )
{
string[] enumNames = Enumerations;
string e_str = enumNames[0];
for ( int e=1; e<enumNames.Length; e++ )
e_str += "|" + enumNames[e];
strPatternEnd = @")(?::|\s+))(?<value>" + e_str + @")";
}
else
throw new System.ArgumentException();
// Set the internal regular expression pattern.
m_Pattern = strPatternStart + matchString + strPatternEnd + strCommonSuffix;
}
#endregion
#region Public Properties
public object Value
{
get
{
if ( ReadValue != null )
return ReadValue;
else
return m_value;
}
}
public object InternalValue
{
get { return m_value; }
}
public string Name
{
get { return m_name; }
set { m_name = value; }
}
public string Description
{
get { return m_description; }
set { m_description = value; }
}
public System.Type Type
{
get { return m_switchType; }
}
public string[] Aliases
{
get { return (m_Aliases != null) ? (string[])m_Aliases.ToArray(typeof(string)): null; }
}
public string Pattern
{
get { return m_Pattern; }
}
public System.Reflection.MethodInfo SetMethod
{
set { m_SetMethod = value; }
}
public System.Reflection.MethodInfo GetMethod
{
set { m_GetMethod = value; }
}
public object PropertyOwner
{
set { m_PropertyOwner = value; }
}
public object ReadValue
{
get
{
object o = null;
if ( m_PropertyOwner != null && m_GetMethod != null )
o = m_GetMethod.Invoke( m_PropertyOwner, null );
return o;
}
}
public string[] Enumerations
{
get
{
if ( m_switchType.IsEnum )
return System.Enum.GetNames( m_switchType );
else
return null;
}
}
#endregion
#region Constructors
public SwitchRecord( string name, string description )
{
Initialize( name, description );
}
public SwitchRecord( string name, string description, System.Type type )
{
if ( type == typeof(bool) ||
type == typeof(string) ||
type == typeof(int) ||
type.IsEnum )
{
m_switchType = type;
Initialize( name, description );
}
else
throw new ArgumentException("Currently only Ints, Bool and Strings are supported");
}
#endregion
#region Public Methods
public void AddAlias( string alias )
{
if ( m_Aliases == null )
m_Aliases = new System.Collections.ArrayList();
m_Aliases.Add( alias );
BuildPattern();
}
public void Notify( object value )
{
if ( m_PropertyOwner != null && m_SetMethod != null )
{
object[] parameters = new object[1];
parameters[0] = value;
m_SetMethod.Invoke( m_PropertyOwner, parameters );
}
m_value = value;
}
#endregion
}
#region Private Variables
private string m_commandLine = "";
private string m_workingString = "";
private string m_applicationName = "";
private string[] m_splitParameters = null;
private System.Collections.ArrayList m_switches = null;
#endregion
#region Private Utility Functions
private void ExtractApplicationName()
{
Regex r = new Regex(@"^(?<commandLine>("".+""|(\S)+))(?<remainder>.+)",
RegexOptions.ExplicitCapture);
Match m = r.Match(m_commandLine);
if ( m != null && m.Groups["commandLine"] != null )
{
m_applicationName = m.Groups["commandLine"].Value;
m_workingString = m.Groups["remainder"].Value;
}
}
private void SplitParameters()
{
// Populate the split parameters array with the remaining parameters.
// Note that if quotes are used, the quotes are removed.
// e.g. one two three "four five six"
// 0 - one
// 1 - two
// 2 - three
// 3 - four five six
// (e.g. 3 is not in quotes).
Regex r = new Regex(@"((\s*(""(?<param>.+?)""|(?<param>\S+))))",
RegexOptions.ExplicitCapture);
MatchCollection m = r.Matches( m_workingString );
if ( m != null )
{
m_splitParameters = new string[ m.Count ];
for ( int i=0; i < m.Count; i++ )
m_splitParameters[i] = m[i].Groups["param"].Value;
}
}
private void HandleSwitches()
{
if ( m_switches != null )
{
foreach ( SwitchRecord s in m_switches )
{
Regex r = new Regex( s.Pattern,
RegexOptions.ExplicitCapture
| RegexOptions.IgnoreCase );
MatchCollection m = r.Matches( m_workingString );
if ( m != null )
{
for ( int i=0; i < m.Count; i++ )
{
string value = null;
if ( m[i].Groups != null && m[i].Groups["value"] != null )
value = m[i].Groups["value"].Value;
if ( s.Type == typeof(bool))
{
bool state = true;
// The value string may indicate what value we want.
if ( m[i].Groups != null && m[i].Groups["value"] != null )
{
switch ( value )
{
case "+": state = true;
break;
case "-": state = false;
break;
case "": if ( s.ReadValue != null )
state = !(bool)s.ReadValue;
break;
default: break;
}
}
s.Notify( state );
break;
}
else if ( s.Type == typeof(string) )
s.Notify( value );
else if ( s.Type == typeof(int) )
s.Notify( int.Parse( value ) );
else if ( s.Type.IsEnum )
s.Notify( System.Enum.Parse(s.Type,value,true) );
}
}
m_workingString = r.Replace(m_workingString, " ");
}
}
}
#endregion
#region Public Properties
public string ApplicationName
{
get { return m_applicationName; }
}
public string[] Parameters
{
get { return m_splitParameters; }
}
public SwitchInfo[] Switches
{
get
{
if ( m_switches == null )
return null;
else
{
SwitchInfo[] si = new SwitchInfo[ m_switches.Count ];
for ( int i=0; i<m_switches.Count; i++ )
si[i] = new SwitchInfo( m_switches[i] );
return si;
}
}
}
public object this[string name]
{
get
{
if ( m_switches != null )
for ( int i=0; i<m_switches.Count; i++ )
if ( string.Compare( (m_switches[i] as SwitchRecord).Name, name, true )==0 )
return (m_switches[i] as SwitchRecord).Value;
return null;
}
}
/// <summary>This function returns a list of the unhandled switches
/// that the parser has seen, but not processed.</summary>
/// <remark>The unhandled switches are not removed from the remainder
/// of the command-line.</remark>
public string[] UnhandledSwitches
{
get
{
string switchPattern = @"(\s|^)(?<match>(-{1,2}|/)(.+?))(?=(\s|$))";
Regex r = new Regex( switchPattern,
RegexOptions.ExplicitCapture
| RegexOptions.IgnoreCase );
MatchCollection m = r.Matches( m_workingString );
if ( m != null )
{
string[] unhandled = new string[ m.Count ];
for ( int i=0; i < m.Count; i++ )
unhandled[i] = m[i].Groups["match"].Value;
return unhandled;
}
else
return null;
}
}
#endregion
#region Public Methods
public void AddSwitch( string name, string description )
{
if ( m_switches == null )
m_switches = new System.Collections.ArrayList();
SwitchRecord rec = new SwitchRecord( name, description );
m_switches.Add( rec );
}
public void AddSwitch( string[] names, string description )
{
if ( m_switches == null )
m_switches = new System.Collections.ArrayList();
SwitchRecord rec = new SwitchRecord( names[0], description );
for ( int s=1; s<names.Length; s++ )
rec.AddAlias( names[s] );
m_switches.Add( rec );
}
public bool Parse()
{
ExtractApplicationName();
// Remove switches and associated info.
HandleSwitches();
// Split parameters.
SplitParameters();
return true;
}
public object InternalValue(string name)
{
if ( m_switches != null )
for ( int i=0; i<m_switches.Count; i++ )
if ( string.Compare( (m_switches[i] as SwitchRecord).Name, name, true )==0 )
return (m_switches[i] as SwitchRecord).InternalValue;
return null;
}
#endregion
#region Constructors
public ParametersParser( string commandLine )
{
m_commandLine = commandLine;
}
public ParametersParser( string commandLine,
object classForAutoAttributes )
{
m_commandLine = commandLine;
Type type = classForAutoAttributes.GetType();
System.Reflection.MemberInfo[] members = type.GetMembers();
for(int i=0; i<members.Length; i++)
{
object[] attributes = members[i].GetCustomAttributes(false);
if(attributes.Length > 0)
{
SwitchRecord rec = null;
foreach ( Attribute attribute in attributes )
{
if ( attribute is CommandParameterAttribute )
{
CommandParameterAttribute switchAttrib =
(CommandParameterAttribute) attribute;
// Get the property information. We're only handling
// properties at the moment!
if ( members[i] is System.Reflection.PropertyInfo )
{
System.Reflection.PropertyInfo pi = (System.Reflection.PropertyInfo) members[i];
rec = new SwitchRecord( switchAttrib.Name,
switchAttrib.Description,
pi.PropertyType );
// Map in the Get/Set methods.
rec.SetMethod = pi.GetSetMethod();
rec.GetMethod = pi.GetGetMethod();
rec.PropertyOwner = classForAutoAttributes;
// Can only handle a single switch for each property
// (otherwise the parsing of aliases gets silly...)
break;
}
}
}
// See if any aliases are required. We can only do this after
// a switch has been registered and the framework doesn't make
// any guarantees about the order of attributes, so we have to
// walk the collection a second time.
if ( rec != null )
{
foreach ( Attribute attribute in attributes )
{
if (attribute is CommandParameterAliasAttribute)
{
CommandParameterAliasAttribute aliasAttrib =
(CommandParameterAliasAttribute)attribute;
rec.AddAlias( aliasAttrib.Alias );
}
}
}
// Assuming we have a switch record (that may or may not have
// aliases), add it to the collection of switches.
if ( rec != null )
{
if ( m_switches == null )
m_switches = new System.Collections.ArrayList();
m_switches.Add( rec );
}
}
}
}
#endregion
}
}

View File

@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.832
// Runtime Version:2.0.50727.1433
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -67,5 +67,14 @@ namespace TechBot.Library {
return ((string)(this["SVNRoot"]));
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("@")]
public string CommandPrefix {
get {
return ((string)(this["CommandPrefix"]));
}
}
}
}

View File

@@ -17,5 +17,8 @@
<Setting Name="SVNRoot" Type="System.String" Scope="Application">
<Value Profile="(Default)">svn://svn.reactos.org/trunk/reactos</Value>
</Setting>
<Setting Name="CommandPrefix" Type="System.String" Scope="Application">
<Value Profile="(Default)">@</Value>
</Setting>
</Settings>
</SettingsFile>

View File

@@ -48,19 +48,9 @@
<Compile Include="Factory\CommandFactory.cs" />
<Compile Include="Commands\Base\Command.cs" />
<Compile Include="Commands\Base\XmlCommand.cs" />
<Compile Include="Commands\BugCommand.cs" />
<Compile Include="Commands\HelpCommand.cs" />
<Compile Include="Commands\HResultCommand.cs" />
<Compile Include="Commands\NtStatusCommand.cs" />
<Compile Include="Commands\ReactOSBugUrl.cs" />
<Compile Include="Commands\SambaBugUrl.cs" />
<Compile Include="Commands\SvnCommand.cs" />
<Compile Include="Commands\WineBugUrl.cs" />
<Compile Include="Commands\WinerrorCommand.cs" />
<Compile Include="Commands\WMCommand.cs" />
<Compile Include="MessageContext.cs" />
<Compile Include="NumberParser.cs" />
<Compile Include="ParametersParser.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ServiceOutput.cs" />
<Compile Include="Settings.cs" />
@@ -78,10 +68,6 @@
<Reference Include="System.XML" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\CHMLibrary\CHMLibrary.csproj">
<Project>{72E5CCA1-6318-4D62-964D-CB23A5C743B5}</Project>
<Name>CHMLibrary</Name>
</ProjectReference>
<ProjectReference Include="..\TechBot.IRCLibrary\TechBot.IRCLibrary.csproj">
<Project>{D2A57931-DF04-4BC3-BD11-75DF4F3B0A88}</Project>
<Name>TechBot.IRCLibrary</Name>

View File

@@ -14,6 +14,7 @@ namespace TechBot.Library
{
if (context is ChannelMessageContext)
{
Thread.Sleep (500);
ChannelMessageContext channelContext = context as ChannelMessageContext;
channelContext.Channel.Talk(message);
}
@@ -37,8 +38,6 @@ namespace TechBot.Library
private string channelnames;
private string botname;
private string password;
private string chmPath;
private string mainChm;
private IrcClient m_IrcClient;
private ArrayList channels = new ArrayList();
private bool isStopped = false;
@@ -47,10 +46,8 @@ namespace TechBot.Library
int port,
string channelnames,
string botname,
string password,
string chmPath,
string mainChm)
: base (new IrcServiceOutput() , chmPath , mainChm)
string password)
: base (new IrcServiceOutput())
{
this.hostname = hostname;
this.port = port;
@@ -60,8 +57,6 @@ namespace TechBot.Library
this.password = null;
else
this.password = password;
this.chmPath = chmPath;
this.mainChm = mainChm;
}
public override void Run()

View File

@@ -1,88 +1,101 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Data;
using System.Threading;
using TechBot.IRCLibrary;
namespace TechBot.Library
{
public abstract class TechBotService
{
protected IServiceOutput serviceOutput;
private string chmPath;
private string mainChm;
public TechBotService(IServiceOutput serviceOutput,
string chmPath,
string mainChm)
{
this.serviceOutput = serviceOutput;
this.chmPath = chmPath;
this.mainChm = mainChm;
}
public virtual void Run()
{
CommandFactory.LoadPlugins();
}
public IServiceOutput ServiceOutput
{
get { return serviceOutput; }
}
public CommandBuilderCollection Commands
{
get { return CommandFactory.Commands; }
}
public void InjectMessage(MessageContext context, string message)
{
ParseCommandMessage(context,
message);
}
private bool IsCommandMessage(string message)
{
return message.StartsWith("!");
}
public void ParseCommandMessage(MessageContext context,
string message)
{
if (!IsCommandMessage(message))
return;
message = message.Substring(1).Trim();
int index = message.IndexOf(' ');
string commandName;
string commandParams = "";
if (index != -1)
{
commandName = message.Substring(0, index).Trim();
commandParams = message.Substring(index).Trim();
}
else
commandName = message.Trim();
foreach (CommandBuilder command in Commands)
{
if (command.Name == commandName)
{
//Create a new instance of the required command type
Command cmd = command.CreateCommand();
cmd.TechBot = this;
cmd.Context = context;
cmd.ParseParameters(message);
cmd.ExecuteCommand();
return;
}
}
}
}
}
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Data;
using System.Threading;
using TechBot.IRCLibrary;
namespace TechBot.Library
{
public abstract class TechBotService
{
protected IServiceOutput m_ServiceOutput;
public TechBotService(IServiceOutput serviceOutput)
{
m_ServiceOutput = serviceOutput;
}
public virtual void Run()
{
CommandFactory.LoadPlugins();
}
public IServiceOutput ServiceOutput
{
get { return m_ServiceOutput; }
}
public CommandBuilderCollection Commands
{
get { return CommandFactory.Commands; }
}
public void InjectMessage(MessageContext context, string message)
{
ParseCommandMessage(context,
message);
}
private bool IsCommandMessage(string message)
{
return message.StartsWith(Settings.Default.CommandPrefix);
}
public void InjectMessage(string message)
{
ParseCommandMessage(null, message);
}
public void ParseCommandMessage(MessageContext context,
string message)
{
if (!IsCommandMessage(message))
return;
message = message.Substring(1).Trim();
int index = message.IndexOf(' ');
string commandName;
string commandParams = "";
if (index != -1)
{
commandName = message.Substring(0, index).Trim();
commandParams = message.Substring(index).Trim();
}
else
commandName = message.Trim();
foreach (CommandBuilder command in Commands)
{
if (command.Name == commandName)
{
//Create a new instance of the required command type
Command cmd = command.CreateCommand();
cmd.TechBot = this;
cmd.Context = context;
cmd.Parameters = commandParams;
try
{
cmd.Initialize();
cmd.Run();
cmd.DeInitialize();
}
catch (Exception e)
{
ServiceOutput.WriteLine(context, string.Format("Uops! Just crashed with exception '{0}' at {1}",
e.Message,
e.Source));
ServiceOutput.WriteLine(context, e.StackTrace);
}
return;
}
}
}
}
}

View File

@@ -22,6 +22,9 @@
<setting name="SVNRoot" serializeAs="String">
<value>svn://svn.reactos.org/trunk/reactos</value>
</setting>
<setting name="CommandPrefix" serializeAs="String">
<value>@</value>
</setting>
</TechBot.Library.Settings>
</applicationSettings>
</configuration>

View File

@@ -13,6 +13,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TechBot.IRCLibrary", "TechB
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TechBot.Library", "TechBot.Library\TechBot.Library.csproj", "{1114F34D-F388-4F38-AE27-C0EE1B10B777}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TechBot.Commands.Common", "TechBot.Commands.Common\TechBot.Commands.Common.csproj", "{041B5F06-BF97-4981-B024-3A7B6DD9F6AE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TechBot.Commands.MSDN", "TechBot.Commands.MSDN\TechBot.Commands.MSDN.csproj", "{ADBF1ED6-A586-4707-BD59-4CD53448D0FE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TechBot.Commands.RBuild", "TechBot.Commands.RBuild\TechBot.Commands.RBuild.csproj", "{D676FEDE-62DD-4B4D-94C6-308598E827F9}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -43,6 +49,18 @@ Global
{1114F34D-F388-4F38-AE27-C0EE1B10B777}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1114F34D-F388-4F38-AE27-C0EE1B10B777}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1114F34D-F388-4F38-AE27-C0EE1B10B777}.Release|Any CPU.Build.0 = Release|Any CPU
{041B5F06-BF97-4981-B024-3A7B6DD9F6AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{041B5F06-BF97-4981-B024-3A7B6DD9F6AE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{041B5F06-BF97-4981-B024-3A7B6DD9F6AE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{041B5F06-BF97-4981-B024-3A7B6DD9F6AE}.Release|Any CPU.Build.0 = Release|Any CPU
{ADBF1ED6-A586-4707-BD59-4CD53448D0FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ADBF1ED6-A586-4707-BD59-4CD53448D0FE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ADBF1ED6-A586-4707-BD59-4CD53448D0FE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ADBF1ED6-A586-4707-BD59-4CD53448D0FE}.Release|Any CPU.Build.0 = Release|Any CPU
{D676FEDE-62DD-4B4D-94C6-308598E827F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D676FEDE-62DD-4B4D-94C6-308598E827F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D676FEDE-62DD-4B4D-94C6-308598E827F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D676FEDE-62DD-4B4D-94C6-308598E827F9}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@@ -1,20 +1,44 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="IRCServerHostName" value="irc.eu.freenode.net" />
<add key="IRCServerHostPort" value="6667" />
<add key="IRCChannelNames" value="channel1;channel2" />
<add key="IRCBotName" value="MyBot" />
<add key="IRCBotPassword" value="MyPassword" />
<add key="ChmPath" value="C:\IRC\TechBot\CHM" />
<add key="MainChm" value="kmarch.chm" />
<add key="NtstatusXml" value="C:\IRC\TechBot\ntstatus.xml" />
<add key="WinerrorXml" value="C:\IRC\TechBot\winerror.xml" />
<add key="HresultXml" value="C:\IRC\TechBot\hresult.xml" />
<add key="WmXml" value="C:\IRC\TechBot\wm.xml" />
<add key="SvnCommand" value="svn co svn://svn.reactos.org/trunk/reactos" />
<add key="BugUrl" value="http://www.reactos.org/bugzilla/show_bug.cgi?id={0}" />
<add key="WineBugUrl" value="http://bugs.winehq.org/show_bug.cgi?id={0}" />
<add key="SambaBugUrl" value="https://bugzilla.samba.org/show_bug.cgi?id={0}" />
</appSettings>
</configuration>
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="TechBot.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<appSettings>
<add key="IRCServerHostName" value="irc.eu.freenode.net" />
<add key="IRCServerHostPort" value="6667" />
<add key="IRCChannelNames" value="channel1;channel2" />
<add key="IRCBotName" value="MyBot" />
<add key="IRCBotPassword" value="MyPassword" />
<add key="ChmPath" value="C:\IRC\TechBot\CHM" />
<add key="MainChm" value="kmarch.chm" />
<add key="NtstatusXml" value="C:\IRC\TechBot\ntstatus.xml" />
<add key="WinerrorXml" value="C:\IRC\TechBot\winerror.xml" />
<add key="HresultXml" value="C:\IRC\TechBot\hresult.xml" />
<add key="WmXml" value="C:\IRC\TechBot\wm.xml" />
<add key="SvnCommand" value="svn co svn://svn.reactos.org/trunk/reactos" />
<add key="BugUrl" value="http://www.reactos.org/bugzilla/show_bug.cgi?id={0}" />
<add key="WineBugUrl" value="http://bugs.winehq.org/show_bug.cgi?id={0}" />
<add key="SambaBugUrl" value="https://bugzilla.samba.org/show_bug.cgi?id={0}" />
</appSettings>
<userSettings>
<TechBot.Settings>
<setting name="IRCServerHostName" serializeAs="String">
<value>irc.eu.freenode.net</value>
</setting>
<setting name="IRCChannelNames" serializeAs="String">
<value>rbuildbottest</value>
</setting>
<setting name="IRCBotName" serializeAs="String">
<value>RBuildBot</value>
</setting>
<setting name="IRCBotPassword" serializeAs="String">
<value>qwerty</value>
</setting>
<setting name="IRCServerHostPort" serializeAs="String">
<value>6667</value>
</setting>
</TechBot.Settings>
</userSettings>
</configuration>

View File

@@ -1,84 +1,43 @@
using System;
using System.Configuration;
using System.Diagnostics;
using TechBot.Library;
namespace TechBot
{
public class ServiceThread
{
private string IRCServerHostName;
private int IRCServerHostPort;
private string IRCChannelNames;
private string IRCBotName;
private string IRCBotPassword;
private string ChmPath;
private string MainChm;
private string NtstatusXml;
private string HresultXml;
private string WmXml;
private string WinerrorXml;
private string SvnCommand;
private string BugUrl, WineBugUrl, SambaBugUrl;
private EventLog eventLog;
public ServiceThread(EventLog eventLog)
{
this.eventLog = eventLog;
}
private void SetupConfiguration()
{
IRCServerHostName = ConfigurationSettings.AppSettings["IRCServerHostName"];
IRCServerHostPort = Int32.Parse(ConfigurationSettings.AppSettings["IRCServerHostPort"]);
IRCChannelNames = ConfigurationSettings.AppSettings["IRCChannelNames"];
IRCBotName = ConfigurationSettings.AppSettings["IRCBotName"];
IRCBotPassword = ConfigurationSettings.AppSettings["IRCBotPassword"];
ChmPath = ConfigurationSettings.AppSettings["ChmPath"];
MainChm = ConfigurationSettings.AppSettings["MainChm"];
NtstatusXml = ConfigurationSettings.AppSettings["NtstatusXml"];
HresultXml = ConfigurationSettings.AppSettings["HresultXml"];
WmXml = ConfigurationSettings.AppSettings["WmXml"];
WinerrorXml = ConfigurationSettings.AppSettings["WinerrorXml"];
SvnCommand = ConfigurationSettings.AppSettings["SvnCommand"];
BugUrl = ConfigurationSettings.AppSettings["BugUrl"];
WineBugUrl = ConfigurationSettings.AppSettings["WineBugUrl"];
SambaBugUrl = ConfigurationSettings.AppSettings["SambaBugUrl"];
}
public void Run()
{
SetupConfiguration();
System.Console.WriteLine("TechBot irc service...");
IrcTechBotService ircService = new IrcTechBotService(IRCServerHostName,
IRCServerHostPort,
IRCChannelNames,
IRCBotName,
IRCBotPassword,
ChmPath,
MainChm);
//NtstatusXml,
//WinerrorXml,
//HresultXml,
//WmXml,
//SvnCommand,
//BugUrl,
//WineBugUrl,
//SambaBugUrl);
ircService.Run();
}
public void Start()
{
try
{
Run();
}
catch (Exception ex)
{
eventLog.WriteEntry(String.Format("Ex. {0}", ex));
}
}
}
}
using System;
using System.Configuration;
using System.Diagnostics;
using TechBot.Library;
namespace TechBot
{
public class ServiceThread
{
private EventLog m_EventLog;
public ServiceThread(EventLog eventLog)
{
m_EventLog = eventLog;
}
public void Run()
{
System.Console.WriteLine("TechBot irc service...");
IrcTechBotService ircService = new IrcTechBotService(
Settings.Default.IRCServerHostName,
Settings.Default.IRCServerHostPort,
Settings.Default.IRCChannelNames,
Settings.Default.IRCBotName,
Settings.Default.IRCBotPassword);
ircService.Run();
}
public void Start()
{
try
{
Run();
}
catch (Exception ex)
{
m_EventLog.WriteEntry(String.Format("Ex. {0}", ex));
}
}
}
}

86
irc/TechBot/TechBot/Settings.Designer.cs generated Normal file
View File

@@ -0,0 +1,86 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.1433
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace TechBot {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("irc.eu.freenode.net")]
public string IRCServerHostName {
get {
return ((string)(this["IRCServerHostName"]));
}
set {
this["IRCServerHostName"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("rbuildbottest")]
public string IRCChannelNames {
get {
return ((string)(this["IRCChannelNames"]));
}
set {
this["IRCChannelNames"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("RBuildBot")]
public string IRCBotName {
get {
return ((string)(this["IRCBotName"]));
}
set {
this["IRCBotName"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("qwerty")]
public string IRCBotPassword {
get {
return ((string)(this["IRCBotPassword"]));
}
set {
this["IRCBotPassword"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("6667")]
public int IRCServerHostPort {
get {
return ((int)(this["IRCServerHostPort"]));
}
set {
this["IRCServerHostPort"] = value;
}
}
}
}

View File

@@ -0,0 +1,21 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="TechBot" GeneratedClassName="Settings">
<Profiles />
<Settings>
<Setting Name="IRCServerHostName" Type="System.String" Scope="User">
<Value Profile="(Default)">irc.eu.freenode.net</Value>
</Setting>
<Setting Name="IRCChannelNames" Type="System.String" Scope="User">
<Value Profile="(Default)">rbuildbottest</Value>
</Setting>
<Setting Name="IRCBotName" Type="System.String" Scope="User">
<Value Profile="(Default)">RBuildBot</Value>
</Setting>
<Setting Name="IRCBotPassword" Type="System.String" Scope="User">
<Value Profile="(Default)">qwerty</Value>
</Setting>
<Setting Name="IRCServerHostPort" Type="System.Int32" Scope="User">
<Value Profile="(Default)">6667</Value>
</Setting>
</Settings>
</SettingsFile>

View File

@@ -39,6 +39,10 @@
-->
<ItemGroup>
<None Include="App.config" />
<None Include="Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
</ItemGroup>
<ItemGroup>
<Compile Include="AssemblyInfo.cs" />
@@ -46,6 +50,11 @@
<SubType>Component</SubType>
</Compile>
<Compile Include="ServiceThread.cs" />
<Compile Include="Settings.Designer.cs">
<DependentUpon>Settings.settings</DependentUpon>
<AutoGen>True</AutoGen>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<Compile Include="TechBotService.cs">
<SubType>Component</SubType>
</Compile>

View File

@@ -29,11 +29,12 @@ Hartmut Birr <hartmut.birr@gmx.de>
Hernan Ochoa
Herve Poussineau <hpoussin@reactos.com>
Iwan Fatahi <i_fatahi@hotmail.com>
James B. Tabor <jimtabor@adsl-64-217-116-74.dsl.hstntx.swbell.net>
James B. Tabor <jimtabor.rosdev@gmail.com> <jimtabor@adsl-64-217-116-74.dsl.hstntx.swbell.net>
Jason Eager
Jason Filby <jasonfilby@yahoo.com>
Jason Weiler
Jean Michault
Jeffrey Morlan <mrnobo1024@yahoo.com>
Jim Noeth
Johannes Anderwald <johannes.anderwald@student.tugraz.at>
Jonathan Wilson <jonwil@tpgi.com.au>
@@ -59,6 +60,7 @@ Robert Bergkvist <fragdance@hotmail.com>
Robert Dickenson <robd@reactos.org>
Royce Mitchell III <royce3@ev1.net>
Saveliy Tretiakov <saveliyt@mail.ru>
Stefan Ginsberg <stefan__100__@hotmail.com>
Steven Edwards <steven_ed4153@yahoo.com>
Thomas Weidenmueller <w3seek@users.sourceforge.net>
Timo Kreuzer <timo.kreuzer@reactos.org>

View File

@@ -126,6 +126,9 @@
# ROS_AUTOMAKE
# Alternate name of makefile.auto
#
# ROS_BUILDENGINE
# The Build engine to be used. The variable defaults to rbuild (RBUILD_TARGET)
#
# check for versions of make that don't have features we need...
# the function "eval" is only available in 3.80+, which happens to be the minimum
@@ -386,7 +389,6 @@ BUILDNO_H = $(INTERMEDIATE_)include$(SEP)reactos$(SEP)buildno.h
include lib/lib.mak
include tools/tools.mak
include boot/freeldr/bootsect/bootsect.mak
-include $(ROS_AUTOMAKE)
PREAUTO := \
@@ -395,14 +397,19 @@ PREAUTO := \
$(BUILDNO_H) \
$(GENDIB_DIB_FILES) \
$(NCI_SERVICE_FILES)
ifeq ($(ARCH),powerpc)
PREAUTO += $(OFW_INTERFACE_SERVICE_FILES) $(PPCMMU_TARGETS)
endif
$(ROS_AUTOMAKE): $(RBUILD_TARGET) $(XMLBUILDFILES) | $(PREAUTO)
ifeq ($(ROS_BUILDENGINE),)
ROS_BUILDENGINE=$(RBUILD_TARGET)
endif
$(ROS_AUTOMAKE): $(ROS_BUILDENGINE) $(XMLBUILDFILES) | $(PREAUTO)
${mkdir} $(OUTPUT_)media$(SEP)inf 2>$(NUL)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) mingw
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) mingw
world: all bootcd livecd
@@ -435,143 +442,143 @@ rgenstat: $(RGENSTAT_TARGET)
$(Q)$(RGENSTAT_TARGET) apistatus.lst apistatus.xml
.PHONY: cb
cb: $(RBUILD_TARGET)
cb: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) cb
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) cb
.PHONY: msbuild
msbuild: $(RBUILD_TARGET)
msbuild: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) msbuild
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) msbuild
.PHONY: msbuild_clean
msbuild_clean: $(RBUILD_TARGET)
msbuild_clean: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c msbuild
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c msbuild
.PHONY: depmap
depmap: $(RBUILD_TARGET)
depmap: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) depmap
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) depmap
.PHONY: vreport
vreport:$(RBUILD_TARGET)
vreport:$(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) vreport
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) vreport
.PHONY: msvc
msvc: $(RBUILD_TARGET)
msvc: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) msvc
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) msvc
.PHONY: msvc6
msvc6: $(RBUILD_TARGET)
msvc6: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs6.00 -voversionconfiguration msvc
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs6.00 -voversionconfiguration msvc
.PHONY: msvc7
msvc7: $(RBUILD_TARGET)
msvc7: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.00 -voversionconfiguration msvc
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.00 -voversionconfiguration msvc
.PHONY: msvc71
msvc71: $(RBUILD_TARGET)
msvc71: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.10 -voversionconfiguration msvc
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.10 -voversionconfiguration msvc
.PHONY: msvc8
msvc8: $(RBUILD_TARGET)
msvc8: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs8.00 -voversionconfiguration msvc
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs8.00 -voversionconfiguration msvc
.PHONY: msvc9
msvc9: $(RBUILD_TARGET)
msvc9: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs9.00 -voversionconfiguration msvc
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs9.00 -voversionconfiguration msvc
.PHONY: msvc6_clean
msvc6_clean: $(RBUILD_TARGET)
msvc6_clean: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs6.00 -voversionconfiguration msvc
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs6.00 -voversionconfiguration msvc
.PHONY: msvc7_clean
msvc7_clean: $(RBUILD_TARGET)
msvc7_clean: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs7.00 -voversionconfiguration msvc
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs7.00 -voversionconfiguration msvc
.PHONY: msvc71_clean
msvc71_clean: $(RBUILD_TARGET)
msvc71_clean: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs7.10 -voversionconfiguration msvc
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs7.10 -voversionconfiguration msvc
.PHONY: msvc8_clean
msvc8_clean: $(RBUILD_TARGET)
msvc8_clean: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs8.00 -voversionconfiguration msvc
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs8.00 -voversionconfiguration msvc
.PHONY: msvc9_clean
msvc9_clean: $(RBUILD_TARGET)
msvc9_clean: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs9.00 -voversionconfiguration msvc
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs9.00 -voversionconfiguration msvc
.PHONY: msvc_clean
msvc_clean: $(RBUILD_TARGET)
msvc_clean: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c msvc
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c msvc
.PHONY: msvc_clean_all
msvc_clean_all: $(RBUILD_TARGET)
msvc_clean_all: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs6.00 -voversionconfiguration msvc
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs7.00 -voversionconfiguration msvc
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs7.10 -voversionconfiguration msvc
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs8.10 -voversionconfiguration msvc
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs6.00 -voversionconfiguration msvc
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs7.00 -voversionconfiguration msvc
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs7.10 -voversionconfiguration msvc
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs8.10 -voversionconfiguration msvc
.PHONY: msvc7_install_debug
msvc7_install_debug: $(RBUILD_TARGET)
msvc7_install_debug: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.00 -vcdebug -voversionconfiguration msvc
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.00 -vcdebug -voversionconfiguration msvc
.PHONY: msvc7_install_release
msvc7_install_release: $(RBUILD_TARGET)
msvc7_install_release: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.00 -vcrelease -voversionconfiguration msvc
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.00 -vcrelease -voversionconfiguration msvc
.PHONY: msvc7_install_speed
msvc7_install_speed: $(RBUILD_TARGET)
msvc7_install_speed: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.00 -vcspeed -voversionconfiguration msvc
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.00 -vcspeed -voversionconfiguration msvc
.PHONY: msvc71_install_debug
msvc71_install_debug: $(RBUILD_TARGET)
msvc71_install_debug: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.10 -vcdebug -voversionconfiguration msvc
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.10 -vcdebug -voversionconfiguration msvc
.PHONY: msvc71_install_release
msvc71_install_release: $(RBUILD_TARGET)
msvc71_install_release: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.10 -vcrelease -voversionconfiguration msvc
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.10 -vcrelease -voversionconfiguration msvc
.PHONY: msvc71_install_speed
msvc71_install_speed: $(RBUILD_TARGET)
msvc71_install_speed: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.10 -vcspeed -voversionconfiguration msvc
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.10 -vcspeed -voversionconfiguration msvc
.PHONY: msvc8_install_debug
msvc8_install_debug: $(RBUILD_TARGET)
msvc8_install_debug: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs8.00 -vcdebug -voversionconfiguration msvc
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs8.00 -vcdebug -voversionconfiguration msvc
.PHONY: msvc8_install_release
msvc8_install_release: $(RBUILD_TARGET)
msvc8_install_release: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs8.00 -vcrelease -voversionconfiguration msvc
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs8.00 -vcrelease -voversionconfiguration msvc
.PHONY: msvc8_install_speed
msvc8_install_speed: $(RBUILD_TARGET)
msvc8_install_speed: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs8.00 -vcspeed -voversionconfiguration msvc
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs8.00 -vcspeed -voversionconfiguration msvc
.PHONY: makefile_auto_clean
makefile_auto_clean:
@@ -581,6 +588,6 @@ makefile_auto_clean:
clean: makefile_auto_clean
.PHONY: depends
depends: $(RBUILD_TARGET)
depends: $(ROS_BUILDENGINE)
$(ECHO_RBUILD)
$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) mingw
$(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) mingw

View File

@@ -7,14 +7,47 @@
</xi:fallback>
</xi:include>
<xi:include href="ReactOS-generic.rbuild" />
<xi:include href="baseaddress.rbuild" />
<define name="__REACTOS__" />
<define name="_ARM_" />
<define name="__arm__" />
<if property="DBG" value="1">
<define name="DBG">1</define>
<define name="_SEH_ENABLE_TRACE" />
<property name="DBG_OR_KDBG" value="true" />
</if>
<if property="KDBG" value="1">
<define name="KDBG">1</define>
<property name="DBG_OR_KDBG" value="true" />
</if>
<include>.</include>
<include>include</include>
<include root="intermediate">include</include>
<include>include/psdk</include>
<include root="intermediate">include/psdk</include>
<include>include/dxsdk</include>
<include root="intermediate">include/dxsdk</include>
<include>include/crt</include>
<include>include/crt/mingw32</include>
<include>include/ddk</include>
<include>include/GL</include>
<include>include/ndk</include>
<include>include/reactos</include>
<include root="intermediate">include/reactos</include>
<include root="intermediate">include/reactos/mc</include>
<include>include/reactos/libs</include>
<include>include/reactos/arm</include>
<property name="WINEBUILD_FLAGS" value="--kill-at"/>
<property name="NTOSKRNL_SHARED" value="-Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -nostartfiles -shared"/>
<if property="SARCH" value="versatile">
<define name="BOARD_CONFIG_VERSATILE"/>
</if>
<if property="OPTIMIZE" value="1">
<compilerflag>-Os</compilerflag>
<compilerflag>-ftracer</compilerflag>
@@ -37,4 +70,124 @@
<linkerflag>-s</linkerflag>
<linkerflag>-lgcc</linkerflag>
<linkerflag>-static</linkerflag>
<directory name="media">
<directory name="nls">
<xi:include href="media/nls/nls.rbuild" />
</directory>
</directory>
<directory name="lib">
<directory name="drivers">
<directory name="csq">
<xi:include href="lib/drivers/csq/csq.rbuild" />
</directory>
</directory>
<directory name="debugsup">
<xi:include href="lib/debugsup/debugsup.rbuild" />
</directory>
<directory name="3rdparty">
<directory name="zlib">
<xi:include href="lib/3rdparty/zlib/zlib.rbuild" />
</directory>
</directory>
<directory name="rtl">
<xi:include href="lib/rtl/rtl.rbuild" />
</directory>
<directory name="host">
<directory name="wcsfuncs">
<xi:include href="lib/host/wcsfuncs/wcsfuncs.rbuild" />
</directory>
</directory>
<directory name="inflib">
<xi:include href="lib/inflib/inflib.rbuild" />
</directory>
<directory name="cmlib">
<xi:include href="lib/cmlib/cmlib.rbuild" />
</directory>
<directory name="pseh">
<xi:include href="lib/pseh/pseh.rbuild" />
</directory>
<directory name="rossym">
<xi:include href="lib/rossym/rossym.rbuild" />
</directory>
<directory name="sdk">
<directory name="crt">
<xi:include href="lib/sdk/crt/crt.rbuild" />
<xi:include href="lib/sdk/crt/libcntpr.rbuild" />
</directory>
<directory name="wdmguid">
<xi:include href="lib/sdk/wdmguid/wdmguid.rbuild" />
</directory>
</directory>
</directory>
<directory name="include">
<xi:include href="include/directory.rbuild" />
</directory>
<directory name="tools">
<xi:include href="tools/tools.rbuild" />
</directory>
<directory name="ntoskrnl">
<xi:include href="ntoskrnl/ntoskrnl.rbuild" />
</directory>
<directory name="hal">
<directory name="halarm">
<directory name="generic">
<xi:include href="hal/halarm/generic/generic.rbuild" />
</directory>
<directory name="up">
<xi:include href="hal/halarm/up/halup.rbuild" />
</directory>
</directory>
<directory name="hal">
<xi:include href="hal/hal/hal.rbuild" />
</directory>
</directory>
<directory name="boot">
<xi:include href="boot/boot.rbuild" />
</directory>
<directory name="drivers">
<directory name="storage">
<directory name="scsiport">
<xi:include href="drivers/storage/scsiport/scsiport.rbuild" />
</directory>
<directory name="port">
<directory name="buslogic">
<xi:include href="drivers/storage/port/buslogic/buslogic.rbuild" />
</directory>
</directory>
<directory name="ide">
<directory name="atapi">
<xi:include href="drivers/storage/ide/atapi/atapi.rbuild" />
</directory>
</directory>
<directory name="class">
<directory name="class2">
<xi:include href="drivers/storage/class/class2/class2.rbuild" />
</directory>
<directory name="disk">
<xi:include href="drivers/storage/class/disk/disk.rbuild" />
</directory>
</directory>
</directory>
<directory name="filesystems">
<directory name="fastfat">
<xi:include href="drivers/filesystems/fastfat/vfatfs.rbuild" />
</directory>
</directory>
<directory name="network">
<directory name="ndis">
<xi:include href="drivers/network/ndis/ndis.rbuild" />
</directory>
</directory>
<directory name="base">
<directory name="kdcom">
<xi:include href="drivers/base/kdcom/kdcom.rbuild" />
</directory>
<directory name="bootvid">
<xi:include href="drivers/base/bootvid/bootvid.rbuild" />
</directory>
</directory>
</directory>
</project>

View File

@@ -28,6 +28,7 @@
<include>include/ndk</include>
<include>include/reactos</include>
<include root="intermediate">include/reactos</include>
<include root="intermediate">include/reactos/mc</include>
<include>include/reactos/libs</include>
<directory name="base">
@@ -57,6 +58,9 @@
<directory name="modules">
<xi:include href="modules/directory.rbuild" />
</directory>
<!--<directory name="nls">
<xi:include href="nls/nls.rbuild" />
</directory>-->
<directory name="ntoskrnl">
<xi:include href="ntoskrnl/ntoskrnl.rbuild" />
<!-- <xi:include href="ntoskrnl/ntkrnlmp.rbuild" /> -->

View File

@@ -25,6 +25,11 @@
<directory name="hh">
<xi:include href="hh/hh.rbuild" />
</directory>
<!--
<directory name="iexplore">
<xi:include href="iexplore/iexplore.rbuild" />
</directory>
-->
<directory name="kbswitch">
<xi:include href="kbswitch/kbswitch.rbuild" />
</directory>
@@ -49,6 +54,9 @@
<directory name="regedit">
<xi:include href="regedit/regedit.rbuild" />
</directory>
<directory name="regedt32">
<xi:include href="regedt32/regedt32.rbuild" />
</directory>
<directory name="sc">
<xi:include href="sc/sc.rbuild" />
</directory>
@@ -64,8 +72,8 @@
<directory name="taskmgr">
<xi:include href="taskmgr/taskmgr.rbuild" />
</directory>
<directory name="winhelp">
<xi:include href="winhelp/winhelp.rbuild" />
<directory name="winhlp32">
<xi:include href="winhlp32/winhlp32.rbuild" />
</directory>
<directory name="wordpad">
<xi:include href="wordpad/wordpad.rbuild" />

View File

@@ -10,7 +10,7 @@
#include "lang/fr-FR.rc"
#include "lang/id-ID.rc"
#include "lang/it-IT.rc"
#include "lang/ko-KO.rc"
#include "lang/ko-KR.rc"
#include "lang/nb-NO.rc"
#include "lang/nl-NL.rc"
#include "lang/pl-PL.rc"

View File

@@ -240,7 +240,7 @@ BEGIN
LTEXT "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ReactOS",IDC_STATIC,120,12,132,8,
SS_CENTERIMAGE
LTEXT "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ",IDC_TEXT_VERSION,120,20,132,8,SS_CENTERIMAGE
LTEXT "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",IDC_STATIC,120,32,132,8,
LTEXT "<22><><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",IDC_STATIC,120,32,132,8,
SS_CENTERIMAGE
GROUPBOX "",IDC_STATIC,112,0,148,52
GROUPBOX "",IDC_STATIC,4,56,256,88

View File

@@ -14,7 +14,7 @@ IDI_ICON ICON "res/charmap.ico"
#include "lang/fr-FR.rc"
#include "lang/id-ID.rc"
#include "lang/it-IT.rc"
#include "lang/ko-KO.rc"
#include "lang/ko-KR.rc"
#include "lang/lt-LT.rc"
#include "lang/nl-NL.rc"
#include "lang/pl-PL.rc"

View File

@@ -47,7 +47,7 @@ STRINGTABLE
"XCOPY - Kopierer filer eller katalogtre til en m<>lplassering\n\
\n\
Syntaks:\n\
XCOPY kilde [m<>l] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U] \n\
XCOPY kilde [m<>l] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\
\t [/R] [/H] [/C] [/P] [/A] [/M] [/E] [/D] [/Y] [/-Y]\n\
\n\
hvor:\n\
@@ -69,7 +69,7 @@ hvor:\n\
[/H] Kopier skjulte filer og systemfiler\n\
[/C] Forts<74>t selv om det opst<73>r fejl under kopieringen\n\
[/A] Kopier ikke filer som er markeret som arkiv\n\
[/M] Kopier kun filer som er markeret som akriv; fjerner denne markering \n\
[/M] Kopier kun filer som er markeret som akriv; fjerner denne markering\n\
[/D | /D:m-d-<2D>] Kopier kun nye filer eller dem som er <20>ndret efter\n\
\t\tden opgivne dato.\n\
\t\tHvis ingen dato opgives kopieres kun de filer hvor\n\

View File

@@ -2,7 +2,8 @@
* XCOPY - Wine-compatible xcopy program
* German language support
*
* Copyright (C) 2007 Daniel Reimer
* Copyright (C) 2007 J. Edmeades
* Copyright (C) 2008 M. Karcher
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -23,57 +24,56 @@
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
STRING_INVPARMS, "Ung<EFBFBD>ltige Anzahl an Parametern - Nutze xcopy /? f<EFBFBD>r Hilfe\n"
STRING_INVPARM, "Ung<EFBFBD>ltiger Parameter '%s' - Nutze xcopy /? f<EFBFBD>r Hilfe\n"
STRING_PAUSE, "Dr<EFBFBD>cke <Enter> um den Kopiervorgang zu starten\n"
STRING_SIMCOPY, "%d Datei(en) w<>rden kopiert werden\n"
{
STRING_INVPARMS, "Falsche Parameteranzahl - xcopy /? zeigt Hilfe an\n"
STRING_INVPARM, "Unbekannter Parameter '%s' - xcopy /? zeigt Hilfe an\n"
STRING_PAUSE, "Eingabetaste bet<65>tigen, um mit dem Kopieren zu beginnen\n"
STRING_SIMCOPY, "%d Datei(en) w<>rden kopiert\n"
STRING_COPY, "%d Datei(en) kopiert\n"
STRING_QISDIR, "Ist '%s' eine Datei oder ein Ordner\n" \
"im Zielordner?\n" \
"(D - Datei, O - Ordner)\n"
STRING_QISDIR, "Ist '%s' eine Datei oder ein Verzeichnis\n" \
"am Zielsort?\n" \
"(D - Datei, V - Verzeichnis)\n"
STRING_SRCPROMPT,"%s? (Ja|Nein)\n"
STRING_OVERWRITE,"<22>berschreibe %s? (Ja|Nein|Alle)\n"
STRING_COPYFAIL, "Kopieren von '%s' nach '%s' fehlgeschlagen mit r/c %d\n"
STRING_OPENFAIL, "<22>ffnen von '%s' fehlgeschlagen\n"
STRING_READFAIL, "Lesen von '%s' fehlgeschlagen\n"
STRING_OVERWRITE,"%s <EFBFBD>berschreiben? (Ja|Nein|Alle)\n"
STRING_COPYFAIL, "Kopieren von '%s' nach '%s' fehlgeschlagen. Fehlernummer: %d\n"
STRING_OPENFAIL, "Fehler beim <EFBFBD>ffnen von '%s'\n"
STRING_READFAIL, "Fehler beim Lesen von '%s'\n"
STRING_YES_CHAR, "J"
STRING_NO_CHAR, "N"
STRING_ALL_CHAR, "A"
STRING_FILE_CHAR,"D"
STRING_DIR_CHAR, "O"
STRING_DIR_CHAR, "V"
STRING_HELP,
"XCOPY - Kopiert Quelldaten oder Verzeichnisb<EFBFBD>ume and einen Ort\n\
"XCOPY - Kopiert Dateien oder Verzeichnisse an einen Zielort\n\
\n\
Syntax:\n\
XCOPY Quelle [Ziel] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U] \n\
XCOPY Quelle [Ziel] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\
\t [/R] [/H] [/C] [/P] [/A] [/M] [/E] [/D] [/Y] [/-Y]\n\
\n\
Wo:\n\
Mit:\n\
\n\
[/I] Falls Ziel nicht vorhanden ist und mehrere Dateien kopiert \n\
\twerden, nimmt XCOPY an, dass das Ziel ein Verzeichnis ist\n\
[/S] Kopiert Verzeichnisse und Unterverzeichnisse, die nicht leer sind\n\
[/E] Kopiert alle Unterverzeichnisse, eingeschlossen leere\n\
[/Q] Zeigt beim Kopieren keine Dateinamen an\n\
[/F] Zeigt die Namen der Quell- und Zieldateien beim Kopieren an\n\
[/L] Listet lediglich die Dateien auf, die kopiert werden w<EFBFBD>rden\n\
[/W] Fordert vor dem Beginn des Kopiervorgangs eine Best<73>tigung\n\
[/T] Erstellt die Verzeichnisstruktur, kopiert aber keine Dateien\n\
[/Y] Unterdr<EFBFBD>cke eine Best<73>tigung vor dem <20>berschreiben einer Datei\n\
[/-Y] Fordert vor dem <20>berschreiben einer Datei eine Best<73>tigung\n\
[/P] Fordert vor jedem Kopiervorgang eine Best<73>tigung\n\
[/N] Kurznamen beim Kopieren verwenden\n\
[/U] Kopiert nur Dateien, die im Zielverzeichnis vorhanden sind\n\
[/R] Schreibgesch<EFBFBD>tzte Dateien <20>berschreiben\n\
[/H] Verstecke und Systemdateien in den Kopiervorgang miteinbeziehen\n\
[/C] Kopiervorgang selbst nach Fehlern fortsetzen\n\
[/A] Nur Dateien mit gesetztem Archiv Attribut kopieren\n\
[/M] Nur Dateien mit gesetztem Archiv Attribut kopieren und \n\
\tdieses entfernen\n\
[/D | /D:m-d-y] Kopiert nur die an oder nach dem Datum ge<67>nderten Dateien.\n\
\t\tIst kein Datum angegeben, werden nur Dateien kopiert,\n\
\t\tdie neuer als die bestehenden Zieldateien sind.\n\n"
[/I] Behandle Ziel als Verzeichnisnamen, wenn es nicht existiert und\n\
\tmehrere Dateien kopiert werden.\n\
[/S] Kopiere Verzeichnisse und Unterverzeichnisse\n\
[/E] Kopiere Verzeichnisse und Unterverzeichnisse, auch leere\n\
[/Q] Zeige die Dateinamen beim Kopieren nicht an\n\
[/F] Zeige vollst<73>ndige Dateinamen von Quelle und Ziel an\n\
[/L] Simulation: Zeige die Namen der Datein, die kopiert w<>rden\n\
[/W] Wartet vor Beginn des Kopierens auf Best<73>tigung\n\
[/T] Erzeuge eine leere Verzeichnisstruktur, ohne Dateien zu kopieren\n\
[/Y] Keine Nachfrage vor dem <20>berschreiben von Dateien\n\
[/-Y] Nachrage vor dem <20>berschreiben von Dateien\n\
[/P] Fragt f<>r jede Quelldatei, ob sie kopiert werden soll\n\
[/N] Kopiert die Dateien unter ihrem Kurznamen\n\
[/U] Kopiert nur Dateien, die am Ziel bereits existieren\n\
[/R] <EFBFBD>berschreibt schreibgesch<EFBFBD>tzte Dateien\n\
[/H] Kopiere auch versteckte und Systemdateien\n\
[/C] Nach Fehlern den Kopiervorgang fortsetzen\n\
[/A] Nur Dateien mit Archivbit kopieren\n\
[/M] Nur Dateien mit Archivbit kopieren, danach Archivbit l<>schen\n\
[/D | /D:m-d-y] Kopiere neue Dateien und Dateien, die neuer als das\n\
\t\tangegebene Datum sind. Wird kein Datum angegegebn, werden nur\n\
\t\tQuelldateien kopiert, die neuer sind als die Zieldatei\n\n"
END
}

View File

@@ -47,12 +47,12 @@ STRINGTABLE
"XCOPY - Copies source files or directory trees to a destination\n\
\n\
Syntax:\n\
XCOPY source [dest] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U] \n\
XCOPY source [dest] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\
\t [/R] [/H] [/C] [/P] [/A] [/M] [/E] [/D] [/Y] [/-Y]\n\
\n\
Where:\n\
\n\
[/I] Assume directory if destination does not exist and copying 2 or \n\
[/I] Assume directory if destination does not exist and copying 2 or\n\
\tmore files\n\
[/S] Copy directories and subdirectories\n\
[/E] Copy directories and subdirectories, including any empty ones\n\
@@ -70,7 +70,7 @@ Where:\n\
[/H] Include hidden and system files in the copy\n\
[/C] Continue even if an error occurs during the copy\n\
[/A] Only copy files with archive attribute set\n\
[/M] Only copy files with archive attribute set, removes \n\
[/M] Only copy files with archive attribute set, removes\n\
\tarchive attribute\n\
[/D | /D:m-d-y] Copy new files or those modified after the supplied date.\n\
\t\tIf no date is supplied, only copy if destination is older\n\

View File

@@ -48,7 +48,7 @@ STRINGTABLE
"XCOPY - Copie les fichiers ou répertoires source vers une destination\n\
\n\
Syntaxe :\n\
XCOPY source [dest] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U] \n\
XCOPY source [dest] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\
\t [/R] [/H] [/C] [/P] [/A] [/M] [/E] [/D] [/Y] [/-Y]\n\
\n\
 :\n\
@@ -71,7 +71,7 @@ Où :\n\
[/H] Inclure les fichiers cachés et système dans la copie\n\
[/C] Continue même si une erreur survient pendant la copie\n\
[/A] Copie uniquement les fichiers qui ont l'attribut archive défini\n\
[/M] Copie uniquement les fichiers qui ont l'attribut archive défini, supprime \n\
[/M] Copie uniquement les fichiers qui ont l'attribut archive défini, supprime\n\
\tensuite l'attribut\n\
[/D | /D:m-d-y] Copie uniquement les fichiers nouveaux ou ceux modifiés après la date spécifiée.\n\
\t\tSi aucune date n'est spécifiée, copie uniquement lorsque le fichier de destination est plus vieux\n\

View File

@@ -0,0 +1,79 @@
/*
* XCOPY - Wine-compatible xcopy program
* English language support
*
* Copyright (C) 2007 J. Edmeades
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
STRINGTABLE
{
STRING_INVPARMS, "Numero di parametri non valido - Usare xcopy /? per l'aiuto\n"
STRING_INVPARM, "Parametro non valido '%s' - Usare xcopy /? per l'aiuto\n"
STRING_PAUSE, "Premeress <invio> per iniziare la copia\n"
STRING_SIMCOPY, "%d file(s) saranno copiati\n"
STRING_COPY, "%d file(s) copiati\n"
STRING_QISDIR, "'%s' <20> un file o una cartella ?\n" \
"sulla destinazione?\n" \
"(F - File, C - Cartella)\n"
STRING_SRCPROMPT,"%s? (Si|No)\n"
STRING_OVERWRITE,"Sovrascrivere %s? (Si|No|Tutti)\n"
STRING_COPYFAIL, "Copia di '%s' su '%s' fallitocon r/c %d\n"
STRING_OPENFAIL, "Impossibile aprire '%s'\n"
STRING_READFAIL, "Impossibile leggre '%s'\n"
STRING_YES_CHAR, "S"
STRING_NO_CHAR, "N"
STRING_ALL_CHAR, "T"
STRING_FILE_CHAR,"F"
STRING_DIR_CHAR, "C"
STRING_HELP,
"XCOPY - Copia i file sorgenti o un albero di cartelle su una destinazione\n\
\n\
Sintassi:\n\
XCOPY sorgente [destinazione] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U] \n\
\t [/R] [/H] [/C] [/P] [/A] [/M] [/E] [/D] [/Y] [/-Y]\n\
\n\
Dove:\n\
\n\
[/I] Assumere che sia una cartella se la destinazione non esiste e vengono \n\
\t\tcopiati due o pi<70> file\n\
[/S] Copiare cartelle e sottocartelle\n\
[/E] Copiare cartelle e sottocartelle, comprese quelle vuote\n\
[/Q] Non elencare i nomi dei file durante la copia.\n\
[/F] Mostrare il percorso completo di sorgente e destinazione durante la copia\n\
[/L] Simulare l'operazione, mostrare i nomi dei file che sarebbero copiati\n\
[/W] Chidere conferma prima di iniziare la copia\n\
[/T] Creare una strutture di cartelle vuota senza copiare i file\n\
[/Y] Supprimere la richiesta di conferma per la sovrascrittura dei file\n\
[/-Y] Abilitare la richiesta di conferma per la sovrascrittura dei file\n\
[/P] Chiedere conferma prima della copia di ogni file\n\
[/N] Copiare usando i nomi corti\n\
[/U] Copiare solo i file che esistono gi<67> nella destinazione\n\
[/R] Sovrascrivere i file in sola lettura\n\
[/H] Includere nella copia i file nascosti e quelli di sistema\n\
[/C] Continuare nella copia anche se si verificano errori\n\
[/A] Copiare solo i file con l'attributo di archivio attivo\n\
[/M] Copiare solo i file con l'attributo di archivio attivo e poi \n\
\t\tlo disattiva\n\
[/D | /D:m-d-y] Copiare i file nuovi o modificati dopo la data indicata.\n\
\t\tSe non <20> indicata una data copiare solo se la destinazione e meno recente\n\
\t\tdella sorgente\n\n"
}

View File

@@ -48,12 +48,12 @@ STRINGTABLE
"XCOPY - <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>̳<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>\n\
\n\
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:\n\
XCOPY <20><><EFBFBD><EFBFBD> [<5B><><EFBFBD><EFBFBD>] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U] \n\
XCOPY <20><><EFBFBD><EFBFBD> [<5B><><EFBFBD><EFBFBD>] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\
\t [/R] [/H] [/C] [/P] [/A] [/M] [/E] [/D] [/Y] [/-Y]\n\
\n\
Where:\n\
\n\
[/I] Assume directory if destination does not exist and copying 2 or \n\
[/I] Assume directory if destination does not exist and copying 2 or\n\
\tmore files\n\
[/S] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD>\n\
[/E] <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4B8AE> <20><><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4B8AE> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD>\n\
@@ -71,10 +71,10 @@ Where:\n\
[/H] <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>̳<EFBFBD> <20>ý<EFBFBD><C3BD><EFBFBD> <20><><EFBFBD>ϵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD> <20><><EFBFBD><EFBFBD>\n\
[/C] <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD>ȿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>߻<EFBFBD><DFBB>ص<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>\n\
[/A] <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ӽ<EFBFBD><D3BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><C7BE>ִ<EFBFBD> <20><><EFBFBD>ϸ<EFBFBD> <20><><EFBFBD><EFBFBD>\n\
[/M] <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ӽ<EFBFBD><D3BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϸ鼭 <20><><EFBFBD><EFBFBD> <20>Ӽ<EFBFBD><D3BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><C7BE>ִ<EFBFBD> \n\
\<5C><><EFBFBD>ϸ<EFBFBD> <20><><EFBFBD><EFBFBD> \n\
[/M] <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ӽ<EFBFBD><D3BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϸ鼭 <20><><EFBFBD><EFBFBD> <20>Ӽ<EFBFBD><D3BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><C7BE>ִ<EFBFBD>\n\
\<5C><><EFBFBD>ϸ<EFBFBD> <20><><EFBFBD><EFBFBD>\n\
[/D | /D:m-d-y] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>¥ <20>Ŀ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ǰų<C7B0> <20><><EFBFBD>ο<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.\n\
\t\tI<74><49><EFBFBD><EFBFBD> <20><EFBFBD><EEB6B0> <20><>¥<EFBFBD><C2A5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \n\
\t\tI<74><49><EFBFBD><EFBFBD> <20><EFBFBD><EEB6B0> <20><>¥<EFBFBD><C2A5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n\
\t\t<><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>͸<EFBFBD> <20><><EFBFBD><EFBFBD>\n\n"
}

View File

@@ -47,7 +47,7 @@ STRINGTABLE
"XCOPY - Copiëerd bron bestanden of directory bomen naar een bestemming\n\
\n\
Gebruik:\n\
XCOPY bron [bestemming] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U] \n\
XCOPY bron [bestemming] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\
\t [/R] [/H] [/C] [/P] [/A] [/M] [/E] [/D] [/Y] [/-Y]\n\
\n\
Parameters:\n\
@@ -70,7 +70,7 @@ Parameters:\n\
[/H] Inclusief verborgen en systeem bestanden\n\
[/C] Ga door zelfs als er een fout optreed tijdens het copiëren\n\
[/A] Copiëer alleen bestanden met archiverings attribuut aan\n\
[/M] Copiëer alleen bestanden met archiverings attribuut aan, verwijderd \n\
[/M] Copiëer alleen bestanden met archiverings attribuut aan, verwijderd\n\
\tdit archiverings attribuut\n\
[/D | /D:m-d-y] Copiëer nieuwe bestanden of die gewijzigd zijn na de opgegeven\n\
\t\tdatum. Als geen detum wordt gegeven, copiëer alleen als bron nieuwer is.\n\n"

View File

@@ -47,7 +47,7 @@ STRINGTABLE
"XCOPY - Kopierer filer eller katalogtre til en m<>lplassering\n\
\n\
Syntax:\n\
XCOPY kilde [m<>l] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U] \n\
XCOPY kilde [m<>l] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\
\t [/R] [/H] [/C] [/P] [/A] [/M] [/E] [/D] [/Y] [/-Y]\n\
\n\
Where:\n\
@@ -70,7 +70,7 @@ Where:\n\
[/H] Kopier skjulte filer og systemfiler\n\
[/C] Fortsett selv om det oppst<73>r feil under kopieringen\n\
[/A] Ikke kopier filer som er markert som arkiv\n\
[/M] Bare kopier filer som er markert som akriv; fjerner denne merkingen \n\
[/M] Bare kopier filer som er markert som akriv; fjerner denne merkingen\n\
[/D | /D:m-d-<2D>] Kopier nye filer eller de som er endret etter\n\
\t\tden oppgitte datoen.\n\
\t\tHvis ingen dato oppgis kopieres bare de filene som er\n\

View File

@@ -48,7 +48,7 @@ STRINGTABLE
"XCOPY - kopiuje pliki lub drzewa katalog<6F>w\n\
\n\
Sk<EFBFBD>adnia:\n\
XCOPY <20>r<EFBFBD>d<EFBFBD>o [cel] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U] \n\
XCOPY <20>r<EFBFBD>d<EFBFBD>o [cel] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\
\t [/R] [/H] [/C] [/P] [/A] [/M] [/E] [/D] [/Y] [/-Y]\n\
\n\
Gdzie:\n\

View File

@@ -51,12 +51,12 @@ STRINGTABLE
"XCOPY - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>\n\
\n\
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:\n\
XCOPY source [dest] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U] \n\
XCOPY source [dest] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\
\t [/R] [/H] [/C] [/P] [/A] [/M] [/E] [/D] [/Y] [/-Y]\n\
\n\
<EFBFBD><EFBFBD><EFBFBD>:\n\
\n\
[/I] <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, \n\
[/I] <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>,\n\
<20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n\
[/S] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n\
[/E] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n\
@@ -73,7 +73,7 @@ XCOPY source [dest] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U] \n\
[/R] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n\
[/H] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>.\n\
[/C] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n\
[/A] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\". \n\
[/A] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\".\n\
[/M] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\",\n\
<20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n\
[/D | /D:m-d-y] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n\

View File

@@ -30,7 +30,7 @@ STRINGTABLE
STRING_PAUSE, "Za začetek kopiranja pritisnite <enter>\n"
STRING_SIMCOPY, "Prekopiral bom %d datotek\n"
STRING_COPY, "Prekopiral sem %d datotek\n"
STRING_QISDIR, "Ali je '%s' ime ciljne datoteke \n" \
STRING_QISDIR, "Ali je '%s' ime ciljne datoteke\n" \
"ali mape?\n" \
"(D - Datoteka, M - Mapa)\n"
STRING_SRCPROMPT,"%s? (Da|Ne)\n"
@@ -48,12 +48,12 @@ STRINGTABLE
"XCOPY - kopira navedene izvorne datoteke oz. mape v naveden cilj\n\
\n\
Sintaksa:\n\
XCOPY izvor [cilj] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U] \n\
XCOPY izvor [cilj] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\
\t [/R] [/H] [/C] [/P] [/A] [/M] [/E] [/D] [/Y] [/-Y]\n\
\n\
Where:\n\
\n\
[/I] Če cilj ne obstaja in gre za kopiranje dveh ali več datotek, predpostavi, \n\
[/I] Če cilj ne obstaja in gre za kopiranje dveh ali več datotek, predpostavi,\n\
\da je cilj mapa\n\
[/S] Kopiraj mape in podmape\n\
[/E] Kopiraj mape in podmape, vključno s praznimi mapami\n\

View File

@@ -28,6 +28,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
#include "El.rc"
#include "En.rc"
#include "Fr.rc"
#include "It.rc"
#include "Ko.rc"
#include "Nl.rc"
#include "No.rc"

View File

@@ -1,458 +1,126 @@
/*
* ReactOS
* Copyright (C) 2004 ReactOS Team
* Copyright (C) 2004 GkWare e.K.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id$
*
* PROJECT: ReactOS System Control Panel
* FILE: lib/cpl/system/control.c
* FILE: base/applications/control/control.c
* PURPOSE: ReactOS System Control Panel
* PROGRAMMER: Gero Kuehn (reactos.filter@gkware.com)
* UPDATE HISTORY:
* 06-13-2004 Created
* PROGRAMMERS: Gero Kuehn (reactos.filter@gkware.com)
* Colin Finck (mail@colinfinck.de)
*/
#include <windows.h>
#include <commctrl.h>
#include <cpl.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>
#include <tchar.h>
#include "control.h"
#include "resource.h"
static const TCHAR szWindowClass[] = _T("DummyControlClass");
//#define CONTROL_DEBUG_ENABLE
#ifdef CONTROL_DEBUG_ENABLE
#define CTL_DEBUG(x) dbgprint x
#else
#define CTL_DEBUG(x)
#endif
#define MYWNDCLASS _T("CTLPANELCLASS")
typedef LONG (CALLBACK *CPLAPPLETFUNC)(HWND hwndCPL, UINT uMsg, LPARAM lParam1, LPARAM lParam2);
typedef struct CPLLISTENTRY
{
TCHAR pszPath[MAX_PATH];
HMODULE hDll;
CPLAPPLETFUNC pFunc;
CPLINFO CplInfo;
int nIndex;
} CPLLISTENTRY, *PCPLLISTENTRY;
HWND hListView;
HANDLE hProcessHeap;
HINSTANCE hInst;
HWND hMainWnd;
DEVMODE pDevMode;
VOID dbgprint(TCHAR *format,...)
{
TCHAR buf[1000];
va_list va;
va_start(va,format);
_vstprintf(buf,format,va);
OutputDebugString(buf);
va_end(va);
}
VOID PopulateCPLList(HWND hLisCtrl)
{
WIN32_FIND_DATA fd;
HANDLE hFind;
TCHAR pszSearchPath[MAX_PATH];
HIMAGELIST hImgListSmall;
HIMAGELIST hImgListLarge;
int ColorDepth;
HMODULE hDll;
CPLAPPLETFUNC pFunc;
TCHAR pszPath[MAX_PATH];
/* Icon drawing mode */
pDevMode.dmSize = sizeof(DEVMODE);
pDevMode.dmDriverExtra = 0;
EnumDisplaySettings(NULL,ENUM_CURRENT_SETTINGS,&pDevMode);
switch (pDevMode.dmBitsPerPel)
{
case 32: ColorDepth = ILC_COLOR32; break;
case 24: ColorDepth = ILC_COLOR24; break;
case 16: ColorDepth = ILC_COLOR16; break;
case 8: ColorDepth = ILC_COLOR8; break;
case 4: ColorDepth = ILC_COLOR4; break;
default: ColorDepth = ILC_COLOR; break;
}
hImgListSmall = ImageList_Create(16,16,ColorDepth | ILC_MASK,5,5);
hImgListLarge = ImageList_Create(32,32,ColorDepth | ILC_MASK,5,5);
GetSystemDirectory(pszSearchPath,MAX_PATH);
_tcscat(pszSearchPath,_T("\\*.cpl"));
hFind = FindFirstFile(pszSearchPath,&fd);
while (hFind != INVALID_HANDLE_VALUE)
{
PCPLLISTENTRY pEntry;
CTL_DEBUG((_T("Found %s\r\n"), fd.cFileName));
_tcscpy(pszPath, pszSearchPath);
*_tcsrchr(pszPath, '\\')=0;
_tcscat(pszPath, _T("\\"));
_tcscat(pszPath, fd.cFileName);
hDll = LoadLibrary(pszPath);
CTL_DEBUG((_T("Handle %08X\r\n"), hDll));
pFunc = (CPLAPPLETFUNC)GetProcAddress(hDll, "CPlApplet");
CTL_DEBUG((_T("CPLFunc %08X\r\n"), pFunc));
if (pFunc && pFunc(hLisCtrl, CPL_INIT, 0, 0))
{
UINT i, uPanelCount;
uPanelCount = (UINT)pFunc(hLisCtrl, CPL_GETCOUNT, 0, 0);
for (i = 0; i < uPanelCount; i++)
{
HICON hIcon;
TCHAR Name[MAX_PATH];
int index;
pEntry = (PCPLLISTENTRY)malloc(sizeof(CPLLISTENTRY));
if (pEntry == NULL)
return;
memset(pEntry, 0, sizeof(CPLLISTENTRY));
pEntry->hDll = hDll;
pEntry->pFunc = pFunc;
_tcscpy(pEntry->pszPath, pszPath);
pEntry->pFunc(hLisCtrl, CPL_INQUIRE, (LPARAM)i, (LPARAM)&pEntry->CplInfo);
hIcon = LoadImage(pEntry->hDll,MAKEINTRESOURCE(pEntry->CplInfo.idIcon),IMAGE_ICON,16,16,LR_DEFAULTCOLOR);
index = ImageList_AddIcon(hImgListSmall,hIcon);
DestroyIcon(hIcon);
hIcon = LoadImage(pEntry->hDll,MAKEINTRESOURCE(pEntry->CplInfo.idIcon),IMAGE_ICON,32,32,LR_DEFAULTCOLOR);
ImageList_AddIcon(hImgListLarge,hIcon);
DestroyIcon(hIcon);
if (LoadString(pEntry->hDll, pEntry->CplInfo.idName, Name, MAX_PATH))
{
LV_ITEM lvi;
memset(&lvi,0x00,sizeof(lvi));
lvi.mask = LVIF_TEXT | LVIF_PARAM | LVIF_STATE | LVIF_IMAGE;
lvi.pszText = Name;
lvi.state = 0;
lvi.iImage = index;
lvi.lParam = (LPARAM)pEntry;
pEntry->nIndex = ListView_InsertItem(hLisCtrl,&lvi);
if (LoadString(pEntry->hDll, pEntry->CplInfo.idInfo, Name, MAX_PATH))
ListView_SetItemText(hLisCtrl, pEntry->nIndex, 1, Name);
}
}
}
if (!FindNextFile(hFind,&fd))
hFind = INVALID_HANDLE_VALUE;
}
(void)ListView_SetImageList(hLisCtrl,hImgListSmall,LVSIL_SMALL);
(void)ListView_SetImageList(hLisCtrl,hImgListLarge,LVSIL_NORMAL);
}
LRESULT CALLBACK MyWindowProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
TCHAR szBuf[1024];
switch (uMsg)
{
case WM_CREATE:
{
RECT rect;
LV_COLUMN column;
GetClientRect(hWnd,&rect);
hListView = CreateWindow(WC_LISTVIEW,_T(""),LVS_REPORT | LVS_ALIGNLEFT | LVS_SORTASCENDING | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_VISIBLE | WS_CHILD | WS_TABSTOP,0,0,rect.right ,rect.bottom,hWnd,NULL,hInst,0);
CTL_DEBUG((_T("Listview Window %08X\r\n"),hListView));
memset(&column,0x00,sizeof(column));
column.mask = LVCF_FMT | LVCF_WIDTH | LVCF_SUBITEM | LVCF_TEXT;
column.fmt = LVCFMT_LEFT;
column.cx = (rect.right - rect.left) / 3;
column.iSubItem = 0;
LoadString(hInst, IDS_NAME, szBuf, sizeof(szBuf) / sizeof(TCHAR));
column.pszText = szBuf;
(void)ListView_InsertColumn(hListView,0,&column);
column.cx = (rect.right - rect.left) - ((rect.right - rect.left) / 3) - 1;
column.iSubItem = 1;
LoadString(hInst, IDS_COMMENT, szBuf, sizeof(szBuf) / sizeof(TCHAR));
column.pszText = szBuf;
(void)ListView_InsertColumn(hListView,1,&column);
PopulateCPLList(hListView);
(void)ListView_SetColumnWidth(hListView,2,LVSCW_AUTOSIZE_USEHEADER);
(void)ListView_Update(hListView,0);
SetFocus(hListView);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
case WM_SIZE:
{
RECT rect;
GetClientRect(hWnd,&rect);
MoveWindow(hListView,0,0,rect.right,rect.bottom,TRUE);
}
break;
case WM_NOTIFY:
{
NMHDR *phdr;
phdr = (NMHDR*)lParam;
switch(phdr->code)
{
case NM_RETURN:
case NM_DBLCLK:
{
int nSelect;
LV_ITEM lvi;
PCPLLISTENTRY pEntry;
nSelect=SendMessage(hListView,LVM_GETNEXTITEM,(WPARAM)-1,LVNI_FOCUSED);
if (nSelect==-1)
{
/* no items */
LoadString(hInst, IDS_NO_ITEMS, szBuf, sizeof(szBuf) / sizeof(TCHAR));
MessageBox(hWnd,(LPCTSTR)szBuf,NULL,MB_OK|MB_ICONINFORMATION);
break;
}
CTL_DEBUG((_T("Select %d\r\n"),nSelect));
memset(&lvi,0x00,sizeof(lvi));
lvi.iItem = nSelect;
lvi.mask = LVIF_PARAM;
(void)ListView_GetItem(hListView,&lvi);
pEntry = (PCPLLISTENTRY)lvi.lParam;
CTL_DEBUG((_T("Listview DblClk Entry %08X\r\n"),pEntry));
if (pEntry)
{
CTL_DEBUG((_T("Listview DblClk Entry Func %08X\r\n"),pEntry->pFunc));
}
if (pEntry && pEntry->pFunc)
pEntry->pFunc(hListView,CPL_DBLCLK,pEntry->CplInfo.lData,0);
}
}
}
break;
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDM_LARGEICONS:
SetWindowLong(hListView,GWL_STYLE,LVS_ICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_VISIBLE | WS_CHILD|WS_BORDER|WS_TABSTOP);
break;
case IDM_SMALLICONS:
SetWindowLong(hListView,GWL_STYLE,LVS_SMALLICON | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_VISIBLE | WS_CHILD|WS_BORDER|WS_TABSTOP);
break;
case IDM_LIST:
SetWindowLong(hListView,GWL_STYLE,LVS_LIST | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_VISIBLE | WS_CHILD|WS_BORDER|WS_TABSTOP);
break;
case IDM_DETAILS:
SetWindowLong(hListView,GWL_STYLE,LVS_REPORT | LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_SINGLESEL | WS_VISIBLE | WS_CHILD|WS_BORDER|WS_TABSTOP);
break;
case IDM_CLOSE:
DestroyWindow(hWnd);
break;
case IDM_ABOUT:
{
TCHAR Title[256];
LoadString(hInst, IDS_ABOUT, szBuf, sizeof(szBuf) / sizeof(TCHAR));
LoadString(hInst, IDS_ABOUT_TITLE, Title, sizeof(Title) / sizeof(TCHAR));
MessageBox(hWnd,(LPCTSTR)szBuf,(LPCTSTR)Title,MB_OK | MB_ICONINFORMATION);
}
break;
}
break;
default:
return DefWindowProc(hWnd,uMsg,wParam,lParam);
}
return 0;
}
static INT
RunControlPanelWindow(int nCmdShow)
OpenShellFolder(LPTSTR lpFolderCLSID)
{
MSG msg;
WNDCLASS wc;
TCHAR szBuf[256];
TCHAR szParameters[MAX_PATH];
memset(&wc,0x00,sizeof(wc));
wc.hIcon = LoadIcon(hInst,MAKEINTRESOURCE(IDI_MAINICON));
wc.lpszClassName = MYWNDCLASS;
wc.lpszMenuName = _T("MAINMENU");
wc.lpfnWndProc = MyWindowProc;
RegisterClass(&wc);
/* Open a shell folder using "explorer.exe".
The passed CLSID's are all subfolders of the "Control Panel" shell folder. */
_tcscpy(szParameters, _T("/n,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{21EC2020-3AEA-1069-A2DD-08002B30309D}"));
_tcscat(szParameters, lpFolderCLSID);
InitCommonControls();
LoadString(hInst, IDS_WINDOW_TITLE, szBuf, sizeof(szBuf) / sizeof(TCHAR));
hMainWnd = CreateWindowEx(WS_EX_CLIENTEDGE,
MYWNDCLASS,
(LPCTSTR)szBuf,
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
LoadMenu(hInst, MAKEINTRESOURCE(IDM_MAINMENU)),
hInst,
0);
if (!hMainWnd)
{
CTL_DEBUG((_T("Unable to create window\r\n")));
return -1;
}
ShowWindow(hMainWnd, nCmdShow);
while (GetMessage(&msg, 0, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
return (int)ShellExecute(NULL, _T("open"), _T("explorer.exe"), szParameters, NULL, SW_SHOWDEFAULT) > 32;
}
static INT
RunControlPanel(LPCTSTR lpName, UINT uIndex)
RunControlPanel(LPTSTR lpCmd)
{
CPLINFO CplInfo;
HMODULE hDll;
CPLAPPLETFUNC pFunc;
UINT uPanelCount;
TCHAR szParameters[MAX_PATH];
hDll = LoadLibrary(lpName);
if (hDll == 0)
{
return -1;
}
CTL_DEBUG((_T("Handle %08X\r\n"), hDll));
_tcscpy(szParameters, _T("shell32.dll,Control_RunDLL "));
_tcscat(szParameters, lpCmd);
pFunc = (CPLAPPLETFUNC)GetProcAddress(hDll, "CPlApplet");
if (pFunc == NULL)
{
FreeLibrary(hDll);
return -1;
}
CTL_DEBUG((_T("CPLFunc %08X\r\n"), pFunc));
if (!pFunc(NULL, CPL_INIT, 0, 0))
{
FreeLibrary(hDll);
return -1;
}
uPanelCount = (UINT)pFunc(NULL, CPL_GETCOUNT, 0, 0);
if (uIndex >= uPanelCount)
{
FreeLibrary(hDll);
return -1;
}
pFunc(NULL, CPL_INQUIRE, (LPARAM)uIndex, (LPARAM)&CplInfo);
pFunc(NULL, CPL_DBLCLK, CplInfo.lData, 0);
FreeLibrary(hDll);
return 0;
return RUNDLL(szParameters);
}
int
_tmain(int argc, const TCHAR *argv[])
int WINAPI
_tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
STARTUPINFO si;
TCHAR * szExt;
HKEY hKey;
si.cb = sizeof(si);
GetStartupInfo(&si);
hInst = hInstance;
hProcessHeap = GetProcessHeap();
hInst = GetModuleHandle(NULL);
/* Show the control panel window if no argument or "panel" was passed */
if(lpCmdLine[0] == 0 || !_tcsicmp(lpCmdLine, _T("panel")))
return OpenShellFolder(_T(""));
if (argc <= 1)
{
/* No argument on the command line */
return RunControlPanelWindow(si.wShowWindow);
}
/* Check one of the built-in control panel handlers */
if (!_tcsicmp(lpCmdLine, _T("admintools"))) return OpenShellFolder(_T("\\::{D20EA4E1-3957-11d2-A40B-0C5020524153}"));
else if (!_tcsicmp(lpCmdLine, _T("color"))) return RunControlPanel(_T("desk.cpl")); /* TODO: Switch to the "Apperance" tab */
else if (!_tcsicmp(lpCmdLine, _T("date/time"))) return RunControlPanel(_T("timedate.cpl"));
else if (!_tcsicmp(lpCmdLine, _T("desktop"))) return RunControlPanel(_T("desk.cpl"));
else if (!_tcsicmp(lpCmdLine, _T("folders"))) return RUNDLL(_T("shell32.dll,Options_RunDLL"));
else if (!_tcsicmp(lpCmdLine, _T("fonts"))) return OpenShellFolder(_T("\\::{D20EA4E1-3957-11d2-A40B-0C5020524152}"));
else if (!_tcsicmp(lpCmdLine, _T("infrared"))) return RunControlPanel(_T("irprops.cpl"));
else if (!_tcsicmp(lpCmdLine, _T("international"))) return RunControlPanel(_T("intl.cpl"));
else if (!_tcsicmp(lpCmdLine, _T("keyboard"))) return RunControlPanel(_T("main.cpl @1"));
else if (!_tcsicmp(lpCmdLine, _T("mouse"))) return RunControlPanel(_T("main.cpl @0"));
else if (!_tcsicmp(lpCmdLine, _T("netconnections"))) return OpenShellFolder(_T("\\::{7007ACC7-3202-11D1-AAD2-00805FC1270E}"));
else if (!_tcsicmp(lpCmdLine, _T("netware"))) return RunControlPanel(_T("nwc.cpl"));
else if (!_tcsicmp(lpCmdLine, _T("ports"))) return RunControlPanel(_T("sysdm.cpl")); /* TODO: Switch to the "Computer Name" tab */
else if (!_tcsicmp(lpCmdLine, _T("printers"))) return OpenShellFolder(_T("\\::{2227A280-3AEA-1069-A2DE-08002B30309D}"));
else if (!_tcsicmp(lpCmdLine, _T("scannercamera"))) return OpenShellFolder(_T("\\::{E211B736-43FD-11D1-9EFB-0000F8757FCD}"));
else if (!_tcsicmp(lpCmdLine, _T("schedtasks"))) return OpenShellFolder(_T("\\::{D6277990-4C6A-11CF-8D87-00AA0060F5BF}"));
else if (!_tcsicmp(lpCmdLine, _T("telephony"))) return RunControlPanel(_T("telephon.cpl"));
else if (!_tcsicmp(lpCmdLine, _T("userpasswords"))) return RunControlPanel(_T("nusrmgr.cpl")); /* Graphical User Account Manager */
else if (!_tcsicmp(lpCmdLine, _T("userpasswords2"))) return RUNDLL(_T("netplwiz.dll,UsersRunDll")); /* Dialog based advanced User Account Manager */
if (_tcsicmp(argv[1], _T("desktop")) == 0)
/* It is none of them, so look for a handler in the registry */
if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("Software\\Microsoft\\Windows\\CurrentVersion\\Control Panel\\Cpls"), 0, KEY_QUERY_VALUE, &hKey) == ERROR_SUCCESS)
{
return RunControlPanel(_T("desk.cpl"), 0);
}
else if (_tcsicmp(argv[1], _T("date/time")) == 0)
{
return RunControlPanel(_T("timedate.cpl"), 0);
}
else if (_tcsicmp(argv[1], _T("international")) == 0)
{
return RunControlPanel(_T("intl.cpl"), 0);
}
else if (_tcsicmp(argv[1], _T("mouse")) == 0)
{
return RunControlPanel(_T("main.cpl"), 0);
}
else if (_tcsicmp(argv[1], _T("keyboard")) == 0)
{
return RunControlPanel(_T("main.cpl"), 1);
}
else if ((szExt = _tcsstr(argv[1], _T(".cpl"))))
{
TCHAR * szSep;
TCHAR szCPL[MAX_PATH];
UINT selPage = 0;
DWORD dwIndex;
_tcscpy(szCPL, argv[1]);
szSep = _tcsstr(szCPL, _T(".cpl,"));
if (szSep)
for(dwIndex = 0; ; ++dwIndex)
{
/* FIXME for now ignore page index */
szSep[4] = _T('\0');
DWORD dwDataSize;
DWORD dwValueSize = MAX_VALUE_NAME;
TCHAR szValueName[MAX_VALUE_NAME];
/* Get the value name and data size */
if(RegEnumValue(hKey, dwIndex, szValueName, &dwValueSize, 0, NULL, NULL, &dwDataSize) != ERROR_SUCCESS)
break;
/* Check if the parameter is the value name */
if(!_tcsicmp(lpCmdLine, szValueName))
{
LPTSTR pszData;
/* Allocate memory for the data plus two more characters, so we can quote the file name if required */
pszData = (LPTSTR) HeapAlloc(hProcessHeap, 0, dwDataSize + 2 * sizeof(TCHAR));
++pszData;
/* This value is the one we are looking for, so get the data. It is the path to a .cpl file */
if(RegQueryValueEx(hKey, szValueName, 0, NULL, (LPBYTE)pszData, &dwDataSize) == ERROR_SUCCESS)
{
INT nReturnValue;
/* Quote the file name if required */
if(*pszData != '\"')
{
*(--pszData) = '\"';
pszData[dwDataSize / sizeof(TCHAR)] = '\"';
pszData[(dwDataSize / sizeof(TCHAR)) + 1] = 0;
}
nReturnValue = RunControlPanel(pszData);
HeapFree(hProcessHeap, 0, pszData);
RegCloseKey(hKey);
return nReturnValue;
}
HeapFree(hProcessHeap, 0, pszData);
}
}
return RunControlPanel(szCPL, selPage);
RegCloseKey(hKey);
}
return 0;
/* It's none of the known parameters, so interpret the parameter as the file name of a control panel applet */
return RunControlPanel(lpCmdLine);
}

View File

@@ -0,0 +1,18 @@
/*
* PROJECT: ReactOS System Control Panel
* FILE: base/applications/control/control.h
* PURPOSE: ReactOS System Control Panel
* PROGRAMMERS: Gero Kuehn (reactos.filter@gkware.com)
* Colin Finck (mail@colinfinck.de)
*/
#include <windows.h>
#include <tchar.h>
#include "resource.h"
#define CCH_UINT_MAX 11
#define MAX_VALUE_NAME 16383
/* Macro for calling "rundll32.exe"
According to MSDN, ShellExecute returns a value greater than 32 if the operation was successful. */
#define RUNDLL(param) ((int)ShellExecute(NULL, _T("open"), _T("rundll32.exe"), (param), NULL, SW_SHOWDEFAULT) > 32)

View File

@@ -2,11 +2,9 @@
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="control" type="win32gui" baseaddress="${BASEADDRESS_CONTROL}" installbase="system32" installname="control.exe" unicode="yes">
<include base="control">.</include>
<define name="_WIN32_IE">0x600</define>
<define name="_WIN32_WINNT">0x501</define>
<library>advapi32</library>
<library>kernel32</library>
<library>user32</library>
<library>comctl32</library>
<library>shell32</library>
<file>control.c</file>
<file>control.rc</file>
</module>

View File

@@ -1,23 +1,8 @@
//Microsoft Developer Studio generated resource script.
//
#include "resource.h"
#include <windows.h>
#define REACTOS_STR_FILE_DESCRIPTION "ReactOS System Control Panel\0"
#define REACTOS_STR_INTERNAL_NAME "control\0"
#define REACTOS_STR_ORIGINAL_FILENAME "control.exe\0"
#include <reactos/version.rc>
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_MAINICON ICON DISCARDABLE "resources/config.ico"
/////////////////////////////////////////////////////////////////////////////
#include "rsrc.rc"

View File

@@ -1,37 +0,0 @@
// Bulgarian language resource file
LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDM_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&<26><><EFBFBD><EFBFBD>"
BEGIN
MENUITEM "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_CLOSE
END
POPUP "<22><>&<26><><EFBFBD><EFBFBD>"
BEGIN
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_LARGEICONS
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_SMALLICONS
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_LIST
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_DETAILS
END
POPUP "<22><><EFBFBD><EFBFBD><EFBFBD>"
BEGIN
MENUITEM "<22><>", IDM_ABOUT
END
END
STRINGTABLE
BEGIN
IDS_WINDOW_TITLE "<22><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
IDS_ABOUT "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)\rCopyright 2004 GkWare e.K.\rhttp://www.gkware.com\r<><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> GPL"
IDS_ABOUT_TITLE "<22><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
IDS_NO_ITEMS "<22> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
IDS_NAME "<22><><EFBFBD>"
IDS_COMMENT "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
END

View File

@@ -1,37 +0,0 @@
// Catalan language resource file (Hiper, equip Capdellu<6C>)
LANGUAGE LANG_CATALAN, SUBLANG_DEFAULT
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDM_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&Fitxer"
BEGIN
MENUITEM "&Tancar", IDM_CLOSE
END
POPUP "&Veure"
BEGIN
MENUITEM "Icones grans", IDM_LARGEICONS
MENUITEM "Icones petites", IDM_SMALLICONS
MENUITEM "Llista", IDM_LIST
MENUITEM "Detalls", IDM_DETAILS
END
POPUP "Ajuda"
BEGIN
MENUITEM "En quant a", IDM_ABOUT
END
END
STRINGTABLE
BEGIN
IDS_WINDOW_TITLE "Control Panel"
IDS_ABOUT "Simple Control Panel (not Shell-namespace based)\rCopyright 2004 GkWare e.K.\rhttp://www.gkware.com\rReleased under the GPL"
IDS_ABOUT_TITLE "About the Control Panel"
IDS_NO_ITEMS "No Items in ListView"
IDS_NAME "Name"
IDS_COMMENT "Comment"
END

View File

@@ -1,37 +0,0 @@
// Czech language resource file (potapnik, 2005-04-30)
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDM_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&Soubor"
BEGIN
MENUITEM "&Zav<61><76>t", IDM_CLOSE
END
POPUP "&Zobrazen<65>"
BEGIN
MENUITEM "&Velk<6C> ikony", IDM_LARGEICONS
MENUITEM "&Mal<61> ikony", IDM_SMALLICONS
MENUITEM "&Seznam", IDM_LIST
MENUITEM "&Detaily", IDM_DETAILS
END
POPUP "&N<>pov<6F>da"
BEGIN
MENUITEM "&O aplikaci...", IDM_ABOUT
END
END
STRINGTABLE
BEGIN
IDS_WINDOW_TITLE "Control Panel"
IDS_ABOUT "Simple Control Panel (not Shell-namespace based)\rCopyright 2004 GkWare e.K.\rhttp://www.gkware.com\rReleased under the GPL"
IDS_ABOUT_TITLE "About the Control Panel"
IDS_NO_ITEMS "No Items in ListView"
IDS_NAME "Name"
IDS_COMMENT "Comment"
END

View File

@@ -1,36 +0,0 @@
// Danish language resource file (Thomas Larsen, 2005-03-11)
LANGUAGE LANG_DANISH, SUBLANG_DEFAULT
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDM_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&Fil"
BEGIN
MENUITEM "&Luk", IDM_CLOSE
END
POPUP "&Vis"
BEGIN
MENUITEM "Store Ikoner", IDM_LARGEICONS
MENUITEM "Sm<53> Ikoner", IDM_SMALLICONS
MENUITEM "Liste", IDM_LIST
MENUITEM "Detaljer", IDM_DETAILS
END
POPUP "Hj<48>lp"
BEGIN
MENUITEM "Om", IDM_ABOUT
END
END
STRINGTABLE
BEGIN
IDS_WINDOW_TITLE "Control Panel"
IDS_ABOUT "Simple Control Panel (not Shell-namespace based)\rCopyright 2004 GkWare e.K.\rhttp://www.gkware.com\rReleased under the GPL"
IDS_ABOUT_TITLE "About the Control Panel"
IDS_NO_ITEMS "No Items in ListView"
IDS_NAME "Name"
IDS_COMMENT "Comment"
END

View File

@@ -1,37 +0,0 @@
// German language resource file (frik85, 2005-03-08)
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDM_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&Datei"
BEGIN
MENUITEM "&Beenden", IDM_CLOSE
END
POPUP "&Ansicht"
BEGIN
MENUITEM "Gro<72>e Symbole", IDM_LARGEICONS
MENUITEM "Kleine Symbole", IDM_SMALLICONS
MENUITEM "Liste", IDM_LIST
MENUITEM "Details", IDM_DETAILS
END
POPUP "&?"
BEGIN
MENUITEM "Inf&o", IDM_ABOUT
END
END
STRINGTABLE
BEGIN
IDS_WINDOW_TITLE "Systemsteuerung"
IDS_ABOUT "Einfache Systemsteuerung (nicht Shell-namespace basiert)\rCopyright 2004 GkWare e.K.\rhttp://www.gkware.com\rVer<65>ffentlicht unter der GPL"
IDS_ABOUT_TITLE "<22>ber Systemsteuerung"
IDS_NO_ITEMS "Keine Items in ListView"
IDS_NAME "Name"
IDS_COMMENT "Kommentar"
END

View File

@@ -1,37 +0,0 @@
// Greek language resource file (Dj_Apal<61>, 2005-11-14)
LANGUAGE LANG_GREEK, SUBLANG_DEFAULT
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDM_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
BEGIN
MENUITEM "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_CLOSE
END
POPUP "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
BEGIN
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_LARGEICONS
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_SMALLICONS
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD>", IDM_LIST
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_DETAILS
END
POPUP "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
BEGIN
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_ABOUT
END
END
STRINGTABLE
BEGIN
IDS_WINDOW_TITLE "Control Panel"
IDS_ABOUT "Simple Control Panel (not Shell-namespace based)\rCopyright 2004 GkWare e.K.\rhttp://www.gkware.com\rReleased under the GPL"
IDS_ABOUT_TITLE "About the Control Panel"
IDS_NO_ITEMS "No Items in ListView"
IDS_NAME "Name"
IDS_COMMENT "Comment"
END

View File

@@ -1,37 +0,0 @@
// English language resource file (frik85, 2005-03-08)
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDM_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&File"
BEGIN
MENUITEM "&Close", IDM_CLOSE
END
POPUP "&View"
BEGIN
MENUITEM "Large Icons", IDM_LARGEICONS
MENUITEM "Small Icons", IDM_SMALLICONS
MENUITEM "List", IDM_LIST
MENUITEM "Details", IDM_DETAILS
END
POPUP "Help"
BEGIN
MENUITEM "About", IDM_ABOUT
END
END
STRINGTABLE
BEGIN
IDS_WINDOW_TITLE "Control Panel"
IDS_ABOUT "Simple Control Panel (not Shell-namespace based)\rCopyright 2004 GkWare e.K.\rhttp://www.gkware.com\rReleased under the GPL"
IDS_ABOUT_TITLE "About the Control Panel"
IDS_NO_ITEMS "No Items in ListView"
IDS_NAME "Name"
IDS_COMMENT "Comment"
END

View File

@@ -1,41 +0,0 @@
/*
*Spanish Language resource file
*ReactOs (c) 2005 Samuel Serapi<70>n Vega
*/
LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDM_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&Archivo"
BEGIN
MENUITEM "&Cerrar", IDM_CLOSE
END
POPUP "&Ver"
BEGIN
MENUITEM "Iconos Grandes", IDM_LARGEICONS
MENUITEM "Iconos Peque<75>os", IDM_SMALLICONS
MENUITEM "Lista", IDM_LIST
MENUITEM "Detalles", IDM_DETAILS
END
POPUP "Ayuda"
BEGIN
MENUITEM "Acerca de", IDM_ABOUT
END
END
STRINGTABLE
BEGIN
IDS_WINDOW_TITLE "Panel de Control"
IDS_ABOUT "Panel de Control Simple (not Shell-namespace based)\rCopyright 2004 GkWare e.K.\rhttp://www.gkware.com\rReleased under the GPL"
IDS_ABOUT_TITLE "Acerca del Panel de Control"
IDS_NO_ITEMS "Sin elementos en la lista"
IDS_NAME "Nombre"
IDS_COMMENT "Comentario"
END

View File

@@ -1,37 +0,0 @@
// English language resource file (frik85, 2005-03-08)
LANGUAGE LANG_FINNISH, SUBLANG_DEFAULT
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDM_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&Tiedosto"
BEGIN
MENUITEM "&Sulje", IDM_CLOSE
END
POPUP "&N<>yt<79>"
BEGIN
MENUITEM "Suuret kuvakkeet", IDM_LARGEICONS
MENUITEM "Pienet kuvakkeet", IDM_SMALLICONS
MENUITEM "Luettelo", IDM_LIST
MENUITEM "Tiedot", IDM_DETAILS
END
POPUP "Ohje"
BEGIN
MENUITEM "Tietoja", IDM_ABOUT
END
END
STRINGTABLE
BEGIN
IDS_WINDOW_TITLE "Control Panel"
IDS_ABOUT "Simple Control Panel (not Shell-namespace based)\rCopyright 2004 GkWare e.K.\rhttp://www.gkware.com\rReleased under the GPL"
IDS_ABOUT_TITLE "About the Control Panel"
IDS_NO_ITEMS "No Items in ListView"
IDS_NAME "Name"
IDS_COMMENT "Comment"
END

View File

@@ -1,37 +0,0 @@
// French language resource file (Heis Spiter, 2006-11-28)
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDM_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&Fichier"
BEGIN
MENUITEM "&Fermer", IDM_CLOSE
END
POPUP "&Affichage"
BEGIN
MENUITEM "Grandes Ic<49>nes", IDM_LARGEICONS
MENUITEM "Petites Ic<49>nes", IDM_SMALLICONS
MENUITEM "Liste", IDM_LIST
MENUITEM "D<>tails", IDM_DETAILS
END
POPUP "Aide"
BEGIN
MENUITEM "<22> propos", IDM_ABOUT
END
END
STRINGTABLE
BEGIN
IDS_WINDOW_TITLE "Panneau de configuration"
IDS_ABOUT "Panneau de configuration simple (non bas<61> sur Shell-namespace)\rCopyright 2004 GkWare e.K.\rhttp://www.gkware.com\rSous licence GPL"
IDS_ABOUT_TITLE "<22> propos du panneau de configuration"
IDS_NO_ITEMS "Aucun <20>l<EFBFBD>ment dans la ListView"
IDS_NAME "Nom"
IDS_COMMENT "Commentaire"
END

View File

@@ -1,37 +0,0 @@
// Hungarian language resource file (talley, 2005-10-12)
LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDM_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&F<>jl"
BEGIN
MENUITEM "&Bez<65>r<EFBFBD>s", IDM_CLOSE
END
POPUP "&N<>zet"
BEGIN
MENUITEM "Nagy ikonok", IDM_LARGEICONS
MENUITEM "Kis ikonok", IDM_SMALLICONS
MENUITEM "Lista", IDM_LIST
MENUITEM "R<>szletek", IDM_DETAILS
END
POPUP "S<>g<EFBFBD>"
BEGIN
MENUITEM "N<>vjegy", IDM_ABOUT
END
END
STRINGTABLE
BEGIN
IDS_WINDOW_TITLE "Control Panel"
IDS_ABOUT "Simple Control Panel (not Shell-namespace based)\rCopyright 2004 GkWare e.K.\rhttp://www.gkware.com\rReleased under the GPL"
IDS_ABOUT_TITLE "About the Control Panel"
IDS_NO_ITEMS "No Items in ListView"
IDS_NAME "Name"
IDS_COMMENT "Comment"
END

View File

@@ -1,37 +0,0 @@
// Indonesian language resource file (adezm, 2007-02-15)
LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDM_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&File"
BEGIN
MENUITEM "&Tutup", IDM_CLOSE
END
POPUP "&Lihat"
BEGIN
MENUITEM "Ikon Besar", IDM_LARGEICONS
MENUITEM "Ikon Kecil", IDM_SMALLICONS
MENUITEM "Daftar", IDM_LIST
MENUITEM "Detil", IDM_DETAILS
END
POPUP "Bantuan"
BEGIN
MENUITEM "Tentang", IDM_ABOUT
END
END
STRINGTABLE
BEGIN
IDS_WINDOW_TITLE "Control Panel"
IDS_ABOUT "Simple Control Panel (not Shell-namespace based)\rCopyright 2004 GkWare e.K.\rhttp://www.gkware.com\rReleased under the GPL"
IDS_ABOUT_TITLE "About the Control Panel"
IDS_NO_ITEMS "No Items in ListView"
IDS_NAME "Name"
IDS_COMMENT "Comment"
END

View File

@@ -1,37 +0,0 @@
// Italian language resource file Gabriel ilardi, september 4th 2006
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDM_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&File"
BEGIN
MENUITEM "C&hiudi", IDM_CLOSE
END
POPUP "&Visualizza"
BEGIN
MENUITEM "Titoli", IDM_LARGEICONS
MENUITEM "Icone", IDM_SMALLICONS
MENUITEM "Elenco", IDM_LIST
MENUITEM "Dettagli", IDM_DETAILS
END
POPUP "?"
BEGIN
MENUITEM "Informazioni", IDM_ABOUT
END
END
STRINGTABLE
BEGIN
IDS_WINDOW_TITLE "Control Panel"
IDS_ABOUT "Simple Control Panel (not Shell-namespace based)\rCopyright 2004 GkWare e.K.\rhttp://www.gkware.com\rReleased under the GPL"
IDS_ABOUT_TITLE "About the Control Panel"
IDS_NO_ITEMS "No Items in ListView"
IDS_NAME "Name"
IDS_COMMENT "Comment"
END

View File

@@ -1,37 +0,0 @@
// Japanese language resource file
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDM_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "<22>t<EFBFBD>@<40>C<EFBFBD><43>(&F)"
BEGIN
MENUITEM "<22>‚<EFBFBD><C282><EFBFBD>(&C)", IDM_CLOSE
END
POPUP "<22>\\<5C><>(&V)"
BEGIN
MENUITEM "<22><EFBFBD><E582AB><EFBFBD>A<EFBFBD>C<EFBFBD>R<EFBFBD><52>", IDM_LARGEICONS
MENUITEM "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD>C<EFBFBD>R<EFBFBD><52>", IDM_SMALLICONS
MENUITEM "<22>ꗗ", IDM_LIST
MENUITEM "<22>ڍ<EFBFBD>", IDM_DETAILS
END
POPUP "<22>w<EFBFBD><77><EFBFBD>v"
BEGIN
MENUITEM "About", IDM_ABOUT
END
END
STRINGTABLE
BEGIN
IDS_WINDOW_TITLE "Control Panel"
IDS_ABOUT "Simple Control Panel (not Shell-namespace based)\rCopyright 2004 GkWare e.K.\rhttp://www.gkware.com\rReleased under the GPL"
IDS_ABOUT_TITLE "About the Control Panel"
IDS_NO_ITEMS "No Items in ListView"
IDS_NAME "Name"
IDS_COMMENT "Comment"
END

View File

@@ -1,39 +0,0 @@
/*
*Korean translation by manatails007(www.manatails007.org)
*/
LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDM_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "<22><><EFBFBD><EFBFBD>(&F)"
BEGIN
MENUITEM "<22>ݱ<EFBFBD>(&C)", IDM_CLOSE
END
POPUP "<22><><EFBFBD><EFBFBD>(&V)"
BEGIN
MENUITEM "ū <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_LARGEICONS
MENUITEM "<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_SMALLICONS
MENUITEM "<22><><EFBFBD><EFBFBD>Ʈ", IDM_LIST
MENUITEM "<22>ڼ<EFBFBD><DABC><EFBFBD>", IDM_DETAILS
END
POPUP "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
BEGIN
MENUITEM "<22><><EFBFBD><EFBFBD>", IDM_ABOUT
END
END
STRINGTABLE
BEGIN
IDS_WINDOW_TITLE "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
IDS_ABOUT "Simple Control Panel (not Shell-namespace based)\rCopyright 2004 GkWare e.K.\rhttp://www.gkware.com\rReleased under the GPL"
IDS_ABOUT_TITLE "<22><><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD> <20><><EFBFBD>Ͽ<EFBFBD>"
IDS_NO_ITEMS "<22><><EFBFBD><EFBFBD>Ʈ <20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>"
IDS_NAME "<22≯<EFBFBD>"
IDS_COMMENT "<22>ڸ<EFBFBD>Ʈ"
END

View File

@@ -1,39 +0,0 @@
/*
* PROJECT: ReactOS System Control Panel
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/control/lang/lt-LT.rc
* PURPOSE: Lithuanian Language File
* TRANSLATOR: Vytis "CMan" Gird<72>ijauskas (cman@cman.us)
* DATE: 2008-01-21
*/
LANGUAGE LANG_LITHUANIAN, SUBLANG_DEFAULT
IDM_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&Byla"
BEGIN
MENUITEM "&Baigti", IDM_CLOSE
END
POPUP "&Rodymas"
BEGIN
MENUITEM "Didel<65>s piktogramos", IDM_LARGEICONS
MENUITEM "Ma<4D>os piktogramos", IDM_SMALLICONS
MENUITEM "S<>ra<72>as", IDM_LIST
MENUITEM "Detalus s<>ra<72>as", IDM_DETAILS
END
POPUP "&Pagalba"
BEGIN
MENUITEM "&Apie", IDM_ABOUT
END
END
STRINGTABLE
BEGIN
IDS_WINDOW_TITLE "Valdymo skydelis"
IDS_ABOUT "Paprastas valdymo skydelis (nepagr<67>stas 'Shell-namespace')\rAutoriaus teis<69>s 2004 GkWare e.K.\rhttp://www.gkware.com\rI<72>leista su GPL"
IDS_ABOUT_TITLE "Apie valdymo skydel<65>"
IDS_NO_ITEMS "S<>ra<72>e n<>ra element<6E>"
IDS_NAME "Pavadinimas"
IDS_COMMENT "Komentaras"
END

View File

@@ -1,43 +0,0 @@
/*
* PROJECT: ReactOS Control Application
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/control/No.rc
* PURPOSE: Norwegian translation
* TRANSLATOR: LMH1
*
*/
LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDM_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&Fil"
BEGIN
MENUITEM "&Avslutt", IDM_CLOSE
END
POPUP "&Vis"
BEGIN
MENUITEM "St<53>rre Ikoner", IDM_LARGEICONS
MENUITEM "Mindre Ikoner", IDM_SMALLICONS
MENUITEM "Liste", IDM_LIST
MENUITEM "Detaljer", IDM_DETAILS
END
POPUP "Hjelp"
BEGIN
MENUITEM "Om", IDM_ABOUT
END
END
STRINGTABLE
BEGIN
IDS_WINDOW_TITLE "Control Panel"
IDS_ABOUT "Simple Control Panel (not Shell-namespace based)\rCopyright 2004 GkWare e.K.\rhttp://www.gkware.com\rReleased under the GPL"
IDS_ABOUT_TITLE "About the Control Panel"
IDS_NO_ITEMS "No Items in ListView"
IDS_NAME "Name"
IDS_COMMENT "Comment"
END

View File

@@ -1,38 +0,0 @@
// Dutch language resource file (frik85, 2005-03-08)
LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL //vertaald door Lionel Lowie
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDM_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&Bestand"
BEGIN
MENUITEM "&Sluiten", IDM_CLOSE
END
POPUP "Beel&d"
BEGIN
MENUITEM "&Grote pictogrammen", IDM_LARGEICONS
MENUITEM "&Kleine pictogrammen", IDM_SMALLICONS
MENUITEM "&Lijstweergave", IDM_LIST
MENUITEM "&Details", IDM_DETAILS
END
POPUP "Help"
BEGIN
MENUITEM "&Info", IDM_ABOUT
END
END
STRINGTABLE
BEGIN
IDS_WINDOW_TITLE "Control Panel"
IDS_ABOUT "Simple Control Panel (not Shell-namespace based)\rCopyright 2004 GkWare e.K.\rhttp://www.gkware.com\rReleased under the GPL"
IDS_ABOUT_TITLE "About the Control Panel"
IDS_NO_ITEMS "No Items in ListView"
IDS_NAME "Name"
IDS_COMMENT "Comment"
END

View File

@@ -1,44 +0,0 @@
/*
* Polish language resource file (Sebastian Gasiorek, 2005-07-06)
* translation update by Caemyr - Olaf Siejka (Dec,2007)
* Use ReactOS forum PM or IRC to contact me
* http://www.reactos.org
* IRC: irc.freenode.net #reactos-pl
*/
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDM_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&Plik"
BEGIN
MENUITEM "&Zamknij", IDM_CLOSE
END
POPUP "&Widok"
BEGIN
MENUITEM "Du<44>e ikony", IDM_LARGEICONS
MENUITEM "Ma<4D>e ikony", IDM_SMALLICONS
MENUITEM "Lista", IDM_LIST
MENUITEM "Szczeg<65><67>y", IDM_DETAILS
END
POPUP "Pomoc"
BEGIN
MENUITEM "O programie", IDM_ABOUT
END
END
STRINGTABLE
BEGIN
IDS_WINDOW_TITLE "Panel Sterowania"
IDS_ABOUT "Podstawowy Panel Sterowania (nie oparty o Shell-namespace)\rCopyright 2004 GkWare e.K.\rhttp://www.gkware.com\rPodlega licencji GPL"
IDS_ABOUT_TITLE "O Panelu Sterowania"
IDS_NO_ITEMS "Brak sk<73>adnik<69>w"
IDS_NAME "Nazwa"
IDS_COMMENT "Komentarz"
END

View File

@@ -1,37 +0,0 @@
// Brazilian language resource file (Wagner Leandro Bueno Angelo, 2007-07-09)
LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDM_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&Arquivo"
BEGIN
MENUITEM "&Fechar", IDM_CLOSE
END
POPUP "&Visualizar"
BEGIN
MENUITEM "<22>cones grandes", IDM_LARGEICONS
MENUITEM "<22>cones pequenos", IDM_SMALLICONS
MENUITEM "Lista", IDM_LIST
MENUITEM "Detalhes", IDM_DETAILS
END
POPUP "Aj&uda"
BEGIN
MENUITEM "Sobre...", IDM_ABOUT
END
END
STRINGTABLE
BEGIN
IDS_WINDOW_TITLE "Control Panel"
IDS_ABOUT "Simple Control Panel (not Shell-namespace based)\rCopyright 2004 GkWare e.K.\rhttp://www.gkware.com\rReleased under the GPL"
IDS_ABOUT_TITLE "About the Control Panel"
IDS_NO_ITEMS "No Items in ListView"
IDS_NAME "Name"
IDS_COMMENT "Comment"
END

View File

@@ -1,37 +0,0 @@
// Russian language resource file (unC0Rr, 2005-03-11)
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDM_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&<26><><EFBFBD><EFBFBD>"
BEGIN
MENUITEM "&<26><><EFBFBD><EFBFBD><EFBFBD>", IDM_CLOSE
END
POPUP "&<26><><EFBFBD>"
BEGIN
MENUITEM "<22><>&<26><><EFBFBD><EFBFBD>", IDM_LARGEICONS
MENUITEM "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_SMALLICONS
MENUITEM "<22><><EFBFBD><EFBFBD>&<26><>", IDM_LIST
MENUITEM "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_DETAILS
END
POPUP "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
BEGIN
MENUITEM "&<26> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", IDM_ABOUT
END
END
STRINGTABLE
BEGIN
IDS_WINDOW_TITLE "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
IDS_ABOUT "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)\r<><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 2004 GkWare e.K.\rhttp://www.gkware.com\r<><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> GPL"
IDS_ABOUT_TITLE "<22> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
IDS_NO_ITEMS "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
IDS_NAME "<22><><EFBFBD>"
IDS_COMMENT "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
END

View File

@@ -1,37 +0,0 @@
// Slovak language resource file (Kario, 2007-02-25) <kario@szm.sk>
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDM_MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&S<>bor"
BEGIN
MENUITEM "&Zavrie<69>", IDM_CLOSE
END
POPUP "&Zobrazenia"
BEGIN
MENUITEM "&Ve<56>k<EFBFBD> ikony", IDM_LARGEICONS
MENUITEM "&Mal<61> ikony", IDM_SMALLICONS
MENUITEM "&Zoznam", IDM_LIST
MENUITEM "&Podrobnosti", IDM_DETAILS
END
POPUP "&Pomocn<63>k"
BEGIN
MENUITEM "<22>&o je...", IDM_ABOUT
END
END
STRINGTABLE
BEGIN
IDS_WINDOW_TITLE "Ovl<76>dac<61> panel"
IDS_ABOUT "Jednoduch<63> ovl<76>dac<61> panel (not Shell-namespace based)\rCopyright 2004 GkWare e.K.\rhttp://www.gkware.com\rVydan<61> pod GPL licenciou"
IDS_ABOUT_TITLE "<22>o je Ovl<76>dac<61> panel"
IDS_NO_ITEMS "<22>iadne polo<6C>ky v zozname"
IDS_NAME "N<>zov"
IDS_COMMENT "Koment<6E>r" //Comment
END

Some files were not shown because too many files have changed in this diff Show More