ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
September 2016
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
18 participants
342 discussions
Start a n
N
ew thread
[mjansen] 72820: [ATL][ATL_APITEST] Implement some basic functionality for CComVariant + tests. CORE-12041 Also adds Detach() to CComBSTR.
by mjansen@svn.reactos.org
Author: mjansen Date: Mon Sep 26 20:50:36 2016 New Revision: 72820 URL:
http://svn.reactos.org/svn/reactos?rev=72820&view=rev
Log: [ATL][ATL_APITEST] Implement some basic functionality for CComVariant + tests. CORE-12041 Also adds Detach() to CComBSTR. Added: trunk/rostests/apitests/atl/CComVariant.cpp (with props) Modified: trunk/reactos/sdk/lib/atl/atlcomcli.h trunk/rostests/apitests/atl/CMakeLists.txt trunk/rostests/apitests/atl/testlist.c Modified: trunk/reactos/sdk/lib/atl/atlcomcli.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/lib/atl/atlcomcli.h?re…
============================================================================== --- trunk/reactos/sdk/lib/atl/atlcomcli.h [iso-8859-1] (original) +++ trunk/reactos/sdk/lib/atl/atlcomcli.h [iso-8859-1] Mon Sep 26 20:50:36 2016 @@ -241,6 +241,13 @@ return *this; } + BSTR Detach() + { + BSTR str = m_str; + m_str = NULL; + return str; + } + BSTR Copy() const { if (!m_str) @@ -287,14 +294,161 @@ ::VariantInit(this); } + CComVariant(const CComVariant& other) + { + V_VT(this) = VT_EMPTY; + Copy(&other); + } + ~CComVariant() { Clear(); } + CComVariant(LPCOLESTR lpStr) + { + V_VT(this) = VT_BSTR; + V_BSTR(this) = ::SysAllocString(lpStr); + } + + CComVariant(LPCSTR lpStr) + { + V_VT(this) = VT_BSTR; + CComBSTR str(lpStr); + V_BSTR(this) = str.Detach(); + } + + CComVariant(bool value) + { + V_VT(this) = VT_BOOL; + V_BOOL(this) = value ? VARIANT_TRUE : VARIANT_FALSE; + } + + CComVariant(char value) + { + V_VT(this) = VT_I1; + V_I1(this) = value; + } + + CComVariant(BYTE value) + { + V_VT(this) = VT_UI1; + V_UI1(this) = value; + } + + CComVariant(short value) + { + V_VT(this) = VT_I2; + V_I2(this) = value; + } + + CComVariant(unsigned short value) + { + V_VT(this) = VT_UI2; + V_UI2(this) = value; + } + + CComVariant(int value, VARENUM type = VT_I4) + { + if (type == VT_I4 || type == VT_INT) + { + V_VT(this) = type; + V_I4(this) = value; + } + else + { + V_VT(this) = VT_ERROR; + V_ERROR(this) = E_INVALIDARG; + } + } + + CComVariant(unsigned int value, VARENUM type = VT_UI4) + { + if (type == VT_UI4 || type == VT_UINT) + { + V_VT(this) = type; + V_UI4(this) = value; + } + else + { + V_VT(this) = VT_ERROR; + V_ERROR(this) = E_INVALIDARG; + } + } + + CComVariant(long value, VARENUM type = VT_I4) + { + if (type == VT_I4 || type == VT_ERROR) + { + V_VT(this) = type; + V_I4(this) = value; + } + else + { + V_VT(this) = VT_ERROR; + V_ERROR(this) = E_INVALIDARG; + } + } + + CComVariant(unsigned long value) + { + V_VT(this) = VT_UI4; + V_UI4(this) = value; + } + + CComVariant(float value) + { + V_VT(this) = VT_R4; + V_R4(this) = value; + } + + CComVariant(double value, VARENUM type = VT_R8) + { + if (type == VT_R8 || type == VT_DATE) + { + V_VT(this) = type; + V_R8(this) = value; + } + else + { + V_VT(this) = VT_ERROR; + V_ERROR(this) = E_INVALIDARG; + } + } + + CComVariant(const LONGLONG& value) + { + V_VT(this) = VT_I8; + V_I8(this) = value; + } + + CComVariant(const ULONGLONG& value) + { + V_VT(this) = VT_UI8; + V_UI8(this) = value; + } + + CComVariant(const CY& value) + { + V_VT(this) = VT_CY; + V_I8(this) = value.int64; + } + + HRESULT Clear() { return ::VariantClear(this); + } + + HRESULT Copy(_In_ const VARIANT* src) + { + return ::VariantCopy(this, const_cast<VARIANT*>(src)); + } + + HRESULT ChangeType(_In_ VARTYPE newType, _In_opt_ const LPVARIANT src = NULL) + { + const LPVARIANT lpSrc = src ? src : this; + return ::VariantChangeType(this, lpSrc, 0, newType); } }; Added: trunk/rostests/apitests/atl/CComVariant.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/atl/CComVariant.…
============================================================================== --- trunk/rostests/apitests/atl/CComVariant.cpp (added) +++ trunk/rostests/apitests/atl/CComVariant.cpp [iso-8859-1] Mon Sep 26 20:50:36 2016 @@ -0,0 +1,472 @@ +/* + * PROJECT: ReactOS api tests + * LICENSE: LGPLv2.1+ - See COPYING.LIB in the top level directory + * PURPOSE: Test for CComVariant + * PROGRAMMER: Mark Jansen + */ + +/* In case we are building against the MS headers, we need to disable assertions. */ +#define ATLASSERT(x) +#define _ATL_NO_VARIANT_THROW + +#include <apitest.h> +#include <atlbase.h> +#include <atlcom.h> + +void expect_bool_imp(const CComVariant& ccv, bool value) +{ + winetest_ok(V_VT(&ccv) == VT_BOOL, "Expected .vt to be BOOL, was %u\n", V_VT(&ccv)); + VARIANT_BOOL expected = (value ? VARIANT_TRUE : VARIANT_FALSE); + winetest_ok(V_BOOL(&ccv) == expected, "Expected value to be %u, was: %u\n", expected, V_BOOL(&ccv)); +} + +void expect_int_imp(const CComVariant& ccv, int value, unsigned short type) +{ + winetest_ok(V_VT(&ccv) == type, "Expected .vt to be %u, was %u\n", type, V_VT(&ccv)); + winetest_ok(V_I4(&ccv) == value, "Expected value to be %d, was: %ld\n", value, V_I4(&ccv)); +} + +void expect_uint_imp(const CComVariant& ccv, unsigned int value, unsigned short type) +{ + winetest_ok(V_VT(&ccv) == type, "Expected .vt to be %u, was %u\n", type, V_VT(&ccv)); + winetest_ok(V_UI4(&ccv) == value, "Expected value to be %u, was: %lu\n", value, V_UI4(&ccv)); +} + +void expect_double_imp(const CComVariant& ccv, double value, unsigned short type) +{ + winetest_ok(V_VT(&ccv) == type, "Expected .vt to be %u, was %u\n", type, V_VT(&ccv)); + winetest_ok(V_R8(&ccv) == value, "Expected value to be %f, was: %f\n", value, V_R8(&ccv)); +} + +void expect_error_imp(const CComVariant& ccv, SCODE value) +{ + winetest_ok(V_VT(&ccv) == VT_ERROR, "Expected .vt to be VT_ERROR, was %u\n", V_VT(&ccv)); + winetest_ok(V_ERROR(&ccv) == value, "Expected value to be %lx, was: %lx\n", value, V_ERROR(&ccv)); +} + +void expect_empty_imp(const CComVariant& ccv) +{ + winetest_ok(V_VT(&ccv) == VT_EMPTY, "Expected .vt to be VT_EMPTY, was %u\n", V_VT(&ccv)); + winetest_ok(V_I8(&ccv) == 0ll, "Expected value to be 0, was: %I64d\n", V_I8(&ccv)); +} + +#define expect_bool (winetest_set_location(__FILE__, __LINE__), 0) ? (void)0 : expect_bool_imp +#define expect_int (winetest_set_location(__FILE__, __LINE__), 0) ? (void)0 : expect_int_imp +#define expect_uint (winetest_set_location(__FILE__, __LINE__), 0) ? (void)0 : expect_uint_imp +#define expect_double (winetest_set_location(__FILE__, __LINE__), 0) ? (void)0 : expect_double_imp +#define expect_error (winetest_set_location(__FILE__, __LINE__), 0) ? (void)0 : expect_error_imp +#define expect_empty (winetest_set_location(__FILE__, __LINE__), 0) ? (void)0 : expect_empty_imp + + +static void test_construction() +{ + { + CComVariant empty; + expect_empty(empty); + } + { + CComBSTR bstr(L"TESTW"); + CComVariant olestr((LPCOLESTR)bstr), comstr(bstr); + ok(V_VT(&olestr) == VT_BSTR, "Expected .vt to be VT_LPWSTR, was %u\n", V_VT(&olestr)); + ok(!wcscmp(V_BSTR(&olestr), L"TESTW"), "Expected value to be L\"TESTW\", was: %s\n", wine_dbgstr_w(V_BSTR(&olestr))); + ok(V_VT(&comstr) == VT_BSTR, "Expected .vt to be VT_LPWSTR, was %u\n", V_VT(&comstr)); + ok(!wcscmp(V_BSTR(&comstr), L"TESTW"), "Expected value to be L\"TESTW\", was: %s\n", wine_dbgstr_w(V_BSTR(&comstr))); + } + { + CComVariant cstr((LPCSTR)"TESTA"); + ok(V_VT(&cstr) == VT_BSTR, "Expected .vt to be VT_LPWSTR, was %u\n", V_VT(&cstr)); + ok(!wcscmp(V_BSTR(&cstr), L"TESTA"), "Expected value to be L\"TESTW\", was: %s\n", wine_dbgstr_w(V_BSTR(&cstr))); + } + { + CComVariant trueVal(true), falseVal(false); + ok(V_VT(&trueVal) == VT_BOOL, "Expected .vt to be BOOL, was %u\n", V_VT(&trueVal)); + ok(V_BOOL(&trueVal) == VARIANT_TRUE, "Expected value to be VARIANT_TRUE, was: %u\n", V_BOOL(&trueVal)); + ok(V_VT(&falseVal) == VT_BOOL, "Expected .vt to be BOOL, was %u\n", V_VT(&falseVal)); + ok(V_BOOL(&falseVal) == VARIANT_FALSE, "Expected value to be VARIANT_TRUE, was: %u\n", V_BOOL(&falseVal)); + } + { + CComVariant b1((BYTE)33); + ok(V_VT(&b1) == VT_UI1, "Expected .vt to be VT_UI1, was %u\n", V_VT(&b1)); + ok(V_UI1(&b1) == (BYTE)33, "Expected value to be 33, was: %u\n", V_UI1(&b1)); + } + { + CComVariant c1((char)33); + ok(V_VT(&c1) == VT_I1, "Expected .vt to be VT_I1, was %u\n", V_VT(&c1)); + ok(V_I1(&c1) == (char)33, "Expected value to be 33, was: %d\n", V_I1(&c1)); + } + { + CComVariant s1((short)12345); + ok(V_VT(&s1) == VT_I2, "Expected .vt to be VT_I2, was %u\n", V_VT(&s1)); + ok(V_I2(&s1) == (short)12345, "Expected value to be 12345, was: %d\n", V_I1(&s1)); + } + { + CComVariant us1((unsigned short)12345); + ok(V_VT(&us1) == VT_UI2, "Expected .vt to be VT_UI2, was %u\n", V_VT(&us1)); + ok(V_UI2(&us1) == (unsigned short)12345, "Expected value to be 12345, was: %u\n", V_UI2(&us1)); + } + { + CComVariant i1((int)4, VT_I4), i2((int)3, VT_INT), i3((int)2, VT_I2), i4((int)1); + expect_int(i1, 4, VT_I4); + expect_int(i2, 3, VT_INT); + expect_error(i3, E_INVALIDARG); + expect_int(i4, 1, VT_I4); + } + { + CComVariant ui1((unsigned int)4, VT_UI4), ui2((unsigned int)3, VT_UINT), ui3((unsigned int)2, VT_UI2), ui4((unsigned int)1); + expect_uint(ui1, 4, VT_UI4); + expect_uint(ui2, 3, VT_UINT); + expect_error(ui3, E_INVALIDARG); + expect_uint(ui4, 1, VT_UI4); + } + { + CComVariant l1((long)4, VT_I4), l2((long)3, VT_INT), l3((long)2, VT_ERROR), l4((long)1); + expect_int(l1, 4, VT_I4); + expect_error(l2, E_INVALIDARG); + expect_error(l3, 2); + expect_int(l4, 1, VT_I4); + } + { + CComVariant ul1((unsigned long)33); + expect_uint(ul1, 33, VT_UI4); + } + { + CComVariant f1(3.4f); + ok(V_VT(&f1) == VT_R4, "Expected .vt to be VT_R4, was %u\n", V_VT(&f1)); + ok(V_R4(&f1) == 3.4f, "Expected value to be 3.4f, was: %f\n", V_R4(&f1)); + } + { + CComVariant d1(3.4, VT_R8), d2(3.4, VT_DATE), d3(8.8, VT_I1), d4(1.9); + expect_double(d1, 3.4, VT_R8); + expect_double(d2, 3.4, VT_DATE); + expect_error(d3, E_INVALIDARG); + expect_double(d4, 1.9, VT_R8); + } + { + LONGLONG lv = 12030912309123ll; + CComVariant l1(lv); + ok(V_VT(&l1) == VT_I8, "Expected .vt to be VT_I8, was %u\n", V_VT(&l1)); + ok(V_I8(&l1) == lv, "Expected value to be %s, was: %s\n", wine_dbgstr_longlong(lv), wine_dbgstr_longlong(V_I8(&l1))); + } + { + ULONGLONG lv = 12030912309123llu; + CComVariant l1(lv); + ok(V_VT(&l1) == VT_UI8, "Expected .vt to be VT_UI8, was %u\n", V_VT(&l1)); + ok(V_UI8(&l1) == lv, "Expected value to be %s, was: %s\n", wine_dbgstr_longlong(lv), wine_dbgstr_longlong(V_UI8(&l1))); + } + { + CY cy; + cy.int64 = 12030912309123ll; + CComVariant c1(cy); + ok(V_VT(&c1) == VT_CY, "Expected .vt to be VT_CY, was %u\n", V_VT(&c1)); + ok(V_CY(&c1).int64 == cy.int64, "Expected value to be %s, was: %s\n", wine_dbgstr_longlong(cy.int64), wine_dbgstr_longlong(V_CY(&c1).int64)); + } + // IDispatch + // IUnknown +} + + +static void test_copyconstructor() +{ + { + CComVariant empty; + CComVariant empty2(empty); + expect_empty(empty2); + } + { + CComBSTR bstr(L"TESTW"); + CComVariant olestr((LPCOLESTR)bstr); + CComVariant olestr2(olestr); + ok(V_VT(&olestr2) == VT_BSTR, "Expected .vt to be VT_LPWSTR, was %u\n", V_VT(&olestr2)); + ok(!wcscmp(V_BSTR(&olestr2), L"TESTW"), "Expected value to be L\"TESTW\", was: %s\n", wine_dbgstr_w(V_BSTR(&olestr2))); + } + { + CComVariant trueVal(true); + CComVariant trueVal2(trueVal); + ok(V_VT(&trueVal2) == VT_BOOL, "Expected .vt to be BOOL, was %u\n", V_VT(&trueVal2)); + ok(V_BOOL(&trueVal2) == VARIANT_TRUE, "Expected value to be VARIANT_TRUE, was: %u\n", V_BOOL(&trueVal2)); + } + { + CComVariant b1((BYTE)33); + CComVariant b2(b1); + ok(V_VT(&b2) == VT_UI1, "Expected .vt to be VT_UI1, was %u\n", V_VT(&b2)); + ok(V_UI1(&b2) == (BYTE)33, "Expected value to be 33, was: %u\n", V_UI1(&b2)); + } + { + CComVariant c1((char)33); + CComVariant c2(c1); + ok(V_VT(&c2) == VT_I1, "Expected .vt to be VT_I1, was %u\n", V_VT(&c2)); + ok(V_I1(&c2) == (char)33, "Expected value to be 33, was: %d\n", V_I1(&c2)); + } + { + CComVariant s1((short)12345); + CComVariant s2(s1); + ok(V_VT(&s2) == VT_I2, "Expected .vt to be VT_I2, was %u\n", V_VT(&s2)); + ok(V_I2(&s2) == (short)12345, "Expected value to be 12345, was: %d\n", V_I1(&s2)); + } + { + CComVariant us1((unsigned short)12345); + CComVariant us2(us1); + ok(V_VT(&us2) == VT_UI2, "Expected .vt to be VT_UI2, was %u\n", V_VT(&us2)); + ok(V_UI2(&us2) == (unsigned short)12345, "Expected value to be 12345, was: %u\n", V_UI2(&us2)); + } + { + CComVariant i1((int)4, VT_I4); + CComVariant i2(i1); + expect_int(i2, 4, VT_I4); + } + { + CComVariant ui1((unsigned int)4, VT_UI4); + CComVariant ui2(ui1); + expect_uint(ui2, 4, VT_UI4); + } + { + CComVariant l1((long)4, VT_I4); + CComVariant l2(l1); + expect_uint(l2, 4, VT_I4); + } + { + CComVariant ul1((unsigned long)33); + CComVariant ul2(ul1); + expect_uint(ul2, 33, VT_UI4); + } + { + CComVariant f1(3.4f); + CComVariant f2(f1); + ok(V_VT(&f2) == VT_R4, "Expected .vt to be VT_R4, was %u\n", V_VT(&f2)); + ok(V_R4(&f2) == 3.4f, "Expected value to be 3.4f, was: %f\n", V_R4(&f2)); + } + { + CComVariant d1(3.4, VT_R8); + CComVariant d2(d1); + expect_double(d2, 3.4, VT_R8); + } + { + LONGLONG lv = 12030912309123ll; + CComVariant l1(lv); + CComVariant l2(l1); + ok(V_VT(&l2) == VT_I8, "Expected .vt to be VT_I8, was %u\n", V_VT(&l2)); + ok(V_I8(&l2) == lv, "Expected value to be %s, was: %s\n", wine_dbgstr_longlong(lv), wine_dbgstr_longlong(V_I8(&l2))); + } + { + ULONGLONG lv = 12030912309123llu; + CComVariant l1(lv); + CComVariant l2(l1); + ok(V_VT(&l2) == VT_UI8, "Expected .vt to be VT_UI8, was %u\n", V_VT(&l2)); + ok(V_UI8(&l2) == lv, "Expected value to be %s, was: %s\n", wine_dbgstr_longlong(lv), wine_dbgstr_longlong(V_UI8(&l2))); + } + { + CY cy; + cy.int64 = 12030912309123ll; + CComVariant c1(cy); + CComVariant c2(c1); + ok(V_VT(&c2) == VT_CY, "Expected .vt to be VT_I8, was %u\n", V_VT(&c2)); + ok(V_CY(&c2).int64 == cy.int64, "Expected value to be %s, was: %s\n", wine_dbgstr_longlong(cy.int64), wine_dbgstr_longlong(V_CY(&c2).int64)); + } + // IDispatch + // IUnknown +} + +static void test_assign() +{ + { + CComVariant empty; + CComVariant empty2 = empty; + expect_empty(empty2); + } + { + CComBSTR bstr(L"TESTW"); + CComVariant olestr = (LPCOLESTR)bstr; + ok(V_VT(&olestr) == VT_BSTR, "Expected .vt to be VT_LPWSTR, was %u\n", V_VT(&olestr)); + ok(!wcscmp(V_BSTR(&olestr), L"TESTW"), "Expected value to be L\"TESTW\", was: %s\n", wine_dbgstr_w(V_BSTR(&olestr))); + CComVariant olestr2 = olestr; + ok(V_VT(&olestr2) == VT_BSTR, "Expected .vt to be VT_LPWSTR, was %u\n", V_VT(&olestr2)); + ok(!wcscmp(V_BSTR(&olestr2), L"TESTW"), "Expected value to be L\"TESTW\", was: %s\n", wine_dbgstr_w(V_BSTR(&olestr2))); + } + { + CComVariant trueVal = true; + ok(V_VT(&trueVal) == VT_BOOL, "Expected .vt to be BOOL, was %u\n", V_VT(&trueVal)); + ok(V_BOOL(&trueVal) == VARIANT_TRUE, "Expected value to be VARIANT_TRUE, was: %u\n", V_BOOL(&trueVal)); + CComVariant trueVal2 = trueVal; + ok(V_VT(&trueVal2) == VT_BOOL, "Expected .vt to be BOOL, was %u\n", V_VT(&trueVal2)); + ok(V_BOOL(&trueVal2) == VARIANT_TRUE, "Expected value to be VARIANT_TRUE, was: %u\n", V_BOOL(&trueVal2)); + } + { + CComVariant b1 = (BYTE)33; + ok(V_VT(&b1) == VT_UI1, "Expected .vt to be VT_UI1, was %u\n", V_VT(&b1)); + ok(V_UI1(&b1) == (BYTE)33, "Expected value to be 33, was: %u\n", V_UI1(&b1)); + CComVariant b2 = b1; + ok(V_VT(&b2) == VT_UI1, "Expected .vt to be VT_UI1, was %u\n", V_VT(&b2)); + ok(V_UI1(&b2) == (BYTE)33, "Expected value to be 33, was: %u\n", V_UI1(&b2)); + } + { + CComVariant c1 = (char)33; + ok(V_VT(&c1) == VT_I1, "Expected .vt to be VT_I1, was %u\n", V_VT(&c1)); + ok(V_I1(&c1) == (char)33, "Expected value to be 33, was: %d\n", V_I1(&c1)); + CComVariant c2 = c1; + ok(V_VT(&c2) == VT_I1, "Expected .vt to be VT_I1, was %u\n", V_VT(&c2)); + ok(V_I1(&c2) == (char)33, "Expected value to be 33, was: %d\n", V_I1(&c2)); + } + { + CComVariant s1 = (short)12345; + ok(V_VT(&s1) == VT_I2, "Expected .vt to be VT_I2, was %u\n", V_VT(&s1)); + ok(V_I2(&s1) == (short)12345, "Expected value to be 12345, was: %d\n", V_I1(&s1)); + CComVariant s2 = s1; + ok(V_VT(&s2) == VT_I2, "Expected .vt to be VT_I2, was %u\n", V_VT(&s2)); + ok(V_I2(&s2) == (short)12345, "Expected value to be 12345, was: %d\n", V_I1(&s2)); + } + { + CComVariant us1 = (unsigned short)12345; + ok(V_VT(&us1) == VT_UI2, "Expected .vt to be VT_UI2, was %u\n", V_VT(&us1)); + ok(V_UI2(&us1) == (unsigned short)12345, "Expected value to be 12345, was: %u\n", V_UI2(&us1)); + CComVariant us2 = us1; + ok(V_VT(&us2) == VT_UI2, "Expected .vt to be VT_UI2, was %u\n", V_VT(&us2)); + ok(V_UI2(&us2) == (unsigned short)12345, "Expected value to be 12345, was: %u\n", V_UI2(&us2)); + } + { + CComVariant i1 = (int)4; + expect_int(i1, 4, VT_I4); + CComVariant i2 = i1; + expect_int(i2, 4, VT_I4); + } + { + CComVariant ui1 = (unsigned int)4; + expect_uint(ui1, 4, VT_UI4); + CComVariant ui2 = ui1; + expect_uint(ui2, 4, VT_UI4); + } + { + CComVariant l1 = (long)4; + expect_uint(l1, 4, VT_I4); + CComVariant l2 = l1; + expect_uint(l2, 4, VT_I4); + } + { + CComVariant ul1 = (unsigned long)33; + expect_uint(ul1, 33, VT_UI4); + CComVariant ul2 = ul1; + expect_uint(ul2, 33, VT_UI4); + } + { + CComVariant f1 = 3.4f; + ok(V_VT(&f1) == VT_R4, "Expected .vt to be VT_R4, was %u\n", V_VT(&f1)); + ok(V_R4(&f1) == 3.4f, "Expected value to be 3.4f, was: %f\n", V_R4(&f1)); + CComVariant f2 = f1; + ok(V_VT(&f2) == VT_R4, "Expected .vt to be VT_R4, was %u\n", V_VT(&f2)); + ok(V_R4(&f2) == 3.4f, "Expected value to be 3.4f, was: %f\n", V_R4(&f2)); + } + { + CComVariant d1 = 3.4; + expect_double(d1, 3.4, VT_R8); + CComVariant d2 = d1; + expect_double(d2, 3.4, VT_R8); + } + { + LONGLONG lv = 12030912309123ll; + CComVariant l1 = lv; + ok(V_VT(&l1) == VT_I8, "Expected .vt to be VT_I8, was %u\n", V_VT(&l1)); + ok(V_I8(&l1) == lv, "Expected value to be %s, was: %s\n", wine_dbgstr_longlong(lv), wine_dbgstr_longlong(V_I8(&l1))); + CComVariant l2 = l1; + ok(V_VT(&l2) == VT_I8, "Expected .vt to be VT_I8, was %u\n", V_VT(&l2)); + ok(V_I8(&l2) == lv, "Expected value to be %s, was: %s\n", wine_dbgstr_longlong(lv), wine_dbgstr_longlong(V_I8(&l2))); + } + { + ULONGLONG lv = 12030912309123llu; + CComVariant l1 = lv; + ok(V_VT(&l1) == VT_UI8, "Expected .vt to be VT_UI8, was %u\n", V_VT(&l1)); + ok(V_UI8(&l1) == lv, "Expected value to be %s, was: %s\n", wine_dbgstr_longlong(lv), wine_dbgstr_longlong(V_UI8(&l1))); + CComVariant l2 = l1; + ok(V_VT(&l2) == VT_UI8, "Expected .vt to be VT_UI8, was %u\n", V_VT(&l2)); + ok(V_UI8(&l2) == lv, "Expected value to be %s, was: %s\n", wine_dbgstr_longlong(lv), wine_dbgstr_longlong(V_UI8(&l2))); + } + { + CY cy; + cy.int64 = 12030912309123ll; + CComVariant c1 = cy; + ok(V_VT(&c1) == VT_CY, "Expected .vt to be VT_I8, was %u\n", V_VT(&c1)); + ok(V_CY(&c1).int64 == cy.int64, "Expected value to be %s, was: %s\n", wine_dbgstr_longlong(cy.int64), wine_dbgstr_longlong(V_CY(&c1).int64)); + CComVariant c2 = c1; + ok(V_VT(&c2) == VT_CY, "Expected .vt to be VT_I8, was %u\n", V_VT(&c2)); + ok(V_CY(&c2).int64 == cy.int64, "Expected value to be %s, was: %s\n", wine_dbgstr_longlong(cy.int64), wine_dbgstr_longlong(V_CY(&c2).int64)); + } + // IDispatch + // IUnknown +} + +static void test_misc() +{ + HRESULT hr; + { + CComVariant empty; + hr = empty.Clear(); + ok(SUCCEEDED(hr), "Expected .Clear() to succeed, but it failed: 0x%lx\n", hr); + expect_empty(empty); + } + + { + CComBSTR bstr(L"TESTW"); + CComVariant olestr((LPCOLESTR)bstr), empty; + + hr = empty.Copy(&olestr); // VARIANT* + ok(SUCCEEDED(hr), "Expected .Copy() to succeed, but it failed: 0x%lx\n", hr); + ok(V_VT(&empty) == VT_BSTR, "Expected .vt to be VT_LPWSTR, was %u\n", V_VT(&empty)); + ok(!wcscmp(V_BSTR(&empty), L"TESTW"), "Expected value to be L\"TESTW\", was: %s\n", wine_dbgstr_w(V_BSTR(&empty))); + + /* Clear does not null out the rest, it just sets .vt! */ + hr = olestr.Clear(); + ok(SUCCEEDED(hr), "Expected .Clear() to succeed, but it failed: 0x%lx\n", hr); + ok(V_VT(&olestr) == VT_EMPTY, "Expected .vt to be VT_EMPTY, was %u\n", V_VT(&olestr)); + } + + { + CComVariant d1(3.4, VT_R8), empty; + hr = empty.Copy(&d1); + ok(SUCCEEDED(hr), "Expected .Copy() to succeed, but it failed: 0x%lx\n", hr); + expect_double(empty, 3.4, VT_R8); + } + + { + LONGLONG lv = 12030912309123ll; + CComVariant l1(lv); + CComVariant empty; + hr = empty.Copy(&l1); + ok(SUCCEEDED(hr), "Expected .Copy() to succeed, but it failed: 0x%lx\n", hr); + ok(V_VT(&empty) == VT_I8, "Expected .vt to be VT_I8, was %u\n", V_VT(&empty)); + ok(V_I8(&empty) == lv, "Expected value to be %s, was: %s\n", wine_dbgstr_longlong(lv), wine_dbgstr_longlong(V_I8(&empty))); + } + + { + CY cy; + cy.int64 = 12030912309123ll; + CComVariant c1(cy); + CComVariant empty; + hr = empty.Copy(&c1); + ok(SUCCEEDED(hr), "Expected .Copy() to succeed, but it failed: 0x%lx\n", hr); + ok(V_VT(&empty) == VT_CY, "Expected .vt to be VT_I8, was %u\n", V_VT(&empty)); + ok(V_CY(&empty).int64 == cy.int64, "Expected value to be %s, was: %s\n", wine_dbgstr_longlong(cy.int64), wine_dbgstr_longlong(V_CY(&empty).int64)); + } + { + CComVariant var = (int)333; + CComVariant var2; + // var2 = var changed to bstr + HRESULT hr = var2.ChangeType(VT_BSTR, &var); + ok(SUCCEEDED(hr), "Expected .ChangeType() to succeed, but it failed: 0x%lx\n", hr); + expect_int(var, 333, VT_I4); + ok(V_VT(&var2) == VT_BSTR, "Expected .vt to be VT_LPWSTR, was %u\n", V_VT(&var2)); + ok(!wcscmp(V_BSTR(&var2), L"333"), "Expected value to be L\"TESTW\", was: %s\n", wine_dbgstr_w(V_BSTR(&var2))); + + // change in place + hr = var.ChangeType(VT_BSTR); + ok(SUCCEEDED(hr), "Expected .ChangeType() to succeed, but it failed: 0x%lx\n", hr); + ok(V_VT(&var) == VT_BSTR, "Expected .vt to be VT_LPWSTR, was %u\n", V_VT(&var)); + ok(!wcscmp(V_BSTR(&var), L"333"), "Expected value to be L\"TESTW\", was: %s\n", wine_dbgstr_w(V_BSTR(&var))); + } +} + + +START_TEST(CComVariant) +{ + test_construction(); + test_copyconstructor(); + test_assign(); + test_misc(); +} Propchange: trunk/rostests/apitests/atl/CComVariant.cpp ------------------------------------------------------------------------------ svn:eol-style = native Modified: trunk/rostests/apitests/atl/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/atl/CMakeLists.t…
============================================================================== --- trunk/rostests/apitests/atl/CMakeLists.txt [iso-8859-1] (original) +++ trunk/rostests/apitests/atl/CMakeLists.txt [iso-8859-1] Mon Sep 26 20:50:36 2016 @@ -1,5 +1,5 @@ -add_definitions(-DINITGUID) +add_definitions(-DINITGUID -DWINETEST_USE_DBGSTR_LONGLONG) set_cpp(WITH_RUNTIME WITH_EXCEPTIONS) include_directories(${REACTOS_SOURCE_DIR}/sdk/lib/atl) @@ -8,6 +8,7 @@ atltypes.cpp CComBSTR.cpp CComHeapPtr.cpp + CComVariant.cpp CImage.cpp CRegKey.cpp CSimpleArray.cpp @@ -18,5 +19,5 @@ target_link_libraries(atl_apitest wine uuid) set_module_type(atl_apitest win32cui) -add_importlibs(atl_apitest rpcrt4 ole32 oleaut32 msimg32 gdi32 advapi32 user32 msvcrt kernel32) +add_importlibs(atl_apitest rpcrt4 ole32 oleaut32 msimg32 gdi32 advapi32 user32 msvcrt kernel32 ntdll) add_cd_file(TARGET atl_apitest DESTINATION reactos/bin FOR all) Modified: trunk/rostests/apitests/atl/testlist.c URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/atl/testlist.c?r…
============================================================================== --- trunk/rostests/apitests/atl/testlist.c [iso-8859-1] (original) +++ trunk/rostests/apitests/atl/testlist.c [iso-8859-1] Mon Sep 26 20:50:36 2016 @@ -4,6 +4,7 @@ extern void func_atltypes(void); extern void func_CComBSTR(void); extern void func_CComHeapPtr(void); +extern void func_CComVariant(void); extern void func_CImage(void); extern void func_CRegKey(void); extern void func_CSimpleArray(void); @@ -15,6 +16,7 @@ { "atltypes", func_atltypes }, { "CComBSTR", func_CComBSTR }, { "CComHeapPtr", func_CComHeapPtr }, + { "CComVariant", func_CComVariant }, { "CImage", func_CImage }, { "CRegKey", func_CRegKey }, { "CSimpleArray", func_CSimpleArray },
8 years, 3 months
1
0
0
0
[bfreisen] 72819: [MSPAINT] - port load and save to ATL::CImage - let CImage generate the filter lists for the dialogs - add menu entries "From Scanner or Camera..." and "Send..." (no functionality...
by bfreisen@svn.reactos.org
Author: bfreisen Date: Mon Sep 26 19:53:42 2016 New Revision: 72819 URL:
http://svn.reactos.org/svn/reactos?rev=72819&view=rev
Log: [MSPAINT] - port load and save to ATL::CImage - let CImage generate the filter lists for the dialogs - add menu entries "From Scanner or Camera..." and "Send..." (no functionality) - add menu entries for most recently used files using ATL::CPath and ATL::CString - manage list of most recently used files in registry using ATL::CRegKey - use CString in some places instead of TCHAR arrays Use of CImage for load/save adds support for all GDI+ formats but breaks import/export of dots per meter/inch values. Modified: trunk/reactos/base/applications/mspaint/CMakeLists.txt trunk/reactos/base/applications/mspaint/definitions.h trunk/reactos/base/applications/mspaint/dib.cpp trunk/reactos/base/applications/mspaint/dib.h trunk/reactos/base/applications/mspaint/globalvar.h trunk/reactos/base/applications/mspaint/lang/bg-BG.rc trunk/reactos/base/applications/mspaint/lang/cs-CZ.rc trunk/reactos/base/applications/mspaint/lang/de-DE.rc trunk/reactos/base/applications/mspaint/lang/en-GB.rc trunk/reactos/base/applications/mspaint/lang/en-US.rc trunk/reactos/base/applications/mspaint/lang/es-ES.rc trunk/reactos/base/applications/mspaint/lang/eu-ES.rc trunk/reactos/base/applications/mspaint/lang/fr-FR.rc trunk/reactos/base/applications/mspaint/lang/he-IL.rc trunk/reactos/base/applications/mspaint/lang/hu-HU.rc trunk/reactos/base/applications/mspaint/lang/it-IT.rc trunk/reactos/base/applications/mspaint/lang/ja-JP.rc trunk/reactos/base/applications/mspaint/lang/nl-NL.rc trunk/reactos/base/applications/mspaint/lang/no-NO.rc trunk/reactos/base/applications/mspaint/lang/pl-PL.rc trunk/reactos/base/applications/mspaint/lang/pt-BR.rc trunk/reactos/base/applications/mspaint/lang/pt-PT.rc trunk/reactos/base/applications/mspaint/lang/ro-RO.rc trunk/reactos/base/applications/mspaint/lang/ru-RU.rc trunk/reactos/base/applications/mspaint/lang/sk-SK.rc trunk/reactos/base/applications/mspaint/lang/sq-AL.rc trunk/reactos/base/applications/mspaint/lang/sv-SE.rc trunk/reactos/base/applications/mspaint/lang/tr-TR.rc trunk/reactos/base/applications/mspaint/lang/uk-UA.rc trunk/reactos/base/applications/mspaint/lang/zh-CN.rc trunk/reactos/base/applications/mspaint/lang/zh-TW.rc trunk/reactos/base/applications/mspaint/main.cpp trunk/reactos/base/applications/mspaint/precomp.h trunk/reactos/base/applications/mspaint/registry.cpp trunk/reactos/base/applications/mspaint/registry.h trunk/reactos/base/applications/mspaint/winproc.cpp trunk/reactos/base/applications/mspaint/winproc.h Modified: trunk/reactos/base/applications/mspaint/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/CMakeLists.txt [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -1,6 +1,7 @@ project(MSPAINT) -set_cpp(WITH_RUNTIME) +add_definitions(-DINITGUID) +set_cpp(WITH_RUNTIME WITH_EXCEPTIONS) include_directories(${REACTOS_SOURCE_DIR}/sdk/lib/atl) @@ -32,7 +33,7 @@ add_rc_deps(rsrc.rc ${mspaint_rc_deps}) add_executable(mspaint ${SOURCE} rsrc.rc) set_module_type(mspaint win32gui UNICODE) -target_link_libraries(mspaint atlnew) -add_importlibs(mspaint hhctrl comdlg32 shell32 user32 gdi32 advapi32 comctl32 msvcrt kernel32) +target_link_libraries(mspaint atlnew uuid) +add_importlibs(mspaint hhctrl comdlg32 shell32 user32 gdi32 advapi32 comctl32 msvcrt kernel32 rpcrt4 shlwapi) add_pch(mspaint precomp.h SOURCE) add_cd_file(TARGET mspaint DESTINATION reactos/system32 FOR all) Modified: trunk/reactos/base/applications/mspaint/definitions.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/definitions.h [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/definitions.h [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -50,15 +50,25 @@ #define IDM_FILESAVE 203 #define IDM_FILESAVEAS 204 +#define IDM_FILEFROMSCANNERORCAMERA 205 + #define IDM_FILEPAGEVIEW 206 #define IDM_FILEPAGESETUP 207 #define IDM_FILEPRINT 208 +#define IDM_FILESEND 209 + #define IDM_FILEASWALLPAPERPLANE 210 #define IDM_FILEASWALLPAPERCENTERED 211 #define IDM_FILEASWALLPAPERSTRETCHED 212 -#define IDM_FILEEXIT 215 +#define IDM_FILEMOSTRECENTLYUSEDFILE 213 +#define IDM_FILE1 214 +#define IDM_FILE2 215 +#define IDM_FILE3 216 +#define IDM_FILE4 217 + +#define IDM_FILEEXIT 218 #define IDM_EDITUNDO 220 #define IDM_EDITREDO 221 @@ -214,10 +224,10 @@ #define IDS_TOOLTIP15 924 #define IDS_TOOLTIP16 925 -#define IDS_OPENFILTER 926 -#define IDS_SAVEFILTER 927 -#define IDS_FILESIZE 928 -#define IDS_PRINTRES 929 +#define IDS_ALLFILES 926 +#define IDS_ALLPICTUREFILES 927 +#define IDS_FILESIZE 928 +#define IDS_PRINTRES 929 #define IDS_INTNUMBERS 930 #define IDS_PERCENTAGE 931 Modified: trunk/reactos/base/applications/mspaint/dib.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/dib.cpp [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/dib.cpp [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -45,48 +45,17 @@ void SaveDIBToFile(HBITMAP hBitmap, LPTSTR FileName, HDC hDC, LPSYSTEMTIME time, int *size, int hRes, int vRes) { - BITMAP bm; - HANDLE hFile; - BITMAPFILEHEADER bf; - BITMAPINFOHEADER bi; - int imgDataSize; - DWORD dwBytesWritten; - char *buffer; + CImage img; + img.Attach(hBitmap); + img.Save(FileName); // TODO: error handling + img.Detach(); - GetObject(hBitmap, sizeof(BITMAP), &bm); + // update time and size - ZeroMemory(&bf, sizeof(BITMAPFILEHEADER)); - ZeroMemory(&bi, sizeof(BITMAPINFOHEADER)); - - imgDataSize = bm.bmWidthBytes * bm.bmHeight; - bf.bfType = 0x4d42; /* BM */ - bf.bfSize = imgDataSize + 52; - bf.bfOffBits = 54; - bi.biSize = sizeof(BITMAPINFOHEADER); - bi.biWidth = bm.bmWidth; - bi.biHeight = bm.bmHeight; - bi.biPlanes = bm.bmPlanes; - bi.biBitCount = bm.bmBitsPixel; - bi.biCompression = BI_RGB; - bi.biXPelsPerMeter = hRes; - bi.biYPelsPerMeter = vRes; - - buffer = (char*) HeapAlloc(GetProcessHeap(), 0, imgDataSize); - if (!buffer) + HANDLE hFile = + CreateFile(FileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, NULL); + if (hFile == INVALID_HANDLE_VALUE) return; - - GetDIBits(hDC, hBitmap, 0, bm.bmHeight, buffer, (LPBITMAPINFO) & bi, DIB_RGB_COLORS); - - hFile = CreateFile(FileName, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_FLAG_SEQUENTIAL_SCAN, NULL); - if (hFile == INVALID_HANDLE_VALUE) - { - HeapFree(GetProcessHeap(), 0, buffer); - return; - } - - WriteFile(hFile, &bf, sizeof(BITMAPFILEHEADER), &dwBytesWritten, NULL); - WriteFile(hFile, &bi, sizeof(BITMAPINFOHEADER), &dwBytesWritten, NULL); - WriteFile(hFile, buffer, imgDataSize, &dwBytesWritten, NULL); if (time) { @@ -97,11 +66,12 @@ if (size) *size = GetFileSize(hFile, NULL); + // TODO: update hRes and vRes + CloseHandle(hFile); - HeapFree(GetProcessHeap(), 0, buffer); } -void ShowFileLoadError(LPTSTR name) +void ShowFileLoadError(LPCTSTR name) { TCHAR programname[20]; TCHAR loaderrortext[100]; @@ -113,13 +83,10 @@ } void -LoadDIBFromFile(HBITMAP * hBitmap, LPTSTR name, LPSYSTEMTIME time, int *size, int *hRes, int *vRes) +LoadDIBFromFile(HBITMAP * hBitmap, LPCTSTR name, LPSYSTEMTIME time, int *size, int *hRes, int *vRes) { - BITMAPFILEHEADER bfh; - BITMAPINFO *bi; - PVOID pvBits; - DWORD dwBytesRead; - HANDLE hFile; + CImage img; + img.Load(name); // TODO: error handling if (!hBitmap) { @@ -127,19 +94,13 @@ return; } - hFile = + *hBitmap = img.Detach(); + + // update time and size + HANDLE hFile = CreateFile(name, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, NULL); if (hFile == INVALID_HANDLE_VALUE) { - ShowFileLoadError(name); - return; - } - - /* read header and check for 'BM' magic */ - ReadFile(hFile, &bfh, sizeof(BITMAPFILEHEADER), &dwBytesRead, NULL); - if (bfh.bfType != 0x4d42) - { - CloseHandle(hFile); ShowFileLoadError(name); return; } @@ -153,23 +114,7 @@ if (size) *size = GetFileSize(hFile, NULL); - bi = (BITMAPINFO*) HeapAlloc(GetProcessHeap(), 0, bfh.bfOffBits - sizeof(BITMAPFILEHEADER)); - if (!bi) - { - CloseHandle(hFile); - ShowFileLoadError(name); - return; - } - - ReadFile(hFile, bi, bfh.bfOffBits - sizeof(BITMAPFILEHEADER), &dwBytesRead, NULL); - *hBitmap = CreateDIBSection(NULL, bi, DIB_RGB_COLORS, &pvBits, NULL, 0); - ReadFile(hFile, pvBits, bfh.bfSize - bfh.bfOffBits, &dwBytesRead, NULL); - - if (hRes) - *hRes = (*bi).bmiHeader.biXPelsPerMeter; - if (vRes) - *vRes = (*bi).bmiHeader.biYPelsPerMeter; + // TODO: update hRes and vRes CloseHandle(hFile); - HeapFree(GetProcessHeap(), 0, bi); } Modified: trunk/reactos/base/applications/mspaint/dib.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/dib.h [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/dib.h [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -15,6 +15,6 @@ void SaveDIBToFile(HBITMAP hBitmap, LPTSTR FileName, HDC hDC, LPSYSTEMTIME time, int *size, int hRes, int vRes); -void LoadDIBFromFile(HBITMAP *hBitmap, LPTSTR name, LPSYSTEMTIME time, int *size, int *hRes, int *vRes); +void LoadDIBFromFile(HBITMAP *hBitmap, LPCTSTR name, LPSYSTEMTIME time, int *size, int *hRes, int *vRes); -void ShowFileLoadError(LPTSTR name); +void ShowFileLoadError(LPCTSTR name); Modified: trunk/reactos/base/applications/mspaint/globalvar.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/globalvar.h [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/globalvar.h [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -61,7 +61,6 @@ extern HINSTANCE hProgInstance; -extern TCHAR filename[256]; extern TCHAR filepathname[1000]; extern BOOL isAFile; extern int fileSize; Modified: trunk/reactos/base/applications/mspaint/lang/bg-BG.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/bg-BG.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/bg-BG.rc [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -17,13 +17,19 @@ MENUITEM "&ÐапиÑ\tCtrl+S", IDM_FILESAVE MENUITEM "ÐÐ°Ð¿Ð¸Ñ &каÑо...", IDM_FILESAVEAS MENUITEM SEPARATOR + MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA + MENUITEM SEPARATOR MENUITEM "Page View", IDM_FILEPAGEVIEW MENUITEM "Page Setup...", IDM_FILEPAGESETUP MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT MENUITEM SEPARATOR + MENUITEM "Send...", IDM_FILESEND + MENUITEM SEPARATOR MENUITEM "ÐоÑÑавÑне каÑо ÑÐ°Ð¿ÐµÑ (наÑÑелено)", IDM_FILEASWALLPAPERPLANE MENUITEM "ÐоÑÑавÑне каÑо ÑÐ°Ð¿ÐµÑ (в ÑÑедаÑа)", IDM_FILEASWALLPAPERCENTERED MENUITEM "ÐоÑÑавÑне каÑо ÑÐ°Ð¿ÐµÑ (ÑазпÑнаÑо)", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM SEPARATOR + MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, GRAYED MENUITEM SEPARATOR MENUITEM "Ðз&Ñ Ð¾Ð´\tAlt+F4", IDM_FILEEXIT END @@ -210,8 +216,8 @@ IDS_TOOLTIP14 "ÐногоÑгÑлник" IDS_TOOLTIP15 "ÐлипÑа" IDS_TOOLTIP16 "Ðаоблен пÑавоÑгÑлник" - IDS_OPENFILTER "Файлове bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1ÐÑиÑки Ñайлове (*.*)\1*.*\1" - IDS_SAVEFILTER "24 ÑазÑÑдни Ñайлове bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1" + IDS_ALLFILES "ÐÑиÑки Ñайлове" + IDS_ALLPICTUREFILES "All Picture Files" IDS_FILESIZE "%d ÑазÑÑда" IDS_PRINTRES "%d x %d ÑоÑки на меÑÑÑ" IDS_INTNUMBERS "Please enter integral numbers only!" Modified: trunk/reactos/base/applications/mspaint/lang/cs-CZ.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/cs-CZ.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/cs-CZ.rc [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -17,13 +17,19 @@ MENUITEM "Uložit\tCtrl+S", IDM_FILESAVE MENUITEM "Uložit j&ako...", IDM_FILESAVEAS MENUITEM SEPARATOR + MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA + MENUITEM SEPARATOR MENUITEM "Page View", IDM_FILEPAGEVIEW MENUITEM "Page Setup...", IDM_FILEPAGESETUP MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT MENUITEM SEPARATOR + MENUITEM "Send...", IDM_FILESEND + MENUITEM SEPARATOR MENUITEM "Nastavit jako pozadà (vedle sebe)", IDM_FILEASWALLPAPERPLANE MENUITEM "Nastavit jako pozadà (na stÅed)", IDM_FILEASWALLPAPERCENTERED MENUITEM "Nastavit jako pozadà (roztáhnout)", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM SEPARATOR + MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, GRAYED MENUITEM SEPARATOR MENUITEM "&UkonÄit\tAlt+F4", IDM_FILEEXIT END @@ -210,8 +216,8 @@ IDS_TOOLTIP14 "Polygon" IDS_TOOLTIP15 "Elipsa" IDS_TOOLTIP16 "Zaoblený obdélnÃk" - IDS_OPENFILTER "Soubory bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1VÅ¡echny soubory (*.*)\1*.*\1" - IDS_SAVEFILTER "24bitová bitmapa (*.bmp;*.dib)\1*.bmp;*.dib\1" + IDS_ALLFILES "VÅ¡echny soubory" + IDS_ALLPICTUREFILES "All Picture Files" IDS_FILESIZE "%d bajtů" IDS_PRINTRES "%d x %d pixelů na metr" IDS_INTNUMBERS "Please enter integral numbers only!" Modified: trunk/reactos/base/applications/mspaint/lang/de-DE.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/de-DE.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/de-DE.rc [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -17,13 +17,19 @@ MENUITEM "Speichern\tStrg+S", IDM_FILESAVE MENUITEM "Speichern &unter...", IDM_FILESAVEAS MENUITEM SEPARATOR + MENUITEM "Von Scanner oder Kamera...", IDM_FILEFROMSCANNERORCAMERA + MENUITEM SEPARATOR MENUITEM "Seitenansicht", IDM_FILEPAGEVIEW MENUITEM "Seite einrichten...", IDM_FILEPAGESETUP MENUITEM "&Drucken...\tStrg+P", IDM_FILEPRINT MENUITEM SEPARATOR + MENUITEM "Senden...", IDM_FILESEND + MENUITEM SEPARATOR MENUITEM "Als Hintergrund (Fläche)", IDM_FILEASWALLPAPERPLANE MENUITEM "Als Hintergrund (Zentriert)", IDM_FILEASWALLPAPERCENTERED MENUITEM "Als Hintergrund (Gestreckt)", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM SEPARATOR + MENUITEM "Zuletzt verwendete Datei", IDM_FILEMOSTRECENTLYUSEDFILE, GRAYED MENUITEM SEPARATOR MENUITEM "Beenden\tAlt+F4", IDM_FILEEXIT END @@ -210,8 +216,8 @@ IDS_TOOLTIP14 "Polygon" IDS_TOOLTIP15 "Ellipse" IDS_TOOLTIP16 "Abgerundetes Rechteck" - IDS_OPENFILTER "Bitmapdateien (*.bmp;*.dib)\1*.bmp;*.dib\1Alle Dateien (*.*)\1*.*\1" - IDS_SAVEFILTER "24-Bit-Bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1" + IDS_ALLFILES "Alle Dateien" + IDS_ALLPICTUREFILES "Alle Bilddateien" IDS_FILESIZE "%d Bytes" IDS_PRINTRES "%d x %d Pixel pro Meter" IDS_INTNUMBERS "Bitte geben Sie nur ganze Zahlen ein!" Modified: trunk/reactos/base/applications/mspaint/lang/en-GB.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/en-GB.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/en-GB.rc [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -17,13 +17,19 @@ MENUITEM "&Save\tCtrl+S", IDM_FILESAVE MENUITEM "Save &As...", IDM_FILESAVEAS MENUITEM SEPARATOR + MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA + MENUITEM SEPARATOR MENUITEM "Page View", IDM_FILEPAGEVIEW MENUITEM "Page Setup...", IDM_FILEPAGESETUP MENUITEM "&Print...\tCtrl+P", IDM_FILEPRINT MENUITEM SEPARATOR + MENUITEM "Send...", IDM_FILESEND + MENUITEM SEPARATOR MENUITEM "Set as wallpaper (Tiled)", IDM_FILEASWALLPAPERPLANE MENUITEM "Set as wallpaper (Centered)", IDM_FILEASWALLPAPERCENTERED MENUITEM "Set as wallpaper (Stretched)", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM SEPARATOR + MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, GRAYED MENUITEM SEPARATOR MENUITEM "&Quit\tAlt+F4", IDM_FILEEXIT END @@ -210,8 +216,8 @@ IDS_TOOLTIP14 "Polygon" IDS_TOOLTIP15 "Ellipse" IDS_TOOLTIP16 "Rounded rectangle" - IDS_OPENFILTER "Bitmap files (*.bmp;*.dib)\1*.bmp;*.dib\1All files (*.*)\1*.*\1" - IDS_SAVEFILTER "24 bit bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1" + IDS_ALLFILES "All Files" + IDS_ALLPICTUREFILES "All Picture Files" IDS_FILESIZE "%d bytes" IDS_PRINTRES "%d x %d pixels per meter" IDS_INTNUMBERS "Please enter integral numbers only!" Modified: trunk/reactos/base/applications/mspaint/lang/en-US.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/en-US.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/en-US.rc [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -17,13 +17,19 @@ MENUITEM "&Save\tCtrl+S", IDM_FILESAVE MENUITEM "Save &As...", IDM_FILESAVEAS MENUITEM SEPARATOR + MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA + MENUITEM SEPARATOR MENUITEM "Page View", IDM_FILEPAGEVIEW MENUITEM "Page Setup...", IDM_FILEPAGESETUP MENUITEM "&Print...\tCtrl+P", IDM_FILEPRINT MENUITEM SEPARATOR + MENUITEM "Send...", IDM_FILESEND + MENUITEM SEPARATOR MENUITEM "Set as wallpaper (Tiled)", IDM_FILEASWALLPAPERPLANE MENUITEM "Set as wallpaper (Centered)", IDM_FILEASWALLPAPERCENTERED MENUITEM "Set as wallpaper (Stretched)", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM SEPARATOR + MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, GRAYED MENUITEM SEPARATOR MENUITEM "E&xit\tAlt+F4", IDM_FILEEXIT END @@ -210,8 +216,8 @@ IDS_TOOLTIP14 "Polygon" IDS_TOOLTIP15 "Ellipse" IDS_TOOLTIP16 "Rounded rectangle" - IDS_OPENFILTER "Bitmap files (*.bmp;*.dib)\1*.bmp;*.dib\1All files (*.*)\1*.*\1" - IDS_SAVEFILTER "24 bit bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1" + IDS_ALLFILES "All Files" + IDS_ALLPICTUREFILES "All Picture Files" IDS_FILESIZE "%d bytes" IDS_PRINTRES "%d x %d pixels per meter" IDS_INTNUMBERS "Please enter integral numbers only!" Modified: trunk/reactos/base/applications/mspaint/lang/es-ES.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/es-ES.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/es-ES.rc [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -18,13 +18,19 @@ MENUITEM "&Guardar\tCtrl+G", IDM_FILESAVE MENUITEM "Guardar &como...", IDM_FILESAVEAS MENUITEM SEPARATOR + MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA + MENUITEM SEPARATOR MENUITEM "Vista de página", IDM_FILEPAGEVIEW MENUITEM "Configurar página...", IDM_FILEPAGESETUP MENUITEM "&Imprimir...\tCtrl+P", IDM_FILEPRINT MENUITEM SEPARATOR + MENUITEM "Send...", IDM_FILESEND + MENUITEM SEPARATOR MENUITEM "Fondo de pantalla (normal)", IDM_FILEASWALLPAPERPLANE MENUITEM "Fondo de pantalla (centrado)", IDM_FILEASWALLPAPERCENTERED MENUITEM "Fondo de pantalla (extendido)", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM SEPARATOR + MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, GRAYED MENUITEM SEPARATOR MENUITEM "Sa&lir\tAlt+F4", IDM_FILEEXIT END @@ -211,8 +217,8 @@ IDS_TOOLTIP14 "PolÃgono" IDS_TOOLTIP15 "Elipse" IDS_TOOLTIP16 "Rectángulo redondeado" - IDS_OPENFILTER "Archivos de mapa de bits (*.bmp;*.dib)\1*.bmp;*.dib\1Todos los archivos (*.*)\1*.*\1" - IDS_SAVEFILTER "Mapa de bits de 24 bits (*.bmp;*.dib)\1*.bmp;*.dib\1" + IDS_ALLFILES "Todos los archivos" + IDS_ALLPICTUREFILES "All Picture Files" IDS_FILESIZE "%d bytes" IDS_PRINTRES "%d x %d pÃxeles/m" IDS_INTNUMBERS "Sólo se admiten números sin decimales." Modified: trunk/reactos/base/applications/mspaint/lang/eu-ES.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/eu-ES.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/eu-ES.rc [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -9,13 +9,19 @@ MENUITEM "Gorde\tCtrl+S", IDM_FILESAVE MENUITEM "Gorde &honela...", IDM_FILESAVEAS MENUITEM SEPARATOR + MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA + MENUITEM SEPARATOR MENUITEM "Page View", IDM_FILEPAGEVIEW MENUITEM "Page Setup...", IDM_FILEPAGESETUP MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT MENUITEM SEPARATOR + MENUITEM "Send...", IDM_FILESEND + MENUITEM SEPARATOR MENUITEM "Ezarri azteko plano gisa (Lauza moduan)", IDM_FILEASWALLPAPERPLANE MENUITEM "Ezarri azteko plano gisa (erdian)", IDM_FILEASWALLPAPERCENTERED MENUITEM "Ezarri azteko plano gisa (tiratuta)", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM SEPARATOR + MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, GRAYED MENUITEM SEPARATOR MENUITEM "Irten\tAlt+F4", IDM_FILEEXIT END @@ -202,8 +208,8 @@ IDS_TOOLTIP14 "Poligonoa" IDS_TOOLTIP15 "Elipsea" IDS_TOOLTIP16 "Laukizuzen biribildua" - IDS_OPENFILTER "Bit-mapa fitxategiak(*.bmp;*.dib)\1*.bmp;*.dib\1Fitxategi gustiak (*.*)\1*.*\1" - IDS_SAVEFILTER "24 Biteko bit-mapa (*.bmp;*.dib)\1*.bmp;*.dib\1" + IDS_ALLFILES "Fitxategi gustiak" + IDS_ALLPICTUREFILES "All Picture Files" IDS_FILESIZE "%d bytes" IDS_PRINTRES "%d x %d pixels per meter" IDS_INTNUMBERS "Please enter integral numbers only!" Modified: trunk/reactos/base/applications/mspaint/lang/fr-FR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/fr-FR.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/fr-FR.rc [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -9,13 +9,19 @@ MENUITEM "&Enregistrer\tCtrl+S", IDM_FILESAVE MENUITEM "Enregistrer &sous...", IDM_FILESAVEAS MENUITEM SEPARATOR + MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA + MENUITEM SEPARATOR MENUITEM "Page View", IDM_FILEPAGEVIEW MENUITEM "Page Setup...", IDM_FILEPAGESETUP MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT MENUITEM SEPARATOR + MENUITEM "Send...", IDM_FILESEND + MENUITEM SEPARATOR MENUITEM "Choisir comme image d'arrière-plan (mosaïque)", IDM_FILEASWALLPAPERPLANE MENUITEM "Choisir comme image d'arrière-plan (centrée)", IDM_FILEASWALLPAPERCENTERED MENUITEM "Choisir comme image d'arrière-plan (étirée)", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM SEPARATOR + MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, GRAYED MENUITEM SEPARATOR MENUITEM "&Quitter\tAlt+F4", IDM_FILEEXIT END @@ -202,8 +208,8 @@ IDS_TOOLTIP14 "Polygone" IDS_TOOLTIP15 "Ellipse" IDS_TOOLTIP16 "Rectangle arrondi" - IDS_OPENFILTER "Bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1Tous les fichiers (*.*)\1*.*\1" - IDS_SAVEFILTER "Bitmap 24 bit (*.bmp;*.dib)\1*.bmp;*.dib\1" + IDS_ALLFILES "Tous les fichiers" + IDS_ALLPICTUREFILES "All Picture Files" IDS_FILESIZE "%d octets" IDS_PRINTRES "%d x %d pixels par mètre" IDS_INTNUMBERS "Veuillez entrer des nombres entiers uniquement !" Modified: trunk/reactos/base/applications/mspaint/lang/he-IL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/he-IL.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/he-IL.rc [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -9,13 +9,19 @@ MENUITEM "&ש××ר\tCtrl+S", IDM_FILESAVE MENUITEM "ש××ר ×ש&×...", IDM_FILESAVEAS MENUITEM SEPARATOR + MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA + MENUITEM SEPARATOR MENUITEM "Page View", IDM_FILEPAGEVIEW MENUITEM "Page Setup...", IDM_FILEPAGESETUP MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT MENUITEM SEPARATOR + MENUITEM "Send...", IDM_FILESEND + MENUITEM SEPARATOR MENUITEM "ק××¢ ×רקע ש×××× ××¢×××× (פר×ש)", IDM_FILEASWALLPAPERPLANE MENUITEM "ק××¢ ×רקע ש×××× ××¢×××× (×ר××)", IDM_FILEASWALLPAPERCENTERED MENUITEM "ק××¢ ×רקע ש×××× ××¢×××× (×××)", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM SEPARATOR + MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, GRAYED MENUITEM SEPARATOR MENUITEM "&×צ×××\tAlt+F4", IDM_FILEEXIT END @@ -202,8 +208,8 @@ IDS_TOOLTIP14 "×צ×××¢" IDS_TOOLTIP15 "×××פס×" IDS_TOOLTIP16 "×ר×××¢ ×¢× ×§××ק×××× ×ר×××¢××" - IDS_OPENFILTER "ק××¦× ×פת ס××××ת (*.bmp;*.dib)\1*.bmp;*.dib\1All files (*.*)\1*.*\1" - IDS_SAVEFILTER "ק××¦× ×פת ס××××ת ×©× 24 ס××××ת (*.bmp;*.dib)\1*.bmp;*.dib\1" + IDS_ALLFILES "All Files" + IDS_ALLPICTUREFILES "All Picture Files" IDS_FILESIZE "%d ×ת××" IDS_PRINTRES, "%d x %d פ×קס××× ×××ר" IDS_INTNUMBERS, "Please enter integral numbers only!" Modified: trunk/reactos/base/applications/mspaint/lang/hu-HU.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/hu-HU.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/hu-HU.rc [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -9,13 +9,19 @@ MENUITEM "&Mentés\tCtrl+S", IDM_FILESAVE MENUITEM "Mentés má&sként...", IDM_FILESAVEAS MENUITEM SEPARATOR + MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA + MENUITEM SEPARATOR MENUITEM "Page View", IDM_FILEPAGEVIEW MENUITEM "Page Setup...", IDM_FILEPAGESETUP MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT MENUITEM SEPARATOR + MENUITEM "Send...", IDM_FILESEND + MENUITEM SEPARATOR MENUITEM "BeállÃtás tapétaként (mozaik)", IDM_FILEASWALLPAPERPLANE MENUITEM "BeállÃtás tapétaként (középre)", IDM_FILEASWALLPAPERCENTERED MENUITEM "BeállÃtás tapétaként (nyújtás)", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM SEPARATOR + MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, GRAYED MENUITEM SEPARATOR MENUITEM "&Kilépés\tAlt+F4", IDM_FILEEXIT END @@ -202,8 +208,8 @@ IDS_TOOLTIP14 "Sokszög" IDS_TOOLTIP15 "Ellipszis" IDS_TOOLTIP16 "LekerekÃtett téglalap" - IDS_OPENFILTER "Bitkép fájlok (*.bmp;*.dib)\1*.bmp;*.dib\1Minden fájl (*.*)\1*.*\1" - IDS_SAVEFILTER "24 bites bitkép (*.bmp;*.dib)\1*.bmp;*.dib\1" + IDS_ALLFILES "Minden fájl" + IDS_ALLPICTUREFILES "All Picture Files" IDS_FILESIZE "%d bájt" IDS_PRINTRES "%d x %d pixel per méter" IDS_INTNUMBERS "Please enter integral numbers only!" Modified: trunk/reactos/base/applications/mspaint/lang/it-IT.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/it-IT.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/it-IT.rc [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -17,13 +17,19 @@ MENUITEM "Salva\tMaiusc+F12", IDM_FILESAVE MENUITEM "Sal&va con nome...", IDM_FILESAVEAS MENUITEM SEPARATOR + MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA + MENUITEM SEPARATOR MENUITEM "Page View", IDM_FILEPAGEVIEW MENUITEM "Page Setup...", IDM_FILEPAGESETUP MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT MENUITEM SEPARATOR + MENUITEM "Send...", IDM_FILESEND + MENUITEM SEPARATOR MENUITEM "Imposta come sfondo (normale)", IDM_FILEASWALLPAPERPLANE MENUITEM "Imposta come sfondo (centrata)", IDM_FILEASWALLPAPERCENTERED MENUITEM "Imposta come sfondo (estesa)", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM SEPARATOR + MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, GRAYED MENUITEM SEPARATOR MENUITEM "E&sci\tAlt+F4", IDM_FILEEXIT END @@ -210,8 +216,8 @@ IDS_TOOLTIP14 "Poligono" IDS_TOOLTIP15 "Ellisse" IDS_TOOLTIP16 "Rettangolo arrotondato" - IDS_OPENFILTER "Bitmap files (*.bmp;*.dib)\1*.bmp;*.dib\1All files (*.*)\1*.*\1" - IDS_SAVEFILTER "24 bit bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1" + IDS_ALLFILES "All Files" + IDS_ALLPICTUREFILES "All Picture Files" IDS_FILESIZE "%d bytes" IDS_PRINTRES "%d x %d pixels per metro" IDS_INTNUMBERS "Si prega di inserire solo numeri interi!" Modified: trunk/reactos/base/applications/mspaint/lang/ja-JP.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/ja-JP.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/ja-JP.rc [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -17,13 +17,19 @@ MENUITEM "ä¸æ¸ãä¿å(&S)\tCtrl+S", IDM_FILESAVE MENUITEM "ååãä»ãã¦ä¿å(&A)...", IDM_FILESAVEAS MENUITEM SEPARATOR + MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA + MENUITEM SEPARATOR MENUITEM "Page View", IDM_FILEPAGEVIEW MENUITEM "Page Setup...", IDM_FILEPAGESETUP MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT MENUITEM SEPARATOR + MENUITEM "Send...", IDM_FILESEND + MENUITEM SEPARATOR MENUITEM "èæ¯ã«è¨å® (並ã¹ã¦è¡¨ç¤º)", IDM_FILEASWALLPAPERPLANE MENUITEM "èæ¯ã«è¨å® (ä¸å¤®ã«è¡¨ç¤º)", IDM_FILEASWALLPAPERCENTERED MENUITEM "èæ¯ã«è¨å® (æ¡å¤§)", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM SEPARATOR + MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, GRAYED MENUITEM SEPARATOR MENUITEM "ãã¤ã³ãã®çµäº(&Q)\tAlt+F4", IDM_FILEEXIT END @@ -210,8 +216,8 @@ IDS_TOOLTIP14 "å¤è§å½¢" IDS_TOOLTIP15 "æ¥å" IDS_TOOLTIP16 "è§ä¸¸åè§å½¢" - IDS_OPENFILTER "ãããããã ãã¡ã¤ã« (*.bmp;*.dib)\1*.bmp;*.dib\1ãã¹ã¦ã®ãã¡ã¤ã« (*.*)\1*.*\1" - IDS_SAVEFILTER "24 ããã ãããããã (*.bmp;*.dib)\1*.bmp;*.dib\1" + IDS_ALLFILES "ãã¹ã¦ã®ãã¡ã¤ã«" + IDS_ALLPICTUREFILES "All Picture Files" IDS_FILESIZE "%d ãã¤ã" IDS_PRINTRES "%d x %d ãã¯ã»ã«/ã¡ã¼ãã«" IDS_INTNUMBERS "Please enter integral numbers only!" Modified: trunk/reactos/base/applications/mspaint/lang/nl-NL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/nl-NL.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/nl-NL.rc [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -17,13 +17,19 @@ MENUITEM "Opslaan\tCtrl+S", IDM_FILESAVE MENUITEM "Ops&laan als...", IDM_FILESAVEAS MENUITEM SEPARATOR + MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA + MENUITEM SEPARATOR MENUITEM "Page View", IDM_FILEPAGEVIEW MENUITEM "Page Setup...", IDM_FILEPAGESETUP MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT MENUITEM SEPARATOR + MENUITEM "Send...", IDM_FILESEND + MENUITEM SEPARATOR MENUITEM "Als achtergrond instellen (naast elkaar)", IDM_FILEASWALLPAPERPLANE MENUITEM "Als achtergrond instellen (gecentreerd)", IDM_FILEASWALLPAPERCENTERED MENUITEM "Als achtergrond instellen (uitgerekt)", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM SEPARATOR + MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, GRAYED MENUITEM SEPARATOR MENUITEM "Afsluiten\tAlt+F4", IDM_FILEEXIT END @@ -210,8 +216,8 @@ IDS_TOOLTIP14 "Veelhoek" IDS_TOOLTIP15 "Ovaal" IDS_TOOLTIP16 "Afgeronde rechthoek" - IDS_OPENFILTER "Bitmapbestanden (*.bmp;*.dib)\1*.bmp;*.dib\1Alle bestanden (*.*)\1*.*\1" - IDS_SAVEFILTER "24 bit bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1" + IDS_ALLFILES "Alle bestanden" + IDS_ALLPICTUREFILES "Alle beeldbestanden" IDS_FILESIZE "%d bytes" IDS_PRINTRES "%d x %d pixels per meter" IDS_INTNUMBERS "Please enter integral numbers only!" Modified: trunk/reactos/base/applications/mspaint/lang/no-NO.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/no-NO.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/no-NO.rc [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -17,13 +17,19 @@ MENUITEM "&Lagre\tCtrl+S", IDM_FILESAVE MENUITEM "Lagre &som...", IDM_FILESAVEAS MENUITEM SEPARATOR + MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA + MENUITEM SEPARATOR MENUITEM "Page View", IDM_FILEPAGEVIEW MENUITEM "Page Setup...", IDM_FILEPAGESETUP MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT MENUITEM SEPARATOR + MENUITEM "Send...", IDM_FILESEND + MENUITEM SEPARATOR MENUITEM "Bruk som bakgrunn (sidestilt)", IDM_FILEASWALLPAPERPLANE MENUITEM "Bruk som bakgrunn (midstilt)", IDM_FILEASWALLPAPERCENTERED MENUITEM "Bruk som bakgrunn (strukket)", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM SEPARATOR + MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, GRAYED MENUITEM SEPARATOR MENUITEM "&Avslutt\tAlt+F4", IDM_FILEEXIT END @@ -210,8 +216,8 @@ IDS_TOOLTIP14 "Polygon" IDS_TOOLTIP15 "Sirkel" IDS_TOOLTIP16 "Avrundet rektangel" - IDS_OPENFILTER "Bitmap filer (*.bmp;*.dib)\1*.bmp;*.dib\1Alle filer (*.*)\1*.*\1" - IDS_SAVEFILTER "24 bit bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1" + IDS_ALLFILES "Alle filer" + IDS_ALLPICTUREFILES "All Picture Files" IDS_FILESIZE "%d bytes" IDS_PRINTRES "%d x %d pixels per meter" IDS_INTNUMBERS "Please enter integral numbers only!" Modified: trunk/reactos/base/applications/mspaint/lang/pl-PL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/pl-PL.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/pl-PL.rc [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -18,13 +18,19 @@ MENUITEM "&Zapisz\tCtrl+S", IDM_FILESAVE MENUITEM "Z&apisz jako...", IDM_FILESAVEAS MENUITEM SEPARATOR + MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA + MENUITEM SEPARATOR MENUITEM "&PodglÄ d wydruku", IDM_FILEPAGEVIEW MENUITEM "&Ustawienia strony...", IDM_FILEPAGESETUP MENUITEM "&Drukuj...\tCtrl+P", IDM_FILEPRINT MENUITEM SEPARATOR + MENUITEM "Send...", IDM_FILESEND + MENUITEM SEPARATOR MENUITEM "Ustaw jako &tÅo (sÄ siadujÄ co)", IDM_FILEASWALLPAPERPLANE MENUITEM "U&staw jako tÅo (wyÅrodkowane)", IDM_FILEASWALLPAPERCENTERED MENUITEM "Ustaw jako tÅo (rozciÄ gniÄte)", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM SEPARATOR + MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, GRAYED MENUITEM SEPARATOR MENUITEM "Za&koÅcz\tAlt+F4", IDM_FILEEXIT END @@ -211,8 +217,8 @@ IDS_TOOLTIP14 "WielokÄ t" IDS_TOOLTIP15 "Elipsa" IDS_TOOLTIP16 "ZaokrÄ glony prostokÄ t" - IDS_OPENFILTER "Pliki Bitmapy (*.bmp;*.dib)\1*.bmp;*.dib\1Wszystkie pliki (*.*)\1*.*\1" - IDS_SAVEFILTER "Bitmapa 24-bitowa (*.bmp;*.dib)\1*.bmp;*.dib\1" + IDS_ALLFILES "Wszystkie pliki" + IDS_ALLPICTUREFILES "All Picture Files" IDS_FILESIZE "%d bajtów" IDS_PRINTRES "%d x %d pikseli na metr" IDS_INTNUMBERS "Wprowadź liczbÄ caÅkowitÄ ." Modified: trunk/reactos/base/applications/mspaint/lang/pt-BR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/pt-BR.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/pt-BR.rc [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -17,13 +17,19 @@ MENUITEM "&Salvar\tCtrl+S", IDM_FILESAVE MENUITEM "Salvar &como...", IDM_FILESAVEAS MENUITEM SEPARATOR + MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA + MENUITEM SEPARATOR MENUITEM "Page View", IDM_FILEPAGEVIEW MENUITEM "Page Setup...", IDM_FILEPAGESETUP MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT MENUITEM SEPARATOR + MENUITEM "Send...", IDM_FILESEND + MENUITEM SEPARATOR MENUITEM "Definir como plano de fundo (Lado a lado)", IDM_FILEASWALLPAPERPLANE MENUITEM "Definir como plano de fundo (Centralizado)", IDM_FILEASWALLPAPERCENTERED MENUITEM "Definir como plano de fundo (Esticado)", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM SEPARATOR + MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, GRAYED MENUITEM SEPARATOR MENUITEM "Sai&r\tAlt+F4", IDM_FILEEXIT END @@ -210,8 +216,8 @@ IDS_TOOLTIP14 "PolÃgono" IDS_TOOLTIP15 "Ellipse" IDS_TOOLTIP16 "Retângulo arredondado" - IDS_OPENFILTER "Arquivos de bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1Todos os arquivos (*.*)\1*.*\1" - IDS_SAVEFILTER "Bitmaps de 24 bits (*.bmp;*.dib)\1*.bmp;*.dib\1" + IDS_ALLFILES "Todos os arquivos" + IDS_ALLPICTUREFILES "All Picture Files" IDS_FILESIZE "%d bytes" IDS_PRINTRES "%d x %d pixels per meter" IDS_INTNUMBERS "Please enter integral numbers only!" Modified: trunk/reactos/base/applications/mspaint/lang/pt-PT.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/pt-PT.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/pt-PT.rc [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -17,13 +17,19 @@ MENUITEM "&Guardar\tCtrl+G", IDM_FILESAVE MENUITEM "Guardar &como...", IDM_FILESAVEAS MENUITEM SEPARATOR + MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA + MENUITEM SEPARATOR MENUITEM "Page View", IDM_FILEPAGEVIEW MENUITEM "Page Setup...", IDM_FILEPAGESETUP MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT MENUITEM SEPARATOR + MENUITEM "Send...", IDM_FILESEND + MENUITEM SEPARATOR MENUITEM "Definir como fundo (Mosaico)", IDM_FILEASWALLPAPERPLANE MENUITEM "Definir como fundo (Centrado)", IDM_FILEASWALLPAPERCENTERED MENUITEM "Definir como fundo (Esticado)", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM SEPARATOR + MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, GRAYED MENUITEM SEPARATOR MENUITEM "Sai&r\tAlt+F4", IDM_FILEEXIT END @@ -210,8 +216,8 @@ IDS_TOOLTIP14 "PolÃgono" IDS_TOOLTIP15 "Elipse" IDS_TOOLTIP16 "Retângulo arredondado" - IDS_OPENFILTER "Ficheiros de mapa de bits (*.bmp;*.dib)\1*.bmp;*.dib\1Todos os arquivos (*.*)\1*.*\1" - IDS_SAVEFILTER "Mapa de bits de 24 bits (*.bmp;*.dib)\1*.bmp;*.dib\1" + IDS_ALLFILES "Todos os arquivos" + IDS_ALLPICTUREFILES "All Picture Files" IDS_FILESIZE "%d bytes" IDS_PRINTRES "%d x %d pixels per meter" IDS_INTNUMBERS "Please enter integral numbers only!" Modified: trunk/reactos/base/applications/mspaint/lang/ro-RO.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/ro-RO.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/ro-RO.rc [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -18,13 +18,19 @@ MENUITEM "&PÄstreazÄ\tCtrl+S", IDM_FILESAVE MENUITEM "PÄst&rare înâ¦", IDM_FILESAVEAS MENUITEM SEPARATOR + MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA + MENUITEM SEPARATOR MENUITEM "Pre&vizioneazÄ pagina", IDM_FILEPAGEVIEW MENUITEM "C&onfigurare paginÄâ¦", IDM_FILEPAGESETUP MENUITEM "I&mprimÄâ¦\tCtrl+P", IDM_FILEPRINT MENUITEM SEPARATOR + MENUITEM "Send...", IDM_FILESEND + MENUITEM SEPARATOR MENUITEM "Decor de birou (în c&arou)", IDM_FILEASWALLPAPERPLANE MENUITEM "Decor de birou (¢rat)", IDM_FILEASWALLPAPERCENTERED MENUITEM "Decor de birou (e&xtins)", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM SEPARATOR + MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, GRAYED MENUITEM SEPARATOR MENUITEM "I&eÈire\tAlt+F4", IDM_FILEEXIT END @@ -211,8 +217,8 @@ IDS_TOOLTIP14 "Poligon" IDS_TOOLTIP15 "Oval" IDS_TOOLTIP16 "Dreptunghi rotunjit" - IDS_OPENFILTER "FiÈier bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1Orice fiÈier (*.*)\1*.*\1" - IDS_SAVEFILTER "Bitmap pe 24 biÈi (*.bmp;*.dib)\1*.bmp;*.dib\1" + IDS_ALLFILES "Orice fiÈier" + IDS_ALLPICTUREFILES "All Picture Files" IDS_FILESIZE "%d octeÈi" IDS_PRINTRES "%d x %d pixeli pe metru" IDS_INTNUMBERS "IntroduceÈi doar numere întregi!" Modified: trunk/reactos/base/applications/mspaint/lang/ru-RU.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/ru-RU.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/ru-RU.rc [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -9,13 +9,19 @@ MENUITEM "&Ð¡Ð¾Ñ ÑаниÑÑ\tCtrl+S", IDM_FILESAVE MENUITEM "Ð¡Ð¾Ñ ÑаниÑÑ &как...", IDM_FILESAVEAS MENUITEM SEPARATOR + MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA + MENUITEM SEPARATOR MENUITEM "ÐÑоÑмоÑÑ ÑÑÑаниÑÑ", IDM_FILEPAGEVIEW MENUITEM "ÐаÑамеÑÑÑ ÑÑÑаниÑÑ...", IDM_FILEPAGESETUP MENUITEM "&ÐеÑаÑÑ...\tCtrl+P", IDM_FILEPRINT MENUITEM SEPARATOR + MENUITEM "Send...", IDM_FILESEND + MENUITEM SEPARATOR MENUITEM "СделаÑÑ ÑоновÑм ÑиÑÑнком (&замоÑÑиÑÑ)", IDM_FILEASWALLPAPERPLANE MENUITEM "СделаÑÑ ÑоновÑм ÑиÑÑнком (по Ñ&енÑÑÑ)", IDM_FILEASWALLPAPERCENTERED MENUITEM "СделаÑÑ ÑоновÑм ÑиÑÑнком (ÑаÑÑ&ÑнÑÑÑ)", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM SEPARATOR + MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, GRAYED MENUITEM SEPARATOR MENUITEM "&ÐÑÑ Ð¾Ð´\tAlt+F4", IDM_FILEEXIT END @@ -202,8 +208,8 @@ IDS_TOOLTIP14 "ÐногоÑголÑник" IDS_TOOLTIP15 "ÐллипÑ" IDS_TOOLTIP16 "СкÑÑгленнÑй пÑÑмоÑголÑник" - IDS_OPENFILTER "ТоÑеÑнÑе ÑиÑÑнки (*.bmp;*.dib)\1*.bmp;*.dib\1ÐÑе ÑÐ°Ð¹Ð»Ñ (*.*)\1*.*\1" - IDS_SAVEFILTER "24-ÑазÑÑднÑй ÑиÑÑнок (*.bmp;*.dib)\1*.bmp;*.dib\1" + IDS_ALLFILES "ÐÑе ÑайлÑ" + IDS_ALLPICTUREFILES "All Picture Files" IDS_FILESIZE "%d байÑ" IDS_PRINTRES "%d x %d пикÑелей на меÑÑ" IDS_INTNUMBERS, "ÐÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ вводиÑÑ ÑолÑко ÑелÑе ÑиÑла!" Modified: trunk/reactos/base/applications/mspaint/lang/sk-SK.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/sk-SK.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/sk-SK.rc [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -18,13 +18,19 @@ MENUITEM "&UložiÅ¥\tCtrl+S", IDM_FILESAVE MENUITEM "UložiÅ¥ &ako...", IDM_FILESAVEAS MENUITEM SEPARATOR + MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA + MENUITEM SEPARATOR MENUITEM "Page View", IDM_FILEPAGEVIEW MENUITEM "Page Setup...", IDM_FILEPAGESETUP MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT MENUITEM SEPARATOR + MENUITEM "Send...", IDM_FILESEND + MENUITEM SEPARATOR MENUITEM "NastaviÅ¥ ako pozadie (vydláždené)", IDM_FILEASWALLPAPERPLANE MENUITEM "NastaviÅ¥ ako pozadie (v strede)", IDM_FILEASWALLPAPERCENTERED MENUITEM "NastaviÅ¥ ako pozadie (roztiahnuté)", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM SEPARATOR + MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, GRAYED MENUITEM SEPARATOR MENUITEM "&SkonÄiÅ¥\tAlt+F4", IDM_FILEEXIT END @@ -211,8 +217,8 @@ IDS_TOOLTIP14 "Polygón" //mnohouholnÃk IDS_TOOLTIP15 "Elipsa" IDS_TOOLTIP16 "Zaoblený obdĺžnik" - IDS_OPENFILTER "Súbory bitových máp (*.bmp;*.dib)\1*.bmp;*.dib\1VÅ¡etky súbory (*.*)\1*.*\1" - IDS_SAVEFILTER "24-bitová mapa (*.bmp;*.dib)\1*.bmp;*.dib\1" + IDS_ALLFILES "VÅ¡etky súbory" + IDS_ALLPICTUREFILES "All Picture Files" IDS_FILESIZE "%d bajtov" IDS_PRINTRES "%d x %d pixelov na meter" IDS_INTNUMBERS "Please enter integral numbers only!" Modified: trunk/reactos/base/applications/mspaint/lang/sq-AL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/sq-AL.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/sq-AL.rc [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -17,13 +17,19 @@ MENUITEM "&Ruaj\tCtrl+S", IDM_FILESAVE MENUITEM "Ruaj &si...", IDM_FILESAVEAS MENUITEM SEPARATOR + MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA + MENUITEM SEPARATOR MENUITEM "Page View", IDM_FILEPAGEVIEW MENUITEM "Page Setup...", IDM_FILEPAGESETUP MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT MENUITEM SEPARATOR + MENUITEM "Send...", IDM_FILESEND + MENUITEM SEPARATOR MENUITEM "Vere si wallpaper (tiled)", IDM_FILEASWALLPAPERPLANE MENUITEM "Vere si wallpaper (centered)", IDM_FILEASWALLPAPERCENTERED MENUITEM "Vere si wallpaper (stretched)", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM SEPARATOR + MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, GRAYED MENUITEM SEPARATOR MENUITEM "&Dil\tAlt+F4", IDM_FILEEXIT END @@ -210,8 +216,8 @@ IDS_TOOLTIP14 "Polygon" IDS_TOOLTIP15 "Elips" IDS_TOOLTIP16 "Drejtkëndësh rrumbullak" - IDS_OPENFILTER "Bitmap files (*.bmp;*.dib)\1*.bmp;*.dib\1All files (*.*)\1*.*\1" - IDS_SAVEFILTER "24 bit bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1" + IDS_ALLFILES "All Files" + IDS_ALLPICTUREFILES "All Picture Files" IDS_FILESIZE "%d bytes" IDS_PRINTRES "%d x %d pixels per meter" IDS_INTNUMBERS "Ju lutem shkruani numra integrale vetëm!" Modified: trunk/reactos/base/applications/mspaint/lang/sv-SE.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/sv-SE.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/sv-SE.rc [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -9,13 +9,19 @@ MENUITEM "&Spara\tCtrl+S", IDM_FILESAVE MENUITEM "Spara so&m...", IDM_FILESAVEAS MENUITEM SEPARATOR + MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA + MENUITEM SEPARATOR MENUITEM "Page View", IDM_FILEPAGEVIEW MENUITEM "Page Setup...", IDM_FILEPAGESETUP MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT MENUITEM SEPARATOR + MENUITEM "Send...", IDM_FILESEND + MENUITEM SEPARATOR MENUITEM "Ange som skrivbordsbakgrund (kakelklädd)", IDM_FILEASWALLPAPERPLANE MENUITEM "Ange som skrivbordsbakgrund (centrerad)", IDM_FILEASWALLPAPERCENTERED MENUITEM "Ange som skrivbordsbakgrund (utsträckt)", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM SEPARATOR + MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, GRAYED MENUITEM SEPARATOR MENUITEM "&Avsluta\tAlt+F4", IDM_FILEEXIT END @@ -202,8 +208,8 @@ IDS_TOOLTIP14 "Polygon" IDS_TOOLTIP15 "Ellips" IDS_TOOLTIP16 "Avrundad rektangel" - IDS_OPENFILTER "Bitmap filer (*.bmp;*.dib)\1*.bmp;*.dib\1All files (*.*)\1*.*\1" - IDS_SAVEFILTER "24 bit bitmap (*.bmp;*.dib)\1*.bmp;*.dib\1" + IDS_ALLFILES "All Files" + IDS_ALLPICTUREFILES "All Picture Files" IDS_FILESIZE "%d bytes" IDS_PRINTRES "%d x %d pixlar per meter" IDS_INTNUMBERS "Please enter integral numbers only!" Modified: trunk/reactos/base/applications/mspaint/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/tr-TR.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/tr-TR.rc [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -17,13 +17,19 @@ MENUITEM "&Sakla\tDenetim+S", IDM_FILESAVE MENUITEM "Ay&rı Sakla...", IDM_FILESAVEAS MENUITEM SEPARATOR + MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA + MENUITEM SEPARATOR MENUITEM "Sayfa Görünümü", IDM_FILEPAGEVIEW MENUITEM "Sayfa Ayarla...", IDM_FILEPAGESETUP MENUITEM "Ya&zdır...\tDenetim+P", IDM_FILEPRINT MENUITEM SEPARATOR + MENUITEM "Send...", IDM_FILESEND + MENUITEM SEPARATOR MENUITEM "&DöÅeyerek Duvar KaÄıdı Yap", IDM_FILEASWALLPAPERPLANE MENUITEM "&Ortalayarak Duvar KaÄıdı Yap", IDM_FILEASWALLPAPERCENTERED MENUITEM "&Uzatarak Duvar KaÄıdı Yap", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM SEPARATOR + MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, GRAYED MENUITEM SEPARATOR MENUITEM "&ÃıkıÅ\tSeçenek+F4", IDM_FILEEXIT END @@ -210,8 +216,8 @@ IDS_TOOLTIP14 "Ãokgen" IDS_TOOLTIP15 "Söbek" IDS_TOOLTIP16 "YuvarlatılmıŠDikdörtgen" - IDS_OPENFILTER "Bit EÅlem Resimleri (*.bmp, *.dib)\1*.bmp;*.dib\1Tüm Kütükler (*.*)\1*.*\1" - IDS_SAVEFILTER "24 Bitlik Bit EÅlem Resmi (*.bmp, *.dib)\1*.bmp;*.dib\1" + IDS_ALLFILES "Tüm Kütükler" + IDS_ALLPICTUREFILES "All Picture Files" IDS_FILESIZE "%d çoklu" IDS_PRINTRES "Tüm metrekarelerde %d*%d nokta" IDS_INTNUMBERS "Lütfen yalnızca tam sayı giriniz." Modified: trunk/reactos/base/applications/mspaint/lang/uk-UA.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/uk-UA.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/uk-UA.rc [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -17,13 +17,19 @@ MENUITEM "Ð&беÑегÑи\tCtrl+S", IDM_FILESAVE MENUITEM "ÐбеÑегÑи &Ñк...", IDM_FILESAVEAS MENUITEM SEPARATOR + MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA + MENUITEM SEPARATOR MENUITEM "Page View", IDM_FILEPAGEVIEW MENUITEM "Page Setup...", IDM_FILEPAGESETUP MENUITEM "Print...\tCtrl+P", IDM_FILEPRINT MENUITEM SEPARATOR + MENUITEM "Send...", IDM_FILESEND + MENUITEM SEPARATOR MENUITEM "&ÐамоÑÑиÑи ÑобоÑий ÑÑÑл Windows", IDM_FILEASWALLPAPERPLANE MENUITEM "Ðо Ñ&енÑÑÑ ÑобоÑого ÑÑола Windows", IDM_FILEASWALLPAPERCENTERED MENUITEM "&ÐÑÑановиÑи Ñк Ñло (ÑозÑÑгнÑÑи)", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM SEPARATOR + MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, GRAYED MENUITEM SEPARATOR MENUITEM "Ð&Ð¸Ñ Ñд\tAlt+F4", IDM_FILEEXIT END @@ -210,8 +216,8 @@ IDS_TOOLTIP14 "ÐагаÑокÑÑник" IDS_TOOLTIP15 "ÐлÑпÑ" IDS_TOOLTIP16 "ÐÑÑмокÑÑник з окÑÑгленими кÑÑами" - IDS_OPENFILTER "ТоÑÐºÐ¾Ð²Ñ ÑиÑÑнки (*.bmp;*.dib)\1*.bmp;*.dib\1УÑÑ Ñайли (*.*)\1*.*\1" - IDS_SAVEFILTER "24-ÑозÑÑдний ÑиÑÑнок (*.bmp;*.dib)\1*.bmp;*.dib\1" + IDS_ALLFILES "УÑÑ Ñайли" + IDS_ALLPICTUREFILES "All Picture Files" IDS_FILESIZE "%d байÑ" IDS_PRINTRES "%d x %d пÑкÑ. на меÑÑ" IDS_INTNUMBERS "Please enter integral numbers only!" Modified: trunk/reactos/base/applications/mspaint/lang/zh-CN.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/zh-CN.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/zh-CN.rc [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -17,13 +17,19 @@ MENUITEM "ä¿å(&S)\tCtrl+S", IDM_FILESAVE MENUITEM "å¦å为...(&A)", IDM_FILESAVEAS MENUITEM SEPARATOR + MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA + MENUITEM SEPARATOR MENUITEM "页é¢è§å¾", IDM_FILEPAGEVIEW MENUITEM "页é¢è®¾ç½®...", IDM_FILEPAGESETUP MENUITEM "æå°(&P)...\tCtrl+P", IDM_FILEPRINT MENUITEM SEPARATOR + MENUITEM "Send...", IDM_FILESEND + MENUITEM SEPARATOR MENUITEM "ä¿å为å£çº¸ (æ®é)", IDM_FILEASWALLPAPERPLANE MENUITEM "ä¿å为å£çº¸ (å± ä¸)", IDM_FILEASWALLPAPERCENTERED MENUITEM "ä¿å为å£çº¸ (æ伸)", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM SEPARATOR + MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, GRAYED MENUITEM SEPARATOR MENUITEM "éåº(&X)\tAlt+F4", IDM_FILEEXIT END @@ -210,8 +216,8 @@ IDS_TOOLTIP14 "å¤è¾¹å½¢" IDS_TOOLTIP15 "æ¤å" IDS_TOOLTIP16 "åè§ç©å½¢" - IDS_OPENFILTER "ä½å¾æ件 (*.bmp;*.dib)\1*.bmp;*.dib\1All files (*.*)\1*.*\1" - IDS_SAVEFILTER "24 ä½ä½å¾æ件 (*.bmp;*.dib)\1*.bmp;*.dib\1" + IDS_ALLFILES "All Files" + IDS_ALLPICTUREFILES "All Picture Files" IDS_FILESIZE "%d åè" IDS_PRINTRES "%d x %d åç´ æ¯ç±³" IDS_INTNUMBERS "åªè¾å ¥æ°å积åï¼" Modified: trunk/reactos/base/applications/mspaint/lang/zh-TW.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/lang/zh-TW.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/lang/zh-TW.rc [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -17,13 +17,19 @@ MENUITEM "å²å(&S)\tCtrl+S", IDM_FILESAVE MENUITEM "å¦åçº...(&A)", IDM_FILESAVEAS MENUITEM SEPARATOR + MENUITEM "From Scanner or Camera...", IDM_FILEFROMSCANNERORCAMERA + MENUITEM SEPARATOR MENUITEM "é é¢æª¢è¦", IDM_FILEPAGEVIEW MENUITEM "é é¢è¨å®...", IDM_FILEPAGESETUP MENUITEM "åå°(&P)...\tCtrl+P", IDM_FILEPRINT MENUITEM SEPARATOR + MENUITEM "Send...", IDM_FILESEND + MENUITEM SEPARATOR MENUITEM "å²åçºå£ç´ (æ®é)", IDM_FILEASWALLPAPERPLANE MENUITEM "å²åçºå£ç´ (å± ä¸)", IDM_FILEASWALLPAPERCENTERED MENUITEM "å²åçºå£ç´ (æ伸)", IDM_FILEASWALLPAPERSTRETCHED + MENUITEM SEPARATOR + MENUITEM "Most recently used file", IDM_FILEMOSTRECENTLYUSEDFILE, GRAYED MENUITEM SEPARATOR MENUITEM "çµæ(&X)\tAlt+F4", IDM_FILEEXIT END @@ -210,8 +216,8 @@ IDS_TOOLTIP14 "å¤éå½¢" IDS_TOOLTIP15 "æ©¢åå½¢" IDS_TOOLTIP16 "åè§ç©å½¢" - IDS_OPENFILTER "é»é£åæ件 (*.bmp;*.dib)\1*.bmp;*.dib\1All files (*.*)\1*.*\1" - IDS_SAVEFILTER "24 ä½å é»é£å (*.bmp;*.dib)\1*.bmp;*.dib\1" + IDS_ALLFILES "All Files" + IDS_ALLPICTUREFILES "All Picture Files" IDS_FILESIZE "%d ä½å çµ" IDS_PRINTRES "%d x %d åç´ æ¯ç±³" IDS_INTNUMBERS "è«è¼¸å ¥æ´æ¸åª!" Modified: trunk/reactos/base/applications/mspaint/main.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/main.cpp [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/main.cpp [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -54,7 +54,6 @@ HINSTANCE hProgInstance; -TCHAR filename[256]; TCHAR filepathname[1000]; BOOL isAFile = FALSE; int fileSize; @@ -93,18 +92,13 @@ HWND hwnd; /* This is the handle for our window */ MSG messages; /* Here messages to the application are saved */ - TCHAR progtitle[1000]; - TCHAR resstr[100]; HMENU menu; HANDLE haccel; - TCHAR *c; TCHAR sfnFilename[1000]; TCHAR sfnFiletitle[256]; - TCHAR sfnFilter[1000]; TCHAR ofnFilename[1000]; TCHAR ofnFiletitle[256]; - TCHAR ofnFilter[1000]; TCHAR miniaturetitle[100]; static int custColors[16] = { 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff @@ -132,9 +126,11 @@ /* initialize common controls library */ InitCommonControls(); - LoadString(hThisInstance, IDS_DEFAULTFILENAME, filename, SIZEOF(filename)); - LoadString(hThisInstance, IDS_WINDOWTITLE, resstr, SIZEOF(resstr)); - _stprintf(progtitle, resstr, filename); + LoadString(hThisInstance, IDS_DEFAULTFILENAME, filepathname, SIZEOF(filepathname)); + CPath pathFileName(filepathname); + pathFileName.StripPath(); + CString strTitle; + strTitle.Format(IDS_WINDOWTITLE, (LPCTSTR)pathFileName); LoadString(hThisInstance, IDS_MINIATURETITLE, miniaturetitle, SIZEOF(miniaturetitle)); /* load settings from registry */ @@ -144,7 +140,7 @@ /* create main window */ RECT mainWindowPos = {0, 0, 544, 375}; // FIXME: use equivalent of CW_USEDEFAULT for position - hwnd = mainWindow.Create(HWND_DESKTOP, mainWindowPos, progtitle, WS_OVERLAPPEDWINDOW); + hwnd = mainWindow.Create(HWND_DESKTOP, mainWindowPos, strTitle, WS_OVERLAPPEDWINDOW); RECT fullscreenWindowPos = {0, 0, 100, 100}; fullscreenWindow.Create(HWND_DESKTOP, fullscreenWindowPos, NULL, WS_POPUPWINDOW | WS_MAXIMIZE); @@ -214,15 +210,14 @@ LoadDIBFromFile(&bmNew, lpszArgument, &fileTime, &fileSize, &fileHPPM, &fileVPPM); if (bmNew != NULL) { - TCHAR tempstr[1000]; - TCHAR resstr[100]; TCHAR *temp; imageModel.Insert(bmNew); GetFullPathName(lpszArgument, SIZEOF(filepathname), filepathname, &temp); - _tcscpy(filename, temp); - LoadString(hProgInstance, IDS_WINDOWTITLE, resstr, SIZEOF(resstr)); - _stprintf(tempstr, resstr, filename); - mainWindow.SetWindowText(tempstr); + CPath pathFileName(filepathname); + pathFileName.StripPath(); + CString strTitle; + strTitle.Format(IDS_WINDOWTITLE, (LPCTSTR)pathFileName); + mainWindow.SetWindowText(strTitle); imageModel.ClearHistory(); isAFile = TRUE; } @@ -244,32 +239,35 @@ choosecolor.lpTemplateName = NULL; /* initializing the OPENFILENAME structure for use with GetOpenFileName and GetSaveFileName */ - CopyMemory(ofnFilename, filename, sizeof(filename)); - LoadString(hThisInstance, IDS_OPENFILTER, ofnFilter, SIZEOF(ofnFilter)); - for(c = ofnFilter; *c; c++) - if (*c == '\1') - *c = '\0'; + CopyMemory(ofnFilename, filepathname, sizeof(filepathname)); + CString strImporters; + CSimpleArray<GUID> aguidFileTypesI; + CString strAllPictureFiles; + strAllPictureFiles.LoadString(hThisInstance, IDS_ALLPICTUREFILES); + CImage::GetImporterFilterString(strImporters, aguidFileTypesI, strAllPictureFiles, CImage::excludeDefaultLoad, _T('\0')); +// CAtlStringW strAllFiles; +// strAllFiles.LoadString(hThisInstance, IDS_ALLFILES); +// strImporters = strAllFiles + CAtlStringW(_T("|*.*|")).Replace('|', '\0') + strImporters; ZeroMemory(&ofn, sizeof(OPENFILENAME)); ofn.lStructSize = sizeof(OPENFILENAME); ofn.hwndOwner = hwnd; ofn.hInstance = hThisInstance; - ofn.lpstrFilter = ofnFilter; + ofn.lpstrFilter = strImporters; ofn.lpstrFile = ofnFilename; ofn.nMaxFile = SIZEOF(ofnFilename); ofn.lpstrFileTitle = ofnFiletitle; ofn.nMaxFileTitle = SIZEOF(ofnFiletitle); ofn.Flags = OFN_HIDEREADONLY; - CopyMemory(sfnFilename, filename, sizeof(filename)); - LoadString(hThisInstance, IDS_SAVEFILTER, sfnFilter, SIZEOF(sfnFilter)); - for(c = sfnFilter; *c; c++) - if (*c == '\1') - *c = '\0'; + CopyMemory(sfnFilename, filepathname, sizeof(filepathname)); + CString strExporters; + CSimpleArray<GUID> aguidFileTypesE; + CImage::GetExporterFilterString(strExporters, aguidFileTypesE, NULL, CImage::excludeDefaultSave, _T('\0')); ZeroMemory(&sfn, sizeof(OPENFILENAME)); sfn.lStructSize = sizeof(OPENFILENAME); sfn.hwndOwner = hwnd; sfn.hInstance = hThisInstance; - sfn.lpstrFilter = sfnFilter; + sfn.lpstrFilter = strExporters; sfn.lpstrFile = sfnFilename; sfn.nMaxFile = SIZEOF(sfnFilename); sfn.lpstrFileTitle = sfnFiletitle; Modified: trunk/reactos/base/applications/mspaint/precomp.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/precomp.h [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/precomp.h [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -10,6 +10,9 @@ #include <tchar.h> #include <atlbase.h> #include <atlcom.h> +#include <atlimage.h> +#include <atlpath.h> +#include <atlstr.h> #include <atlwin.h> #include <windowsx.h> #include <commdlg.h> Modified: trunk/reactos/base/applications/mspaint/registry.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/registry.cpp [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/registry.cpp [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -104,6 +104,27 @@ cbData = sizeof(WINDOWPLACEMENT); RegQueryValueEx(hView, _T("WindowPlacement"), 0, NULL, (LPBYTE) &WindowPlacement, &cbData); } + + CRegKey hKey; + if (hKey.Open(HKEY_CURRENT_USER, _T("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Paint\\Recent File List"), KEY_READ) == ERROR_SUCCESS) + { + ULONG nChars = MAX_PATH; + LPTSTR pszFile1 = strFile1.GetBuffer(nChars); + hKey.QueryStringValue(_T("File1"), pszFile1, &nChars); + strFile1.ReleaseBuffer(); + nChars = MAX_PATH; + LPTSTR pszFile2 = strFile2.GetBuffer(nChars); + hKey.QueryStringValue(_T("File2"), pszFile2, &nChars); + strFile2.ReleaseBuffer(); + nChars = MAX_PATH; + LPTSTR pszFile3 = strFile3.GetBuffer(nChars); + hKey.QueryStringValue(_T("File3"), pszFile3, &nChars); + strFile3.ReleaseBuffer(); + nChars = MAX_PATH; + LPTSTR pszFile4 = strFile4.GetBuffer(nChars); + hKey.QueryStringValue(_T("File4"), pszFile4, &nChars); + strFile4.ReleaseBuffer(); + } } void RegistrySettings::Store() @@ -126,4 +147,53 @@ RegSetValueEx(hView, _T("UnitSetting"), 0, REG_DWORD, (LPBYTE) &UnitSetting, sizeof(DWORD)); RegSetValueEx(hView, _T("WindowPlacement"), 0, REG_BINARY, (LPBYTE) &WindowPlacement, sizeof(WINDOWPLACEMENT)); } + + CRegKey hKey; + if (hKey.Create(HKEY_CURRENT_USER, _T("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Paint\\Recent File List")) == ERROR_SUCCESS) + { + if (!strFile1.IsEmpty()) + hKey.SetStringValue(_T("File1"), strFile1); + if (!strFile2.IsEmpty()) + hKey.SetStringValue(_T("File2"), strFile2); + if (!strFile3.IsEmpty()) + hKey.SetStringValue(_T("File3"), strFile3); + if (!strFile4.IsEmpty()) + hKey.SetStringValue(_T("File4"), strFile4); + } } + +void RegistrySettings::SetMostRecentFile(LPCTSTR pszPathName) +{ + if (strFile1 == pszPathName) + { + // do nothing + } + else if (strFile2 == pszPathName) + { + CString strTemp = strFile2; + strFile2 = strFile1; + strFile1 = strTemp; + } + else if (strFile3 == pszPathName) + { + CString strTemp = strFile3; + strFile3 = strFile2; + strFile2 = strFile1; + strFile1 = strTemp; + } + else if (strFile4 == pszPathName) + { + CString strTemp = strFile4; + strFile4 = strFile3; + strFile3 = strFile2; + strFile2 = strFile1; + strFile1 = strTemp; + } + else + { + strFile4 = strFile3; + strFile3 = strFile2; + strFile2 = strFile1; + strFile1 = pszPathName; + } +} Modified: trunk/reactos/base/applications/mspaint/registry.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/registry.h [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/registry.h [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -25,8 +25,14 @@ DWORD UnitSetting; WINDOWPLACEMENT WindowPlacement; + CString strFile1; + CString strFile2; + CString strFile3; + CString strFile4; + static void SetWallpaper(TCHAR *szFileName, DWORD dwStyle, DWORD dwTile); void Load(); void Store(); + void SetMostRecentFile(LPCTSTR pszPathName); }; Modified: trunk/reactos/base/applications/mspaint/winproc.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/winproc.cpp [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/winproc.cpp [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -78,30 +78,27 @@ } else if (GetSaveFileName(&sfn) != 0) { - TCHAR tempstr[1000]; - TCHAR resstr[100]; imageModel.SaveImage(sfn.lpstrFile); - CopyMemory(filename, sfn.lpstrFileTitle, sizeof(filename)); - CopyMemory(filepathname, sfn.lpstrFile, sizeof(filepathname)); - LoadString(hProgInstance, IDS_WINDOWTITLE, resstr, SIZEOF(resstr)); - _stprintf(tempstr, resstr, filename); - SetWindowText(tempstr); + CString strTitle; + strTitle.Format(IDS_WINDOWTITLE, (LPCTSTR)sfn.lpstrFileTitle); + SetWindowText(strTitle); isAFile = TRUE; } } -void CMainWindow::UpdateApplicationProperties(HBITMAP bitmap, LPTSTR newfilename, LPTSTR newfilepathname) -{ - TCHAR tempstr[1000]; - TCHAR resstr[100]; +void CMainWindow::UpdateApplicationProperties(HBITMAP bitmap, LPCTSTR newfilepathname) +{ imageModel.Insert(bitmap); - CopyMemory(filename, newfilename, sizeof(filename)); CopyMemory(filepathname, newfilepathname, sizeof(filepathname)); - LoadString(hProgInstance, IDS_WINDOWTITLE, resstr, SIZEOF(resstr)); - _stprintf(tempstr, resstr, filename); - SetWindowText(tempstr); + CPath pathFileName(newfilepathname); + pathFileName.StripPath(); + CString strTitle; + strTitle.Format(IDS_WINDOWTITLE, (LPCTSTR)pathFileName); + SetWindowText(strTitle); imageModel.ClearHistory(); isAFile = TRUE; + + registrySettings.SetMostRecentFile(newfilepathname); } void CMainWindow::InsertSelectionFromHBITMAP(HBITMAP bitmap, HWND window) @@ -170,10 +167,7 @@ LoadDIBFromFile(&bmNew, droppedfile, &fileTime, &fileSize, &fileHPPM, &fileVPPM); if (bmNew != NULL) { - TCHAR *pathend; - pathend = _tcsrchr(droppedfile, '\\'); - pathend++; - UpdateApplicationProperties(bmNew, pathend, pathend); + UpdateApplicationProperties(bmNew, droppedfile); } return 0; } @@ -196,13 +190,13 @@ { if (!imageModel.IsImageSaved()) { - TCHAR programname[20]; - TCHAR saveprompttext[100]; - TCHAR temptext[500]; - LoadString(hProgInstance, IDS_PROGRAMNAME, programname, SIZEOF(programname)); - LoadString(hProgInstance, IDS_SAVEPROMPTTEXT, saveprompttext, SIZEOF(saveprompttext)); - _stprintf(temptext, saveprompttext, filename); - switch (MessageBox(temptext, programname, MB_YESNOCANCEL | MB_ICONQUESTION)) + CString strProgramName; + strProgramName.LoadString(IDS_PROGRAMNAME); + CPath pathFileName(filepathname); + pathFileName.StripPath(); + CString strSavePromptText; + strSavePromptText.Format(IDS_SAVEPROMPTTEXT, (LPCTSTR)pathFileName); + switch (MessageBox(strSavePromptText, strProgramName, MB_YESNOCANCEL | MB_ICONQUESTION)) { case IDNO: DestroyWindow(); @@ -231,6 +225,35 @@ EnableMenuItem(menu, IDM_FILEASWALLPAPERPLANE, ENABLED_IF(isAFile)); EnableMenuItem(menu, IDM_FILEASWALLPAPERCENTERED, ENABLED_IF(isAFile)); EnableMenuItem(menu, IDM_FILEASWALLPAPERSTRETCHED, ENABLED_IF(isAFile)); + RemoveMenu(menu, IDM_FILE1, MF_BYCOMMAND); + RemoveMenu(menu, IDM_FILE2, MF_BYCOMMAND); + RemoveMenu(menu, IDM_FILE3, MF_BYCOMMAND); + RemoveMenu(menu, IDM_FILE4, MF_BYCOMMAND); + if (!registrySettings.strFile1.IsEmpty()) + { + RemoveMenu(menu, IDM_FILEMOSTRECENTLYUSEDFILE, MF_BYCOMMAND); + CPath pathFile1(registrySettings.strFile1); + pathFile1.CompactPathEx(30); + if (!registrySettings.strFile2.IsEmpty()) + { + CPath pathFile2(registrySettings.strFile2); + pathFile2.CompactPathEx(30); + if (!registrySettings.strFile3.IsEmpty()) + { + CPath pathFile3(registrySettings.strFile3); + pathFile3.CompactPathEx(30); + if (!registrySettings.strFile4.IsEmpty()) + { + CPath pathFile4(registrySettings.strFile4); + pathFile4.CompactPathEx(30); + InsertMenu((HMENU)wParam, 17, MF_BYPOSITION | MF_STRING, IDM_FILE4, _T("4 ") + pathFile4); + } + InsertMenu((HMENU)wParam, 17, MF_BYPOSITION | MF_STRING, IDM_FILE3, _T("3 ") + pathFile3); + } + InsertMenu((HMENU)wParam, 17, MF_BYPOSITION | MF_STRING, IDM_FILE2, _T("2 ") + pathFile2); + } + InsertMenu((HMENU)wParam, 17, MF_BYPOSITION | MF_STRING, IDM_FILE1, _T("1 ") + pathFile1); + } break; case 1: /* Edit menu */ EnableMenuItem(menu, IDM_EDITUNDO, ENABLED_IF(imageModel.HasUndoSteps())); @@ -352,13 +375,13 @@ BOOL reset = TRUE; if (!imageModel.IsImageSaved()) { - TCHAR programname[20]; - TCHAR saveprompttext[100]; - TCHAR temptext[500]; - LoadString(hProgInstance, IDS_PROGRAMNAME, programname, SIZEOF(programname)); - LoadString(hProgInstance, IDS_SAVEPROMPTTEXT, saveprompttext, SIZEOF(saveprompttext)); - _stprintf(temptext, saveprompttext, filename); - switch (MessageBox(temptext, programname, MB_YESNOCANCEL | MB_ICONQUESTION)) + CString strProgramName; + strProgramName.LoadString(IDS_PROGRAMNAME); + CPath pathFileName(filepathname); + pathFileName.StripPath(); + CString strSavePromptText; + strSavePromptText.Format(IDS_SAVEPROMPTTEXT, (LPCTSTR)pathFileName); + switch (MessageBox(strSavePromptText, strProgramName, MB_YESNOCANCEL | MB_ICONQUESTION)) { case IDNO: imageModel.imageSaved = TRUE; //TODO: move to ImageModel @@ -385,7 +408,7 @@ LoadDIBFromFile(&bmNew, ofn.lpstrFile, &fileTime, &fileSize, &fileHPPM, &fileVPPM); if (bmNew != NULL) { - UpdateApplicationProperties(bmNew, ofn.lpstrFileTitle, ofn.lpstrFileTitle); + UpdateApplicationProperties(bmNew, ofn.lpstrFile); } } break; @@ -436,6 +459,46 @@ case IDM_FILEASWALLPAPERSTRETCHED: RegistrySettings::SetWallpaper(filepathname, 2, 0); break; + case IDM_FILE1: + { + HBITMAP bmNew = NULL; + LoadDIBFromFile(&bmNew, registrySettings.strFile1, &fileTime, &fileSize, &fileHPPM, &fileVPPM); + if (bmNew != NULL) + { + UpdateApplicationProperties(bmNew, registrySettings.strFile1); + } + break; + } + case IDM_FILE2: + { + HBITMAP bmNew = NULL; + LoadDIBFromFile(&bmNew, registrySettings.strFile2, &fileTime, &fileSize, &fileHPPM, &fileVPPM); + if (bmNew != NULL) + { + UpdateApplicationProperties(bmNew, registrySettings.strFile2); + } + break; + } + case IDM_FILE3: + { + HBITMAP bmNew = NULL; + LoadDIBFromFile(&bmNew, registrySettings.strFile3, &fileTime, &fileSize, &fileHPPM, &fileVPPM); + if (bmNew != NULL) + { + UpdateApplicationProperties(bmNew, registrySettings.strFile3); + } + break; + } + case IDM_FILE4: + { + HBITMAP bmNew = NULL; + LoadDIBFromFile(&bmNew, registrySettings.strFile4, &fileTime, &fileSize, &fileHPPM, &fileVPPM); + if (bmNew != NULL) + { + UpdateApplicationProperties(bmNew, registrySettings.strFile4); + } + break; + } case IDM_EDITUNDO: imageModel.Undo(); imageArea.Invalidate(FALSE); Modified: trunk/reactos/base/applications/mspaint/winproc.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mspaint/…
============================================================================== --- trunk/reactos/base/applications/mspaint/winproc.h [iso-8859-1] (original) +++ trunk/reactos/base/applications/mspaint/winproc.h [iso-8859-1] Mon Sep 26 19:53:42 2016 @@ -40,6 +40,6 @@ void alignChildrenToMainWindow(); void saveImage(BOOL overwrite); - void UpdateApplicationProperties(HBITMAP bitmap, LPTSTR newfilename, LPTSTR newfilepathname); + void UpdateApplicationProperties(HBITMAP bitmap, LPCTSTR newfilepathname); void InsertSelectionFromHBITMAP(HBITMAP bitmap, HWND window); };
8 years, 3 months
1
0
0
0
[bfreisen] 72818: [ATL][ROSTESTS] Tests for: CImage: Add GetImporterFilterString and GetExporterFilterString. Patch by Katayama Hirofumi MZ, CORE-10029
by bfreisen@svn.reactos.org
Author: bfreisen Date: Mon Sep 26 19:15:40 2016 New Revision: 72818 URL:
http://svn.reactos.org/svn/reactos?rev=72818&view=rev
Log: [ATL][ROSTESTS] Tests for: CImage: Add GetImporterFilterString and GetExporterFilterString. Patch by Katayama Hirofumi MZ, CORE-10029 Modified: trunk/rostests/apitests/atl/CImage.cpp Modified: trunk/rostests/apitests/atl/CImage.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/atl/CImage.cpp?r…
============================================================================== --- trunk/rostests/apitests/atl/CImage.cpp [iso-8859-1] (original) +++ trunk/rostests/apitests/atl/CImage.cpp [iso-8859-1] Mon Sep 26 19:15:40 2016 @@ -7,6 +7,10 @@ #include <atlimage.h> #include "resource.h" + +#ifdef _MSC_VER +#pragma comment(lib, "rpcrt4.lib") +#endif #ifdef __REACTOS__ #include <apitest.h> @@ -34,6 +38,17 @@ #define START_TEST(x) int main(void) #endif +bool IsGuidEqual(const GUID& guid1, const GUID& guid2) +{ + RPC_STATUS status; + if (::UuidEqual(const_cast<GUID *>(&guid1), + const_cast<GUID *>(&guid2), &status)) + { + if (status == RPC_S_OK) + return true; + } + return false; +} const TCHAR* szFiles[] = { TEXT("ant.png"), @@ -270,6 +285,69 @@ ok(bOK, "Expected bOK to be TRUE, was: %d (for %i)\n", bOK, n); } + ATL::IAtlStringMgr *mgr = CAtlStringMgr::GetInstance(); + CSimpleArray<GUID> aguidFileTypes; +#ifdef UNICODE + CHAR szBuff[512]; + const WCHAR *psz; +#else + const CHAR *psz; +#endif + + CSimpleString strImporters(mgr); + aguidFileTypes.RemoveAll(); + hr = CImage::GetImporterFilterString(strImporters, + aguidFileTypes, + TEXT("All Image Files"), 0); + ok(hr == S_OK, "Expected hr to be S_OK, was: %ld\n", hr); + ok(aguidFileTypes.GetSize() == 9, "Expected aguidFileTypes.GetSize() to be 8, was %d.", aguidFileTypes.GetSize()); + ok(IsGuidEqual(aguidFileTypes[0], GUID_NULL), "Expected aguidFileTypes[0] to be GUID_NULL.\n"); + ok(IsGuidEqual(aguidFileTypes[1], Gdiplus::ImageFormatBMP), "Expected aguidFileTypes[1] to be Gdiplus::ImageFormatBMP.\n"); + ok(IsGuidEqual(aguidFileTypes[2], Gdiplus::ImageFormatJPEG), "Expected aguidFileTypes[2] to be Gdiplus::ImageFormatJPEG.\n"); + ok(IsGuidEqual(aguidFileTypes[3], Gdiplus::ImageFormatGIF), "Expected aguidFileTypes[3] to be Gdiplus::ImageFormatGIF.\n"); + ok(IsGuidEqual(aguidFileTypes[4], Gdiplus::ImageFormatEMF), "Expected aguidFileTypes[4] to be Gdiplus::ImageFormatEMF.\n"); + ok(IsGuidEqual(aguidFileTypes[5], Gdiplus::ImageFormatWMF), "Expected aguidFileTypes[5] to be Gdiplus::ImageFormatWMF.\n"); + ok(IsGuidEqual(aguidFileTypes[6], Gdiplus::ImageFormatTIFF), "Expected aguidFileTypes[6] to be Gdiplus::ImageFormatTIFF.\n"); + ok(IsGuidEqual(aguidFileTypes[7], Gdiplus::ImageFormatPNG), "Expected aguidFileTypes[7] to be Gdiplus::ImageFormatPNG.\n"); + ok(IsGuidEqual(aguidFileTypes[8], Gdiplus::ImageFormatIcon), "Expected aguidFileTypes[8] to be Gdiplus::ImageFormatIcon.\n"); + + psz = strImporters.GetString(); +#ifdef UNICODE + WideCharToMultiByte(CP_ACP, 0, psz, -1, szBuff, 512, NULL, NULL); + ok(lstrcmpA(szBuff, "All Image Files|*.BMP;*.DIB;*.RLE;*.JPG;*.JPEG;*.JPE;*.JFIF;*.GIF;*.EMF;*.WMF;*.TIF;*.TIFF;*.PNG;*.ICO|BMP (*.BMP;*.DIB;*.RLE)|*.BMP;*.DIB;*.RLE|JPEG (*.JPG;*.JPEG;*.JPE;*.JFIF)|*.JPG;*.JPEG;*.JPE;*.JFIF|GIF (*.GIF)|*.GIF|EMF (*.EMF)|*.EMF|WMF (*.WMF)|*.WMF|TIFF (*.TIF;*.TIFF)|*.TIF;*.TIFF|PNG (*.PNG)|*.PNG|ICO (*.ICO)|*.ICO||") == 0, + "The importer filter string is bad, was: %s\n", szBuff); +#else + ok(lstrcmpA(psz, "All Image Files|*.BMP;*.DIB;*.RLE;*.JPG;*.JPEG;*.JPE;*.JFIF;*.GIF;*.EMF;*.WMF;*.TIF;*.TIFF;*.PNG;*.ICO|BMP (*.BMP;*.DIB;*.RLE)|*.BMP;*.DIB;*.RLE|JPEG (*.JPG;*.JPEG;*.JPE;*.JFIF)|*.JPG;*.JPEG;*.JPE;*.JFIF|GIF (*.GIF)|*.GIF|EMF (*.EMF)|*.EMF|WMF (*.WMF)|*.WMF|TIFF (*.TIF;*.TIFF)|*.TIF;*.TIFF|PNG (*.PNG)|*.PNG|ICO (*.ICO)|*.ICO||") == 0, + "The importer filter string is bad, was: %s\n", psz); +#endif + + CSimpleString strExporters(mgr); + aguidFileTypes.RemoveAll(); + hr = CImage::GetExporterFilterString(strExporters, + aguidFileTypes, + TEXT("All Image Files"), 0); + ok(hr == S_OK, "Expected hr to be S_OK, was: %ld\n", hr); + ok(aguidFileTypes.GetSize() == 9, "Expected aguidFileTypes.GetSize() to be 8, was %d.", aguidFileTypes.GetSize()); + ok(IsGuidEqual(aguidFileTypes[0], GUID_NULL), "Expected aguidFileTypes[0] to be GUID_NULL.\n"); + ok(IsGuidEqual(aguidFileTypes[1], Gdiplus::ImageFormatBMP), "Expected aguidFileTypes[1] to be Gdiplus::ImageFormatBMP.\n"); + ok(IsGuidEqual(aguidFileTypes[2], Gdiplus::ImageFormatJPEG), "Expected aguidFileTypes[2] to be Gdiplus::ImageFormatJPEG.\n"); + ok(IsGuidEqual(aguidFileTypes[3], Gdiplus::ImageFormatGIF), "Expected aguidFileTypes[3] to be Gdiplus::ImageFormatGIF.\n"); + ok(IsGuidEqual(aguidFileTypes[4], Gdiplus::ImageFormatEMF), "Expected aguidFileTypes[4] to be Gdiplus::ImageFormatEMF.\n"); + ok(IsGuidEqual(aguidFileTypes[5], Gdiplus::ImageFormatWMF), "Expected aguidFileTypes[5] to be Gdiplus::ImageFormatWMF.\n"); + ok(IsGuidEqual(aguidFileTypes[6], Gdiplus::ImageFormatTIFF), "Expected aguidFileTypes[6] to be Gdiplus::ImageFormatTIFF.\n"); + ok(IsGuidEqual(aguidFileTypes[7], Gdiplus::ImageFormatPNG), "Expected aguidFileTypes[7] to be Gdiplus::ImageFormatPNG.\n"); + ok(IsGuidEqual(aguidFileTypes[8], Gdiplus::ImageFormatIcon), "Expected aguidFileTypes[8] to be Gdiplus::ImageFormatIcon.\n"); + + psz = strExporters.GetString(); +#ifdef UNICODE + WideCharToMultiByte(CP_ACP, 0, psz, -1, szBuff, 512, NULL, NULL); + ok(lstrcmpA(szBuff, "All Image Files|*.BMP;*.DIB;*.RLE;*.JPG;*.JPEG;*.JPE;*.JFIF;*.GIF;*.EMF;*.WMF;*.TIF;*.TIFF;*.PNG;*.ICO|BMP (*.BMP;*.DIB;*.RLE)|*.BMP;*.DIB;*.RLE|JPEG (*.JPG;*.JPEG;*.JPE;*.JFIF)|*.JPG;*.JPEG;*.JPE;*.JFIF|GIF (*.GIF)|*.GIF|EMF (*.EMF)|*.EMF|WMF (*.WMF)|*.WMF|TIFF (*.TIF;*.TIFF)|*.TIF;*.TIFF|PNG (*.PNG)|*.PNG|ICO (*.ICO)|*.ICO||") == 0, + "The exporter filter string is bad, was: %s\n", szBuff); +#else + ok(lstrcmpA(psz, "All Image Files|*.BMP;*.DIB;*.RLE;*.JPG;*.JPEG;*.JPE;*.JFIF;*.GIF;*.EMF;*.WMF;*.TIF;*.TIFF;*.PNG;*.ICO|BMP (*.BMP;*.DIB;*.RLE)|*.BMP;*.DIB;*.RLE|JPEG (*.JPG;*.JPEG;*.JPE;*.JFIF)|*.JPG;*.JPEG;*.JPE;*.JFIF|GIF (*.GIF)|*.GIF|EMF (*.EMF)|*.EMF|WMF (*.WMF)|*.WMF|TIFF (*.TIF;*.TIFF)|*.TIF;*.TIFF|PNG (*.PNG)|*.PNG|ICO (*.ICO)|*.ICO||") == 0, + "The exporter filter string is bad, was: %s\n", psz); +#endif + #ifndef __REACTOS__ printf("CImage: %i tests executed (0 marked as todo, %i failures), 0 skipped.\n", g_tests_executed, g_tests_failed); return g_tests_failed;
8 years, 3 months
1
0
0
0
[bfreisen] 72817: [ATL] CImage: Add GetImporterFilterString and GetExporterFilterString. Patch by Katayama Hirofumi MZ, CORE-10029
by bfreisen@svn.reactos.org
Author: bfreisen Date: Mon Sep 26 19:08:20 2016 New Revision: 72817 URL:
http://svn.reactos.org/svn/reactos?rev=72817&view=rev
Log: [ATL] CImage: Add GetImporterFilterString and GetExporterFilterString. Patch by Katayama Hirofumi MZ, CORE-10029 Modified: trunk/reactos/sdk/lib/atl/atlimage.h Modified: trunk/reactos/sdk/lib/atl/atlimage.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/lib/atl/atlimage.h?rev…
============================================================================== --- trunk/reactos/sdk/lib/atl/atlimage.h [iso-8859-1] (original) +++ trunk/reactos/sdk/lib/atl/atlimage.h [iso-8859-1] Mon Sep 26 19:08:20 2016 @@ -12,12 +12,15 @@ // See rostest/apitests/atl/CImage_WIP.txt for test results. // !!!! -// TODO: GetImporterFilterString, GetExporterFilterString, Load, Save +// TODO: CImage::Load, CImage::Save // TODO: make CImage thread-safe #pragma once -#include <atlcore.h> +#include <atlcore.h> // for ATL Core +#include <atlstr.h> // for CAtlStringMgr +#include <atlsimpstr.h> // for CSimpleString +#include <atlsimpcoll.h> // for CSimpleArray #include <wingdi.h> #include <cguid.h> // for GUID_NULL @@ -705,31 +708,119 @@ return TRUE; } -#if 0 - // TODO: implement this + enum ExcludeFlags + { + excludeGIF = 0x01, + excludeBMP = 0x02, + excludeEMF = 0x04, + excludeWMF = 0x08, + excludeJPEG = 0x10, + excludePNG = 0x20, + excludeTIFF = 0x40, + excludeIcon = 0x80, + excludeOther = 0x80000000, + excludeDefaultLoad = 0, + excludeDefaultSave = excludeIcon | excludeEMF | excludeWMF + }; + + struct FILTER_DATA { + DWORD dwExclude; + const TCHAR *title; + const TCHAR *extensions; + const GUID *guid; + }; + +protected: + static HRESULT GetCommonFilterString( + CSimpleString& strFilter, + CSimpleArray<GUID>& aguidFileTypes, + LPCTSTR pszAllFilesDescription, + DWORD dwExclude, + TCHAR chSeparator) + { + static const FILTER_DATA table[] = + { + {excludeBMP, TEXT("BMP"), TEXT("*.BMP;*.DIB;*.RLE"), &Gdiplus::ImageFormatBMP}, + {excludeJPEG, TEXT("JPEG"), TEXT("*.JPG;*.JPEG;*.JPE;*.JFIF"), &Gdiplus::ImageFormatJPEG}, + {excludeGIF, TEXT("GIF"), TEXT("*.GIF"), &Gdiplus::ImageFormatGIF}, + {excludeEMF, TEXT("EMF"), TEXT("*.EMF"), &Gdiplus::ImageFormatEMF}, + {excludeWMF, TEXT("WMF"), TEXT("*.WMF"), &Gdiplus::ImageFormatWMF}, + {excludeTIFF, TEXT("TIFF"), TEXT("*.TIF;*.TIFF"), &Gdiplus::ImageFormatTIFF}, + {excludePNG, TEXT("PNG"), TEXT("*.PNG"), &Gdiplus::ImageFormatPNG}, + {excludeIcon, TEXT("ICO"), TEXT("*.ICO"), &Gdiplus::ImageFormatIcon} + }; + + if (pszAllFilesDescription) + { + strFilter += pszAllFilesDescription; + strFilter += chSeparator; + + BOOL bFirst = TRUE; + for (size_t i = 0; i < _countof(table); ++i) + { + if ((dwExclude & table[i].dwExclude) != 0) + continue; + + if (bFirst) + bFirst = FALSE; + else + strFilter += TEXT(';'); + + strFilter += table[i].extensions; + } + strFilter += chSeparator; + + aguidFileTypes.Add(GUID_NULL); + } + + for (size_t i = 0; i < _countof(table); ++i) + { + if ((dwExclude & table[i].dwExclude) != 0) + continue; + strFilter += table[i].title; + strFilter += TEXT(" ("); + strFilter += table[i].extensions; + strFilter += TEXT(")"); + strFilter += chSeparator; + strFilter += table[i].extensions; + strFilter += chSeparator; + + aguidFileTypes.Add(*table[i].guid); + } + + strFilter += chSeparator; + + return S_OK; + } + +public: static HRESULT GetImporterFilterString( CSimpleString& strImporters, CSimpleArray<GUID>& aguidFileTypes, LPCTSTR pszAllFilesDescription = NULL, DWORD dwExclude = excludeDefaultLoad, - TCHAR chSeparator = _T('|')) - { - ATLASSERT(0); - return -1; - } - - // TODO: implement this + TCHAR chSeparator = TEXT('|')) + { + return GetCommonFilterString(strImporters, + aguidFileTypes, + pszAllFilesDescription, + dwExclude, + chSeparator); + } + static HRESULT GetExporterFilterString( CSimpleString& strExporters, CSimpleArray<GUID>& aguidFileTypes, LPCTSTR pszAllFilesDescription = NULL, DWORD dwExclude = excludeDefaultSave, - TCHAR chSeparator = _T('|')) - { - ATLASSERT(0); - return -1; - } -#endif // 0 + TCHAR chSeparator = TEXT('|')) + { + return GetCommonFilterString(strExporters, + aguidFileTypes, + pszAllFilesDescription, + dwExclude, + chSeparator); + } protected: // an extension of BITMAPINFO
8 years, 3 months
1
0
0
0
[dreimer] 72816: [RAPPS] Bugfix to correctly identify the size of the programs in RAPPS for the Russian language by amber CORE-11847 #resolve #comment Committed, thx. App Manager - NirLauncher has ...
by dreimer@svn.reactos.org
Author: dreimer Date: Mon Sep 26 18:42:16 2016 New Revision: 72816 URL:
http://svn.reactos.org/svn/reactos?rev=72816&view=rev
Log: [RAPPS] Bugfix to correctly identify the size of the programs in RAPPS for the Russian language by amber CORE-11847 #resolve #comment Committed, thx. App Manager - NirLauncher has a broken link by Ken Rochard CORE-11718 #resolve #comment Committed, thx. App Manager - Audacity has a broken link by Ken Rochard CORE-11719 #resolve #comment Committed, thx. Downgrade Python 3.5 to Python 3.4 (if it works) in Rapps by David Kleuker CORE-11342 #resolve #comment Committed, thx. App Manager - Libre Office 5.1.3 has a broken link by Ken Rochard CORE-11670 #resolve #comment Committed, thx. [RAPPS-DB] Click-N-Type Virtual Keyboard version is wrong by reactosfanboy CORE-11243 #resolve #comment Committed, thx. Modified: trunk/reactos/media/rapps/7zip.txt trunk/reactos/media/rapps/abiword.txt trunk/reactos/media/rapps/abiword26.txt trunk/reactos/media/rapps/abyss.txt trunk/reactos/media/rapps/ac97forvirtualbox.txt trunk/reactos/media/rapps/agatemulator.txt trunk/reactos/media/rapps/air.txt trunk/reactos/media/rapps/akelpad.txt trunk/reactos/media/rapps/alreader.txt trunk/reactos/media/rapps/audacity.txt trunk/reactos/media/rapps/audiograbber.txt trunk/reactos/media/rapps/bittorrent.txt trunk/reactos/media/rapps/bochs.txt trunk/reactos/media/rapps/boswars.txt trunk/reactos/media/rapps/boundaround.txt trunk/reactos/media/rapps/burnawarefree.txt trunk/reactos/media/rapps/ccleaner.txt trunk/reactos/media/rapps/christmasbound.txt trunk/reactos/media/rapps/chromium.txt trunk/reactos/media/rapps/cnt.txt trunk/reactos/media/rapps/codeblocks.txt trunk/reactos/media/rapps/codeblocks_gcc.txt trunk/reactos/media/rapps/comctl32ocx.txt trunk/reactos/media/rapps/cstalin.txt trunk/reactos/media/rapps/devcpp_tdm_gcc_x64.txt trunk/reactos/media/rapps/diablo2.txt trunk/reactos/media/rapps/dilinuxreader.txt trunk/reactos/media/rapps/dosblaster.txt trunk/reactos/media/rapps/dosbox.txt trunk/reactos/media/rapps/doublecommander.txt trunk/reactos/media/rapps/dplus.txt trunk/reactos/media/rapps/dvdwritenow.txt trunk/reactos/media/rapps/efsearch.txt trunk/reactos/media/rapps/everythingse.txt trunk/reactos/media/rapps/excelview.txt trunk/reactos/media/rapps/fall.txt trunk/reactos/media/rapps/famitracker.txt trunk/reactos/media/rapps/fap.txt trunk/reactos/media/rapps/farmanager.txt trunk/reactos/media/rapps/fira.txt trunk/reactos/media/rapps/firefox.txt trunk/reactos/media/rapps/firefox28.txt trunk/reactos/media/rapps/firefox36.txt trunk/reactos/media/rapps/foxit.txt trunk/reactos/media/rapps/freebasic.txt trunk/reactos/media/rapps/freemat.txt trunk/reactos/media/rapps/freestopwatch.txt trunk/reactos/media/rapps/gensemulator.txt trunk/reactos/media/rapps/ghostscript.txt trunk/reactos/media/rapps/ghostview.txt trunk/reactos/media/rapps/gimp.txt trunk/reactos/media/rapps/glidewrapzbag.txt trunk/reactos/media/rapps/globulation2.txt trunk/reactos/media/rapps/gnucash.txt trunk/reactos/media/rapps/hexedit.txt trunk/reactos/media/rapps/hiawatha.txt trunk/reactos/media/rapps/hover.txt trunk/reactos/media/rapps/hxd.txt trunk/reactos/media/rapps/indiftpd.txt trunk/reactos/media/rapps/inkscape.txt trunk/reactos/media/rapps/irfanview.txt trunk/reactos/media/rapps/irfanviewplugins.txt trunk/reactos/media/rapps/jre.txt trunk/reactos/media/rapps/kdewin.txt trunk/reactos/media/rapps/kindlepc.txt trunk/reactos/media/rapps/kmeleon.txt trunk/reactos/media/rapps/kompozer.txt trunk/reactos/media/rapps/kyodai.txt trunk/reactos/media/rapps/lazaruside.txt trunk/reactos/media/rapps/lbreakout2.txt trunk/reactos/media/rapps/lgeneral.txt trunk/reactos/media/rapps/librecad.txt trunk/reactos/media/rapps/libreoffice.txt trunk/reactos/media/rapps/libreofficehelp.txt trunk/reactos/media/rapps/libreofficestill.txt trunk/reactos/media/rapps/lmarbles.txt trunk/reactos/media/rapps/mcwin32.txt trunk/reactos/media/rapps/md5summer.txt trunk/reactos/media/rapps/mfc40.txt trunk/reactos/media/rapps/miktex.txt trunk/reactos/media/rapps/mirandaim.txt trunk/reactos/media/rapps/mirc.txt trunk/reactos/media/rapps/mirc6.txt trunk/reactos/media/rapps/mkvtoolnix.txt trunk/reactos/media/rapps/mono2.txt trunk/reactos/media/rapps/mpc.txt trunk/reactos/media/rapps/mpxplay.txt trunk/reactos/media/rapps/msxml3.txt trunk/reactos/media/rapps/msxml6.txt trunk/reactos/media/rapps/net11.txt trunk/reactos/media/rapps/net20.txt trunk/reactos/media/rapps/net20sp2.txt trunk/reactos/media/rapps/neverball.txt trunk/reactos/media/rapps/nginx.txt trunk/reactos/media/rapps/nirlauncher.txt trunk/reactos/media/rapps/npp.txt trunk/reactos/media/rapps/nvdisp.txt trunk/reactos/media/rapps/officeformatpack.txt trunk/reactos/media/rapps/openarena.txt trunk/reactos/media/rapps/opencodecs.txt trunk/reactos/media/rapps/openoffice.txt trunk/reactos/media/rapps/openttd.txt trunk/reactos/media/rapps/opera.txt trunk/reactos/media/rapps/opera9.txt trunk/reactos/media/rapps/pdfsam.txt trunk/reactos/media/rapps/peazip.txt trunk/reactos/media/rapps/pengupop.txt trunk/reactos/media/rapps/photofiltre.txt trunk/reactos/media/rapps/pidgin.txt trunk/reactos/media/rapps/pingus.txt trunk/reactos/media/rapps/podcasteasy.txt trunk/reactos/media/rapps/pptview.txt trunk/reactos/media/rapps/precisecalc.txt trunk/reactos/media/rapps/pspad.txt trunk/reactos/media/rapps/ptanks.txt trunk/reactos/media/rapps/putty.txt trunk/reactos/media/rapps/python.txt trunk/reactos/media/rapps/python2.txt trunk/reactos/media/rapps/qb64sdl.txt trunk/reactos/media/rapps/qmmp.txt trunk/reactos/media/rapps/remood.txt trunk/reactos/media/rapps/reshack.txt trunk/reactos/media/rapps/revo.txt trunk/reactos/media/rapps/rfstools.txt trunk/reactos/media/rapps/rocks.txt trunk/reactos/media/rapps/rosbe.txt trunk/reactos/media/rapps/sambatng.txt trunk/reactos/media/rapps/sbforvmware.txt trunk/reactos/media/rapps/scilab.txt trunk/reactos/media/rapps/scite.txt trunk/reactos/media/rapps/scratch.txt trunk/reactos/media/rapps/scribus.txt trunk/reactos/media/rapps/scummvm.txt trunk/reactos/media/rapps/sdl_mixer.txt trunk/reactos/media/rapps/sdl_runtime.txt trunk/reactos/media/rapps/shed.txt trunk/reactos/media/rapps/smplayer.txt trunk/reactos/media/rapps/snoopy.txt trunk/reactos/media/rapps/stamina.txt trunk/reactos/media/rapps/steam.txt trunk/reactos/media/rapps/sumatrapdf.txt trunk/reactos/media/rapps/summerbound.txt trunk/reactos/media/rapps/superdxb.txt trunk/reactos/media/rapps/superfinder.txt trunk/reactos/media/rapps/supertux.txt trunk/reactos/media/rapps/tahoma.txt trunk/reactos/media/rapps/tcc.txt trunk/reactos/media/rapps/thunderbird.txt trunk/reactos/media/rapps/thunderbird3.txt trunk/reactos/media/rapps/tightvnc.txt trunk/reactos/media/rapps/tileworld.txt trunk/reactos/media/rapps/totalcommander.txt trunk/reactos/media/rapps/tuxpaint.txt trunk/reactos/media/rapps/ultraiso.txt trunk/reactos/media/rapps/ultravnc.txt trunk/reactos/media/rapps/unxutils.txt trunk/reactos/media/rapps/utorrent.txt trunk/reactos/media/rapps/vb5run.txt trunk/reactos/media/rapps/vb6run.txt trunk/reactos/media/rapps/vbasdl.txt trunk/reactos/media/rapps/vc2005sp1run.txt trunk/reactos/media/rapps/vc2008sp1run.txt trunk/reactos/media/rapps/vc2010sp1run.txt trunk/reactos/media/rapps/vc2012run.txt trunk/reactos/media/rapps/vc2013run.txt trunk/reactos/media/rapps/vc6run.txt trunk/reactos/media/rapps/vlc.txt trunk/reactos/media/rapps/watercolor.txt trunk/reactos/media/rapps/winamp.txt trunk/reactos/media/rapps/winboard.txt trunk/reactos/media/rapps/windirstat.txt trunk/reactos/media/rapps/winemono.txt trunk/reactos/media/rapps/winmerge.txt trunk/reactos/media/rapps/winspypp.txt trunk/reactos/media/rapps/wme9.txt trunk/reactos/media/rapps/wordview.txt trunk/reactos/media/rapps/zaz.txt [This mail would be too long, it was shortened to contain the URLs only.] Modified: trunk/reactos/media/rapps/7zip.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/7zip.txt?rev=7…
Modified: trunk/reactos/media/rapps/abiword.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/abiword.txt?re…
Modified: trunk/reactos/media/rapps/abiword26.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/abiword26.txt?…
Modified: trunk/reactos/media/rapps/abyss.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/abyss.txt?rev=…
Modified: trunk/reactos/media/rapps/ac97forvirtualbox.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/ac97forvirtual…
Modified: trunk/reactos/media/rapps/agatemulator.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/agatemulator.t…
Modified: trunk/reactos/media/rapps/air.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/air.txt?rev=72…
Modified: trunk/reactos/media/rapps/akelpad.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/akelpad.txt?re…
Modified: trunk/reactos/media/rapps/alreader.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/alreader.txt?r…
Modified: trunk/reactos/media/rapps/audacity.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/audacity.txt?r…
Modified: trunk/reactos/media/rapps/audiograbber.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/audiograbber.t…
Modified: trunk/reactos/media/rapps/bittorrent.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/bittorrent.txt…
Modified: trunk/reactos/media/rapps/bochs.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/bochs.txt?rev=…
Modified: trunk/reactos/media/rapps/boswars.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/boswars.txt?re…
Modified: trunk/reactos/media/rapps/boundaround.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/boundaround.tx…
Modified: trunk/reactos/media/rapps/burnawarefree.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/burnawarefree.…
Modified: trunk/reactos/media/rapps/ccleaner.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/ccleaner.txt?r…
Modified: trunk/reactos/media/rapps/christmasbound.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/christmasbound…
Modified: trunk/reactos/media/rapps/chromium.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/chromium.txt?r…
Modified: trunk/reactos/media/rapps/cnt.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/cnt.txt?rev=72…
Modified: trunk/reactos/media/rapps/codeblocks.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/codeblocks.txt…
Modified: trunk/reactos/media/rapps/codeblocks_gcc.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/codeblocks_gcc…
Modified: trunk/reactos/media/rapps/comctl32ocx.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/comctl32ocx.tx…
Modified: trunk/reactos/media/rapps/cstalin.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/cstalin.txt?re…
Modified: trunk/reactos/media/rapps/devcpp_tdm_gcc_x64.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/devcpp_tdm_gcc…
Modified: trunk/reactos/media/rapps/diablo2.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/diablo2.txt?re…
Modified: trunk/reactos/media/rapps/dilinuxreader.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/dilinuxreader.…
Modified: trunk/reactos/media/rapps/dosblaster.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/dosblaster.txt…
Modified: trunk/reactos/media/rapps/dosbox.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/dosbox.txt?rev…
Modified: trunk/reactos/media/rapps/doublecommander.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/doublecommande…
Modified: trunk/reactos/media/rapps/dplus.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/dplus.txt?rev=…
Modified: trunk/reactos/media/rapps/dvdwritenow.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/dvdwritenow.tx…
Modified: trunk/reactos/media/rapps/efsearch.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/efsearch.txt?r…
Modified: trunk/reactos/media/rapps/everythingse.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/everythingse.t…
Modified: trunk/reactos/media/rapps/excelview.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/excelview.txt?…
Modified: trunk/reactos/media/rapps/fall.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/fall.txt?rev=7…
Modified: trunk/reactos/media/rapps/famitracker.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/famitracker.tx…
Modified: trunk/reactos/media/rapps/fap.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/fap.txt?rev=72…
Modified: trunk/reactos/media/rapps/farmanager.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/farmanager.txt…
Modified: trunk/reactos/media/rapps/fira.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/fira.txt?rev=7…
Modified: trunk/reactos/media/rapps/firefox.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/firefox.txt?re…
Modified: trunk/reactos/media/rapps/firefox28.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/firefox28.txt?…
Modified: trunk/reactos/media/rapps/firefox36.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/firefox36.txt?…
Modified: trunk/reactos/media/rapps/foxit.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/foxit.txt?rev=…
Modified: trunk/reactos/media/rapps/freebasic.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/freebasic.txt?…
Modified: trunk/reactos/media/rapps/freemat.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/freemat.txt?re…
Modified: trunk/reactos/media/rapps/freestopwatch.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/freestopwatch.…
Modified: trunk/reactos/media/rapps/gensemulator.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/gensemulator.t…
Modified: trunk/reactos/media/rapps/ghostscript.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/ghostscript.tx…
Modified: trunk/reactos/media/rapps/ghostview.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/ghostview.txt?…
Modified: trunk/reactos/media/rapps/gimp.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/gimp.txt?rev=7…
Modified: trunk/reactos/media/rapps/glidewrapzbag.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/glidewrapzbag.…
Modified: trunk/reactos/media/rapps/globulation2.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/globulation2.t…
Modified: trunk/reactos/media/rapps/gnucash.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/gnucash.txt?re…
Modified: trunk/reactos/media/rapps/hexedit.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/hexedit.txt?re…
Modified: trunk/reactos/media/rapps/hiawatha.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/hiawatha.txt?r…
Modified: trunk/reactos/media/rapps/hover.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/hover.txt?rev=…
Modified: trunk/reactos/media/rapps/hxd.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/hxd.txt?rev=72…
Modified: trunk/reactos/media/rapps/indiftpd.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/indiftpd.txt?r…
Modified: trunk/reactos/media/rapps/inkscape.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/inkscape.txt?r…
Modified: trunk/reactos/media/rapps/irfanview.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/irfanview.txt?…
Modified: trunk/reactos/media/rapps/irfanviewplugins.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/irfanviewplugi…
Modified: trunk/reactos/media/rapps/jre.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/jre.txt?rev=72…
Modified: trunk/reactos/media/rapps/kdewin.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/kdewin.txt?rev…
Modified: trunk/reactos/media/rapps/kindlepc.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/kindlepc.txt?r…
Modified: trunk/reactos/media/rapps/kmeleon.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/kmeleon.txt?re…
Modified: trunk/reactos/media/rapps/kompozer.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/kompozer.txt?r…
Modified: trunk/reactos/media/rapps/kyodai.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/kyodai.txt?rev…
Modified: trunk/reactos/media/rapps/lazaruside.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/lazaruside.txt…
Modified: trunk/reactos/media/rapps/lbreakout2.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/lbreakout2.txt…
Modified: trunk/reactos/media/rapps/lgeneral.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/lgeneral.txt?r…
Modified: trunk/reactos/media/rapps/librecad.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/librecad.txt?r…
Modified: trunk/reactos/media/rapps/libreoffice.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/libreoffice.tx…
Modified: trunk/reactos/media/rapps/libreofficehelp.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/libreofficehel…
Modified: trunk/reactos/media/rapps/libreofficestill.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/libreofficesti…
Modified: trunk/reactos/media/rapps/lmarbles.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/lmarbles.txt?r…
Modified: trunk/reactos/media/rapps/mcwin32.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/mcwin32.txt?re…
Modified: trunk/reactos/media/rapps/md5summer.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/md5summer.txt?…
Modified: trunk/reactos/media/rapps/mfc40.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/mfc40.txt?rev=…
Modified: trunk/reactos/media/rapps/miktex.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/miktex.txt?rev…
Modified: trunk/reactos/media/rapps/mirandaim.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/mirandaim.txt?…
Modified: trunk/reactos/media/rapps/mirc.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/mirc.txt?rev=7…
Modified: trunk/reactos/media/rapps/mirc6.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/mirc6.txt?rev=…
Modified: trunk/reactos/media/rapps/mkvtoolnix.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/mkvtoolnix.txt…
Modified: trunk/reactos/media/rapps/mono2.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/mono2.txt?rev=…
Modified: trunk/reactos/media/rapps/mpc.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/mpc.txt?rev=72…
Modified: trunk/reactos/media/rapps/mpxplay.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/mpxplay.txt?re…
Modified: trunk/reactos/media/rapps/msxml3.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/msxml3.txt?rev…
Modified: trunk/reactos/media/rapps/msxml6.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/msxml6.txt?rev…
Modified: trunk/reactos/media/rapps/net11.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/net11.txt?rev=…
Modified: trunk/reactos/media/rapps/net20.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/net20.txt?rev=…
Modified: trunk/reactos/media/rapps/net20sp2.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/net20sp2.txt?r…
Modified: trunk/reactos/media/rapps/neverball.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/neverball.txt?…
Modified: trunk/reactos/media/rapps/nginx.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/nginx.txt?rev=…
Modified: trunk/reactos/media/rapps/nirlauncher.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/nirlauncher.tx…
Modified: trunk/reactos/media/rapps/npp.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/npp.txt?rev=72…
Modified: trunk/reactos/media/rapps/nvdisp.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/nvdisp.txt?rev…
Modified: trunk/reactos/media/rapps/officeformatpack.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/officeformatpa…
Modified: trunk/reactos/media/rapps/openarena.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/openarena.txt?…
Modified: trunk/reactos/media/rapps/opencodecs.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/opencodecs.txt…
Modified: trunk/reactos/media/rapps/openoffice.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/openoffice.txt…
Modified: trunk/reactos/media/rapps/openttd.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/openttd.txt?re…
Modified: trunk/reactos/media/rapps/opera.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/opera.txt?rev=…
Modified: trunk/reactos/media/rapps/opera9.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/opera9.txt?rev…
Modified: trunk/reactos/media/rapps/pdfsam.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/pdfsam.txt?rev…
Modified: trunk/reactos/media/rapps/peazip.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/peazip.txt?rev…
Modified: trunk/reactos/media/rapps/pengupop.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/pengupop.txt?r…
Modified: trunk/reactos/media/rapps/photofiltre.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/photofiltre.tx…
Modified: trunk/reactos/media/rapps/pidgin.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/pidgin.txt?rev…
Modified: trunk/reactos/media/rapps/pingus.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/pingus.txt?rev…
Modified: trunk/reactos/media/rapps/podcasteasy.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/podcasteasy.tx…
Modified: trunk/reactos/media/rapps/pptview.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/pptview.txt?re…
Modified: trunk/reactos/media/rapps/precisecalc.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/precisecalc.tx…
Modified: trunk/reactos/media/rapps/pspad.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/pspad.txt?rev=…
Modified: trunk/reactos/media/rapps/ptanks.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/ptanks.txt?rev…
Modified: trunk/reactos/media/rapps/putty.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/putty.txt?rev=…
Modified: trunk/reactos/media/rapps/python.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/python.txt?rev…
Modified: trunk/reactos/media/rapps/python2.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/python2.txt?re…
Modified: trunk/reactos/media/rapps/qb64sdl.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/qb64sdl.txt?re…
Modified: trunk/reactos/media/rapps/qmmp.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/qmmp.txt?rev=7…
Modified: trunk/reactos/media/rapps/remood.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/remood.txt?rev…
Modified: trunk/reactos/media/rapps/reshack.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/reshack.txt?re…
Modified: trunk/reactos/media/rapps/revo.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/revo.txt?rev=7…
Modified: trunk/reactos/media/rapps/rfstools.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/rfstools.txt?r…
Modified: trunk/reactos/media/rapps/rocks.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/rocks.txt?rev=…
Modified: trunk/reactos/media/rapps/rosbe.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/rosbe.txt?rev=…
Modified: trunk/reactos/media/rapps/sambatng.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/sambatng.txt?r…
Modified: trunk/reactos/media/rapps/sbforvmware.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/sbforvmware.tx…
Modified: trunk/reactos/media/rapps/scilab.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/scilab.txt?rev…
Modified: trunk/reactos/media/rapps/scite.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/scite.txt?rev=…
Modified: trunk/reactos/media/rapps/scratch.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/scratch.txt?re…
Modified: trunk/reactos/media/rapps/scribus.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/scribus.txt?re…
Modified: trunk/reactos/media/rapps/scummvm.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/scummvm.txt?re…
Modified: trunk/reactos/media/rapps/sdl_mixer.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/sdl_mixer.txt?…
Modified: trunk/reactos/media/rapps/sdl_runtime.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/sdl_runtime.tx…
Modified: trunk/reactos/media/rapps/shed.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/shed.txt?rev=7…
Modified: trunk/reactos/media/rapps/smplayer.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/smplayer.txt?r…
Modified: trunk/reactos/media/rapps/snoopy.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/snoopy.txt?rev…
Modified: trunk/reactos/media/rapps/stamina.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/stamina.txt?re…
Modified: trunk/reactos/media/rapps/steam.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/steam.txt?rev=…
Modified: trunk/reactos/media/rapps/sumatrapdf.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/sumatrapdf.txt…
Modified: trunk/reactos/media/rapps/summerbound.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/summerbound.tx…
Modified: trunk/reactos/media/rapps/superdxb.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/superdxb.txt?r…
Modified: trunk/reactos/media/rapps/superfinder.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/superfinder.tx…
Modified: trunk/reactos/media/rapps/supertux.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/supertux.txt?r…
Modified: trunk/reactos/media/rapps/tahoma.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/tahoma.txt?rev…
Modified: trunk/reactos/media/rapps/tcc.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/tcc.txt?rev=72…
Modified: trunk/reactos/media/rapps/thunderbird.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/thunderbird.tx…
Modified: trunk/reactos/media/rapps/thunderbird3.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/thunderbird3.t…
Modified: trunk/reactos/media/rapps/tightvnc.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/tightvnc.txt?r…
Modified: trunk/reactos/media/rapps/tileworld.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/tileworld.txt?…
Modified: trunk/reactos/media/rapps/totalcommander.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/totalcommander…
Modified: trunk/reactos/media/rapps/tuxpaint.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/tuxpaint.txt?r…
Modified: trunk/reactos/media/rapps/ultraiso.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/ultraiso.txt?r…
Modified: trunk/reactos/media/rapps/ultravnc.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/ultravnc.txt?r…
Modified: trunk/reactos/media/rapps/unxutils.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/unxutils.txt?r…
Modified: trunk/reactos/media/rapps/utorrent.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/utorrent.txt?r…
Modified: trunk/reactos/media/rapps/vb5run.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/vb5run.txt?rev…
Modified: trunk/reactos/media/rapps/vb6run.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/vb6run.txt?rev…
Modified: trunk/reactos/media/rapps/vbasdl.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/vbasdl.txt?rev…
Modified: trunk/reactos/media/rapps/vc2005sp1run.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/vc2005sp1run.t…
Modified: trunk/reactos/media/rapps/vc2008sp1run.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/vc2008sp1run.t…
Modified: trunk/reactos/media/rapps/vc2010sp1run.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/vc2010sp1run.t…
Modified: trunk/reactos/media/rapps/vc2012run.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/vc2012run.txt?…
Modified: trunk/reactos/media/rapps/vc2013run.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/vc2013run.txt?…
Modified: trunk/reactos/media/rapps/vc6run.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/vc6run.txt?rev…
Modified: trunk/reactos/media/rapps/vlc.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/vlc.txt?rev=72…
Modified: trunk/reactos/media/rapps/watercolor.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/watercolor.txt…
Modified: trunk/reactos/media/rapps/winamp.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/winamp.txt?rev…
Modified: trunk/reactos/media/rapps/winboard.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/winboard.txt?r…
Modified: trunk/reactos/media/rapps/windirstat.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/windirstat.txt…
Modified: trunk/reactos/media/rapps/winemono.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/winemono.txt?r…
Modified: trunk/reactos/media/rapps/winmerge.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/winmerge.txt?r…
Modified: trunk/reactos/media/rapps/winspypp.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/winspypp.txt?r…
Modified: trunk/reactos/media/rapps/wme9.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/wme9.txt?rev=7…
Modified: trunk/reactos/media/rapps/wordview.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/wordview.txt?r…
Modified: trunk/reactos/media/rapps/zaz.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/rapps/zaz.txt?rev=72…
8 years, 3 months
1
0
0
0
[bfreisen] 72815: [ATL] - implement CStringT::LoadString(UINT nID) via LoadString(_AtlBaseModule.GetResourceInstance(), nID) [FLTMC] - add target_link_libraries(fltmc atlnew) so that the linker fin...
by bfreisen@svn.reactos.org
Author: bfreisen Date: Mon Sep 26 17:50:07 2016 New Revision: 72815 URL:
http://svn.reactos.org/svn/reactos?rev=72815&view=rev
Log: [ATL] - implement CStringT::LoadString(UINT nID) via LoadString(_AtlBaseModule.GetResourceInstance(), nID) [FLTMC] - add target_link_libraries(fltmc atlnew) so that the linker finds _AtlBaseModule Modified: trunk/reactos/base/applications/fltmc/CMakeLists.txt trunk/reactos/sdk/lib/atl/cstringt.h Modified: trunk/reactos/base/applications/fltmc/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/fltmc/CM…
============================================================================== --- trunk/reactos/base/applications/fltmc/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/base/applications/fltmc/CMakeLists.txt [iso-8859-1] Mon Sep 26 17:50:07 2016 @@ -5,5 +5,6 @@ add_executable(fltmc fltmc.cpp fltmc.rc) set_module_type(fltmc win32cui UNICODE) +target_link_libraries(fltmc atlnew) add_importlibs(fltmc fltlib msvcrt kernel32 advapi32) add_cd_file(TARGET fltmc DESTINATION reactos/system32 FOR all) Modified: trunk/reactos/sdk/lib/atl/cstringt.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/lib/atl/cstringt.h?rev…
============================================================================== --- trunk/reactos/sdk/lib/atl/cstringt.h [iso-8859-1] (original) +++ trunk/reactos/sdk/lib/atl/cstringt.h [iso-8859-1] Mon Sep 26 17:50:07 2016 @@ -435,7 +435,7 @@ BOOL LoadString(_In_ UINT nID) { - return 0; + return LoadString(_AtlBaseModule.GetResourceInstance(), nID); } _Check_return_ BOOL LoadString(_In_ HINSTANCE hInstance,
8 years, 3 months
1
0
0
0
[ekohl] 72814: [LSASRV] Store the domain name and user SID in the session too.
by ekohl@svn.reactos.org
Author: ekohl Date: Mon Sep 26 16:28:10 2016 New Revision: 72814 URL:
http://svn.reactos.org/svn/reactos?rev=72814&view=rev
Log: [LSASRV] Store the domain name and user SID in the session too. Modified: trunk/reactos/dll/win32/lsasrv/authpackage.c trunk/reactos/dll/win32/lsasrv/lsasrv.h trunk/reactos/dll/win32/lsasrv/session.c Modified: trunk/reactos/dll/win32/lsasrv/authpackage.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/lsasrv/authpacka…
============================================================================== --- trunk/reactos/dll/win32/lsasrv/authpackage.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/lsasrv/authpackage.c [iso-8859-1] Mon Sep 26 16:28:10 2016 @@ -1380,7 +1380,12 @@ SECURITY_LOGON_TYPE LogonType; NTSTATUS Status; - TRACE("(%p %p)\n", RequestMsg, LogonContext); + PUNICODE_STRING UserName = NULL; + PUNICODE_STRING LogonDomainName = NULL; +// UNICODE_STRING LogonServer; + + + TRACE("LsapLogonUser(%p %p)\n", RequestMsg, LogonContext); PackageId = RequestMsg->LogonUser.Request.AuthenticationPackage; LogonType = RequestMsg->LogonUser.Request.LogonType; @@ -1606,9 +1611,23 @@ // TokenHandle = NULL; + if (LogonType == Interactive || + LogonType == Batch || + LogonType == Service) + { + UserName = &((PMSV1_0_INTERACTIVE_LOGON)LocalAuthInfo)->UserName; + LogonDomainName = &((PMSV1_0_INTERACTIVE_LOGON)LocalAuthInfo)->LogonDomainName; + } + else + { + FIXME("LogonType %lu is not supported yet!\n", LogonType); + } + Status = LsapSetLogonSessionData(&RequestMsg->LogonUser.Reply.LogonId, LogonType, - AccountName); + UserName, + LogonDomainName, + TokenInfo1->User.User.Sid); if (!NT_SUCCESS(Status)) { ERR("LsapSetLogonSessionData failed (Status 0x%08lx)\n", Status); Modified: trunk/reactos/dll/win32/lsasrv/lsasrv.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/lsasrv/lsasrv.h?…
============================================================================== --- trunk/reactos/dll/win32/lsasrv/lsasrv.h [iso-8859-1] (original) +++ trunk/reactos/dll/win32/lsasrv/lsasrv.h [iso-8859-1] Mon Sep 26 16:28:10 2016 @@ -450,7 +450,9 @@ LsapSetLogonSessionData( _In_ PLUID LogonId, _In_ ULONG LogonType, - _In_ PUNICODE_STRING UserName); + _In_ PUNICODE_STRING UserName, + _In_ PUNICODE_STRING LogonDomain, + _In_ PSID Sid); NTSTATUS LsapEnumLogonSessions(IN OUT PLSA_API_MSG RequestMsg); Modified: trunk/reactos/dll/win32/lsasrv/session.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/lsasrv/session.c…
============================================================================== --- trunk/reactos/dll/win32/lsasrv/session.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/lsasrv/session.c [iso-8859-1] Mon Sep 26 16:28:10 2016 @@ -67,9 +67,12 @@ LsapSetLogonSessionData( _In_ PLUID LogonId, _In_ ULONG LogonType, - _In_ PUNICODE_STRING UserName) + _In_ PUNICODE_STRING UserName, + _In_ PUNICODE_STRING LogonDomain, + _In_ PSID Sid) { PLSAP_LOGON_SESSION Session; + ULONG Length; TRACE("LsapSetLogonSessionData(%p)\n", LogonId); @@ -88,6 +91,22 @@ Session->UserName.Length = UserName->Length; Session->UserName.MaximumLength = UserName->MaximumLength; RtlCopyMemory(Session->UserName.Buffer, UserName->Buffer, UserName->MaximumLength); + + TRACE("LogonDomain %wZ\n", LogonDomain); + Session->LogonDomain.Buffer = RtlAllocateHeap(RtlGetProcessHeap(), HEAP_ZERO_MEMORY, LogonDomain->MaximumLength); + if (Session->LogonDomain.Buffer == NULL) + return STATUS_INSUFFICIENT_RESOURCES; + + Session->LogonDomain.Length = LogonDomain->Length; + Session->LogonDomain.MaximumLength = LogonDomain->MaximumLength; + RtlCopyMemory(Session->LogonDomain.Buffer, LogonDomain->Buffer, LogonDomain->MaximumLength); + + Length = RtlLengthSid(Sid); + Session->Sid = RtlAllocateHeap(RtlGetProcessHeap(), HEAP_ZERO_MEMORY, Length); + if (Session->UserName.Buffer == NULL) + return STATUS_INSUFFICIENT_RESOURCES; + + RtlCopyMemory(Session->Sid, Sid, Length); return STATUS_SUCCESS; }
8 years, 3 months
1
0
0
0
[bfreisen] 72813: [ATL] cstringt.h: Uncomment and complete Format(UINT nFormatID, ...). It still uses a LoadString-stub, though.
by bfreisen@svn.reactos.org
Author: bfreisen Date: Mon Sep 26 14:11:50 2016 New Revision: 72813 URL:
http://svn.reactos.org/svn/reactos?rev=72813&view=rev
Log: [ATL] cstringt.h: Uncomment and complete Format(UINT nFormatID, ...). It still uses a LoadString-stub, though. Modified: trunk/reactos/sdk/lib/atl/cstringt.h Modified: trunk/reactos/sdk/lib/atl/cstringt.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/lib/atl/cstringt.h?rev…
============================================================================== --- trunk/reactos/sdk/lib/atl/cstringt.h [iso-8859-1] (original) +++ trunk/reactos/sdk/lib/atl/cstringt.h [iso-8859-1] Mon Sep 26 14:11:50 2016 @@ -575,15 +575,15 @@ } - //void __cdecl Format(UINT nFormatID, ...) - //{ - // va_list args; - // va_start(args, dwMessageId); - // CStringT formatString; - // formatString.LoadString(?????); - // FormatV(formatString, args); - // va_end(args); - //} + void __cdecl Format(UINT nFormatID, ...) + { + va_list args; + va_start(args, nFormatID); + CStringT formatString; + if (formatString.LoadString(nFormatID)) + FormatV(formatString, args); + va_end(args); + } void __cdecl Format(PCXSTR pszFormat, ...) {
8 years, 3 months
1
0
0
0
[dchapyshev] 72812: [NTOS:KE] Use variable instead function calling
by dchapyshev@svn.reactos.org
Author: dchapyshev Date: Mon Sep 26 12:31:26 2016 New Revision: 72812 URL:
http://svn.reactos.org/svn/reactos?rev=72812&view=rev
Log: [NTOS:KE] Use variable instead function calling Modified: trunk/reactos/ntoskrnl/include/internal/ke_x.h Modified: trunk/reactos/ntoskrnl/include/internal/ke_x.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/…
============================================================================== --- trunk/reactos/ntoskrnl/include/internal/ke_x.h [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/include/internal/ke_x.h [iso-8859-1] Mon Sep 26 12:31:26 2016 @@ -1602,7 +1602,7 @@ /* Sanity checks */ ASSERT(KeGetCurrentIrql() <= APC_LEVEL); - ASSERT(GuardedMutex->Owner == KeGetCurrentThread()); + ASSERT(GuardedMutex->Owner == Thread); ASSERT(Thread->SpecialApcDisable == GuardedMutex->SpecialApcDisable); /* Destroy the Owner */
8 years, 3 months
1
0
0
0
[dchapyshev] 72811: [NTOS:KE] Added *Thread versions of macros with ASSERT(_Thread == KeGetCurrentThread()). Use new macros in _KeAcquireGuardedMutex, _KeReleaseGuardedMutex, _KeTryToAcquireGuarded...
by dchapyshev@svn.reactos.org
Author: dchapyshev Date: Mon Sep 26 12:03:57 2016 New Revision: 72811 URL:
http://svn.reactos.org/svn/reactos?rev=72811&view=rev
Log: [NTOS:KE] Added *Thread versions of macros with ASSERT(_Thread == KeGetCurrentThread()). Use new macros in _KeAcquireGuardedMutex, _KeReleaseGuardedMutex, _KeTryToAcquireGuardedMutex. Thanks Alex! Modified: trunk/reactos/ntoskrnl/include/internal/ke_x.h Modified: trunk/reactos/ntoskrnl/include/internal/ke_x.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/…
============================================================================== --- trunk/reactos/ntoskrnl/include/internal/ke_x.h [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/include/internal/ke_x.h [iso-8859-1] Mon Sep 26 12:03:57 2016 @@ -19,28 +19,32 @@ // // Enters a Guarded Region // +#define KeEnterGuardedRegionThread(_Thread) \ +{ \ + /* Sanity checks */ \ + ASSERT(KeGetCurrentIrql() <= APC_LEVEL); \ + ASSERT(_Thread == KeGetCurrentThread()); \ + ASSERT((_Thread->SpecialApcDisable <= 0) && \ + (_Thread->SpecialApcDisable != -32768)); \ + \ + /* Disable Special APCs */ \ + _Thread->SpecialApcDisable--; \ +} + #define KeEnterGuardedRegion() \ { \ PKTHREAD _Thread = KeGetCurrentThread(); \ - \ + KeEnterGuardedRegionThread(_Thread); \ +} + +// +// Leaves a Guarded Region +// +#define KeLeaveGuardedRegionThread(_Thread) \ +{ \ /* Sanity checks */ \ ASSERT(KeGetCurrentIrql() <= APC_LEVEL); \ - ASSERT((_Thread->SpecialApcDisable <= 0) && \ - (_Thread->SpecialApcDisable != -32768)); \ - \ - /* Disable Special APCs */ \ - _Thread->SpecialApcDisable--; \ -} - -// -// Leaves a Guarded Region -// -#define KeLeaveGuardedRegion() \ -{ \ - PKTHREAD _Thread = KeGetCurrentThread(); \ - \ - /* Sanity checks */ \ - ASSERT(KeGetCurrentIrql() <= APC_LEVEL); \ + ASSERT(_Thread == KeGetCurrentThread()); \ ASSERT(_Thread->SpecialApcDisable < 0); \ \ /* Leave region and check if APCs are OK now */ \ @@ -56,29 +60,39 @@ } \ } +#define KeLeaveGuardedRegion() \ +{ \ + PKTHREAD _Thread = KeGetCurrentThread(); \ + KeLeaveGuardedRegionThread(_Thread); \ +} + // // Enters a Critical Region // +#define KeEnterCriticalRegionThread(_Thread) \ +{ \ + /* Sanity checks */ \ + ASSERT(_Thread == KeGetCurrentThread()); \ + ASSERT((_Thread->KernelApcDisable <= 0) && \ + (_Thread->KernelApcDisable != -32768)); \ + \ + /* Disable Kernel APCs */ \ + _Thread->KernelApcDisable--; \ +} + #define KeEnterCriticalRegion() \ { \ PKTHREAD _Thread = KeGetCurrentThread(); \ - \ + KeEnterCriticalRegionThread(_Thread); \ +} + +// +// Leaves a Critical Region +// +#define KeLeaveCriticalRegionThread(_Thread) \ +{ \ /* Sanity checks */ \ - ASSERT((_Thread->KernelApcDisable <= 0) && \ - (_Thread->KernelApcDisable != -32768)); \ - \ - /* Disable Kernel APCs */ \ - _Thread->KernelApcDisable--; \ -} - -// -// Leaves a Critical Region -// -#define KeLeaveCriticalRegion() \ -{ \ - PKTHREAD _Thread = KeGetCurrentThread(); \ - \ - /* Sanity checks */ \ + ASSERT(_Thread == KeGetCurrentThread()); \ ASSERT(_Thread->KernelApcDisable < 0); \ \ /* Enable Kernel APCs */ \ @@ -95,6 +109,12 @@ KiCheckForKernelApcDelivery(); \ } \ } \ +} + +#define KeLeaveCriticalRegion() \ +{ \ + PKTHREAD _Thread = KeGetCurrentThread(); \ + KeLeaveCriticalRegionThread(_Thread); \ } #ifndef CONFIG_SMP @@ -1559,7 +1579,7 @@ ASSERT(GuardedMutex->Owner != Thread); /* Disable Special APCs */ - KeEnterGuardedRegion(); + KeEnterGuardedRegionThread(Thread); /* Remove the lock */ if (!InterlockedBitTestAndReset(&GuardedMutex->Count, GM_LOCK_BIT_V)) @@ -1577,13 +1597,13 @@ VOID _KeReleaseGuardedMutex(IN OUT PKGUARDED_MUTEX GuardedMutex) { + PKTHREAD Thread = KeGetCurrentThread(); LONG OldValue, NewValue; /* Sanity checks */ ASSERT(KeGetCurrentIrql() <= APC_LEVEL); ASSERT(GuardedMutex->Owner == KeGetCurrentThread()); - ASSERT(KeGetCurrentThread()->SpecialApcDisable == - GuardedMutex->SpecialApcDisable); + ASSERT(Thread->SpecialApcDisable == GuardedMutex->SpecialApcDisable); /* Destroy the Owner */ GuardedMutex->Owner = NULL; @@ -1613,7 +1633,7 @@ } /* Re-enable APCs */ - KeLeaveGuardedRegion(); + KeLeaveGuardedRegionThread(Thread); } FORCEINLINE @@ -1623,13 +1643,13 @@ PKTHREAD Thread = KeGetCurrentThread(); /* Block APCs */ - KeEnterGuardedRegion(); + KeEnterGuardedRegionThread(Thread); /* Remove the lock */ if (!InterlockedBitTestAndReset(&GuardedMutex->Count, GM_LOCK_BIT_V)) { /* Re-enable APCs */ - KeLeaveGuardedRegion(); + KeLeaveGuardedRegionThread(Thread); YieldProcessor(); /* Return failure */
8 years, 3 months
1
0
0
0
← Newer
1
2
3
4
5
6
7
8
9
...
35
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Results per page:
10
25
50
100
200