[ros-diffs] 01/01: Reflect latest release versions in README.md

2018-05-08 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=33cc014cf5224a0febbd239097c2e93eba283f9c

commit 33cc014cf5224a0febbd239097c2e93eba283f9c
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Tue May 8 10:24:26 2018 +0300
Commit: GitHub <nore...@github.com>
CommitDate: Tue May 8 10:24:26 2018 +0300

Reflect latest release versions in README.md

Should have updated this a month ago, oops!
---
 README.md | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/README.md b/README.md
index bd4f225563..4c11c75c83 100644
--- a/README.md
+++ b/README.md
@@ -5,8 +5,8 @@
 ---
 
 
-  https://reactos.org/project-news/reactos-047-released;>
-https://img.shields.io/badge/release-0.4.7-0688CB.svg;>
+  https://reactos.org/project-news/reactos-048-released;>
+https://img.shields.io/badge/release-0.4.8-0688CB.svg;>
   
   https://reactos.org/download;>
 https://img.shields.io/badge/download-latest-0688CB.svg;>
@@ -113,12 +113,12 @@ There is also an obsolete [SVN archive 
repository](https://svn.reactos.org/svn/r
 [travis.badge]: https://travis-ci.org/reactos/reactos.svg?branch=master
 [appveyor.badge]:   
https://ci.appveyor.com/api/projects/status/github/reactos/reactos?branch=master=true
 [coverity.badge]:   https://scan.coverity.com/projects/205/badge.svg?flat=1
-[rosbewin.badge]:   
https://img.shields.io/badge/RosBE_Windows-2.1.5-0688CB.svg   
+[rosbewin.badge]:   
https://img.shields.io/badge/RosBE_Windows-2.1.6-0688CB.svg   
 [rosbeunix.badge]:  https://img.shields.io/badge/RosBE_Unix-2.1.2-0688CB.svg
 [prwelcome.badge]:  https://img.shields.io/badge/PR-welcome-0688CB.svg
 
 [travis.link]:  https://travis-ci.org/reactos/reactos
 [appveyor.link]:https://ci.appveyor.com/project/AmineKhaldi/reactos
 [coverity.link]:https://scan.coverity.com/projects/205
-[rosbewin.link]:
https://sourceforge.net/projects/reactos/files/RosBE-Windows/i386/2.1.5/
+[rosbewin.link]:
https://sourceforge.net/projects/reactos/files/RosBE-Windows/i386/2.1.6/
 [rosbeunix.link]:   
https://sourceforge.net/projects/reactos/files/RosBE-Unix/2.1.2/  



[ros-diffs] 01/01: [RAPPS] Introduce 'SizeBytes' DB entry and use it for display

2018-04-07 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=627739aed9b355e7e51e7adca93867071c70ce17

commit 627739aed9b355e7e51e7adca93867071c70ce17
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Sat Apr 7 19:17:22 2018 +0300
Commit: Alexander Shaposhnikov <sanch...@reactos.org>
CommitDate: Sat Apr 7 19:25:12 2018 +0300

[RAPPS] Introduce 'SizeBytes' DB entry and use it for display

This will allow us to reduce the DB size a little by avoiding
duplication for each and every entry.
Original patch by JIRA user "swyter"

CORE-10310
---
 base/applications/rapps/available.cpp   | 24 +---
 base/applications/rapps/include/available.h |  1 +
 base/applications/rapps/include/misc.h  |  4 ++--
 base/applications/rapps/include/resource.h  |  3 +++
 base/applications/rapps/installed.cpp   |  2 +-
 base/applications/rapps/misc.cpp| 11 +++
 6 files changed, 35 insertions(+), 10 deletions(-)

diff --git a/base/applications/rapps/available.cpp 
b/base/applications/rapps/available.cpp
index 5ed7119853..61c5a16e5e 100644
--- a/base/applications/rapps/available.cpp
+++ b/base/applications/rapps/available.cpp
@@ -38,7 +38,7 @@ VOID CAvailableApplicationInfo::RetrieveGeneralInfo()
 {
 m_Parser = new CConfigParser(m_sFileName);
 
-m_Category = m_Parser->GetInt(L"Category");
+m_Parser->GetInt(L"Category", m_Category);
 
 if (!GetString(L"Name", m_szName)
 || !GetString(L"URLDownload", m_szUrlDownload))
@@ -51,15 +51,16 @@ VOID CAvailableApplicationInfo::RetrieveGeneralInfo()
 GetString(L"Version", m_szVersion);
 GetString(L"License", m_szLicense);
 GetString(L"Description", m_szDesc);
-GetString(L"Size", m_szSize);
 GetString(L"URLSite", m_szUrlSite);
 GetString(L"CDPath", m_szCDPath);
 GetString(L"Language", m_szRegName);
 GetString(L"SHA1", m_szSHA1);
 
+RetrieveSize();
 RetrieveLicenseType();
 RetrieveLanguages();
 RetrieveInstalledStatus();
+
 if (m_IsInstalled)
 {
 RetrieveInstalledVersion();
@@ -128,7 +129,9 @@ VOID CAvailableApplicationInfo::RetrieveLanguages()
 
 VOID CAvailableApplicationInfo::RetrieveLicenseType()
 {
-INT IntBuffer = m_Parser->GetInt(L"LicenseType");
+INT IntBuffer;
+
+m_Parser->GetInt(L"LicenseType", IntBuffer);
 
 if (IsLicenseType(IntBuffer))
 {
@@ -140,6 +143,21 @@ VOID CAvailableApplicationInfo::RetrieveLicenseType()
 }
 }
 
+VOID CAvailableApplicationInfo::RetrieveSize()
+{
+INT iSizeBytes;
+
+if (!m_Parser->GetInt(L"SizeBytes", iSizeBytes))
+{
+// fall back to "Size" string
+GetString(L"Size", m_szSize);
+return;
+}
+ 
+StrFormatByteSizeW(iSizeBytes, m_szSize.GetBuffer(MAX_PATH), MAX_PATH);
+m_szSize.ReleaseBuffer();
+}
+
 BOOL CAvailableApplicationInfo::FindInLanguages(LCID what) const
 {
 if (!m_HasLanguageInfo)
diff --git a/base/applications/rapps/include/available.h 
b/base/applications/rapps/include/available.h
index 876465fd09..c0b0f2017f 100644
--- a/base/applications/rapps/include/available.h
+++ b/base/applications/rapps/include/available.h
@@ -75,6 +75,7 @@ private:
 VOID RetrieveInstalledVersion();
 VOID RetrieveLanguages();
 VOID RetrieveLicenseType();
+VOID RetrieveSize();
 inline BOOL FindInLanguages(LCID what) const;
 };
 
diff --git a/base/applications/rapps/include/misc.h 
b/base/applications/rapps/include/misc.h
index 738f6746cb..143d9769b7 100644
--- a/base/applications/rapps/include/misc.h
+++ b/base/applications/rapps/include/misc.h
@@ -41,6 +41,6 @@ class CConfigParser
 public:
 CConfigParser(const ATL::CStringW& FileName = "");
 
-UINT GetString(const ATL::CStringW& KeyName, ATL::CStringW& ResultString);
-UINT GetInt(const ATL::CStringW& KeyName);
+BOOL GetString(const ATL::CStringW& KeyName, ATL::CStringW& ResultString);
+BOOL GetInt(const ATL::CStringW& KeyName, INT& iResult);
 };
diff --git a/base/applications/rapps/include/resource.h 
b/base/applications/rapps/include/resource.h
index 9f4c4b15de..7d5a9b9ebf 100644
--- a/base/applications/rapps/include/resource.h
+++ b/base/applications/rapps/include/resource.h
@@ -154,6 +154,9 @@
 #define IDS_AINFO_URLDOWNLOAD355
 #define IDS_AINFO_AVAILABLEVERSION   356
 #define IDS_AINFO_LANGUAGES  357
+#define IDS_AINFO_KILOBYTE_EXT   358
+#define IDS_AINFO_MEGABYTE_EXT   359
+#define IDS_AINFO_GIGABYTE_EXT   360
 
 
 /* Names of categories */
diff --git a/base/applications/rapps/installed.cpp 
b/base/applications/rapps/installed.cpp
index e1325770da..c8418dca93 100644
--- a/base/applications/rapps/installed.cpp
+++ b/base/applications/rapps/installed.cpp
@@ -

[ros-diffs] 01/01: [RAPPS] Use FTP in passive mode

2018-04-02 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=a6d2172cccd5262d1a7e8a82693ab73469274b14

commit a6d2172cccd5262d1a7e8a82693ab73469274b14
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Tue Apr 3 00:44:12 2018 +0300
Commit: Alexander Shaposhnikov <sanch...@reactos.org>
CommitDate: Tue Apr 3 00:47:08 2018 +0300

[RAPPS] Use FTP in passive mode

This should finally fix FTP downloads in RAPPS.
---
 base/applications/rapps/loaddlg.cpp | 31 +--
 1 file changed, 21 insertions(+), 10 deletions(-)

diff --git a/base/applications/rapps/loaddlg.cpp 
b/base/applications/rapps/loaddlg.cpp
index d8f659b219..fe9ec04dec 100644
--- a/base/applications/rapps/loaddlg.cpp
+++ b/base/applications/rapps/loaddlg.cpp
@@ -603,6 +603,8 @@ DWORD WINAPI CDownloadManager::ThreadFunc(LPVOID param)
 LPCWSTR szCaption = static_cast<DownloadParam*>(param)->szCaption;
 ATL::CStringW szNewCaption;
 
+const DWORD dwUrlConnectFlags = INTERNET_FLAG_DONT_CACHE | 
INTERNET_FLAG_PRAGMA_NOCACHE | INTERNET_FLAG_KEEP_CONNECTION;
+
 if (InfoArray.GetSize() <= 0)
 {
 MessageBox_LoadString(hMainWnd, IDS_UNABLE_TO_DOWNLOAD);
@@ -709,16 +711,6 @@ DWORD WINAPI CDownloadManager::ThreadFunc(LPVOID param)
 if (!hOpen)
 goto end;
 
-hFile = InternetOpenUrlW(hOpen, InfoArray[iAppId].szUrl.GetString(), 
NULL, 0,
- INTERNET_FLAG_DONT_CACHE | 
INTERNET_FLAG_PRAGMA_NOCACHE | INTERNET_FLAG_KEEP_CONNECTION,
- 0);
-
-if (!hFile)
-{
-MessageBox_LoadString(hMainWnd, IDS_UNABLE_TO_DOWNLOAD2);
-goto end;
-}
-
 dwStatusLen = sizeof(dwStatus);
 
 memset(, 0, sizeof(urlComponents));
@@ -737,6 +729,15 @@ DWORD WINAPI CDownloadManager::ThreadFunc(LPVOID param)
 
 if (urlComponents.nScheme == INTERNET_SCHEME_HTTP || 
urlComponents.nScheme == INTERNET_SCHEME_HTTPS)
 {
+hFile = InternetOpenUrlW(hOpen, 
InfoArray[iAppId].szUrl.GetString(), NULL, 0,
+ dwUrlConnectFlags,
+ 0);
+if (!hFile)
+{
+MessageBox_LoadString(hMainWnd, IDS_UNABLE_TO_DOWNLOAD2);
+goto end;
+}
+
 // query connection
 if (!HttpQueryInfoW(hFile, HTTP_QUERY_STATUS_CODE | 
HTTP_QUERY_FLAG_NUMBER, , , NULL))
 goto end;
@@ -753,6 +754,16 @@ DWORD WINAPI CDownloadManager::ThreadFunc(LPVOID param)
 
 if (urlComponents.nScheme == INTERNET_SCHEME_FTP)
 {
+// force passive mode on FTP
+hFile = InternetOpenUrlW(hOpen, 
InfoArray[iAppId].szUrl.GetString(), NULL, 0,
+ dwUrlConnectFlags | INTERNET_FLAG_PASSIVE,
+ 0);
+if (!hFile)
+{
+MessageBox_LoadString(hMainWnd, IDS_UNABLE_TO_DOWNLOAD2);
+goto end;
+}
+
 dwContentLen = FtpGetFileSize(hFile, );
 }
 



[ros-diffs] 01/01: [RAPPS] Fix FTP downloads

2018-04-02 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=3261bbb7b95e60b9ce2d5dd23342a8b91659e6af

commit 3261bbb7b95e60b9ce2d5dd23342a8b91659e6af
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Mon Apr 2 23:51:35 2018 +0300
Commit: Alexander Shaposhnikov <sanch...@reactos.org>
CommitDate: Mon Apr 2 23:55:05 2018 +0300

[RAPPS] Fix FTP downloads
---
 base/applications/rapps/loaddlg.cpp | 26 --
 1 file changed, 16 insertions(+), 10 deletions(-)

diff --git a/base/applications/rapps/loaddlg.cpp 
b/base/applications/rapps/loaddlg.cpp
index 5c8d6c217f..d8f659b219 100644
--- a/base/applications/rapps/loaddlg.cpp
+++ b/base/applications/rapps/loaddlg.cpp
@@ -719,15 +719,6 @@ DWORD WINAPI CDownloadManager::ThreadFunc(LPVOID param)
 goto end;
 }
 
-if (!HttpQueryInfoW(hFile, HTTP_QUERY_STATUS_CODE | 
HTTP_QUERY_FLAG_NUMBER, , , NULL))
-goto end;
-
-if (dwStatus != HTTP_STATUS_OK)
-{
-MessageBox_LoadString(hMainWnd, IDS_UNABLE_TO_DOWNLOAD);
-goto end;
-}
-
 dwStatusLen = sizeof(dwStatus);
 
 memset(, 0, sizeof(urlComponents));
@@ -745,10 +736,25 @@ DWORD WINAPI CDownloadManager::ThreadFunc(LPVOID param)
 dwContentLen = 0;
 
 if (urlComponents.nScheme == INTERNET_SCHEME_HTTP || 
urlComponents.nScheme == INTERNET_SCHEME_HTTPS)
-HttpQueryInfoW(hFile, HTTP_QUERY_CONTENT_LENGTH | 
HTTP_QUERY_FLAG_NUMBER, , , 0);
+{
+// query connection
+if (!HttpQueryInfoW(hFile, HTTP_QUERY_STATUS_CODE | 
HTTP_QUERY_FLAG_NUMBER, , , NULL))
+goto end;
+
+if (dwStatus != HTTP_STATUS_OK)
+{
+MessageBox_LoadString(hMainWnd, IDS_UNABLE_TO_DOWNLOAD);
+goto end;
+}
+
+// query content length
+HttpQueryInfoW(hFile, HTTP_QUERY_CONTENT_LENGTH | 
HTTP_QUERY_FLAG_NUMBER, , , NULL);
+}
 
 if (urlComponents.nScheme == INTERNET_SCHEME_FTP)
+{
 dwContentLen = FtpGetFileSize(hFile, );
+}
 
 if (!dwContentLen)
 {



[ros-diffs] 01/01: [RAPPS] Update rapps .cab download link

2018-04-02 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=bb819f1528f078a9ac7b91c32e058e1d05f05052

commit bb819f1528f078a9ac7b91c32e058e1d05f05052
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Mon Apr 2 21:00:10 2018 +0300
Commit: Alexander Shaposhnikov <sanch...@reactos.org>
CommitDate: Mon Apr 2 22:11:11 2018 +0300

[RAPPS] Update rapps .cab download link

This replaces old link to svn.reactos.org with rapps.reactos.org
which is a new stable location for RAPPS database and future community
website. That said, svn.reactos.org link will be kept for some time.

TODO: make this a configurable value.

CORE-14351
---
 base/applications/rapps/include/defines.h | 2 +-
 base/applications/rapps/loaddlg.cpp   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/base/applications/rapps/include/defines.h 
b/base/applications/rapps/include/defines.h
index 31feb26828..921391c5c7 100644
--- a/base/applications/rapps/include/defines.h
+++ b/base/applications/rapps/include/defines.h
@@ -29,7 +29,7 @@
 #include "resource.h"
 #include "winmain.h"
 
-#define APPLICATION_DATABASE_URL 
L"https://svn.reactos.org/packages/rappmgr.cab;
+#define APPLICATION_DATABASE_URL L"https://rapps.reactos.org/rappmgr.cab;
 #define MAX_STR_LEN  256
 
 enum AppsCategories
diff --git a/base/applications/rapps/loaddlg.cpp 
b/base/applications/rapps/loaddlg.cpp
index 30aa4a2f3c..5c8d6c217f 100644
--- a/base/applications/rapps/loaddlg.cpp
+++ b/base/applications/rapps/loaddlg.cpp
@@ -48,7 +48,7 @@
 
 #ifdef USE_CERT_PINNING
 #define CERT_ISSUER_INFO "US\r\nLet's Encrypt\r\nLet's Encrypt Authority X3"
-#define CERT_SUBJECT_INFO "svn.reactos.org"
+#define CERT_SUBJECT_INFO "rapps.reactos.org"
 #endif
 
 enum DownloadStatus



[ros-diffs] 01/01: [CONTRIBUTING] Clean accidental garbage

2018-03-22 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f9dd6dbe6dca0d4793838bf016f358a267b17502

commit f9dd6dbe6dca0d4793838bf016f358a267b17502
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Thu Mar 22 10:49:01 2018 +0200
Commit: GitHub <nore...@github.com>
CommitDate: Thu Mar 22 10:49:01 2018 +0200

[CONTRIBUTING] Clean accidental garbage

Addendum to f50f983f451e3df2e9bab55853f089755164c92b
---
 CONTRIBUTING.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 3cbab7b9f7..49a1837d4e 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -65,7 +65,7 @@ Our commit style is defined in a __[commit template]__. Use 
it as a reference or
 
 - *Use your __real name__ and __real email__.* We do not accept anonymous 
contributions!
 - *Ensure your contribution is properly described.* Include the relevant issue 
number if applicable.
-- *Put only related changes.* It will make reviewing easier as the reviewer 
needs to recall less information about the existing source code that is 
changed./rapps-db/commit/7737182148cde7c559fb21170d3e5c3acf42648c.patch
+- *Put only related changes.* It will make reviewing easier as the reviewer 
needs to recall less information about the existing source code that is changed.
 - *Search for similar pull requests/patches before submitting.* It may be that 
a similar pull request or issue was opened previously. Comment and review on 
that one instead.
 - *Keep your contribution small and focused on the topic.* It can be tempting 
to fix existing issues as you come across them while reading the source code. 
Resist the temptation and put in a note in the source code instead, or (even 
better) put the issue in the issue tracking system.
 - *Respect our __[Coding Style]__ and __[Programming Guidelines]__.*



[ros-diffs] 01/01: [CONTRIBUTING] Fix typo

2018-03-22 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f50f983f451e3df2e9bab55853f089755164c92b

commit f50f983f451e3df2e9bab55853f089755164c92b
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Thu Mar 22 10:44:01 2018 +0200
Commit: GitHub <nore...@github.com>
CommitDate: Thu Mar 22 10:44:01 2018 +0200

[CONTRIBUTING] Fix typo
---
 CONTRIBUTING.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 2d4b903b40..3cbab7b9f7 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -49,7 +49,7 @@ Your contribution can be of numerous forms. We currently 
accept two ways to cont
 
 ### Pull Requests
 
-Since our [migration to GitHub] we gladly accept __[Pull Requests]__. Pull 
requests let you tell others about changes you have pushed to a repository on 
GitHub. Once a pull request is opened, you can discuss and review the potential 
changes with collaborators and add follow-up commits before the changes are 
merged into the repository. __Pull request is a prefered way to submit your 
work__ - it makes reviewing and merging your contribution much easier.
+Since our [migration to GitHub] we gladly accept __[Pull Requests]__. Pull 
requests let you tell others about changes you have pushed to a repository on 
GitHub. Once a pull request is opened, you can discuss and review the potential 
changes with collaborators and add follow-up commits before the changes are 
merged into the repository. __Pull request is a preferred way to submit your 
work__ - it makes reviewing and merging your contribution much easier.
 
 ### Patches
 
@@ -65,7 +65,7 @@ Our commit style is defined in a __[commit template]__. Use 
it as a reference or
 
 - *Use your __real name__ and __real email__.* We do not accept anonymous 
contributions!
 - *Ensure your contribution is properly described.* Include the relevant issue 
number if applicable.
-- *Put only related changes.* It will make reviewing easier as the reviewer 
needs to recall less information about the existing source code that is changed.
+- *Put only related changes.* It will make reviewing easier as the reviewer 
needs to recall less information about the existing source code that is 
changed./rapps-db/commit/7737182148cde7c559fb21170d3e5c3acf42648c.patch
 - *Search for similar pull requests/patches before submitting.* It may be that 
a similar pull request or issue was opened previously. Comment and review on 
that one instead.
 - *Keep your contribution small and focused on the topic.* It can be tempting 
to fix existing issues as you come across them while reading the source code. 
Resist the temptation and put in a note in the source code instead, or (even 
better) put the issue in the issue tracking system.
 - *Respect our __[Coding Style]__ and __[Programming Guidelines]__.*



[ros-diffs] 01/01: [RAPPS] Replace Extract with FDI for handling .cab

2018-03-11 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=95915501162e727900e077d97026a3e2e00f117c

commit 95915501162e727900e077d97026a3e2e00f117c
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Sun Feb 25 15:20:00 2018 +0200
Commit: Alexander Shaposhnikov <sanch...@reactos.org>
CommitDate: Sun Mar 11 21:56:32 2018 +0200

[RAPPS] Replace Extract with FDI for handling .cab

FDI allows to have user-defined callbacks for file handling.
Since it doesn't provide support for Unicode we convert strings to
multi-byte UTF-8 and handle them appropriately in the callbacks. They
are properly null-terminated so FDI won't choke when doing operations
with strings.

Thanks to hbelusca and mjansen for the help.

CORE-14466
---
 base/applications/rapps/CMakeLists.txt  |   2 +-
 base/applications/rapps/available.cpp   |   8 +-
 base/applications/rapps/cabinet.cpp | 334 
 base/applications/rapps/include/available.h |   2 +
 base/applications/rapps/include/cabinet.h   |  32 ---
 base/applications/rapps/include/misc.h  |   6 +-
 base/applications/rapps/misc.cpp|  54 -
 7 files changed, 348 insertions(+), 90 deletions(-)

diff --git a/base/applications/rapps/CMakeLists.txt 
b/base/applications/rapps/CMakeLists.txt
index cdbb6f97dc..ce8ba3a0ba 100644
--- a/base/applications/rapps/CMakeLists.txt
+++ b/base/applications/rapps/CMakeLists.txt
@@ -9,6 +9,7 @@ include_directories(include)
 list(APPEND SOURCE
 aboutdlg.cpp
 available.cpp
+cabinet.cpp
 gui.cpp
 installed.cpp
 integrity.cpp
@@ -22,7 +23,6 @@ list(APPEND SOURCE
 include/gui.h
 include/dialogs.h
 include/installed.h
-include/cabinet.h
 include/crichedit.h
 include/defines.h
 include/misc.h
diff --git a/base/applications/rapps/available.cpp 
b/base/applications/rapps/available.cpp
index 04e5005e5a..5ed7119853 100644
--- a/base/applications/rapps/available.cpp
+++ b/base/applications/rapps/available.cpp
@@ -213,7 +213,9 @@ AvailableStrings::AvailableStrings()
 if (GetStorageDirectory(szPath))
 {
 szAppsPath = szPath + L"\\rapps\\";
-szCabPath = szPath + L"\\rappmgr.cab";
+szCabName = L"rappmgr.cab";
+szCabDir = szPath;
+szCabPath = (szCabDir + L"\\") + szCabName;
 szSearchPath = szAppsPath + L"*.txt";
 }
 }
@@ -282,7 +284,9 @@ BOOL CAvailableApps::UpdateAppsDB()
 
 CDownloadManager::DownloadApplicationsDB(APPLICATION_DATABASE_URL);
 
-if (!ExtractFilesFromCab(m_Strings.szCabPath, m_Strings.szAppsPath))
+if (!ExtractFilesFromCab(m_Strings.szCabName, 
+ m_Strings.szCabDir,
+ m_Strings.szAppsPath))
 {
 return FALSE;
 }
diff --git a/base/applications/rapps/cabinet.cpp 
b/base/applications/rapps/cabinet.cpp
new file mode 100644
index 00..11b301ed9c
--- /dev/null
+++ b/base/applications/rapps/cabinet.cpp
@@ -0,0 +1,334 @@
+/*
+* PROJECT: ReactOS Applications Manager
+* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
+* FILE:base/applications/rapps/cabinet.cpp
+* PURPOSE: Cabinet extraction using FDI API
+* COPYRIGHT:   Copyright 2018 Alexander Shaposhnikov 
(sanch...@reactos.org)
+*/
+#include "rapps.h"
+
+#include 
+#include 
+
+/*
+ * HACK: treat any input strings as Unicode (UTF-8)
+ * cabinet.dll lacks any sort of a Unicode API, but FCI/FDI 
+ * provide an ability to use user-defined callbacks for any file or memory
+ * operations. This flexibility and the magic power of C/C++ casting allows
+ * us to treat input as we please.
+ * This is by far the best way to extract .cab using Unicode paths.
+ */
+
+/* String conversion helper functions */
+
+// converts CStringW to CStringA using a given codepage
+inline BOOL WideToMultiByte(const CStringW& szSource,
+CStringA& szDest,
+UINT Codepage)
+{
+// determine the needed size
+INT sz = WideCharToMultiByte(Codepage,
+0,
+szSource,
+-1,
+NULL,
+NULL,
+NULL,
+NULL);
+if (!sz)
+return FALSE;
+
+// do the actual conversion
+sz = WideCharToMultiByte(Codepage,
+0,
+szSource,
+-1,
+szDest.GetBuffer(sz),
+sz,
+NULL,
+NULL);
+
+szDest.ReleaseBuffer();
+return sz != 0;
+}
+
+// converts CStringA to CStri

[ros-diffs] 01/01: [CONTRIBUTING] Update .gitmessage

2018-02-25 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=509dd4e6452ff11addafb65f2ae16704b507445b

commit 509dd4e6452ff11addafb65f2ae16704b507445b
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Sun Feb 25 16:14:41 2018 +0200
Commit: GitHub <nore...@github.com>
CommitDate: Sun Feb 25 16:14:41 2018 +0200

[CONTRIBUTING] Update .gitmessage

The template is made more clear and specific.
Added non-mandatory width hints.
---
 .gitmessage | 34 ++
 1 file changed, 18 insertions(+), 16 deletions(-)

diff --git a/.gitmessage b/.gitmessage
index f0b7ea10e1..75664741de 100644
--- a/.gitmessage
+++ b/.gitmessage
@@ -1,20 +1,22 @@
-# [MODULE] A short but descriptive summary (#pr-num)
-
-# A comprehensible description of WHY you did this work.
 
+# Commit message example
+# --
+# [MODULE] A short but descriptive summary (#pr-num)
+#
+# A comprehensible description of WHY you did this work. Do not limit
+# yourself here. 
+# The width of the description is arbitary, but it is a good idea to 
+# wrap the text by 72 chars. 
+#
 # CORE- CIDX
-
+# --
 # * [MODULE] should usually be the name of the CMake module, written
 #   in all caps.
-#
-# * Summary should be imperative (not past tense), and not end with
-#   a period.
-#
-# * Description of commit should explain WHY a change was made.
-#
-# * JIRA, Coverity ID references should be placed at the bottom and
-#   preceded by the newline.
-#
-# * Pull request should always be referenced in the summary in parens
-#   unless it doesn't fit. In this case it should be placed after bug
-#   IDs if any.
+# * Summary should be imperative (not past tense) and not end with a
+#   period.
+# * Description of a commit should explain WHY a change was made.
+# * JIRA, Coverity ID references should be placed at the bottom row.
+# * There must be a newline between summary, description and bug IDs.
+# * GitHub Pull Request ID should be referenced in the summary in 
+#   parens. If the resulting summary is longer than 70 chars it may 
+#   be placed last in the ID row to prevent hard wrapping on GitHub.



[ros-diffs] 02/02: [RAPPS] Fix column sorting

2018-02-08 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f4fedb936eae60e7b9847339080cfd2604d4cd82

commit f4fedb936eae60e7b9847339080cfd2604d4cd82
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Fri Feb 9 00:53:31 2018 +0200
Commit: Alexander Shaposhnikov <sanch...@reactos.org>
CommitDate: Fri Feb 9 00:53:31 2018 +0200

[RAPPS] Fix column sorting

CORE-13793
---
 base/applications/rapps/gui.cpp | 7 +--
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/base/applications/rapps/gui.cpp b/base/applications/rapps/gui.cpp
index c4e76b35d3..ed2c3b8264 100644
--- a/base/applications/rapps/gui.cpp
+++ b/base/applications/rapps/gui.cpp
@@ -539,12 +539,7 @@ public:
 GetItemText(Index, iSubItem, Item2.GetBuffer(MAX_STR_LEN), 
MAX_STR_LEN);
 Item2.ReleaseBuffer();
 
-if (bIsAscending)
-return Item2 == Item1;
-else
-return Item1 == Item2;
-
-return 0;
+return bIsAscending ? Item1.Compare(Item2) : Item2.Compare(Item1);
 }
 
 HWND Create(HWND hwndParent)



[ros-diffs] 01/02: [RAPPS] Set header style when sorting by column

2018-02-08 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=b698067e35b795044057ba4a54eb2473ad66150d

commit b698067e35b795044057ba4a54eb2473ad66150d
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Fri Feb 9 00:41:55 2018 +0200
Commit: Alexander Shaposhnikov <sanch...@reactos.org>
CommitDate: Fri Feb 9 00:41:55 2018 +0200

[RAPPS] Set header style when sorting by column
---
 base/applications/rapps/gui.cpp | 44 +++--
 1 file changed, 38 insertions(+), 6 deletions(-)

diff --git a/base/applications/rapps/gui.cpp b/base/applications/rapps/gui.cpp
index 4ef3bd475c..c4e76b35d3 100644
--- a/base/applications/rapps/gui.cpp
+++ b/base/applications/rapps/gui.cpp
@@ -388,14 +388,17 @@ class CAppsListView :
 };
 
 BOOL bHasAllChecked;
-BOOL bAscending;
+BOOL bIsAscending;
 BOOL bHasCheckboxes;
 
+INT nLastHeaderID;
+
 public:
 CAppsListView() :
 bHasAllChecked(FALSE),
-bAscending(TRUE),
-bHasCheckboxes(FALSE)
+bIsAscending(TRUE),
+bHasCheckboxes(FALSE),
+nLastHeaderID(-1)
 {
 }
 
@@ -415,11 +418,40 @@ public:
 
 VOID ColumnClick(LPNMLISTVIEW pnmv)
 {
-SortContext ctx = {this, pnmv->iSubItem};
+HWND hHeader;
+HDITEMW hColumn;
+INT nHeaderID = pnmv->iSubItem;
+
+if ((GetWindowLongPtr(GWL_STYLE) & ~LVS_NOSORTHEADER) == 0)
+return;
+
+hHeader = (HWND) SendMessage(LVM_GETHEADER, 0, 0);
+ZeroMemory(, sizeof(hColumn));
+
+/* If the sorting column changed, remove the sorting style from the 
old column */
+if ((nLastHeaderID != -1) && (nLastHeaderID != nHeaderID))
+{
+hColumn.mask = HDI_FORMAT;
+Header_GetItem(hHeader, nLastHeaderID, );
+hColumn.fmt &= ~(HDF_SORTUP | HDF_SORTDOWN);
+Header_SetItem(hHeader, nLastHeaderID, );
+}
+
+/* Set the sorting style to the new column */
+hColumn.mask = HDI_FORMAT;
+Header_GetItem(hHeader, nHeaderID, );
+
+hColumn.fmt &= (bIsAscending ? ~HDF_SORTDOWN : ~HDF_SORTUP);
+hColumn.fmt |= (bIsAscending ? HDF_SORTUP : HDF_SORTDOWN);
+Header_SetItem(hHeader, nHeaderID, );
 
+/* Sort the list, using the current values of nHeaderID and 
bIsAscending */
+SortContext ctx = {this, nHeaderID};
 SortItems(s_CompareFunc, );
 
-bAscending = !bAscending;
+/* Save new values */
+nLastHeaderID = nHeaderID;
+bIsAscending = !bIsAscending;
 }
 
 PVOID GetLParam(INT Index)
@@ -507,7 +539,7 @@ public:
 GetItemText(Index, iSubItem, Item2.GetBuffer(MAX_STR_LEN), 
MAX_STR_LEN);
 Item2.ReleaseBuffer();
 
-if (bAscending)
+if (bIsAscending)
 return Item2 == Item1;
 else
 return Item1 == Item2;



[ros-diffs] 01/01: [CONTRIBUTING] Update .gitmessage template

2018-01-29 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=19a67154c6bb612d324da5c1ca824c9a3ca1e6b7

commit 19a67154c6bb612d324da5c1ca824c9a3ca1e6b7
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Mon Jan 29 16:09:04 2018 +0200
Commit: Alexander Shaposhnikov <sanch...@reactos.org>
CommitDate: Mon Jan 29 16:09:04 2018 +0200

[CONTRIBUTING] Update .gitmessage template
---
 .gitmessage | 11 ---
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/.gitmessage b/.gitmessage
index ebf493f1c4..f0b7ea10e1 100644
--- a/.gitmessage
+++ b/.gitmessage
@@ -4,20 +4,17 @@
 
 # CORE- CIDX
 
-#^
-#  70^
 # * [MODULE] should usually be the name of the CMake module, written
 #   in all caps.
 #
-# * Summary should be imperative (not past tense), 70 characters or
-#   less, and not end with a period.
+# * Summary should be imperative (not past tense), and not end with
+#   a period.
 #
-# * Description of commit should explain WHY a change was made and
-#   lines should be also wrapped to 70 characters.
+# * Description of commit should explain WHY a change was made.
 #
 # * JIRA, Coverity ID references should be placed at the bottom and
 #   preceded by the newline.
 #
 # * Pull request should always be referenced in the summary in parens
-#   unless it doesn't fit In this case it should be placed after bug
+#   unless it doesn't fit. In this case it should be placed after bug
 #   IDs if any.



[ros-diffs] 01/01: [CONTRIBUTING] Add a commit template and a paragraph about it

2018-01-29 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d70741fa20aff5ee9dc19b68dac6b7ef31475949

commit d70741fa20aff5ee9dc19b68dac6b7ef31475949
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Sun Jan 28 00:51:48 2018 +0200
Commit: Alexander Shaposhnikov <sanch...@reactos.org>
CommitDate: Mon Jan 29 15:08:04 2018 +0200

[CONTRIBUTING] Add a commit template and a paragraph about it

This template defines a general commit style, and will be most
helpful for newcomers. I will be using it personally :)
---
 .gitmessage | 23 +++
 CONTRIBUTING.md |  5 +
 2 files changed, 28 insertions(+)

diff --git a/.gitmessage b/.gitmessage
new file mode 100644
index 00..ebf493f1c4
--- /dev/null
+++ b/.gitmessage
@@ -0,0 +1,23 @@
+# [MODULE] A short but descriptive summary (#pr-num)
+
+# A comprehensible description of WHY you did this work.
+
+# CORE- CIDX
+
+#^
+#  70^
+# * [MODULE] should usually be the name of the CMake module, written
+#   in all caps.
+#
+# * Summary should be imperative (not past tense), 70 characters or
+#   less, and not end with a period.
+#
+# * Description of commit should explain WHY a change was made and
+#   lines should be also wrapped to 70 characters.
+#
+# * JIRA, Coverity ID references should be placed at the bottom and
+#   preceded by the newline.
+#
+# * Pull request should always be referenced in the summary in parens
+#   unless it doesn't fit In this case it should be placed after bug
+#   IDs if any.
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 028fe8bead..2d4b903b40 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -57,6 +57,10 @@ A __[patch]__ is a set of changes to existing source code. 
The changes in a patc
 
 See [Submitting Patches] for details.
 
+### Commit style
+
+Our commit style is defined in a __[commit template]__. Use it as a reference 
or turn it on using `git config commit.template .gitmessage`. This will set 
this template as an initial commit message for the new commits in your local 
repository.
+
 ### Rules and Recommendations
 
 - *Use your __real name__ and __real email__.* We do not accept anonymous 
contributions!
@@ -96,3 +100,4 @@ Finding a good project to start with can be a challenge, 
because when starting o
   [README.FSD]:  
/media/doc/README.FSD
   [Coverity]:
https://scan.coverity.com/projects/reactos
   [request-coverity]:
https://scan.coverity.com/memberships/new?project_id=reactos
+  [commit template]: .gitmessage



[ros-diffs] [reactos] 01/01: [RAPPS] Make selection global

2018-01-03 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=58f8fa9ec89c9f7ae2ffde7870d17fd4313ab21d

commit 58f8fa9ec89c9f7ae2ffde7870d17fd4313ab21d
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Tue Jan 2 22:45:59 2018 +0200

[RAPPS] Make selection global

- Added a 'Selected for installation' category that shows what was selected.
  Selection is now kept between categories.
- New string is added to resources.
  ru-RU.rc and uk-UA.rc strings are translated.
CORE-13789
---
 base/applications/rapps/available.cpp   | 42 ++---
 base/applications/rapps/gui.cpp | 40 ---
 base/applications/rapps/include/available.h |  2 ++
 base/applications/rapps/include/defines.h   |  3 ++-
 base/applications/rapps/include/resource.h  |  2 ++
 base/applications/rapps/lang/bg-BG.rc   |  1 +
 base/applications/rapps/lang/cs-CZ.rc   |  1 +
 base/applications/rapps/lang/de-DE.rc   |  1 +
 base/applications/rapps/lang/en-US.rc   |  1 +
 base/applications/rapps/lang/es-ES.rc   |  1 +
 base/applications/rapps/lang/fr-FR.rc   |  1 +
 base/applications/rapps/lang/he-IL.rc   |  1 +
 base/applications/rapps/lang/it-IT.rc   |  1 +
 base/applications/rapps/lang/ja-JP.rc   |  1 +
 base/applications/rapps/lang/no-NO.rc   |  1 +
 base/applications/rapps/lang/pl-PL.rc   |  1 +
 base/applications/rapps/lang/pt-BR.rc   |  1 +
 base/applications/rapps/lang/ro-RO.rc   |  1 +
 base/applications/rapps/lang/ru-RU.rc   |  1 +
 base/applications/rapps/lang/sk-SK.rc   |  1 +
 base/applications/rapps/lang/sq-AL.rc   |  1 +
 base/applications/rapps/lang/sv-SE.rc   |  1 +
 base/applications/rapps/lang/tr-TR.rc   |  1 +
 base/applications/rapps/lang/uk-UA.rc   |  1 +
 base/applications/rapps/lang/zh-CN.rc   |  1 +
 base/applications/rapps/lang/zh-TW.rc   |  1 +
 base/applications/rapps/rapps.rc|  1 +
 27 files changed, 92 insertions(+), 19 deletions(-)

diff --git a/base/applications/rapps/available.cpp 
b/base/applications/rapps/available.cpp
index b396e1dbb7..19101cef14 100644
--- a/base/applications/rapps/available.cpp
+++ b/base/applications/rapps/available.cpp
@@ -19,12 +19,9 @@
 
  // CAvailableApplicationInfo
 CAvailableApplicationInfo::CAvailableApplicationInfo(const ATL::CStringW& 
sFileNameParam)
-: m_IsInstalled(FALSE), m_HasLanguageInfo(FALSE), 
m_HasInstalledVersion(FALSE)
+: m_IsSelected(FALSE), m_LicenseType(LICENSE_NONE), 
m_sFileName(sFileNameParam),
+m_IsInstalled(FALSE), m_HasLanguageInfo(FALSE), 
m_HasInstalledVersion(FALSE)
 {
-m_LicenseType = LICENSE_NONE;
-
-m_sFileName = sFileNameParam;
-
 RetrieveGeneralInfo();
 }
 
@@ -355,17 +352,15 @@ BOOL CAvailableApps::Enum(INT EnumType, AVAILENUMPROC 
lpEnumProc)
 m_InfoList.AddTail(Info);
 
 skip_if_cached:
-if (Info->m_Category == FALSE)
-continue;
-
-if (EnumType != Info->m_Category && EnumType != ENUM_ALL_AVAILABLE)
-continue;
-
-Info->RefreshAppInfo();
-
-if (lpEnumProc)
-lpEnumProc(Info, m_Strings.szAppsPath.GetString());
+if (EnumType == Info->m_Category 
+|| EnumType == ENUM_ALL_AVAILABLE 
+|| (EnumType == ENUM_CAT_SELECTED && Info->m_IsSelected))
+{
+Info->RefreshAppInfo();
 
+if (lpEnumProc)
+lpEnumProc(Info, m_Strings.szAppsPath.GetString());
+}
 } while (FindNextFileW(hFind, ) != 0);
 
 FindClose(hFind);
@@ -407,6 +402,23 @@ ATL::CSimpleArray 
CAvailableApps::FindInfoList(const
 return result;
 }
 
+ATL::CSimpleArray CAvailableApps::GetSelected() 
const
+{
+ATL::CSimpleArray result;
+POSITION CurrentListPosition = m_InfoList.GetHeadPosition();
+CAvailableApplicationInfo* Info;
+
+while (CurrentListPosition != NULL)
+{
+Info = m_InfoList.GetNext(CurrentListPosition);
+if (Info->m_IsSelected)
+{
+result.Add(*Info);
+}
+}
+return result;
+}
+
 const ATL::CStringW& CAvailableApps::GetFolderPath() const
 {
 return m_Strings.szPath;
diff --git a/base/applications/rapps/gui.cpp b/base/applications/rapps/gui.cpp
index 62d1a1961b..4118acbca5 100644
--- a/base/applications/rapps/gui.cpp
+++ b/base/applications/rapps/gui.cpp
@@ -542,6 +542,30 @@ public:
 if (bHasCheckboxes)
 {
 SetItemState(item, INDEXTOSTATEIMAGEMASK((fCheck) ? 2 : 1), 
LVIS_STATEIMAGEMASK);
+SetSelected(item, fCheck);
+}
+}
+
+VOID SetSelected(INT item, BOOL value)
+{
+if (item < 0)
+{
+for (INT i = 0; i >= 0; i = GetNextItem(i, LVNI_ALL))
+{
+CAvailableApplicationInfo* pAppInfo = 
(CAvailableApplicationInfo*) GetItemData(i);
+if (pAppInfo)
+

[ros-diffs] [reactos] 01/01: [RAPPS] Simplified string creation in CAvailableApps

2018-01-01 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=8d436d9bb5018f30bd92a0e2d954dee7ff263dbe

commit 8d436d9bb5018f30bd92a0e2d954dee7ff263dbe
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Tue Jan 2 02:07:12 2018 +0200

[RAPPS] Simplified string creation in CAvailableApps

Created a struct that fills itself upon creation.
This makes it easy to include in CAvailableApps without additional 
weirdness.
---
 base/applications/rapps/available.cpp   | 84 -
 base/applications/rapps/include/available.h | 19 +++
 2 files changed, 33 insertions(+), 70 deletions(-)

diff --git a/base/applications/rapps/available.cpp 
b/base/applications/rapps/available.cpp
index a62cc146c2..b396e1dbb7 100644
--- a/base/applications/rapps/available.cpp
+++ b/base/applications/rapps/available.cpp
@@ -209,37 +209,24 @@ inline BOOL CAvailableApplicationInfo::GetString(LPCWSTR 
lpKeyName, ATL::CString
 }
 // CAvailableApplicationInfo 
 
-// CAvailableApps
-ATL::CStringW CAvailableApps::m_szPath;
-ATL::CStringW CAvailableApps::m_szCabPath;
-ATL::CStringW CAvailableApps::m_szAppsPath;
-ATL::CStringW CAvailableApps::m_szSearchPath;
-
-BOOL CAvailableApps::InitializeStaticStrings()
+// AvailableStrings
+AvailableStrings::AvailableStrings()
 {
-
-if (!m_szPath.IsEmpty())
-{
-// strings are filled
-return TRUE;
-}
-
 //FIXME: maybe provide a fallback?
-if (GetStorageDirectory(m_szPath))
+if (GetStorageDirectory(szPath))
 {
-m_szAppsPath = m_szPath + L"\\rapps\\";
-m_szCabPath = m_szPath + L"\\rappmgr.cab";
-m_szSearchPath = m_szAppsPath + L"*.txt";
-return TRUE;
+szAppsPath = szPath + L"\\rapps\\";
+szCabPath = szPath + L"\\rappmgr.cab";
+szSearchPath = szAppsPath + L"*.txt";
 }
-
-return FALSE;
 }
+// AvailableStrings
+
+// CAvailableApps
+AvailableStrings CAvailableApps::m_Strings;
 
 CAvailableApps::CAvailableApps()
 {
-//set all paths
-InitializeStaticStrings();
 }
 
 VOID CAvailableApps::FreeCachedEntries()
@@ -261,26 +248,21 @@ VOID CAvailableApps::DeleteCurrentAppsDB()
 HANDLE hFind = INVALID_HANDLE_VALUE;
 WIN32_FIND_DATAW FindFileData;
 
-if (!InitializeStaticStrings())
-{
-return;
-}
-
-hFind = FindFirstFileW(m_szSearchPath.GetString(), );
+hFind = FindFirstFileW(m_Strings.szSearchPath.GetString(), );
 
 if (hFind != INVALID_HANDLE_VALUE)
 {
 ATL::CStringW szTmp;
 do
 {
-szTmp = m_szAppsPath + FindFileData.cFileName;
+szTmp = m_Strings.szAppsPath + FindFileData.cFileName;
 DeleteFileW(szTmp.GetString());
 } while (FindNextFileW(hFind, ) != 0);
 FindClose(hFind);
 }
 
-RemoveDirectoryW(m_szAppsPath);
-RemoveDirectoryW(m_szPath);
+RemoveDirectoryW(m_Strings.szAppsPath);
+RemoveDirectoryW(m_Strings.szPath);
 }
 
 BOOL CAvailableApps::UpdateAppsDB()
@@ -288,18 +270,13 @@ BOOL CAvailableApps::UpdateAppsDB()
 HANDLE hFind = INVALID_HANDLE_VALUE;
 WIN32_FIND_DATAW FindFileData;
 
-if (!InitializeStaticStrings())
-{
-return FALSE;
-}
-
-if (!CreateDirectoryW(m_szPath.GetString(), NULL) && GetLastError() != 
ERROR_ALREADY_EXISTS)
+if (!CreateDirectoryW(m_Strings.szPath, NULL) && GetLastError() != 
ERROR_ALREADY_EXISTS)
 {
 return FALSE;
 }
 
 //if there are some files in the db folder - we're good
-hFind = FindFirstFileW(m_szSearchPath.GetString(), );
+hFind = FindFirstFileW(m_Strings.szSearchPath, );
 if (hFind != INVALID_HANDLE_VALUE)
 {
 FindClose(hFind);
@@ -308,12 +285,12 @@ BOOL CAvailableApps::UpdateAppsDB()
 
 CDownloadManager::DownloadApplicationsDB(APPLICATION_DATABASE_URL);
 
-if (!ExtractFilesFromCab(m_szCabPath, m_szAppsPath))
+if (!ExtractFilesFromCab(m_Strings.szCabPath, m_Strings.szAppsPath))
 {
 return FALSE;
 }
 
-DeleteFileW(m_szCabPath.GetString());
+DeleteFileW(m_Strings.szCabPath);
 
 return TRUE;
 }
@@ -330,7 +307,7 @@ BOOL CAvailableApps::Enum(INT EnumType, AVAILENUMPROC 
lpEnumProc)
 HANDLE hFind = INVALID_HANDLE_VALUE;
 WIN32_FIND_DATAW FindFileData;
 
-hFind = FindFirstFileW(m_szSearchPath.GetString(), );
+hFind = FindFirstFileW(m_Strings.szSearchPath.GetString(), );
 
 if (hFind == INVALID_HANDLE_VALUE)
 {
@@ -387,7 +364,7 @@ skip_if_cached:
 Info->RefreshAppInfo();
 
 if (lpEnumProc)
-lpEnumProc(Info, m_szAppsPath.GetString());
+lpEnumProc(Info, m_Strings.szAppsPath.GetString());
 
 } while (FindNextFileW(hFind, ) != 0);
 
@@ -432,31 +409,16 @@ ATL::CSimpleArray 
CAvailableApps::FindInfoList(const
 
 const ATL::CStringW& CAvailableApps::GetFolderPath() const
 {
-return m_szPath;
+return m_Strings.szPath;

[ros-diffs] [reactos] 01/01: [RAPPS] Replaced "..." with "…" for resource unification

2017-12-30 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=4c29691f6abbcbe546bae8339bf981ed6f0182d3

commit 4c29691f6abbcbe546bae8339bf981ed6f0182d3
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Sat Dec 30 19:30:38 2017 +0200

[RAPPS] Replaced "..." with "…" for resource unification
---
 base/applications/rapps/lang/bg-BG.rc |  8 
 base/applications/rapps/lang/cs-CZ.rc | 12 ++--
 base/applications/rapps/lang/de-DE.rc | 10 +-
 base/applications/rapps/lang/en-US.rc | 10 +-
 base/applications/rapps/lang/es-ES.rc | 10 +-
 base/applications/rapps/lang/fr-FR.rc | 10 +-
 base/applications/rapps/lang/he-IL.rc | 10 +-
 base/applications/rapps/lang/it-IT.rc | 16 
 base/applications/rapps/lang/ja-JP.rc | 10 +-
 base/applications/rapps/lang/no-NO.rc | 10 +-
 base/applications/rapps/lang/pl-PL.rc | 10 +-
 base/applications/rapps/lang/pt-BR.rc | 10 +-
 base/applications/rapps/lang/ru-RU.rc | 12 ++--
 base/applications/rapps/lang/sk-SK.rc | 10 +-
 base/applications/rapps/lang/sq-AL.rc | 10 +-
 base/applications/rapps/lang/sv-SE.rc | 10 +-
 base/applications/rapps/lang/tr-TR.rc | 10 +-
 base/applications/rapps/lang/uk-UA.rc | 14 +++---
 base/applications/rapps/lang/zh-CN.rc | 10 +-
 base/applications/rapps/lang/zh-TW.rc | 10 +-
 20 files changed, 106 insertions(+), 106 deletions(-)

diff --git a/base/applications/rapps/lang/bg-BG.rc 
b/base/applications/rapps/lang/bg-BG.rc
index 661d9e01e5..4b5fe9acf8 100644
--- a/base/applications/rapps/lang/bg-BG.rc
+++ b/base/applications/rapps/lang/bg-BG.rc
@@ -87,7 +87,7 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYS
 CAPTION "Слагане на приложение"
 FONT 8, "MS Shell Dlg"
 BEGIN
-LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35
+LTEXT "…", IDC_INSTALL_TEXT, 4, 5, 209, 35
 AUTORADIOBUTTON "Слагане от оптичен носител", IDC_CD_INSTALL, 10, 46, 197, 
11, WS_GROUP
 AUTORADIOBUTTON "&Сваляне и слагане", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 
11, NOT WS_TABSTOP
 PUSHBUTTON "Добре", IDOK, 86, 78, 60, 14
@@ -96,7 +96,7 @@ END
 
 IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 220, 72
 STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | 
WS_SYSMENU | WS_VISIBLE
-CAPTION "Сваляне %ls..."
+CAPTION "Сваляне %ls…"
 FONT 8, "MS Shell Dlg"
 BEGIN
 CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER 
| PBS_SMOOTH, 10, 10, 200, 12
@@ -208,7 +208,7 @@ BEGIN
 IDS_UNABLE_TO_REMOVE "Премахването на данните за приложението от регистъра 
е невъзможно!"
 IDS_UNABLE_TO_INSTALL "Unable to open installer!"
 IDS_CERT_DOES_NOT_MATCH "SSL certificate verification failed."
-IDS_INTEG_CHECK_TITLE "Verifying package integrity..."
+IDS_INTEG_CHECK_TITLE "Verifying package integrity…"
 IDS_INTEG_CHECK_FAIL "The package did not pass the integrity check, it may 
have been corrupted or tampered with during downloading. Running the software 
is not recommended."
 IDS_INTERRUPTED_DOWNLOAD "The download was interrupted. Check connection 
to Internet."
 IDS_UNABLE_TO_WRITE "Unable to write to disk. Disk may be at capacity."
@@ -248,5 +248,5 @@ END
 STRINGTABLE
 BEGIN
 IDS_DL_DIALOG_DB_DISP "Applications Database"
-IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database..."
+IDS_DL_DIALOG_DB_DOWNLOAD_DISP "Updating Database…"
 END
diff --git a/base/applications/rapps/lang/cs-CZ.rc 
b/base/applications/rapps/lang/cs-CZ.rc
index 056f8383c4..2ac4d2e26a 100644
--- a/base/applications/rapps/lang/cs-CZ.rc
+++ b/base/applications/rapps/lang/cs-CZ.rc
@@ -69,7 +69,7 @@ BEGIN
 GROUPBOX "Stahování", -1, 4, 65, 240, 51
 LTEXT "Složka se staženými soubory:", -1, 16, 75, 100, 9
 EDITTEXT IDC_DOWNLOAD_DIR_EDIT, 15, 86, 166, 12, WS_CHILD | WS_VISIBLE | 
WS_GROUP | ES_AUTOHSCROLL
-PUSHBUTTON "ázet...", IDC_CHOOSE, 187, 85, 50, 14
+PUSHBUTTON "ázet…", IDC_CHOOSE, 187, 85, 50, 14
 AUTOCHECKBOX " instalátor programu po dokončení instalace", 
IDC_DEL_AFTER_INSTALL, 16, 100, 218, 12
 GROUPBOX "Proxy", -1, 4, 116, 240, 76
 CONTROL "Systémové nastavení proxy", IDC_PROXY_DEFAULT, "Button", 
BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 15, 130, 210, 10
@@ -88,7 +88,7 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | 
WS_CAPTION | WS_SYS
 CAPTION "Instalace programu"
 FONT 8, "MS Shell Dlg"
 BEGIN
-LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35
+LTEXT "…", IDC_INSTALL_TEXT, 4, 5, 209, 35
 AUTORADIOBUTTON " z média (C

[ros-diffs] [reactos] 01/01: [RAPPS] Select 'Available' category by default.

2017-12-17 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=ab7ddc44f7ba8281ade75364861992d2f7f5b955

commit ab7ddc44f7ba8281ade75364861992d2f7f5b955
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Sun Dec 17 16:09:55 2017 +0200

[RAPPS] Select 'Available' category by default.
---
 base/applications/rapps/gui.cpp | 50 -
 1 file changed, 25 insertions(+), 25 deletions(-)

diff --git a/base/applications/rapps/gui.cpp b/base/applications/rapps/gui.cpp
index 76a5e76d08..62d1a1961b 100644
--- a/base/applications/rapps/gui.cpp
+++ b/base/applications/rapps/gui.cpp
@@ -729,33 +729,33 @@ private:
 
 VOID InitCategoriesList()
 {
-HTREEITEM hRootItem1, hRootItem2;
-
-hRootItem1 = AddCategory(TVI_ROOT, IDS_INSTALLED, IDI_CATEGORY);
-AddCategory(hRootItem1, IDS_APPLICATIONS, IDI_APPS);
-AddCategory(hRootItem1, IDS_UPDATES, IDI_APPUPD);
-
-hRootItem2 = AddCategory(TVI_ROOT, IDS_AVAILABLEFORINST, IDI_CATEGORY);
-AddCategory(hRootItem2, IDS_CAT_AUDIO, IDI_CAT_AUDIO);
-AddCategory(hRootItem2, IDS_CAT_VIDEO, IDI_CAT_VIDEO);
-AddCategory(hRootItem2, IDS_CAT_GRAPHICS, IDI_CAT_GRAPHICS);
-AddCategory(hRootItem2, IDS_CAT_GAMES, IDI_CAT_GAMES);
-AddCategory(hRootItem2, IDS_CAT_INTERNET, IDI_CAT_INTERNET);
-AddCategory(hRootItem2, IDS_CAT_OFFICE, IDI_CAT_OFFICE);
-AddCategory(hRootItem2, IDS_CAT_DEVEL, IDI_CAT_DEVEL);
-AddCategory(hRootItem2, IDS_CAT_EDU, IDI_CAT_EDU);
-AddCategory(hRootItem2, IDS_CAT_ENGINEER, IDI_CAT_ENGINEER);
-AddCategory(hRootItem2, IDS_CAT_FINANCE, IDI_CAT_FINANCE);
-AddCategory(hRootItem2, IDS_CAT_SCIENCE, IDI_CAT_SCIENCE);
-AddCategory(hRootItem2, IDS_CAT_TOOLS, IDI_CAT_TOOLS);
-AddCategory(hRootItem2, IDS_CAT_DRIVERS, IDI_CAT_DRIVERS);
-AddCategory(hRootItem2, IDS_CAT_LIBS, IDI_CAT_LIBS);
-AddCategory(hRootItem2, IDS_CAT_OTHER, IDI_CAT_OTHER);
+HTREEITEM hRootItemInstalled, hRootItemAvailable;
+
+hRootItemInstalled = AddCategory(TVI_ROOT, IDS_INSTALLED, 
IDI_CATEGORY);
+AddCategory(hRootItemInstalled, IDS_APPLICATIONS, IDI_APPS);
+AddCategory(hRootItemInstalled, IDS_UPDATES, IDI_APPUPD);
+
+hRootItemAvailable = AddCategory(TVI_ROOT, IDS_AVAILABLEFORINST, 
IDI_CATEGORY);
+AddCategory(hRootItemAvailable, IDS_CAT_AUDIO, IDI_CAT_AUDIO);
+AddCategory(hRootItemAvailable, IDS_CAT_VIDEO, IDI_CAT_VIDEO);
+AddCategory(hRootItemAvailable, IDS_CAT_GRAPHICS, IDI_CAT_GRAPHICS);
+AddCategory(hRootItemAvailable, IDS_CAT_GAMES, IDI_CAT_GAMES);
+AddCategory(hRootItemAvailable, IDS_CAT_INTERNET, IDI_CAT_INTERNET);
+AddCategory(hRootItemAvailable, IDS_CAT_OFFICE, IDI_CAT_OFFICE);
+AddCategory(hRootItemAvailable, IDS_CAT_DEVEL, IDI_CAT_DEVEL);
+AddCategory(hRootItemAvailable, IDS_CAT_EDU, IDI_CAT_EDU);
+AddCategory(hRootItemAvailable, IDS_CAT_ENGINEER, IDI_CAT_ENGINEER);
+AddCategory(hRootItemAvailable, IDS_CAT_FINANCE, IDI_CAT_FINANCE);
+AddCategory(hRootItemAvailable, IDS_CAT_SCIENCE, IDI_CAT_SCIENCE);
+AddCategory(hRootItemAvailable, IDS_CAT_TOOLS, IDI_CAT_TOOLS);
+AddCategory(hRootItemAvailable, IDS_CAT_DRIVERS, IDI_CAT_DRIVERS);
+AddCategory(hRootItemAvailable, IDS_CAT_LIBS, IDI_CAT_LIBS);
+AddCategory(hRootItemAvailable, IDS_CAT_OTHER, IDI_CAT_OTHER);
 
 m_TreeView->SetImageList();
-m_TreeView->Expand(hRootItem1, TVE_EXPAND);
-m_TreeView->Expand(hRootItem2, TVE_EXPAND);
-m_TreeView->SelectItem(hRootItem1);
+m_TreeView->Expand(hRootItemInstalled, TVE_EXPAND);
+m_TreeView->Expand(hRootItemAvailable, TVE_EXPAND);
+m_TreeView->SelectItem(hRootItemAvailable);
 }
 
 BOOL CreateStatusBar()



[ros-diffs] [reactos] 01/01: [README] Update to 0.4.7

2017-12-06 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=3ad4791796d95e79b6f69db15c4124870dbae55a

commit 3ad4791796d95e79b6f69db15c4124870dbae55a
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Wed Dec 6 11:23:49 2017 +0200

[README] Update to 0.4.7
---
 README.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index a2b53dc6e7..bd4f225563 100644
--- a/README.md
+++ b/README.md
@@ -5,8 +5,8 @@
 ---
 
 
-  https://reactos.org/project-news/reactos-046-released;>
-https://img.shields.io/badge/release-0.4.6-0688CB.svg;>
+  https://reactos.org/project-news/reactos-047-released;>
+https://img.shields.io/badge/release-0.4.7-0688CB.svg;>
   
   https://reactos.org/download;>
 https://img.shields.io/badge/download-latest-0688CB.svg;>



[ros-diffs] [reactos] 01/01: [README] Clean up and finish styling

2017-12-02 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=8393412c42c91e75169af9578736827c5640f4d7

commit 8393412c42c91e75169af9578736827c5640f4d7
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Sat Dec 2 17:31:07 2017 +0200

[README] Clean up and finish styling

Unified the first badge row to use the same colors as reactos.org
Moved build related badges to 'Build' section
Fixed all links to use https and to be semantically correct
Replaced 'Tweet' badge with 'Follow', 'Flattr' with more general 'donate'
Added a sentence about donation
---
 README.md | 41 +++--
 1 file changed, 23 insertions(+), 18 deletions(-)

diff --git a/README.md b/README.md
index e5c1c90d3f..a2b53dc6e7 100644
--- a/README.md
+++ b/README.md
@@ -1,27 +1,27 @@
-# ReactOS Project [![appveyor.badge]][appveyor.link] 
[![travis.badge]][travis.link] [![coverity.badge]][coverity.link]
-
 
   https://reactos.org/wiki/images/0/02/ReactOS_logo.png;>
 
 
+---
+
 
   https://reactos.org/project-news/reactos-046-released;>
-https://img.shields.io/badge/release-0.4.6-brightgreen.svg;>
+https://img.shields.io/badge/release-0.4.6-0688CB.svg;>
   
   https://reactos.org/download;>
-https://img.shields.io/badge/download-latest-blue.svg;>
+https://img.shields.io/badge/download-latest-0688CB.svg;>
   
   https://sourceforge.net/projects/reactos;>
-https://img.shields.io/sourceforge/dm/reactos.svg;>
+https://img.shields.io/sourceforge/dm/reactos.svg?colorB=0688CB;>
   
   https://github.com/reactos/reactos/blob/master/COPYING;>
-https://img.shields.io/badge/license-GNU_GPL_2.0-blue.svg;>
+https://img.shields.io/badge/license-GNU_GPL_2.0-0688CB.svg;>
   
-  https://flattr.com/thing/505443/ReactOS;>
-https://api.flattr.com/button/flattr-badge-large.png;>
+  https://reactos.org/donating;>
+https://img.shields.io/badge/%24-donate-E44E4A.svg;>
   
-  https://twitter.com/intent/tweet?text=Check%20out%20ReactOS%20-%20Free%20and%20Open%20Source%20Windows%21=https%3A%2F%2Fgithub.com%2Freactos%2Freactos=ReactOS,opensource,Windows;>
-https://img.shields.io/twitter/url/http/shields.io.svg?style=social;>
+  https://twitter.com/reactos;>
+https://img.shields.io/twitter/follow/reactos.svg?style=social=Follow%20%40reactos;>
   
 
 
@@ -40,11 +40,13 @@ ReactOS™ is an Open Source effort to develop a quality 
operating system that i
 
 The ReactOS project, although currently focused on Windows Server 2003 
compatibility, is always keeping an eye toward compatibility with Windows Vista 
and future Windows NT releases.
 
-The code of ReactOS is licensed under [GNU GPL 
2.0+](https://spdx.org/licenses/GPL-2.0+.html).
+The code of ReactOS is licensed under [GNU GPL 
2.0](https://github.com/reactos/reactos/blob/master/COPYING).
 
-## Building [![rosbewin.badge]][rosbewin.link] 
[![rosbeunix.badge]][rosbeunix.link]
+## Building 
 
-To build the system it is strongly advised to use the _ReactOS Build 
Environment (RosBE)._
+[![appveyor.badge]][appveyor.link] [![travis.badge]][travis.link] 
[![rosbewin.badge]][rosbewin.link] [![rosbeunix.badge]][rosbeunix.link] 
[![coverity.badge]][coverity.link]
+
+To build the system it is strongly advised to use the _ReactOS Build 
Environment (RosBE)._ 
 Up-to-date versions for Windows and for Unix/GNU-Linux are available from our 
download page at: http://www.reactos.org/wiki/Build_Environment.
 
 Alternatively one can use Microsoft Visual C++ (MSVC) version 2010+. Building 
with MSVC is covered here: https://www.reactos.org/wiki/Building_with_MSVC.
@@ -78,10 +80,12 @@ See ["File Bugs"](https://www.reactos.org/wiki/File_Bugs) 
for a guide.
 
 __NOTE:__ The bug tracker is _not_ for discussions. Please use `#reactos` 
Freenode IRC channel or our [forum](https://reactos.org/forum).
 
-## Contributing
+## Contributing  ![prwelcome.badge]
 
 We are always looking for developers! Check [how to 
contribute](CONTRIBUTING.md) if you are willing to participate.
 
+You can also support ReactOS by [donating](https://reactos.org/donating)! We 
rely on our backers to maintain our servers and accelerate development by 
[hiring full-time devs](https://reactos.org/node/785).
+
 ## More information
 
 ReactOS is a Free and Open Source operating system based on the Windows 
architecture, 
@@ -102,18 +106,19 @@ See also the [CREDITS](CREDITS) file for others.
 
 ## Code mirrors
 
-The main development is done on [GitHub](https://github.com/reactos/reactos). 
We have an [alternative mirror](https://git.reactos.org/) in case GitHub is 
down. 
+The main development is done on [GitHub](https://github.com/reactos/reactos). 
We have an [alternative mirror](https://git.reactos.org/?p=reactos.git) in case 
GitHub is down. 
 
 There is also an obsolete [SVN archive 
repository](https://svn.reactos.org/svn/reactos?view=revision) that is kept for 
historical purposes.

[ros-diffs] [reactos] 01/01: [README] Changed the second badge row

2017-12-01 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=cc7f704ad450e5388344327ff1b91b4871f8a764

commit cc7f704ad450e5388344327ff1b91b4871f8a764
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Sat Dec 2 02:36:50 2017 +0200

[README] Changed the second badge row

Centered second badge row by using HTML code
Moved Coverity scan to the top, Flattr and Tweet - to the bottom
Linked "Download" and "Release" to reactos.org
---
 README.md | 33 +
 1 file changed, 21 insertions(+), 12 deletions(-)

diff --git a/README.md b/README.md
index e191d11aa2..e5c1c90d3f 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,29 @@
-# ReactOS Project [![appveyor.badge]][appveyor.link] 
[![travis.badge]][travis.link] [![flattr.badge]][flattr.link] 
[![tweetme.badge]][tweetme.link] 
+# ReactOS Project [![appveyor.badge]][appveyor.link] 
[![travis.badge]][travis.link] [![coverity.badge]][coverity.link]
 
 
   https://reactos.org/wiki/images/0/02/ReactOS_logo.png;>
 
 
-[![license.badge]][license.link] [![release.badge]][release.link] 
[![sfstats.badge]][sfstats.link] [![coverity.badge]][coverity.link] 
+
+  https://reactos.org/project-news/reactos-046-released;>
+https://img.shields.io/badge/release-0.4.6-brightgreen.svg;>
+  
+  https://reactos.org/download;>
+https://img.shields.io/badge/download-latest-blue.svg;>
+  
+  https://sourceforge.net/projects/reactos;>
+https://img.shields.io/sourceforge/dm/reactos.svg;>
+  
+  https://github.com/reactos/reactos/blob/master/COPYING;>
+https://img.shields.io/badge/license-GNU_GPL_2.0-blue.svg;>
+  
+  https://flattr.com/thing/505443/ReactOS;>
+https://api.flattr.com/button/flattr-badge-large.png;>
+  
+  https://twitter.com/intent/tweet?text=Check%20out%20ReactOS%20-%20Free%20and%20Open%20Source%20Windows%21=https%3A%2F%2Fgithub.com%2Freactos%2Freactos=ReactOS,opensource,Windows;>
+https://img.shields.io/twitter/url/http/shields.io.svg?style=social;>
+  
+
 
 ## Quick Links 
 
@@ -90,21 +109,11 @@ There is also an obsolete [SVN archive 
repository](https://svn.reactos.org/svn/r
 [travis.badge]: https://travis-ci.org/reactos/reactos.svg?branch=master
 [appveyor.badge]:   
https://ci.appveyor.com/api/projects/status/github/reactos/reactos?branch=master=true
 [coverity.badge]:   https://scan.coverity.com/projects/205/badge.svg?flat=1
-[release.badge]:https://img.shields.io/badge/release-0.4.6-brightgreen.svg
-[license.badge]:https://img.shields.io/badge/license-GNU_GPL_2.0+-blue.svg
-[sfstats.badge]:https://img.shields.io/sourceforge/dm/reactos.svg
 [rosbewin.badge]:   https://img.shields.io/badge/RosBE_Windows-2.1.5-blue.svg  
 
 [rosbeunix.badge]:  https://img.shields.io/badge/RosBE_Unix-2.1.2-blue.svg
-[tweetme.badge]:
https://img.shields.io/twitter/url/http/shields.io.svg?style=social
-[flattr.badge]: https://api.flattr.com/button/flattr-badge-large.png
 
 [travis.link]:  https://travis-ci.org/reactos/reactos
 [appveyor.link]:https://ci.appveyor.com/project/AmineKhaldi/reactos
 [coverity.link]:https://scan.coverity.com/projects/205
-[release.link]: 
https://sourceforge.net/projects/reactos/files/ReactOS/0.4.6
-[license.link]: https://github.com/reactos/reactos/blob/master/COPYING
-[sfstats.link]: https://sourceforge.net/projects/reactos
 [rosbewin.link]:
https://sourceforge.net/projects/reactos/files/RosBE-Windows/i386/2.1.5/
 [rosbeunix.link]:   
https://sourceforge.net/projects/reactos/files/RosBE-Unix/2.1.2/
-[tweetme.link]: 
https://twitter.com/intent/tweet?text=Check%20out%20ReactOS%20-%20Free%20and%20Open%20Source%20Windows%21=https%3A%2F%2Fgithub.com%2Freactos%2Freactos=ReactOS,opensource,Windows
-[flattr.link]:  https://flattr.com/thing/505443/ReactOS   



[ros-diffs] [reactos] 01/01: [README] Changed and moved badges around

2017-12-01 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=7cc9b51647fbffc5ede10fe29b4d04021704eba3

commit 7cc9b51647fbffc5ede10fe29b4d04021704eba3
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Sat Dec 2 02:12:48 2017 +0200

[README] Changed and moved badges around

- Added Flattr button
- Removed GitHub stats badges because they were useless
- Change SPDX.org license link to our COPYING for correctness
---
 README.md | 14 +-
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/README.md b/README.md
index 6e0cce2fd1..e191d11aa2 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,10 @@
-# ReactOS Project [![tweetme.badge]][tweetme.link] 
[![release.badge]][release.link] [![sfstats.badge]][sfstats.link]  
[![travis.badge]][travis.link] [![appveyor.badge]][appveyor.link] 
+# ReactOS Project [![appveyor.badge]][appveyor.link] 
[![travis.badge]][travis.link] [![flattr.badge]][flattr.link] 
[![tweetme.badge]][tweetme.link] 
 
 
   https://reactos.org/wiki/images/0/02/ReactOS_logo.png;>
 
 
-[![license.badge]][license.link] [![ghcontrib.badge]][ghcontrib.link] 
[![ghstats.badge]][ghstats.link] [![commits.badge]][commits.link] 
[![coverity.badge]][coverity.link] 
+[![license.badge]][license.link] [![release.badge]][release.link] 
[![sfstats.badge]][sfstats.link] [![coverity.badge]][coverity.link] 
 
 ## Quick Links 
 
@@ -90,25 +90,21 @@ There is also an obsolete [SVN archive 
repository](https://svn.reactos.org/svn/r
 [travis.badge]: https://travis-ci.org/reactos/reactos.svg?branch=master
 [appveyor.badge]:   
https://ci.appveyor.com/api/projects/status/github/reactos/reactos?branch=master=true
 [coverity.badge]:   https://scan.coverity.com/projects/205/badge.svg?flat=1
-[commits.badge]:
https://img.shields.io/github/commits-since/reactos/reactos/0.4.7-dev.svg
 [release.badge]:https://img.shields.io/badge/release-0.4.6-brightgreen.svg
 [license.badge]:https://img.shields.io/badge/license-GNU_GPL_2.0+-blue.svg
 [sfstats.badge]:https://img.shields.io/sourceforge/dm/reactos.svg
-[ghstats.badge]:
https://img.shields.io/github/commit-activity/4w/reactos/reactos.svg
-[ghcontrib.badge]:  
https://img.shields.io/github/contributors/reactos/reactos.svg
 [rosbewin.badge]:   https://img.shields.io/badge/RosBE_Windows-2.1.5-blue.svg  
 
 [rosbeunix.badge]:  https://img.shields.io/badge/RosBE_Unix-2.1.2-blue.svg
 [tweetme.badge]:
https://img.shields.io/twitter/url/http/shields.io.svg?style=social
+[flattr.badge]: https://api.flattr.com/button/flattr-badge-large.png
 
 [travis.link]:  https://travis-ci.org/reactos/reactos
 [appveyor.link]:https://ci.appveyor.com/project/AmineKhaldi/reactos
 [coverity.link]:https://scan.coverity.com/projects/205
-[commits.link]: https://github.com/reactos/reactos/commits/master
 [release.link]: 
https://sourceforge.net/projects/reactos/files/ReactOS/0.4.6
-[license.link]: https://spdx.org/licenses/GPL-2.0+.html
+[license.link]: https://github.com/reactos/reactos/blob/master/COPYING
 [sfstats.link]: https://sourceforge.net/projects/reactos
-[ghstats.link]: https://github.com/reactos/reactos/graphs/commit-activity
-[ghcontrib.link]:   https://github.com/reactos/reactos/graphs/contributors
 [rosbewin.link]:
https://sourceforge.net/projects/reactos/files/RosBE-Windows/i386/2.1.5/
 [rosbeunix.link]:   
https://sourceforge.net/projects/reactos/files/RosBE-Unix/2.1.2/
 [tweetme.link]: 
https://twitter.com/intent/tweet?text=Check%20out%20ReactOS%20-%20Free%20and%20Open%20Source%20Windows%21=https%3A%2F%2Fgithub.com%2Freactos%2Freactos=ReactOS,opensource,Windows
+[flattr.link]:  https://flattr.com/thing/505443/ReactOS   



[ros-diffs] [reactos] 01/01: README.md: Add "Tweet" button

2017-11-17 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=519620ce6167121751240e885a1156165f1f7b7d

commit 519620ce6167121751240e885a1156165f1f7b7d
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Fri Nov 17 22:15:46 2017 +0200

README.md: Add "Tweet" button
---
 README.md | 8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/README.md b/README.md
index a16f2699ac..6e0cce2fd1 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,12 @@
-# ReactOS Project [![release.badge]][release.link] 
[![sfstats.badge]][sfstats.link] [![travis.badge]][travis.link] 
[![appveyor.badge]][appveyor.link]
+# ReactOS Project [![tweetme.badge]][tweetme.link] 
[![release.badge]][release.link] [![sfstats.badge]][sfstats.link]  
[![travis.badge]][travis.link] [![appveyor.badge]][appveyor.link] 
 
 
-https://reactos.org/wiki/images/0/02/ReactOS_logo.png;>
+  https://reactos.org/wiki/images/0/02/ReactOS_logo.png;>
 
 
 [![license.badge]][license.link] [![ghcontrib.badge]][ghcontrib.link] 
[![ghstats.badge]][ghstats.link] [![commits.badge]][commits.link] 
[![coverity.badge]][coverity.link] 
 
-## Quick Links
+## Quick Links 
 
 - [Website](https://reactos.org)
 - [Wiki](https://reactos.org/wiki)
@@ -98,6 +98,7 @@ There is also an obsolete [SVN archive 
repository](https://svn.reactos.org/svn/r
 [ghcontrib.badge]:  
https://img.shields.io/github/contributors/reactos/reactos.svg
 [rosbewin.badge]:   https://img.shields.io/badge/RosBE_Windows-2.1.5-blue.svg  
 
 [rosbeunix.badge]:  https://img.shields.io/badge/RosBE_Unix-2.1.2-blue.svg
+[tweetme.badge]:
https://img.shields.io/twitter/url/http/shields.io.svg?style=social
 
 [travis.link]:  https://travis-ci.org/reactos/reactos
 [appveyor.link]:https://ci.appveyor.com/project/AmineKhaldi/reactos
@@ -110,3 +111,4 @@ There is also an obsolete [SVN archive 
repository](https://svn.reactos.org/svn/r
 [ghcontrib.link]:   https://github.com/reactos/reactos/graphs/contributors
 [rosbewin.link]:
https://sourceforge.net/projects/reactos/files/RosBE-Windows/i386/2.1.5/
 [rosbeunix.link]:   
https://sourceforge.net/projects/reactos/files/RosBE-Unix/2.1.2/
+[tweetme.link]: 
https://twitter.com/intent/tweet?text=Check%20out%20ReactOS%20-%20Free%20and%20Open%20Source%20Windows%21=https%3A%2F%2Fgithub.com%2Freactos%2Freactos=ReactOS,opensource,Windows



[ros-diffs] [reactos] 01/01: Update pull request template with additional info

2017-11-06 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=bd880924d98af170b0d658c866da7ca83b12576c

commit bd880924d98af170b0d658c866da7ca83b12576c
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Mon Nov 6 19:28:12 2017 +0200

Update pull request template with additional info
---
 .github/PULL_REQUEST_TEMPLATE.md | 10 --
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index c475bf0ce8..8622a6e683 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -5,9 +5,15 @@ _Do a quick recap of your work here._
 JIRA issue: [CORE-](https://jira.reactos.org/browse/CORE-)
 
 ## Proposed changes
+
+_Describe what you propose to change/add/fix with this pull request._
+
 - 
 - 
 
 ## TODO
-- [ ] Task 1
-- [ ] Task 2
+
+_Use a TODO when your pull request is Work in Progress._
+
+- [ ] 
+- [ ] 



[ros-diffs] [reactos] 01/01: [RAPPS] Reflect installation status it download dialog header.

2017-11-05 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=47bbd637d8d0b8d012e4071b3bdae83d938267d8

commit 47bbd637d8d0b8d012e4071b3bdae83d938267d8
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Sun Nov 5 20:44:27 2017 +0200

[RAPPS] Reflect installation status it download dialog header.

Pointed out by Mark Jansen
---
 base/applications/rapps/loaddlg.cpp | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/base/applications/rapps/loaddlg.cpp 
b/base/applications/rapps/loaddlg.cpp
index 166b38304c..0d3d554fae 100644
--- a/base/applications/rapps/loaddlg.cpp
+++ b/base/applications/rapps/loaddlg.cpp
@@ -804,7 +804,13 @@ run:
 
 if (ShellExecuteExW())
 {
+//reflect installation progress in the titlebar
+//TODO: make a separate string with a placeholder to include 
app name?
+ATL::CStringW szMsgText = 
LoadStatusString(DLSTATUS_INSTALLING);
+SetWindowTextW(hDlg, szMsgText.GetString());
+
 DownloadsListView.SetDownloadStatus(iAppId, 
DLSTATUS_INSTALLING);
+
 //TODO: issue an install operation separately so that the apps 
could be downloaded in the background
 WaitForSingleObject(shExInfo.hProcess, INFINITE);
 CloseHandle(shExInfo.hProcess);



[ros-diffs] [reactos] 01/01: [RAPPS] Prevent download dialog placeholder from displaying

2017-10-28 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=ee019e12faac404a162661c12f33a14bb8f3297f

commit ee019e12faac404a162661c12f33a14bb8f3297f
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Sat Oct 28 23:44:17 2017 +0300

[RAPPS] Prevent download dialog placeholder from displaying

CORE-13915
---
 base/applications/rapps/loaddlg.cpp | 48 +
 1 file changed, 27 insertions(+), 21 deletions(-)

diff --git a/base/applications/rapps/loaddlg.cpp 
b/base/applications/rapps/loaddlg.cpp
index 346167cd77..166b38304c 100644
--- a/base/applications/rapps/loaddlg.cpp
+++ b/base/applications/rapps/loaddlg.cpp
@@ -393,6 +393,7 @@ INT_PTR CALLBACK CDownloadManager::DownloadDlgProc(HWND 
Dlg, UINT uMsg, WPARAM w
 case WM_INITDIALOG:
 {
 HICON hIconSm, hIconBg;
+ATL::CStringW szTempCaption;
 
 hIconBg = (HICON) GetClassLongW(hMainWnd, GCLP_HICON);
 hIconSm = (HICON) GetClassLongW(hMainWnd, GCLP_HICONSM);
@@ -423,11 +424,16 @@ INT_PTR CALLBACK CDownloadManager::DownloadDlgProc(HWND 
Dlg, UINT uMsg, WPARAM w
 }
 DownloadsListView.LoadList(AppsToInstallList);
 
-ShowWindow(Dlg, SW_SHOW);
-
 // Get a dlg string for later use
 GetWindowTextW(Dlg, szCaption, MAX_PATH);
 
+// Hide a placeholder from displaying
+szTempCaption = szCaption;
+szTempCaption.Replace(L"%ls", L"");
+SetWindowText(Dlg, szTempCaption.GetString());
+
+ShowWindow(Dlg, SW_SHOW);
+
 // Start download process
 DownloadParam *param = new DownloadParam(Dlg, AppsToInstallList, 
szCaption);
 DWORD ThreadId;
@@ -580,6 +586,25 @@ DWORD WINAPI CDownloadManager::ThreadFunc(LPVOID param)
 
 for (iAppId = 0; iAppId < InfoArray.GetSize(); ++iAppId)
 {
+// Reset progress bar
+Item = GetDlgItem(hDlg, IDC_DOWNLOAD_PROGRESS);
+if (Item)
+{
+SendMessageW(Item, PBM_SETPOS, 0, 0);
+}
+
+// Change caption to show the currently downloaded app
+if (!bCab)
+{
+szNewCaption.Format(szCaption, 
InfoArray[iAppId].szName.GetString());
+}
+else
+{
+szNewCaption.LoadStringW(IDS_DL_DIALOG_DB_DOWNLOAD_DISP);
+}
+
+SetWindowTextW(hDlg, szNewCaption.GetString());
+
 // build the path for the download
 p = wcsrchr(InfoArray[iAppId].szUrl.GetString(), L'/');
 q = wcsrchr(InfoArray[iAppId].szUrl.GetString(), L'?');
@@ -626,25 +651,6 @@ DWORD WINAPI CDownloadManager::ThreadFunc(LPVOID param)
 goto run;
 }
 
-// Reset progress bar
-Item = GetDlgItem(hDlg, IDC_DOWNLOAD_PROGRESS);
-if (Item)
-{
-SendMessageW(Item, PBM_SETPOS, 0, 0);
-}
-
-// Change caption to show the currently downloaded app
-if (!bCab)
-{
-szNewCaption.Format(szCaption, 
InfoArray[iAppId].szName.GetString());
-}
-else
-{
-szNewCaption.LoadStringW(IDS_DL_DIALOG_DB_DOWNLOAD_DISP);
-}
-
-SetWindowTextW(hDlg, szNewCaption.GetString());
-
 // Add the download URL
 SetDlgItemTextW(hDlg, IDC_DOWNLOAD_STATUS, 
InfoArray[iAppId].szUrl.GetString());
 



[ros-diffs] [reactos] 03/03: [RAPPS] Removed redundant static_cast

2017-10-27 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=81a5b04f6265ef6cfc83248fa531ff0cad330669

commit 81a5b04f6265ef6cfc83248fa531ff0cad330669
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Fri Oct 27 21:25:24 2017 +0300

[RAPPS] Removed redundant static_cast
---
 base/applications/rapps/available.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/base/applications/rapps/available.cpp 
b/base/applications/rapps/available.cpp
index f7577f0afc..a62cc146c2 100644
--- a/base/applications/rapps/available.cpp
+++ b/base/applications/rapps/available.cpp
@@ -387,7 +387,7 @@ skip_if_cached:
 Info->RefreshAppInfo();
 
 if (lpEnumProc)
-lpEnumProc(static_cast<CAvailableApplicationInfo*>(Info), 
m_szAppsPath.GetString());
+lpEnumProc(Info, m_szAppsPath.GetString());
 
 } while (FindNextFileW(hFind, ) != 0);
 



[ros-diffs] [reactos] 01/03: [RAPPS] Replace pointer array with object array in parts related to app DL.

2017-10-27 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=c9aa1915df6cc4384cf690b016445e8a406a07db

commit c9aa1915df6cc4384cf690b016445e8a406a07db
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Sun Oct 22 00:00:50 2017 +0300

[RAPPS] Replace pointer array with object array in parts related to app DL.
---
 base/applications/rapps/available.cpp   | 6 +++---
 base/applications/rapps/gui.cpp | 8 
 base/applications/rapps/include/available.h | 3 ++-
 base/applications/rapps/include/dialogs.h   | 2 +-
 base/applications/rapps/loaddlg.cpp | 9 ++---
 base/applications/rapps/unattended.cpp  | 2 +-
 6 files changed, 13 insertions(+), 17 deletions(-)

diff --git a/base/applications/rapps/available.cpp 
b/base/applications/rapps/available.cpp
index 6fa51ad820..8ee80c93db 100644
--- a/base/applications/rapps/available.cpp
+++ b/base/applications/rapps/available.cpp
@@ -411,15 +411,15 @@ CAvailableApplicationInfo* CAvailableApps::FindInfo(const 
ATL::CStringW& szAppNa
 return NULL;
 }
 
-ATL::CSimpleArray<CAvailableApplicationInfo*> 
CAvailableApps::FindInfoList(const ATL::CSimpleArray 
) const
+ATL::CSimpleArray 
CAvailableApps::FindInfoList(const ATL::CSimpleArray 
) const
 {
-ATL::CSimpleArray<CAvailableApplicationInfo*> result;
+ATL::CSimpleArray result;
 for (INT i = 0; i < arrAppsNames.GetSize(); ++i)
 {
 CAvailableApplicationInfo* Info = FindInfo(arrAppsNames[i]);
 if (Info)
 {
-result.Add(Info);
+result.Add(*Info);
 }
 }
 return result;
diff --git a/base/applications/rapps/gui.cpp b/base/applications/rapps/gui.cpp
index 368836d7c6..76a5e76d08 100644
--- a/base/applications/rapps/gui.cpp
+++ b/base/applications/rapps/gui.cpp
@@ -554,20 +554,20 @@ public:
 }
 }
 
-ATL::CSimpleArray<CAvailableApplicationInfo*> GetCheckedItems()
+ATL::CSimpleArray GetCheckedItems()
 {
 if (!bHasCheckboxes)
 {
-return ATL::CSimpleArray<CAvailableApplicationInfo*>();
+return ATL::CSimpleArray();
 }
 
-ATL::CSimpleArray<CAvailableApplicationInfo*> list;
+ATL::CSimpleArray list;
 for (INT i = 0; i >= 0; i = GetNextItem(i, LVNI_ALL))
 {
 if (GetCheckState(i) != FALSE)
 {
 CAvailableApplicationInfo* pAppInfo = 
(CAvailableApplicationInfo*) GetItemData(i);
-list.Add(pAppInfo);
+list.Add(*pAppInfo);
 }
 }
 return list;
diff --git a/base/applications/rapps/include/available.h 
b/base/applications/rapps/include/available.h
index aa1aebda37..e005250e81 100644
--- a/base/applications/rapps/include/available.h
+++ b/base/applications/rapps/include/available.h
@@ -45,6 +45,7 @@ struct CAvailableApplicationInfo
 ATL::CStringW m_szSHA1;
 ATL::CStringW m_szInstalledVersion;
 
+// Create an object from file
 CAvailableApplicationInfo(const ATL::CStringW& sFileNameParam);
 
 // Load all info from the file
@@ -100,7 +101,7 @@ public:
 BOOL Enum(INT EnumType, AVAILENUMPROC lpEnumProc);
 
 CAvailableApplicationInfo* FindInfo(const ATL::CStringW& szAppName) const;
-ATL::CSimpleArray<CAvailableApplicationInfo*> FindInfoList(const 
ATL::CSimpleArray ) const;
+ATL::CSimpleArray FindInfoList(const 
ATL::CSimpleArray ) const;
 
 const ATL::CStringW& GetFolderPath() const;
 const ATL::CStringW& GetAppPath() const;
diff --git a/base/applications/rapps/include/dialogs.h 
b/base/applications/rapps/include/dialogs.h
index 51efdc8b7f..ea607e0385 100644
--- a/base/applications/rapps/include/dialogs.h
+++ b/base/applications/rapps/include/dialogs.h
@@ -26,7 +26,7 @@ public:
  DWORD_PTR dwRefData);
 
 static DWORD WINAPI ThreadFunc(LPVOID Context);
-static BOOL DownloadListOfApplications(const 
ATL::CSimpleArray<CAvailableApplicationInfo*>& AppsList, BOOL bIsModal = FALSE);
+static BOOL DownloadListOfApplications(const 
ATL::CSimpleArray& AppsList, BOOL bIsModal = FALSE);
 static BOOL DownloadApplication(CAvailableApplicationInfo* pAppInfo, BOOL 
bIsModal = FALSE);
 static VOID DownloadApplicationsDB(LPCWSTR lpUrl);
 static VOID LaunchDownloadDialog(BOOL);
diff --git a/base/applications/rapps/loaddlg.cpp 
b/base/applications/rapps/loaddlg.cpp
index 6ef55b42c3..346167cd77 100644
--- a/base/applications/rapps/loaddlg.cpp
+++ b/base/applications/rapps/loaddlg.cpp
@@ -830,20 +830,15 @@ end:
 return 0;
 }
 
-BOOL CDownloadManager::DownloadListOfApplications(const 
ATL::CSimpleArray<CAvailableApplicationInfo*>& AppsList, BOOL bIsModal)
+BOOL CDownloadManager::DownloadListOfApplications(const 
ATL::CSimpleArray& AppsList, BOOL bIsModal)
 {
 if (AppsList.GetSize() == 0)
-{
 return FALS

[ros-diffs] [reactos] 02/03: [RAPPS] Make CConfigParser a temp object.

2017-10-27 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e554a359f34e35e403cb0464032caf4258246771

commit e554a359f34e35e403cb0464032caf4258246771
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Sun Oct 22 00:52:49 2017 +0300

[RAPPS] Make CConfigParser a temp object.
---
 base/applications/rapps/available.cpp   | 15 ++-
 base/applications/rapps/include/available.h |  2 +-
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/base/applications/rapps/available.cpp 
b/base/applications/rapps/available.cpp
index 8ee80c93db..f7577f0afc 100644
--- a/base/applications/rapps/available.cpp
+++ b/base/applications/rapps/available.cpp
@@ -19,7 +19,7 @@
 
  // CAvailableApplicationInfo
 CAvailableApplicationInfo::CAvailableApplicationInfo(const ATL::CStringW& 
sFileNameParam)
-: m_IsInstalled(FALSE), m_HasLanguageInfo(FALSE), 
m_HasInstalledVersion(FALSE), m_Parser(sFileNameParam)
+: m_IsInstalled(FALSE), m_HasLanguageInfo(FALSE), 
m_HasInstalledVersion(FALSE)
 {
 m_LicenseType = LICENSE_NONE;
 
@@ -39,11 +39,14 @@ VOID CAvailableApplicationInfo::RefreshAppInfo()
 // Lazily load general info from the file
 VOID CAvailableApplicationInfo::RetrieveGeneralInfo()
 {
-m_Category = m_Parser.GetInt(L"Category");
+m_Parser = new CConfigParser(m_sFileName);
+
+m_Category = m_Parser->GetInt(L"Category");
 
 if (!GetString(L"Name", m_szName)
 || !GetString(L"URLDownload", m_szUrlDownload))
 {
+delete m_Parser;
 return;
 }
 
@@ -64,6 +67,8 @@ VOID CAvailableApplicationInfo::RetrieveGeneralInfo()
 {
 RetrieveInstalledVersion();
 }
+
+delete m_Parser;
 }
 
 VOID CAvailableApplicationInfo::RetrieveInstalledStatus()
@@ -87,7 +92,7 @@ VOID CAvailableApplicationInfo::RetrieveLanguages()
 ATL::CStringW szBuffer;
 
 // TODO: Get multiline parameter
-if (!m_Parser.GetString(L"Languages", szBuffer))
+if (!m_Parser->GetString(L"Languages", szBuffer))
 {
 m_HasLanguageInfo = FALSE;
 return;
@@ -126,7 +131,7 @@ VOID CAvailableApplicationInfo::RetrieveLanguages()
 
 VOID CAvailableApplicationInfo::RetrieveLicenseType()
 {
-INT IntBuffer = m_Parser.GetInt(L"LicenseType");
+INT IntBuffer = m_Parser->GetInt(L"LicenseType");
 
 if (IsLicenseType(IntBuffer))
 {
@@ -195,7 +200,7 @@ VOID CAvailableApplicationInfo::SetLastWriteTime(FILETIME* 
ftTime)
 
 inline BOOL CAvailableApplicationInfo::GetString(LPCWSTR lpKeyName, 
ATL::CStringW& ReturnedString)
 {
-if (!m_Parser.GetString(lpKeyName, ReturnedString))
+if (!m_Parser->GetString(lpKeyName, ReturnedString))
 {
 ReturnedString.Empty();
 return FALSE;
diff --git a/base/applications/rapps/include/available.h 
b/base/applications/rapps/include/available.h
index e005250e81..ab95afc3b3 100644
--- a/base/applications/rapps/include/available.h
+++ b/base/applications/rapps/include/available.h
@@ -64,7 +64,7 @@ private:
 BOOL m_IsInstalled;
 BOOL m_HasLanguageInfo;
 BOOL m_HasInstalledVersion;
-CConfigParser m_Parser;
+CConfigParser* m_Parser;
 
 inline BOOL GetString(LPCWSTR lpKeyName, ATL::CStringW& ReturnedString);
 



[ros-diffs] [reactos] 01/01: CONTRIBUTING.md: Add legal notice

2017-10-26 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=a4f0a2390b9af18e2878671a2e26a89d979e788e

commit a4f0a2390b9af18e2878671a2e26a89d979e788e
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Fri Oct 27 01:29:28 2017 +0300

CONTRIBUTING.md: Add legal notice
---
 CONTRIBUTING.md | 5 +
 1 file changed, 5 insertions(+)

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 17465a2063..028fe8bead 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -6,6 +6,11 @@ There are several ways to contribute to the development of 
ReactOS. The most oft
 - [How To Contribute?](#how-to-contribute?)
 - [Where To Start?](#where-to-start?)
 
+**Legal notice:** If you have seen Microsoft Windows source code, your 
contribution won't be accepted because of potential copyright violation. Before 
contributing, you must affirm that the following is true:
+>I hereby swear that I have not used nor seen the source code to any version 
of the Windows operating system 
+>nor any Microsoft product that may be related to the proposed project that is 
under a license incompatible 
+>with contribution to ReactOS, including but not limited to the leaked Windows 
2000 source code and the Windows Research Kernel.
+
 ## What To Do?
 
 ### Fix bugs



[ros-diffs] [reactos] 01/01: [CONFIGURE] Add -VS_VER flag (#86)

2017-10-23 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=b46d3ce5e9cf6b054f9b9f354c74a0cf3fdb729b

commit b46d3ce5e9cf6b054f9b9f354c74a0cf3fdb729b
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Mon Oct 23 19:28:15 2017 +0300

[CONFIGURE] Add -VS_VER flag (#86)

This flag can override the detected version of VS.
Usage example: `configure.cmd vssolution -VS_VER 14`
---
 configure.cmd | 5 +
 1 file changed, 5 insertions(+)

diff --git a/configure.cmd b/configure.cmd
index ed19d9f5d9..6b0c5dfbb9 100755
--- a/configure.cmd
+++ b/configure.cmd
@@ -109,6 +109,11 @@ REM Parse command line parameters
 set CMAKE_GENERATOR="NMake Makefiles"
 ) else if /I "%1" == "VSSolution" (
 set VS_SOLUTION=1
+REM explicitly set VS version for project generator
+if /I "%2" == "-VS_VER" (
+set VS_VERSION=%3
+echo Visual Studio Environment set to 
!BUILD_ENVIRONMENT!!VS_VERSION!-!ARCH!
+)
 if "!VS_VERSION!" == "9" (
 if "!ARCH!" == "amd64" (
 set CMAKE_GENERATOR="Visual Studio 9 2008 Win64"



[ros-diffs] [reactos] 01/01: Create PULL_REQUEST_TEMPLATE.md

2017-10-17 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d385122f1ef6ccd467788592316acff72cdcecac

commit d385122f1ef6ccd467788592316acff72cdcecac
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Tue Oct 17 21:44:07 2017 +0300

Create PULL_REQUEST_TEMPLATE.md

This will act as a template for GitHub Pull Requests.
GitHub allows to hide this file in `.github` folder, so I did.
---
 .github/PULL_REQUEST_TEMPLATE.md | 13 +
 1 file changed, 13 insertions(+)

diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 00..c475bf0ce8
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,13 @@
+## Purpose
+
+_Do a quick recap of your work here._
+
+JIRA issue: [CORE-](https://jira.reactos.org/browse/CORE-)
+
+## Proposed changes
+- 
+- 
+
+## TODO
+- [ ] Task 1
+- [ ] Task 2



[ros-diffs] [reactos] 02/02: Update README.md: Add CONTRIBUTING mention

2017-10-17 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=ba35d63da15f1e5355bb04bc0469d67b4e2be2a2

commit ba35d63da15f1e5355bb04bc0469d67b4e2be2a2
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Tue Oct 17 20:09:36 2017 +0300

Update README.md: Add CONTRIBUTING mention
---
 README.md | 4 
 1 file changed, 4 insertions(+)

diff --git a/README.md b/README.md
index 06d7906045..a16f2699ac 100644
--- a/README.md
+++ b/README.md
@@ -59,6 +59,10 @@ See ["File Bugs"](https://www.reactos.org/wiki/File_Bugs) 
for a guide.
 
 __NOTE:__ The bug tracker is _not_ for discussions. Please use `#reactos` 
Freenode IRC channel or our [forum](https://reactos.org/forum).
 
+## Contributing
+
+We are always looking for developers! Check [how to 
contribute](CONTRIBUTING.md) if you are willing to participate.
+
 ## More information
 
 ReactOS is a Free and Open Source operating system based on the Windows 
architecture, 



[ros-diffs] [reactos] 01/02: Create CONTRIBUTING.md (#46) CONTRIBUTING.md is a common way to tell external developers on how to contribute. This way we can link to this file in case of git author name

2017-10-17 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d7c8a574581c8005303a523fe08c5f0cc853dbe4

commit d7c8a574581c8005303a523fe08c5f0cc853dbe4
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Tue Oct 10 11:43:18 2017 +0300

Create CONTRIBUTING.md (#46)
CONTRIBUTING.md is a common way to tell external developers on how to 
contribute.
This way we can link to this file in case of git author name issues for 
example.
---
 CONTRIBUTING.md | 93 +
 1 file changed, 93 insertions(+)

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 00..17465a2063
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,93 @@
+# How To Contribute
+
+There are several ways to contribute to the development of ReactOS. The most 
often encountered problem is not knowing where to begin or what to do. If you 
are able to program or understand the technical information that is pertinent 
to this project, helping the development can be easy.
+
+- [What To Do?](#what-to-do?)
+- [How To Contribute?](#how-to-contribute?)
+- [Where To Start?](#where-to-start?)
+
+## What To Do?
+
+### Fix bugs
+
+You can try to fix a few bugs that are already listed in [JIRA]. Squashing 
bugs is not a simple task. It requires a lot more skill than simply searching 
for them, and can be time consuming; however, by doing that you greatly help 
ReactOS become a stable system.
+
+_NOTE: patches related to 3rd party code such as Wine or BtrFS should be sent 
to upstream of the said projects. See [3rd Party Files.txt], [README.WINE] and 
[README.FSD] in [media/doc](media/doc) for details._
+
+### Fix tests
+
+Tests are used to check the functionality and correctness of APIs on ReactOS 
compared to Windows implementations. There are some unit tests that you could 
help ReactOS pass, which can be found [in the Web Test Manager][testman] and 
some that are broken or yet to be written.
+
+### Fix Coverity scans
+
+[Coverity] is enhanced static analysis that uncovers leaks, buffer overflows, 
security issues and other. We do such scans on ReactOS codebase pretty often. 
You can [request][request-coverity] to see Coverity 'defects' and help to fix 
them.
+
+### Test ReactOS
+
+By localizing bugs, developers can identify what causes the bug and which part 
it affects. There are a variety of methods to [debug] ReactOS while testing it. 
After identifying a bug, check if it is already known about by searching on 
JIRA and adding any additional information to the report. If you think that it 
is an unidentified bug, consider [filing a bug report].
+
+### Implement new things
+
+Considering ReactOS is alpha quality software, there is a lot of [missing 
functionality] that Windows operating systems have. Before starting a project 
to implement something, find out whether another person is working on the same 
thing. If you find that someone is already working on it, ask if any assistance 
is needed for what specifically is being worked on or a related project. More 
often than not, someone will start to implement something and move onto 
something else before it's comp [...]
+
+### Write documentation
+
+There are some important points if you would like to help document ReactOS:
+
+1. Make sure the documentation does not exist yet (if it does, help improve 
it).
+2. Respect [clean room reverse engineering] practices.
+3. Add your knowledge to a place where the other developers can find it.
+
+## How To Contribute?
+
+Your contribution can be of numerous forms. We currently accept two ways to 
contribute - Pull Requests and Patches.
+
+### Pull Requests
+
+Since our [migration to GitHub] we gladly accept __[Pull Requests]__. Pull 
requests let you tell others about changes you have pushed to a repository on 
GitHub. Once a pull request is opened, you can discuss and review the potential 
changes with collaborators and add follow-up commits before the changes are 
merged into the repository. __Pull request is a prefered way to submit your 
work__ - it makes reviewing and merging your contribution much easier.
+
+### Patches
+
+A __[patch]__ is a set of changes to existing source code. The changes in a 
patch can be merged into existing source code. This process is referred to as 
applying a patch (to source code). Which changes a patch contains and the way 
the patch is structured can have significant impact on the consequences that 
can happen from applying the patch. 
+
+See [Submitting Patches] for details.
+
+### Rules and Recommendations
+
+- *Use your __real name__ and __real email__.* We do not accept anonymous 
contributions!
+- *Ensure your contribution is properly described.* Include the relevant issue 
number if applicable.
+- *Put only related changes.* It will make reviewing easier as the reviewer 
needs to recall less information about the existing source code that is changed.
+- *Search for similar pull requests/patches before submitting.* 

[ros-diffs] [reactos] 01/01: README.md: Fix missing links

2017-10-08 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=48b27145781d7a0b7fc2d6772ad8c767c1af598c

commit 48b27145781d7a0b7fc2d6772ad8c767c1af598c
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Mon Oct 9 05:03:46 2017 +0300

README.md: Fix missing links
---
 README.md | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 8894fdb916..06d7906045 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@
 https://reactos.org/wiki/images/0/02/ReactOS_logo.png;>
 
 
-[![license.badge]][license.link] [![ghcontrib.badge]]() [![ghstats.badge]]() 
[![commits.badge]]() [![coverity.badge]][coverity.link] 
+[![license.badge]][license.link] [![ghcontrib.badge]][ghcontrib.link] 
[![ghstats.badge]][ghstats.link] [![commits.badge]][commits.link] 
[![coverity.badge]][coverity.link] 
 
 ## Quick Links
 
@@ -98,6 +98,7 @@ There is also an obsolete [SVN archive 
repository](https://svn.reactos.org/svn/r
 [travis.link]:  https://travis-ci.org/reactos/reactos
 [appveyor.link]:https://ci.appveyor.com/project/AmineKhaldi/reactos
 [coverity.link]:https://scan.coverity.com/projects/205
+[commits.link]: https://github.com/reactos/reactos/commits/master
 [release.link]: 
https://sourceforge.net/projects/reactos/files/ReactOS/0.4.6
 [license.link]: https://spdx.org/licenses/GPL-2.0+.html
 [sfstats.link]: https://sourceforge.net/projects/reactos



[ros-diffs] [reactos] 01/01: README.md: Added badges

2017-10-08 Thread Alexander Shaposhnikov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=7cffc6d5ce69ae02fe92e9644d5584931ab49d49

commit 7cffc6d5ce69ae02fe92e9644d5584931ab49d49
Author: Alexander Shaposhnikov <sanch...@reactos.org>
AuthorDate: Mon Oct 9 03:07:40 2017 +0300

README.md: Added badges

Added various badges: CI, SourceForge, GitHub stats etc.
Centered image
Fixed some typos
---
 README.md | 67 ---
 1 file changed, 43 insertions(+), 24 deletions(-)

diff --git a/README.md b/README.md
index 80825631ca..8894fdb916 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,13 @@
-# ReactOS Project
+# ReactOS Project [![release.badge]][release.link] 
[![sfstats.badge]][sfstats.link] [![travis.badge]][travis.link] 
[![appveyor.badge]][appveyor.link]
 
-Current version: __0.4.6__
-![ReactOS Logo](https://reactos.org/wiki/images/0/02/ReactOS_logo.png)
+
+https://reactos.org/wiki/images/0/02/ReactOS_logo.png;>
+
+
+[![license.badge]][license.link] [![ghcontrib.badge]]() [![ghstats.badge]]() 
[![commits.badge]]() [![coverity.badge]][coverity.link] 
 
 ## Quick Links
+
 - [Website](https://reactos.org)
 - [Wiki](https://reactos.org/wiki)
 - [Forum](https://reactos.org/forum)
@@ -13,27 +17,22 @@ Current version: __0.4.6__
 
 ## What is ReactOS?
 
-ReactOS™ is an Open Source effort to develop a quality operating system that is
-compatible with applications and drivers written for the Microsoft® Windows™ NT
-family of operating systems (NT4, 2000, XP, 2003, Vista, Seven).
+ReactOS™ is an Open Source effort to develop a quality operating system that 
is compatible with applications and drivers written for the Microsoft® Windows™ 
NT family of operating systems (NT4, 2000, XP, 2003, Vista, Seven).
 
-The ReactOS project, although currently focused on Windows Server 2003
-compatibility, is always keeping an eye toward compatibility with
-Windows Vista and future Windows NT releases.
+The ReactOS project, although currently focused on Windows Server 2003 
compatibility, is always keeping an eye toward compatibility with Windows Vista 
and future Windows NT releases.
 
 The code of ReactOS is licensed under [GNU GPL 
2.0+](https://spdx.org/licenses/GPL-2.0+.html).
 
-## Building
+## Building [![rosbewin.badge]][rosbewin.link] 
[![rosbeunix.badge]][rosbeunix.link]
 
-To build the system it is strongly advised to use the _ReactOS Build 
Environment
-(RosBE)._ Up-to-date versions for Windows and for Unix/GNU-Linux are available
-from our download page at: http://www.reactos.org/wiki/Build_Environment
+To build the system it is strongly advised to use the _ReactOS Build 
Environment (RosBE)._
+Up-to-date versions for Windows and for Unix/GNU-Linux are available from our 
download page at: http://www.reactos.org/wiki/Build_Environment.
 
-Alternatively one can use Microsoft Visual C++ (MSVC) version 2010+. Building 
with MSVC is covered here: https://www.reactos.org/wiki/Building_with_MSVC
+Alternatively one can use Microsoft Visual C++ (MSVC) version 2010+. Building 
with MSVC is covered here: https://www.reactos.org/wiki/Building_with_MSVC.
 
 ### Binaries
 
-To build ReactOS you must use run `configure` script in the directory you want 
to have builds. Choose `configure.cmd` or `configure.sh` depending on your 
system. Then run `ninja ` to build a module you want or just 
`ninja` to build all modules.
+To build ReactOS you must run the `configure` script in the directory you want 
to have your build files. Choose `configure.cmd` or `configure.sh` depending on 
your system. Then run `ninja ` to build a module you want or just 
`ninja` to build all modules.
 
 ### Bootable images
 
@@ -44,14 +43,11 @@ See ["Building 
ReactOS"](http://www.reactos.org/wiki/Building_ReactOS) for more
 
 ## Installing
 
-ReactOS can only be installed on a machine that has a FAT16 or FAT32 partition
-as the active (bootable) partition. The partition on which ReactOS is to be
-installed (which may or may not be the bootable partition) must also be
-formatted as FAT16 or FAT32. ReactOS Setup can format the partitions if
-needed.
+ReactOS currently can only be installed on a machine that has a FAT16 or FAT32 
partition as the active (bootable) partition. 
+The partition on which ReactOS is to be installed (which may or may not be the 
bootable partition) must also be formatted as FAT16 or FAT32. 
+ReactOS Setup can format the partitions if needed.
 
-To install ReactOS from the bootable CD distribution, extract the archive
-contents. Then burn the CD image, boot from it, and follow instructions.
+To install ReactOS from the bootable CD distribution, extract the archive 
contents. Then burn the CD image, boot from it, and follow the instructions.
 
 See ["Installing ReactOS"](https://www.reactos.org/wiki/Installing_ReactOS) 
Wiki page or [INSTALL](INSTALL) for more details.
 
@@ -74,15 +70,38 @@ ReactOS is also not "yet another OS". It does not attempt 
to 

[ros-diffs] [reactos] 01/01: Delete README

2017-10-04 Thread Alexander Shaposhnikov
This is an automated email from the git hooks/post-receive script.

www-data pushed a commit to branch master
in repository reactos.

View the commit online:
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=9f8693a4e4861a36d4dc7145f23201571a518f54

commit 9f8693a4e4861a36d4dc7145f23201571a518f54
Author: Alexander Shaposhnikov <sanch...@hotmail.com>
AuthorDate: Wed Oct 4 21:58:32 2017 +0300

Delete README
---
 README | 32 
 1 file changed, 32 deletions(-)

diff --git a/README b/README
deleted file mode 100644
index dcb2d9bddd..00
--- a/README
+++ /dev/null
@@ -1,32 +0,0 @@
-
-ReactOS� Version 0.4.x
-Updated January 5, 2016
-
-
-1. What is ReactOS?

-
-ReactOS� is an Open Source effort to develop a quality operating system that is
-compatible with applications and drivers written for the Microsoft� Windows� NT
-family of operating systems (NT4, 2000, XP, 2003, Vista, Seven).
-
-The ReactOS project, although currently focused on Windows Server 2003
-compatibility, is always keeping an eye toward compatibility with
-Windows Vista and future Windows NT releases.
-
-More information is available at: https://www.reactos.org
-
-2. Building ReactOS

-
-See the INSTALL file for more details.
-
-3. More information

-
-See the media\doc subdirectory for some sparse notes.
-
-4. Who is responsible
--
-
-See the CREDITS file.

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.



[ros-diffs] [reactos] 01/01: Delete README

2017-10-04 Thread Alexander Shaposhnikov
This is an automated email from the git hooks/post-receive script.

www-data pushed a commit to branch sanchaez-patch-1
in repository reactos.

View the commit online:
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=c5103c6765f6310da59a6f2d3c01ca1b913e112b

commit c5103c6765f6310da59a6f2d3c01ca1b913e112b
Author: Alexander Shaposhnikov <sanch...@hotmail.com>
AuthorDate: Wed Oct 4 21:58:32 2017 +0300

Delete README
---
 README | 32 
 1 file changed, 32 deletions(-)

diff --git a/README b/README
deleted file mode 100644
index dcb2d9bddd..00
--- a/README
+++ /dev/null
@@ -1,32 +0,0 @@
-
-ReactOS� Version 0.4.x
-Updated January 5, 2016
-
-
-1. What is ReactOS?

-
-ReactOS� is an Open Source effort to develop a quality operating system that is
-compatible with applications and drivers written for the Microsoft� Windows� NT
-family of operating systems (NT4, 2000, XP, 2003, Vista, Seven).
-
-The ReactOS project, although currently focused on Windows Server 2003
-compatibility, is always keeping an eye toward compatibility with
-Windows Vista and future Windows NT releases.
-
-More information is available at: https://www.reactos.org
-
-2. Building ReactOS

-
-See the INSTALL file for more details.
-
-3. More information

-
-See the media\doc subdirectory for some sparse notes.
-
-4. Who is responsible
--
-
-See the CREDITS file.

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.



[ros-diffs] [reactos] 01/01: Update README.md

2017-10-04 Thread Alexander Shaposhnikov
This is an automated email from the git hooks/post-receive script.

www-data pushed a commit to branch readme-badges
in repository reactos.

View the commit online:
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=bbf41ad6faa7f09d87df43885c1d966bc8575f91

commit bbf41ad6faa7f09d87df43885c1d966bc8575f91
Author: Alexander Shaposhnikov <sanch...@hotmail.com>
AuthorDate: Wed Oct 4 18:05:07 2017 +0300

Update README.md

Added download badges.
---
 README.md | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 4e01ecfecb..abde59c6a6 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,10 @@
 # ReactOS Project
 
-Current version: __0.4.6__
 ![ReactOS Logo](https://reactos.org/wiki/images/0/02/ReactOS_logo.png)
 
+[![Release 
0.4.6](https://img.shields.io/badge/release-v0.4.6-green.svg)](https://sourceforge.net/projects/reactos/files/ReactOS/0.4.6/)
+[![ReactOS Build 
Environment](https://img.shields.io/badge/RosBE-v2.1.5-blue.svg)](https://sourceforge.net/projects/reactos/files/RosBE-Windows/i386/2.1.5/)
+
 ## Quick Links
 - [Website](https://reactos.org)
 - [Wiki](https://reactos.org/wiki)

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.



[ros-diffs] [reactos] 01/01: Readme Markdown Page (#2)

2017-10-03 Thread Alexander Shaposhnikov
This is an automated email from the git hooks/post-receive script.

www-data pushed a commit to branch master
in repository reactos.

View the commit online:
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=42051b605526f70b26ff49ae6caafad967e42013

commit 42051b605526f70b26ff49ae6caafad967e42013
Author: Alexander Shaposhnikov <sanch...@hotmail.com>
AuthorDate: Wed Oct 4 08:28:08 2017 +0300

Readme Markdown Page (#2)

Create README.md
---
 README.md | 88 +++
 1 file changed, 88 insertions(+)

diff --git a/README.md b/README.md
new file mode 100644
index 00..e5da30b2a6
--- /dev/null
+++ b/README.md
@@ -0,0 +1,88 @@
+# ReactOS Project
+
+Current version: __0.4.6__
+![ReactOS Logo](https://reactos.org/wiki/images/0/02/ReactOS_logo.png)
+
+## Quick Links
+- [Website](https://reactos.org)
+- [Wiki](https://reactos.org/wiki)
+- [Forum](https://reactos.org/forum)
+- [JIRA Bug Tracker](https://jira.reactos.org/issues)
+- [ReactOS Git mirror](https://git.reactos.org)
+- [Testman](https://reactos.org/testman/)
+
+## What is ReactOS?
+
+ReactOS™ is an Open Source effort to develop a quality operating system that is
+compatible with applications and drivers written for the Microsoft® Windows™ NT
+family of operating systems (NT4, 2000, XP, 2003, Vista, Seven).
+
+The ReactOS project, although currently focused on Windows Server 2003
+compatibility, is always keeping an eye toward compatibility with
+Windows Vista and future Windows NT releases.
+
+The code of ReactOS is licensed under [GNU GPL 
2.0+](https://spdx.org/licenses/GPL-2.0+.html).
+
+## Building
+
+To build the system it is strongly advised to use the _ReactOS Build 
Environment
+(RosBE)._ Up-to-date versions for Windows and for Unix/GNU-Linux are available
+from our download page at: http://www.reactos.org/wiki/Build_Environment/
+
+Alternatively one can use Microsoft Visual C++ (MSVC) version 2010+. Building 
with MSVC is covered here: https://www.reactos.org/wiki/Building_with_MSVC
+
+### Binaries
+
+To build ReactOS you must use run `configure` script in the directory you want 
to have builds. Choose `configure.cmd` or `configure.sh` depending on your 
system. Then run `ninja ` to build a module you want or just 
`ninja` to build all modules.
+
+### Bootable images
+
+To build a bootable CD image run `ninja bootcd` from the
+build directory. This will create a CD image with a filename `bootcd.iso`.
+
+See ["Building ReactOS"](http://www.reactos.org/wiki/Building_ReactOS) for 
more details.
+
+## Installing
+
+ReactOS can only be installed on a machine that has a FAT16 or FAT32 partition
+as the active (bootable) partition. The partition on which ReactOS is to be
+installed (which may or may not be the bootable partition) must also be
+formatted as FAT16 or FAT32. ReactOS Setup can format the partitions if
+needed.
+
+To install ReactOS from the bootable CD distribution, extract the archive
+contents. Then burn the CD image, boot from it, and follow instructions.
+
+See ["Installing ReactOS"](https://www.reactos.org/wiki/Installing_ReactOS) 
Wiki page or [INSTALL](INSTALL) for more details.
+
+## Testing
+
+If you discover a bug in ReactOS search on JIRA first - it might be reported 
already. If not report the bug providing logs and as many information as 
possible. 
+
+See ["File Bugs"](https://www.reactos.org/wiki/File_Bugs) for a guide.
+
+__NOTE:__ The bug tracker is _not_ for discussions. Please use `#reactos` 
Freenode IRC channel or our [forum](https://reactos.org/forum).
+
+## More information
+
+ReactOS is a Free and Open Source operating system based on the Windows 
architecture, 
+providing support for existing applications and drivers, and an alternative to 
the current dominant consumer operating system.
+
+It is not another wrapper built on Linux, like WINE. It does not attempt or 
plan to compete with WINE; in fact, the user-mode part of ReactOS is almost 
entirely WINE-based and our two teams have cooperated closely in the past. 
+
+ReactOS is also not "yet another OS". It does not attempt to be a third player 
like any other alternative OS out there. People are not meant to uninstall 
Linux and use ReactOS instead; ReactOS is a replacement for Windows users who 
want a Windows replacement that behaves just like Windows.
+
+More information is available at: https://www.reactos.org.
+
+Also see the [media\doc](/media/doc/) subdirectory for some sparse notes.
+
+## Who is responsible
+
+Active devs are listed as members of [GitHub 
organization](https://github.com/orgs/reactos/people). 
+Also see the [CREDITS](CREDITS) file for others.
+
+## Code mirrors
+
+The main development is done on [GitHub](https://github.com/reactos/reactos). 
We have an [alternative mirror](https://git.reactos.org/) it case GitHub is 
down. 
+
+There is also an obsolete [SVN archive 
repository](https://svn.reactos.org/svn/react