From 3aeab000d9b056216e6bdd02df9bb3f4eb88471d Mon Sep 17 00:00:00 2001 From: evpobr Date: Wed, 20 Jan 2016 15:11:31 +0500 Subject: [PATCH 01/18] Ignore autogenerated files --- .gitignore | 2 ++ FBSHell/FBShell_h.h | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 8cbef80..250689e 100644 --- a/.gitignore +++ b/.gitignore @@ -219,3 +219,5 @@ pip-log.txt installer/Input/ installer/*.exe /FBE/ExportHTML/ExportHTML_i.h +FBE/FBE.h +FBSHell/FBShell_h.h diff --git a/FBSHell/FBShell_h.h b/FBSHell/FBShell_h.h index 3ae76a4..852f7b0 100644 --- a/FBSHell/FBShell_h.h +++ b/FBSHell/FBShell_h.h @@ -4,10 +4,10 @@ /* File created by MIDL compiler version 7.00.0555 */ -/* at Wed Jan 20 14:33:44 2016 +/* at Wed Jan 20 15:09:52 2016 */ /* Compiler settings for FBShell.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 + Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 protocol : dce , ms_ext, c_ext, robust error checks: allocation ref bounds_check enum stub_data VC __declspec() decoration level: From 24be31b571a78656995a1193c84f621ec936bbd8 Mon Sep 17 00:00:00 2001 From: evpobr Date: Sun, 24 Jan 2016 11:54:15 +0500 Subject: [PATCH 02/18] Add thumbnail handler --- FBE/FBE.h | 2 +- FBSHell/FBSHell.rc | 8 + FBSHell/FBShell.idl | 15 ++ FBSHell/FBShell.vcxproj | 18 +++ FBSHell/FBShell.vcxproj.filters | 19 +++ FBSHell/FBShell_h.h | 104 +++++++++++- FBSHell/FictionBook.cpp | 272 ++++++++++++++++++++++++++++++++ FBSHell/FictionBook.h | 39 +++++ FBSHell/StdAfx.h | 9 +- FBSHell/ThumbnailHandler.rgs | 22 +++ FBSHell/packages.config | 4 + FBSHell/resource.h | 9 +- FBSHell/targetver.h | 8 + fictionbookeditor.sln | 3 +- 14 files changed, 521 insertions(+), 11 deletions(-) create mode 100644 FBSHell/FictionBook.cpp create mode 100644 FBSHell/FictionBook.h create mode 100644 FBSHell/ThumbnailHandler.rgs create mode 100644 FBSHell/packages.config create mode 100644 FBSHell/targetver.h diff --git a/FBE/FBE.h b/FBE/FBE.h index 5053b1a..de249db 100644 --- a/FBE/FBE.h +++ b/FBE/FBE.h @@ -4,7 +4,7 @@ /* File created by MIDL compiler version 7.00.0555 */ -/* at Wed Jan 20 14:11:40 2016 +/* at Wed Jan 20 15:10:25 2016 */ /* Compiler settings for fbe.idl: Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 diff --git a/FBSHell/FBSHell.rc b/FBSHell/FBSHell.rc index 0903a47..b6001cc 100644 --- a/FBSHell/FBSHell.rc +++ b/FBSHell/FBSHell.rc @@ -44,6 +44,14 @@ END #endif // APSTUDIO_INVOKED + +///////////////////////////////////////////////////////////////////////////// +// +// REGISTRY +// + +IDR_THUMBNAILHANDLER REGISTRY "ThumbnailHandler.rgs" + #endif // Russian (Russia) resources ///////////////////////////////////////////////////////////////////////////// diff --git a/FBSHell/FBShell.idl b/FBSHell/FBShell.idl index af98880..a6f35a9 100644 --- a/FBSHell/FBShell.idl +++ b/FBSHell/FBShell.idl @@ -2,6 +2,13 @@ import "oaidl.idl"; import "ocidl.idl"; import "shobjIdl.idl"; +[ + object, + uuid(F78C41C3-CA33-4674-AFE9-AADEA62FFF61), + pointer_default(unique) +] +interface IThumbnailHandler : IUnknown{ +}; [ uuid(52DFA274-E911-470E-A2AA-F2B7795F56E6), version(1.0), @@ -35,4 +42,12 @@ library FBShellLib { interface IUnknown; }; + [ + uuid(585CFC85-7939-4004-9693-EB8C6F848B1F) + ] + coclass ThumbnailHandler + { + [default] interface IThumbnailProvider; + }; } +import "thumbcache.idl"; diff --git a/FBSHell/FBShell.vcxproj b/FBSHell/FBShell.vcxproj index 4d636d8..05d4102 100644 --- a/FBSHell/FBShell.vcxproj +++ b/FBSHell/FBShell.vcxproj @@ -218,6 +218,7 @@ FBShell.def msxml6.lib;crypt32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + Windows /Zc:threadSafeInit- @@ -230,6 +231,7 @@ FBShell.def msxml6.lib;crypt32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + Windows /Zc:threadSafeInit- @@ -242,6 +244,7 @@ FBShell.def msxml6.lib;crypt32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + Windows /Zc:threadSafeInit- @@ -254,6 +257,7 @@ FBShell.def msxml6.lib;crypt32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + Windows /Zc:threadSafeInit- @@ -277,6 +281,7 @@ NotUsing NotUsing + Create @@ -288,6 +293,7 @@ Create Create + @@ -299,6 +305,8 @@ + + @@ -306,9 +314,12 @@ + + + @@ -318,5 +329,12 @@ + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + \ No newline at end of file diff --git a/FBSHell/FBShell.vcxproj.filters b/FBSHell/FBShell.vcxproj.filters index 8c5c5f6..9c95c86 100644 --- a/FBSHell/FBShell.vcxproj.filters +++ b/FBSHell/FBShell.vcxproj.filters @@ -39,6 +39,12 @@ Generated Files + + Source Files + + + Source Files + @@ -64,6 +70,10 @@ Resource Files + + Resource Files + + @@ -90,6 +100,15 @@ Generated Files + + Header Files + + + Header Files + + + Header Files + diff --git a/FBSHell/FBShell_h.h b/FBSHell/FBShell_h.h index 852f7b0..34aad7a 100644 --- a/FBSHell/FBShell_h.h +++ b/FBSHell/FBShell_h.h @@ -4,10 +4,10 @@ /* File created by MIDL compiler version 7.00.0555 */ -/* at Wed Jan 20 15:09:52 2016 +/* at Sat Jan 23 18:35:58 2016 */ /* Compiler settings for FBShell.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 + Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 protocol : dce , ms_ext, c_ext, robust error checks: allocation ref bounds_check enum stub_data VC __declspec() decoration level: @@ -31,6 +31,10 @@ #error this stub requires an updated version of #endif // __RPCNDR_H_VERSION__ +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif /*COM_NO_WINDOWS_H*/ #ifndef __FBShell_h_h__ #define __FBShell_h_h__ @@ -41,6 +45,12 @@ /* Forward Declarations */ +#ifndef __IThumbnailHandler_FWD_DEFINED__ +#define __IThumbnailHandler_FWD_DEFINED__ +typedef interface IThumbnailHandler IThumbnailHandler; +#endif /* __IThumbnailHandler_FWD_DEFINED__ */ + + #ifndef __IconExtractor_FWD_DEFINED__ #define __IconExtractor_FWD_DEFINED__ @@ -77,16 +87,98 @@ typedef struct ColumnProvider ColumnProvider; #endif /* __ColumnProvider_FWD_DEFINED__ */ +#ifndef __ThumbnailHandler_FWD_DEFINED__ +#define __ThumbnailHandler_FWD_DEFINED__ + +#ifdef __cplusplus +typedef class ThumbnailHandler ThumbnailHandler; +#else +typedef struct ThumbnailHandler ThumbnailHandler; +#endif /* __cplusplus */ + +#endif /* __ThumbnailHandler_FWD_DEFINED__ */ + + /* header files for imported files */ #include "oaidl.h" #include "ocidl.h" #include "shobjIdl.h" +#include "thumbcache.h" #ifdef __cplusplus extern "C"{ #endif +#ifndef __IThumbnailHandler_INTERFACE_DEFINED__ +#define __IThumbnailHandler_INTERFACE_DEFINED__ + +/* interface IThumbnailHandler */ +/* [unique][uuid][object] */ + + +EXTERN_C const IID IID_IThumbnailHandler; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("F78C41C3-CA33-4674-AFE9-AADEA62FFF61") + IThumbnailHandler : public IUnknown + { + public: + }; + +#else /* C style interface */ + + typedef struct IThumbnailHandlerVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IThumbnailHandler * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IThumbnailHandler * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IThumbnailHandler * This); + + END_INTERFACE + } IThumbnailHandlerVtbl; + + interface IThumbnailHandler + { + CONST_VTBL struct IThumbnailHandlerVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IThumbnailHandler_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IThumbnailHandler_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IThumbnailHandler_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IThumbnailHandler_INTERFACE_DEFINED__ */ + + #ifndef __FBShellLib_LIBRARY_DEFINED__ #define __FBShellLib_LIBRARY_DEFINED__ @@ -120,6 +212,14 @@ EXTERN_C const CLSID CLSID_ColumnProvider; class DECLSPEC_UUID("8CBB373E-693A-4bea-ADF3-D05EAE41684B") ColumnProvider; #endif + +EXTERN_C const CLSID CLSID_ThumbnailHandler; + +#ifdef __cplusplus + +class DECLSPEC_UUID("585CFC85-7939-4004-9693-EB8C6F848B1F") +ThumbnailHandler; +#endif #endif /* __FBShellLib_LIBRARY_DEFINED__ */ /* Additional Prototypes for ALL interfaces */ diff --git a/FBSHell/FictionBook.cpp b/FBSHell/FictionBook.cpp new file mode 100644 index 0000000..80e2ed6 --- /dev/null +++ b/FBSHell/FictionBook.cpp @@ -0,0 +1,272 @@ +// FictionBook.cpp : Implementation of CFictionBook + +#include "stdafx.h" +#include +#include +#include "FictionBook.h" + +using namespace FictionBook2; + +HRESULT CFictionBook::LoadFromStream(IStream* pStream, DWORD grfMode) +{ + HRESULT hr = S_FALSE; + // Load from stream your document data + try + { + if (!pStream) + AtlThrow(E_INVALIDARG); + if (!m_imgCoverpage.IsNull()) + AtlThrow(HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)); + + + CComPtr spDoc = nullptr; + hr = LoadFB2Document(pStream, &spDoc); + if (SUCCEEDED(hr)) + { + CString strHRef; + hr = GetCoverpageHRef(spDoc, strHRef); + if (SUCCEEDED(hr)) + { + CComPtr spNode; + hr = GetBinaryNodeById(spDoc, strHRef, &spNode); + if (SUCCEEDED(hr)) + { + CString strBase64; + hr = GetBinaryBase64String(spNode, strBase64); + if (SUCCEEDED(hr)) + { + CComPtr spCoverpageStream = nullptr; + hr = DecodeBase64StringToStream(strBase64, &spCoverpageStream); + if (SUCCEEDED(hr)) + { + hr = m_imgCoverpage.Load(spCoverpageStream); + } + } + } + } + } + } + catch (CAtlException &ex) + { + hr = ex; + } + + return hr; +} + +void CFictionBook::InitializeSearchContent() +{ + // initialise search content from document's data as the following value + CString value = _T("test;content;"); + SetSearchContent(value); +} + +void CFictionBook::SetSearchContent(CString& value) +{ + // Assigns search content to PKEY_Search_Contents key + if (value.IsEmpty()) + { + RemoveChunk(PKEY_Search_Contents.fmtid, PKEY_Search_Contents.pid); + } + else + { + CFilterChunkValueImpl *pChunk = NULL; + ATLTRY(pChunk = new CFilterChunkValueImpl); + if (pChunk != NULL) + { + pChunk->SetTextValue(PKEY_Search_Contents, value, CHUNK_TEXT); + SetChunkValue(pChunk); + } + } +} + +void CFictionBook::OnDrawThumbnail(HDC hDrawDC, LPRECT lprcBounds) +{ + float imageWidth = (float)m_imgCoverpage.GetWidth(); + float imageHeight = (float)m_imgCoverpage.GetHeight(); + float scale = 0.0f; + + if (imageWidth <= imageHeight) + scale = (float)lprcBounds->bottom - lprcBounds->top / (float)m_imgCoverpage.GetHeight(); + else + scale = (float)lprcBounds->right - lprcBounds->left / (float)m_imgCoverpage.GetWidth(); + + float thumbWidth = (float)imageWidth * scale; + float thumbHeight = (float)imageHeight * scale; +} + +HRESULT FictionBook2::CFictionBook::LoadFB2Document(IStream * pStream, IXMLDOMDocument2 ** pDoc) +{ + HRESULT hr; + + try + { + if (!pStream) + AtlThrow(E_INVALIDARG); + + CComPtr spDoc = nullptr; + + hr = spDoc.CoCreateInstance(L"Msxml2.DOMDocument.6.0"); + if FAILED(hr) + AtlThrow(hr); + + hr = spDoc->put_async(VARIANT_FALSE); + if FAILED(hr) + AtlThrow(hr); + hr = spDoc->put_validateOnParse(VARIANT_FALSE); + if FAILED(hr) + AtlThrow(hr); + spDoc->setProperty(CComBSTR(L"SelectionLanguage"), CComVariant(L"XPath")); + if FAILED(hr) + AtlThrow(hr); + spDoc->setProperty(CComBSTR(L"SelectionNamespaces"), CComVariant(L"xmlns:fb=\"http://www.gribuser.ru/xml/fictionbook/2.0\" xmlns:l=\"http://www.w3.org/1999/xlink\"")); + if FAILED(hr) + AtlThrow(hr); + + CComVariant varStream(pStream); + VARIANT_BOOL isSuccessful = VARIANT_FALSE; + hr = spDoc->load(varStream, &isSuccessful); + if FAILED(hr) + AtlThrow(hr); + + *pDoc = spDoc.Detach(); + } + catch (CAtlException &ex) + { + *pDoc = nullptr; + hr = ex; + } + + return hr; +} + +HRESULT FictionBook2::CFictionBook::DecodeBase64StringToStream(CString strBase64, IStream ** pStream) +{ + HRESULT hr = E_FAIL; + + try + { + DWORD cbBinary = 0; + BOOL bRet = ::CryptStringToBinaryW(strBase64, strBase64.GetLength(), CRYPT_STRING_BASE64, nullptr, &cbBinary, nullptr, nullptr); + if (!bRet) + AtlThrow(E_FAIL); + CHeapPtr spBinary; + spBinary.Allocate(cbBinary); + bRet = ::CryptStringToBinaryW(strBase64, strBase64.GetLength(), CRYPT_STRING_BASE64, spBinary, &cbBinary, nullptr, nullptr); + if (!bRet) + AtlThrow(E_FAIL); + + // Copy image data to stream + CComPtr spStream = nullptr; + spStream.Attach(SHCreateMemStream(nullptr, 0)); + if (!spStream) + AtlThrow(E_FAIL); + hr = spStream->Write(spBinary, cbBinary, nullptr); + if FAILED(hr) + AtlThrow(hr); + + *pStream = spStream.Detach(); + } + catch (CAtlException &ex) + { + *pStream = nullptr; + hr = ex; + } + + return hr; +} + +HRESULT FictionBook2::CFictionBook::GetCoverpageHRef(IXMLDOMDocument2 * pDoc, CString & strHRef) +{ + HRESULT hr = E_FAIL; + CComPtr spCoverpageImageNode; + + try + { + if (!pDoc) + AtlThrow(hr); + + hr = pDoc->selectSingleNode(CComBSTR(L"//fb:FictionBook/fb:description/fb:title-info/fb:coverpage/fb:image"), &spCoverpageImageNode); + if ((FAILED(hr)) || (hr == S_FALSE)) + AtlThrow(hr); + + CComPtr spElement; + hr = spCoverpageImageNode.QueryInterface(&spElement); + if FAILED(hr) + AtlThrow(hr); + + CComVariant varHRef; + hr = spElement->getAttribute(CComBSTR(L"l:href"), &varHRef); + if FAILED(hr) + AtlThrow(hr); + + strHRef = varHRef; + + if (strHRef[0] == L'#') + strHRef.Delete(0, 1); + else + AtlThrow(E_FAIL); + } + catch (CAtlException &ex) + { + hr = ex; + } + + return hr; +} + +HRESULT FictionBook2::CFictionBook::GetBinaryNodeById(IXMLDOMDocument2 * pDoc, LPCWSTR pszId, IXMLDOMNode ** pNode) +{ + HRESULT hr = E_FAIL; + + try + { + if (!pDoc) + AtlThrow(E_INVALIDARG); + if (!pszId) + AtlThrow(E_INVALIDARG); + + CString strBinaryId; + CComPtr spNode = nullptr; + + strBinaryId.Format(L"//fb:FictionBook/fb:binary[@id='%s']", pszId); + + hr = pDoc->selectSingleNode(CComBSTR(strBinaryId), &spNode); + if (FAILED(hr) || (hr == S_FALSE)) + AtlThrow(hr); + + *pNode = spNode.Detach(); + } + catch (CAtlException &ex) + { + *pNode = nullptr; + hr = ex; + } + + return hr; +} + +HRESULT FictionBook2::CFictionBook::GetBinaryBase64String(IXMLDOMNode * pNode, CString & strBase64) +{ + HRESULT hr = E_FAIL; + + try + { + if (!pNode) + AtlThrow(E_INVALIDARG); + + CComBSTR bstrCoverpageData; + hr = pNode->get_text(&bstrCoverpageData); + if (FAILED(hr)) + AtlThrow(hr); + + strBase64 = bstrCoverpageData; + } + catch (CAtlException &ex) + { + strBase64.Empty(); + hr = ex; + } + + return hr; +} diff --git a/FBSHell/FictionBook.h b/FBSHell/FictionBook.h new file mode 100644 index 0000000..933439e --- /dev/null +++ b/FBSHell/FictionBook.h @@ -0,0 +1,39 @@ +// FictionBook.h : Declaration of the CFictionBook + +#pragma once + +#include +#include + +using namespace ATL; + +namespace FictionBook2 +{ + + class CFictionBook : public CAtlDocumentImpl + { + public: + CFictionBook(void) + { + } + + virtual ~CFictionBook(void) + { + } + + virtual HRESULT LoadFromStream(IStream* pStream, DWORD grfMode); + virtual void InitializeSearchContent(); + + protected: + CImage m_imgCoverpage; + + void SetSearchContent(CString& value); + virtual void OnDrawThumbnail(HDC hDrawDC, LPRECT lprcBounds); + + HRESULT LoadFB2Document(_In_ IStream *pStream, _COM_Outptr_ IXMLDOMDocument2 **pDoc); + HRESULT DecodeBase64StringToStream(_In_ CString strBase64, _COM_Outptr_ IStream **pStream); + HRESULT GetCoverpageHRef(_In_ IXMLDOMDocument2 *pDoc, _Out_ CString &strHRef); + HRESULT GetBinaryNodeById(_In_ IXMLDOMDocument2 *pDoc, _In_z_ LPCWSTR pszId, _COM_Outptr_ IXMLDOMNode **pNode); + HRESULT GetBinaryBase64String(_In_ IXMLDOMNode *pNode, _Out_ CString &strBase64); + }; +} diff --git a/FBSHell/StdAfx.h b/FBSHell/StdAfx.h index 5495487..49a5035 100644 --- a/FBSHell/StdAfx.h +++ b/FBSHell/StdAfx.h @@ -15,9 +15,7 @@ #error This program requires unicode support to run #endif -#define WINVER 0x0501 // W2K/98 -#define _WIN32_WINNT 0x0501 // W2K -#define _WIN32_IE 0x0500 // IE 5+ +#include "targetver.h" // we are MT by default #define _ATL_APARTMENT_THREADED @@ -30,13 +28,18 @@ #include +#include +#include + #include #include #include +#include #include _COM_SMARTPTR_TYPEDEF(ISAXXMLReader, __uuidof(ISAXXMLReader)); +#define SHARED_HANDLERS #include #include diff --git a/FBSHell/ThumbnailHandler.rgs b/FBSHell/ThumbnailHandler.rgs new file mode 100644 index 0000000..d9ac5cb --- /dev/null +++ b/FBSHell/ThumbnailHandler.rgs @@ -0,0 +1,22 @@ +HKCR +{ + NoRemove CLSID + { + ForceRemove {585CFC85-7939-4004-9693-EB8C6F848B1F} = s 'ThumbnailHandler Class' + { + InprocServer32 = s '%MODULE%' + { + val ThreadingModel = s 'Apartment' + } + TypeLib = s '{52DFA274-E911-470E-A2AA-F2B7795F56E6}' + Version = s '1.0' + } + } + NoRemove .fb2 + { + NoRemove ShellEx + { + ForceRemove {E357FCCD-A995-4576-B01F-234630154E96} = s '{585CFC85-7939-4004-9693-EB8C6F848B1F}' + } + } +} diff --git a/FBSHell/packages.config b/FBSHell/packages.config new file mode 100644 index 0000000..7df3378 --- /dev/null +++ b/FBSHell/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/FBSHell/resource.h b/FBSHell/resource.h index 7a79de7..9b394a5 100644 --- a/FBSHell/resource.h +++ b/FBSHell/resource.h @@ -1,13 +1,14 @@ //{{NO_DEPENDENCIES}} -// Microsoft Developer Studio generated include file. -// Used by FBShell.rc +// Microsoft Visual C++ generated include file. +// Used by FBSHell.rc // #define IDR_COLUMNPROVIDER 101 #define IDR_ICONEXTRACTOR 102 #define IDI_FB2 103 #define IDR_CONTEXTMENU 104 #define IDR_NSFOLDER 105 -#define IDR_FBSHELL 106 +#define IDR_FBSHELL 106 +#define IDR_THUMBNAILHANDLER 107 // Next default values for new objects // @@ -16,6 +17,6 @@ #define _APS_NEXT_RESOURCE_VALUE 107 #define _APS_NEXT_COMMAND_VALUE 40001 #define _APS_NEXT_CONTROL_VALUE 1000 -#define _APS_NEXT_SYMED_VALUE 102 +#define _APS_NEXT_SYMED_VALUE 108 #endif #endif diff --git a/FBSHell/targetver.h b/FBSHell/targetver.h new file mode 100644 index 0000000..260094a --- /dev/null +++ b/FBSHell/targetver.h @@ -0,0 +1,8 @@ +#pragma once + +#include + +#define NTDDI_VERSION 0x06000000 +#define _WIN32_WINNT 0x0600 + +#include diff --git a/fictionbookeditor.sln b/fictionbookeditor.sln index 23e699a..6901b5d 100644 --- a/fictionbookeditor.sln +++ b/fictionbookeditor.sln @@ -48,7 +48,8 @@ Global {856C10BA-254C-4FA0-B45B-00F4B5A6DEB2}.Debug_dll|x64.Build.0 = Release|Win32 {856C10BA-254C-4FA0-B45B-00F4B5A6DEB2}.Debug|Win32.ActiveCfg = Debug|Win32 {856C10BA-254C-4FA0-B45B-00F4B5A6DEB2}.Debug|Win32.Build.0 = Debug|Win32 - {856C10BA-254C-4FA0-B45B-00F4B5A6DEB2}.Debug|x64.ActiveCfg = Debug|Win32 + {856C10BA-254C-4FA0-B45B-00F4B5A6DEB2}.Debug|x64.ActiveCfg = Debug|x64 + {856C10BA-254C-4FA0-B45B-00F4B5A6DEB2}.Debug|x64.Build.0 = Debug|x64 {856C10BA-254C-4FA0-B45B-00F4B5A6DEB2}.MinSizeRel|Win32.ActiveCfg = Release|Win32 {856C10BA-254C-4FA0-B45B-00F4B5A6DEB2}.MinSizeRel|Win32.Build.0 = Release|Win32 {856C10BA-254C-4FA0-B45B-00F4B5A6DEB2}.MinSizeRel|x64.ActiveCfg = Release|Win32 From 03f83c72282410ba4ba3b969399c3faecc944c75 Mon Sep 17 00:00:00 2001 From: evpobr Date: Sun, 24 Jan 2016 19:45:15 +0500 Subject: [PATCH 03/18] Add thumbnail handler, closes #210 --- FBSHell/FBShell.vcxproj | 13 +- FBSHell/FBShell.vcxproj.filters | 7 - FBSHell/FictionBook.h | 39 ---- FBSHell/StdAfx.h | 4 - .../{FictionBook.cpp => ThumbnailHandler.cpp} | 182 ++++++++---------- FBSHell/ThumbnailHandler.h | 72 +++++++ FBSHell/dlldata.c | 37 ++++ FBSHell/packages.config | 4 - 8 files changed, 195 insertions(+), 163 deletions(-) delete mode 100644 FBSHell/FictionBook.h rename FBSHell/{FictionBook.cpp => ThumbnailHandler.cpp} (64%) create mode 100644 FBSHell/ThumbnailHandler.h create mode 100644 FBSHell/dlldata.c delete mode 100644 FBSHell/packages.config diff --git a/FBSHell/FBShell.vcxproj b/FBSHell/FBShell.vcxproj index 05d4102..4b3a366 100644 --- a/FBSHell/FBShell.vcxproj +++ b/FBSHell/FBShell.vcxproj @@ -281,7 +281,6 @@ NotUsing NotUsing - Create @@ -305,7 +304,6 @@ - @@ -314,7 +312,6 @@ - @@ -328,13 +325,5 @@ - - - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - + \ No newline at end of file diff --git a/FBSHell/FBShell.vcxproj.filters b/FBSHell/FBShell.vcxproj.filters index 9c95c86..bd9429f 100644 --- a/FBSHell/FBShell.vcxproj.filters +++ b/FBSHell/FBShell.vcxproj.filters @@ -39,9 +39,6 @@ Generated Files - - Source Files - Source Files @@ -73,7 +70,6 @@ Resource Files - @@ -100,9 +96,6 @@ Generated Files - - Header Files - Header Files diff --git a/FBSHell/FictionBook.h b/FBSHell/FictionBook.h deleted file mode 100644 index 933439e..0000000 --- a/FBSHell/FictionBook.h +++ /dev/null @@ -1,39 +0,0 @@ -// FictionBook.h : Declaration of the CFictionBook - -#pragma once - -#include -#include - -using namespace ATL; - -namespace FictionBook2 -{ - - class CFictionBook : public CAtlDocumentImpl - { - public: - CFictionBook(void) - { - } - - virtual ~CFictionBook(void) - { - } - - virtual HRESULT LoadFromStream(IStream* pStream, DWORD grfMode); - virtual void InitializeSearchContent(); - - protected: - CImage m_imgCoverpage; - - void SetSearchContent(CString& value); - virtual void OnDrawThumbnail(HDC hDrawDC, LPRECT lprcBounds); - - HRESULT LoadFB2Document(_In_ IStream *pStream, _COM_Outptr_ IXMLDOMDocument2 **pDoc); - HRESULT DecodeBase64StringToStream(_In_ CString strBase64, _COM_Outptr_ IStream **pStream); - HRESULT GetCoverpageHRef(_In_ IXMLDOMDocument2 *pDoc, _Out_ CString &strHRef); - HRESULT GetBinaryNodeById(_In_ IXMLDOMDocument2 *pDoc, _In_z_ LPCWSTR pszId, _COM_Outptr_ IXMLDOMNode **pNode); - HRESULT GetBinaryBase64String(_In_ IXMLDOMNode *pNode, _Out_ CString &strBase64); - }; -} diff --git a/FBSHell/StdAfx.h b/FBSHell/StdAfx.h index 49a5035..fc763b7 100644 --- a/FBSHell/StdAfx.h +++ b/FBSHell/StdAfx.h @@ -28,13 +28,9 @@ #include -#include -#include - #include #include #include -#include #include diff --git a/FBSHell/FictionBook.cpp b/FBSHell/ThumbnailHandler.cpp similarity index 64% rename from FBSHell/FictionBook.cpp rename to FBSHell/ThumbnailHandler.cpp index 80e2ed6..7c083d4 100644 --- a/FBSHell/FictionBook.cpp +++ b/FBSHell/ThumbnailHandler.cpp @@ -1,101 +1,12 @@ -// FictionBook.cpp : Implementation of CFictionBook +// ThumbnailHandler.cpp : Implementation of CThumbnailHandler #include "stdafx.h" -#include -#include -#include "FictionBook.h" +#include "ThumbnailHandler.h" -using namespace FictionBook2; -HRESULT CFictionBook::LoadFromStream(IStream* pStream, DWORD grfMode) -{ - HRESULT hr = S_FALSE; - // Load from stream your document data - try - { - if (!pStream) - AtlThrow(E_INVALIDARG); - if (!m_imgCoverpage.IsNull()) - AtlThrow(HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)); - - - CComPtr spDoc = nullptr; - hr = LoadFB2Document(pStream, &spDoc); - if (SUCCEEDED(hr)) - { - CString strHRef; - hr = GetCoverpageHRef(spDoc, strHRef); - if (SUCCEEDED(hr)) - { - CComPtr spNode; - hr = GetBinaryNodeById(spDoc, strHRef, &spNode); - if (SUCCEEDED(hr)) - { - CString strBase64; - hr = GetBinaryBase64String(spNode, strBase64); - if (SUCCEEDED(hr)) - { - CComPtr spCoverpageStream = nullptr; - hr = DecodeBase64StringToStream(strBase64, &spCoverpageStream); - if (SUCCEEDED(hr)) - { - hr = m_imgCoverpage.Load(spCoverpageStream); - } - } - } - } - } - } - catch (CAtlException &ex) - { - hr = ex; - } - - return hr; -} - -void CFictionBook::InitializeSearchContent() -{ - // initialise search content from document's data as the following value - CString value = _T("test;content;"); - SetSearchContent(value); -} - -void CFictionBook::SetSearchContent(CString& value) -{ - // Assigns search content to PKEY_Search_Contents key - if (value.IsEmpty()) - { - RemoveChunk(PKEY_Search_Contents.fmtid, PKEY_Search_Contents.pid); - } - else - { - CFilterChunkValueImpl *pChunk = NULL; - ATLTRY(pChunk = new CFilterChunkValueImpl); - if (pChunk != NULL) - { - pChunk->SetTextValue(PKEY_Search_Contents, value, CHUNK_TEXT); - SetChunkValue(pChunk); - } - } -} - -void CFictionBook::OnDrawThumbnail(HDC hDrawDC, LPRECT lprcBounds) -{ - float imageWidth = (float)m_imgCoverpage.GetWidth(); - float imageHeight = (float)m_imgCoverpage.GetHeight(); - float scale = 0.0f; - - if (imageWidth <= imageHeight) - scale = (float)lprcBounds->bottom - lprcBounds->top / (float)m_imgCoverpage.GetHeight(); - else - scale = (float)lprcBounds->right - lprcBounds->left / (float)m_imgCoverpage.GetWidth(); - - float thumbWidth = (float)imageWidth * scale; - float thumbHeight = (float)imageHeight * scale; -} +// CThumbnailHandler -HRESULT FictionBook2::CFictionBook::LoadFB2Document(IStream * pStream, IXMLDOMDocument2 ** pDoc) +HRESULT CThumbnailHandler::LoadFB2Document(IStream * pStream, _COM_Outptr_ IXMLDOMDocument2 **pDoc) { HRESULT hr; @@ -140,7 +51,7 @@ HRESULT FictionBook2::CFictionBook::LoadFB2Document(IStream * pStream, IXMLDOMDo return hr; } -HRESULT FictionBook2::CFictionBook::DecodeBase64StringToStream(CString strBase64, IStream ** pStream) +HRESULT CThumbnailHandler::DecodeBase64StringToStream(CString strBase64, IStream ** pStream) { HRESULT hr = E_FAIL; @@ -176,7 +87,7 @@ HRESULT FictionBook2::CFictionBook::DecodeBase64StringToStream(CString strBase64 return hr; } -HRESULT FictionBook2::CFictionBook::GetCoverpageHRef(IXMLDOMDocument2 * pDoc, CString & strHRef) +HRESULT CThumbnailHandler::GetCoverpageHRef(IXMLDOMDocument2 * pDoc, CString & strHRef) { HRESULT hr = E_FAIL; CComPtr spCoverpageImageNode; @@ -215,7 +126,7 @@ HRESULT FictionBook2::CFictionBook::GetCoverpageHRef(IXMLDOMDocument2 * pDoc, CS return hr; } -HRESULT FictionBook2::CFictionBook::GetBinaryNodeById(IXMLDOMDocument2 * pDoc, LPCWSTR pszId, IXMLDOMNode ** pNode) +HRESULT CThumbnailHandler::GetBinaryNodeById(IXMLDOMDocument2 * pDoc, LPCWSTR pszId, IXMLDOMNode ** pNode) { HRESULT hr = E_FAIL; @@ -246,7 +157,7 @@ HRESULT FictionBook2::CFictionBook::GetBinaryNodeById(IXMLDOMDocument2 * pDoc, L return hr; } -HRESULT FictionBook2::CFictionBook::GetBinaryBase64String(IXMLDOMNode * pNode, CString & strBase64) +HRESULT CThumbnailHandler::GetBinaryBase64String(IXMLDOMNode * pNode, CString & strBase64) { HRESULT hr = E_FAIL; @@ -270,3 +181,80 @@ HRESULT FictionBook2::CFictionBook::GetBinaryBase64String(IXMLDOMNode * pNode, C return hr; } + +HRESULT CThumbnailHandler::Initialize(IStream * pstream, DWORD grfMode) +{ + HRESULT hr; + try + { + if (!m_imgCoverpage.IsNull()) + AtlThrow(HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)); + + CComPtr spDoc = nullptr; + hr = LoadFB2Document(pstream, &spDoc); + if (SUCCEEDED(hr)) + { + CString strHRef; + hr = GetCoverpageHRef(spDoc, strHRef); + if (SUCCEEDED(hr)) + { + CComPtr spNode; + hr = GetBinaryNodeById(spDoc, strHRef, &spNode); + if (SUCCEEDED(hr)) + { + CString strBase64; + hr = GetBinaryBase64String(spNode, strBase64); + if (SUCCEEDED(hr)) + { + CComPtr spStream = nullptr; + hr = DecodeBase64StringToStream(strBase64, &spStream); + if (SUCCEEDED(hr)) + hr = m_imgCoverpage.Load(spStream); + } + } + } + } + } + catch (CAtlException &ex) + { + hr = ex; + } + return hr; +} + +HRESULT CThumbnailHandler::GetThumbnail(UINT cx, HBITMAP * phbmp, WTS_ALPHATYPE * pdwAlpha) +{ + HRESULT hr = S_FALSE; + float imageWidth = (float)m_imgCoverpage.GetWidth(); + float imageHeight = (float)m_imgCoverpage.GetHeight(); + float scale = 0.0f; + + if ((int)imageWidth <= (int)imageHeight) + scale = (float)cx / (float)m_imgCoverpage.GetHeight(); + else + scale = (float)cx / (float)m_imgCoverpage.GetWidth(); + + + float thumbWidth = (float)imageWidth * scale; + float thumbHeight = (float)imageHeight * scale; + + CImage thumb; + BOOL bRet = thumb.Create((int)thumbWidth, (int)thumbHeight, 32); + if (bRet) + { + bRet = m_imgCoverpage.Draw( + thumb.GetDC(), + CRect(0, 0, (int)thumbWidth, (int)thumbHeight), + Gdiplus::InterpolationMode::InterpolationModeHighQuality); + + if (bRet) + { + thumb.ReleaseDC(); + *phbmp = thumb.Detach(); + *pdwAlpha = WTSAT_UNKNOWN; + hr = S_OK; + } + } + + return hr; +} diff --git a/FBSHell/ThumbnailHandler.h b/FBSHell/ThumbnailHandler.h new file mode 100644 index 0000000..5cdc3e7 --- /dev/null +++ b/FBSHell/ThumbnailHandler.h @@ -0,0 +1,72 @@ +// ThumbnailHandler.h : Declaration of the CThumbnailHandler + +#pragma once +#include "resource.h" // main symbols + +#include "FBShell_h.h" + + + +#if defined(_WIN32_WCE) && !defined(_CE_DCOM) && !defined(_CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA) +#error "Single-threaded COM objects are not properly supported on Windows CE platform, such as the Windows Mobile platforms that do not include full DCOM support. Define _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA to force ATL to support creating single-thread COM object's and allow use of it's single-threaded COM object implementations. The threading model in your rgs file was set to 'Free' as that is the only threading model supported in non DCOM Windows CE platforms." +#endif + +using namespace ATL; + +// CThumbnailHandler + +class ATL_NO_VTABLE CThumbnailHandler : + public CComObjectRootEx, + public CComCoClass, + public IInitializeWithStream, + public IThumbnailProvider +{ +public: + CThumbnailHandler() + { + } + +DECLARE_REGISTRY_RESOURCEID(IDR_THUMBNAILHANDLER) + +DECLARE_NOT_AGGREGATABLE(CThumbnailHandler) + +BEGIN_COM_MAP(CThumbnailHandler) + COM_INTERFACE_ENTRY(IInitializeWithStream) + COM_INTERFACE_ENTRY(IThumbnailProvider) +END_COM_MAP() + + + + DECLARE_PROTECT_FINAL_CONSTRUCT() + + HRESULT FinalConstruct() + { + return S_OK; + } + + void FinalRelease() + { + + } + +private: + CImage m_imgCoverpage; + + HRESULT LoadFB2Document(_In_ IStream *pStream, _COM_Outptr_ IXMLDOMDocument2 **pDoc); + HRESULT DecodeBase64StringToStream(_In_ CString strBase64, _COM_Outptr_ IStream **pStream); + HRESULT GetCoverpageHRef(_In_ IXMLDOMDocument2 *pDoc, _Out_ CString &strHRef); + HRESULT GetBinaryNodeById(_In_ IXMLDOMDocument2 *pDoc, _In_z_ LPCWSTR pszId, _COM_Outptr_ IXMLDOMNode **pNode); + HRESULT GetBinaryBase64String(_In_ IXMLDOMNode *pNode, _Out_ CString &strBase64); + +public: + + // Inherited via IInitializeWithStream + STDMETHODIMP Initialize(IStream * pstream, DWORD grfMode); + + + // Inherited via IThumbnailProvider + STDMETHODIMP GetThumbnail(UINT cx, HBITMAP * phbmp, WTS_ALPHATYPE * pdwAlpha); + +}; + +OBJECT_ENTRY_AUTO(__uuidof(ThumbnailHandler), CThumbnailHandler) diff --git a/FBSHell/dlldata.c b/FBSHell/dlldata.c new file mode 100644 index 0000000..553d6db --- /dev/null +++ b/FBSHell/dlldata.c @@ -0,0 +1,37 @@ +/********************************************************* + DllData file -- generated by MIDL compiler + + DO NOT ALTER THIS FILE + + This file is regenerated by MIDL on every IDL file compile. + + To completely reconstruct this file, delete it and rerun MIDL + on all the IDL files in this DLL, specifying this file for the + /dlldata command line option + +*********************************************************/ + + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +EXTERN_PROXY_FILE( FBShell ) + + +PROXYFILE_LIST_START +/* Start of list */ + REFERENCE_PROXY_FILE( FBShell ), +/* End of list */ +PROXYFILE_LIST_END + + +DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID ) + +#ifdef __cplusplus +} /*extern "C" */ +#endif + +/* end of generated dlldata file */ diff --git a/FBSHell/packages.config b/FBSHell/packages.config deleted file mode 100644 index 7df3378..0000000 --- a/FBSHell/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file From 8b94f406f0727b32779834146eae041193741a44 Mon Sep 17 00:00:00 2001 From: evpobr Date: Sun, 16 Oct 2016 11:39:57 +0500 Subject: [PATCH 04/18] Update VS .gitignore rules --- .gitignore | 206 +++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 143 insertions(+), 63 deletions(-) diff --git a/.gitignore b/.gitignore index 250689e..1b324e2 100644 --- a/.gitignore +++ b/.gitignore @@ -39,23 +39,50 @@ local.properties # User-specific files *.suo *.user +*.userosscache *.sln.docstates -# Build results +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs +# Build results [Dd]ebug/ +[Dd]ebugPublic/ [Rr]elease/ +[Rr]eleases/ x64/ -build/ +x86/ +bld/ [Bb]in/ [Oo]bj/ +[Ll]og/ + +# Visual Studio 2015 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ # MSTest test Results [Tt]est[Rr]esult*/ [Bb]uild[Ll]og.* +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# DNX +project.lock.json +project.fragment.lock.json +artifacts/ + *_i.c *_p.c +*_i.h *.ilk *.meta *.obj @@ -75,21 +102,31 @@ build/ *.vssscc .builds *.pidb -*.log +*.svclog *.scc +# Chutzpah Test files +_Chutzpah* + # Visual C++ cache files ipch/ *.aps *.ncb +*.opendb *.opensdf *.sdf *.cachefile +*.VC.db +*.VC.VC.opendb # Visual Studio profiler *.psess *.vsp *.vspx +*.sap + +# TFS 2012 Local Workspace +$tf/ # Guidance Automation Toolkit *.gpState @@ -97,6 +134,10 @@ ipch/ # ReSharper is a .NET coding add-in _ReSharper*/ *.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode # TeamCity is a build add-in _TeamCity* @@ -104,9 +145,21 @@ _TeamCity* # DotCover is a Code Coverage Tool *.dotCover +# Visual Studio code coverage results +*.coverage +*.coveragexml + # NCrunch -*.ncrunch* +_NCrunch_* .*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ # Installshield output folder [Ee]xpress/ @@ -125,99 +178,126 @@ DocProject/Help/html publish/ # Publish Web Output -*.Publish.xml +*.[Pp]ublish.xml +*.azurePubxml +# TODO: Comment the next line if you want to checkin your web deploy settings +# but database connection strings (with potential passwords) will be unencrypted *.pubxml *.publishproj -# NuGet Packages Directory -## TODO: If you have NuGet Package Restore enabled, uncomment the next line -packages/ - -# Windows Azure Build Output -csx +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/packages/repositories.config +# NuGet v3's project.json files produces more ignoreable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ *.build.csdef -# Windows Store app package directory +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ # Others -sql/ -*.Cache ClientBin/ -[Ss]tyle[Cc]op.* ~$* *~ *.dbmdl -*.[Pp]ublish.xml +*.dbproj.schemaview +*.jfm *.pfx *.publishsettings +node_modules/ +orleans.codegen.cs + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ # RIA/Silverlight projects Generated_Code/ -# Backup & report files from converting an old project file to a newer -# Visual Studio version. Backup files are not needed, because we have git ;-) +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) _UpgradeReport_Files/ Backup*/ UpgradeLog*.XML UpgradeLog*.htm # SQL Server files -App_Data/*.mdf -App_Data/*.ldf +*.mdf +*.ldf -############# -## Windows detritus -############# +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings -# Windows image file caches -Thumbs.db -ehthumbs.db +# Microsoft Fakes +FakesAssemblies/ -# Folder config file -Desktop.ini +# GhostDoc plugin setting file +*.GhostDoc.xml -# Recycle Bin used on file shares -$RECYCLE.BIN/ +# Node.js Tools for Visual Studio +.ntvs_analysis.dat -# Mac crap -.DS_Store +# Visual Studio 6 build log +*.plg +# Visual Studio 6 workspace options file +*.opt -############# -## Python -############# +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions -*.py[cod] +# Paket dependency manager +.paket/paket.exe +paket-files/ -# Packages -*.egg -*.egg-info -dist/ -build/ -eggs/ -parts/ -var/ -sdist/ -develop-eggs/ -.installed.cfg +# FAKE - F# Make +.fake/ -# Installer logs -pip-log.txt +# JetBrains Rider +.idea/ +*.sln.iml -# Unit test / coverage reports -.coverage -.tox +# CodeRush +.cr/ -#Translations -*.mo +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc -#Mr Developer -.mr.developer.cfg -*.opendb -/FBE.h -installer/Input/ -installer/*.exe -/FBE/ExportHTML/ExportHTML_i.h -FBE/FBE.h -FBSHell/FBShell_h.h +# Cake - Uncomment if you are using it +# tools/ From 5db3e365ea3107e8e077ac351ace4dcde210f7d3 Mon Sep 17 00:00:00 2001 From: evpobr Date: Sun, 16 Oct 2016 11:40:39 +0500 Subject: [PATCH 05/18] Update solution to latest VS2015 --- fictionbookeditor.sln | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fictionbookeditor.sln b/fictionbookeditor.sln index 6901b5d..4df6b2e 100644 --- a/fictionbookeditor.sln +++ b/fictionbookeditor.sln @@ -1,6 +1,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 14 -VisualStudioVersion = 14.0.24720.0 +VisualStudioVersion = 14.0.25420.1 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Localization", "Localization", "{6C7862A8-8BAE-4B07-B1EA-9642D9122354}" EndProject From 491d486f52816abdbbd48932f2d614b409acd0e7 Mon Sep 17 00:00:00 2001 From: evpobr Date: Sun, 16 Oct 2016 11:45:46 +0500 Subject: [PATCH 06/18] SciLexer: fix linker warning --- FBE/Scintilla/vcbuild/SciLexer.vcxproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/FBE/Scintilla/vcbuild/SciLexer.vcxproj b/FBE/Scintilla/vcbuild/SciLexer.vcxproj index a06f6db..75eae56 100644 --- a/FBE/Scintilla/vcbuild/SciLexer.vcxproj +++ b/FBE/Scintilla/vcbuild/SciLexer.vcxproj @@ -90,6 +90,7 @@ .\../bin/SciLexer.lib MachineX86 + Windows true @@ -132,6 +133,7 @@ .\../bin/SciLexer.lib MachineX86 + Windows true From a27e68049e0f1ee7f280e720e344092afdde6384 Mon Sep 17 00:00:00 2001 From: evpobr Date: Sun, 16 Oct 2016 11:48:43 +0500 Subject: [PATCH 07/18] SciLexer: fix linker error for Debug configuration --- FBE/Scintilla/vcbuild/SciLexer.vcxproj | 1 + 1 file changed, 1 insertion(+) diff --git a/FBE/Scintilla/vcbuild/SciLexer.vcxproj b/FBE/Scintilla/vcbuild/SciLexer.vcxproj index 75eae56..7ebff71 100644 --- a/FBE/Scintilla/vcbuild/SciLexer.vcxproj +++ b/FBE/Scintilla/vcbuild/SciLexer.vcxproj @@ -91,6 +91,7 @@ .\../bin/SciLexer.lib MachineX86 Windows + false true From 97f6e81f9b163b070300486f93443b0de0ac2406 Mon Sep 17 00:00:00 2001 From: evpobr Date: Sun, 16 Oct 2016 11:50:55 +0500 Subject: [PATCH 08/18] ExportHTMLPlugin: use safe _countof() macro --- FBE/ExportHTML/ExportHTMLPlugin.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/FBE/ExportHTML/ExportHTMLPlugin.cpp b/FBE/ExportHTML/ExportHTMLPlugin.cpp index 18091e5..9d5f5de 100644 --- a/FBE/ExportHTML/ExportHTMLPlugin.cpp +++ b/FBE/ExportHTML/ExportHTMLPlugin.cpp @@ -104,14 +104,14 @@ HRESULT CExportHTMLPlugin::Export(long hWnd, BSTR filename, IDispatch *doc) if (fMIME) { // format date char date[256]; time_t tt; time(&tt); - strftime(date, sizeof(date), "%a, %d %b %Y %H:%M:%S +0000", gmtime(&tt)); + strftime(date, _countof(date), "%a, %d %b %Y %H:%M:%S +0000", gmtime(&tt)); // construct some random mime boundary - _snprintf_s(boundary, sizeof(boundary), "------NextPart---%08X.%08X", tt, rand()); + _snprintf_s(boundary, _countof(boundary), "------NextPart---%08X.%08X", tt, rand()); // construct mime header char mime_hdr[2048]; - _snprintf_s(mime_hdr, sizeof(mime_hdr), + _snprintf_s(mime_hdr, _countof(mime_hdr), "From: \r\n" "Date: %s\r\n" // Thu, 17 Apr 2003 07:34:30 +0400 "MIME-Version: 1.0\r\n" From 022a473a48fe57f4e75365095903eb7733b5ebf1 Mon Sep 17 00:00:00 2001 From: evpobr Date: Sun, 16 Oct 2016 11:54:48 +0500 Subject: [PATCH 09/18] ExportHTMLPlugin: use secure gmtime_s() function --- FBE/ExportHTML/ExportHTMLPlugin.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/FBE/ExportHTML/ExportHTMLPlugin.cpp b/FBE/ExportHTML/ExportHTMLPlugin.cpp index 9d5f5de..1080e10 100644 --- a/FBE/ExportHTML/ExportHTMLPlugin.cpp +++ b/FBE/ExportHTML/ExportHTMLPlugin.cpp @@ -103,8 +103,13 @@ HRESULT CExportHTMLPlugin::Export(long hWnd, BSTR filename, IDispatch *doc) // * write relevant MIME headers if (fMIME) { // format date - char date[256]; time_t tt; time(&tt); - strftime(date, _countof(date), "%a, %d %b %Y %H:%M:%S +0000", gmtime(&tt)); + char date[256]; + tm _tm; + time_t tt; + + time(&tt); + gmtime_s(&_tm, &tt); + strftime(date, _countof(date), "%a, %d %b %Y %H:%M:%S +0000", &_tm); // construct some random mime boundary _snprintf_s(boundary, _countof(boundary), "------NextPart---%08X.%08X", tt, rand()); From 3744634b249c65b5e0630806c5a1c61e8bdd5ccc Mon Sep 17 00:00:00 2001 From: evpobr Date: Tue, 20 Jun 2017 11:06:42 +0500 Subject: [PATCH 10/18] Don't commit MIDL-generated files to repo --- .gitignore | 4 + FBE/ExportHTML/ExportHTML.vcxproj | 18 +- FBE/ExportHTML/ExportHTML.vcxproj.filters | 3 + FBE/FBE.cpp | 3 - FBE/FBE.h | 675 ---------------------- FBE/FBE.vcxproj | 7 +- FBE/FBE.vcxproj.filters | 9 + 7 files changed, 36 insertions(+), 683 deletions(-) delete mode 100644 FBE/FBE.h diff --git a/.gitignore b/.gitignore index 1b324e2..b1bf0d6 100644 --- a/.gitignore +++ b/.gitignore @@ -301,3 +301,7 @@ __pycache__/ # Cake - Uncomment if you are using it # tools/ + +# Misc ignores + +FBE.h diff --git a/FBE/ExportHTML/ExportHTML.vcxproj b/FBE/ExportHTML/ExportHTML.vcxproj index ffd858c..2c1fc92 100644 --- a/FBE/ExportHTML/ExportHTML.vcxproj +++ b/FBE/ExportHTML/ExportHTML.vcxproj @@ -81,7 +81,8 @@ Level3 ProgramDatabase Disabled - ..\; + + /Zc:threadSafeInit- Use @@ -108,7 +109,8 @@ MultiThreaded Level3 ProgramDatabase - ..\; + + /Zc:threadSafeInit- Use @@ -136,7 +138,8 @@ ExportHTML.def - ..\; + + MultiThreadedDebug /Zc:threadSafeInit- Use @@ -147,7 +150,8 @@ ExportHTML.def - ..\; + + MultiThreaded /Zc:threadSafeInit- Use @@ -196,6 +200,12 @@ + + %(Filename).h + %(Filename).h + %(Filename).h + %(Filename).h + diff --git a/FBE/ExportHTML/ExportHTML.vcxproj.filters b/FBE/ExportHTML/ExportHTML.vcxproj.filters index a792005..636b2f7 100644 --- a/FBE/ExportHTML/ExportHTML.vcxproj.filters +++ b/FBE/ExportHTML/ExportHTML.vcxproj.filters @@ -87,5 +87,8 @@ Source Files + + Source Files + \ No newline at end of file diff --git a/FBE/FBE.cpp b/FBE/FBE.cpp index 8019b9b..7a408d6 100644 --- a/FBE/FBE.cpp +++ b/FBE/FBE.cpp @@ -25,9 +25,6 @@ // implementation #include "ExternalHelper.h" -// typelib guids -#include "fbe_i.c" - #define DEFINE_CLSID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \ EXTERN_C const CLSID DECLSPEC_SELECTANY name \ = { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } } diff --git a/FBE/FBE.h b/FBE/FBE.h deleted file mode 100644 index de249db..0000000 --- a/FBE/FBE.h +++ /dev/null @@ -1,675 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Wed Jan 20 15:10:25 2016 - */ -/* Compiler settings for fbe.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of -#endif // __RPCNDR_H_VERSION__ - - -#ifndef __FBE_h__ -#define __FBE_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IFBEImportPlugin_FWD_DEFINED__ -#define __IFBEImportPlugin_FWD_DEFINED__ -typedef interface IFBEImportPlugin IFBEImportPlugin; -#endif /* __IFBEImportPlugin_FWD_DEFINED__ */ - - -#ifndef __IFBEExportPlugin_FWD_DEFINED__ -#define __IFBEExportPlugin_FWD_DEFINED__ -typedef interface IFBEExportPlugin IFBEExportPlugin; -#endif /* __IFBEExportPlugin_FWD_DEFINED__ */ - - -#ifndef __IExternalHelper_FWD_DEFINED__ -#define __IExternalHelper_FWD_DEFINED__ -typedef interface IExternalHelper IExternalHelper; -#endif /* __IExternalHelper_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "oaidl.h" -#include "ocidl.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - - -#ifndef __FBELib_LIBRARY_DEFINED__ -#define __FBELib_LIBRARY_DEFINED__ - -/* library FBELib */ -/* [helpstring][version][uuid] */ - - -EXTERN_C const IID LIBID_FBELib; - -#ifndef __IFBEImportPlugin_INTERFACE_DEFINED__ -#define __IFBEImportPlugin_INTERFACE_DEFINED__ - -/* interface IFBEImportPlugin */ -/* [unique][helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IFBEImportPlugin; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("8094bc55-99c0-4adf-bd55-71e206dfd403") - IFBEImportPlugin : public IUnknown - { - public: - virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Import( - /* [in] */ long hWnd, - /* [out] */ BSTR *filename, - /* [out] */ IDispatch **document) = 0; - - }; - -#else /* C style interface */ - - typedef struct IFBEImportPluginVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IFBEImportPlugin * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IFBEImportPlugin * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IFBEImportPlugin * This); - - /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Import )( - IFBEImportPlugin * This, - /* [in] */ long hWnd, - /* [out] */ BSTR *filename, - /* [out] */ IDispatch **document); - - END_INTERFACE - } IFBEImportPluginVtbl; - - interface IFBEImportPlugin - { - CONST_VTBL struct IFBEImportPluginVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IFBEImportPlugin_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IFBEImportPlugin_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IFBEImportPlugin_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IFBEImportPlugin_Import(This,hWnd,filename,document) \ - ( (This)->lpVtbl -> Import(This,hWnd,filename,document) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IFBEImportPlugin_INTERFACE_DEFINED__ */ - - -#ifndef __IFBEExportPlugin_INTERFACE_DEFINED__ -#define __IFBEExportPlugin_INTERFACE_DEFINED__ - -/* interface IFBEExportPlugin */ -/* [unique][helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IFBEExportPlugin; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("1afaab7f-6f66-4ef6-b199-16fa49cc5b52") - IFBEExportPlugin : public IUnknown - { - public: - virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Export( - /* [in] */ long hWnd, - /* [in] */ BSTR filename, - /* [in] */ IDispatch *document) = 0; - - }; - -#else /* C style interface */ - - typedef struct IFBEExportPluginVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IFBEExportPlugin * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IFBEExportPlugin * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IFBEExportPlugin * This); - - /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Export )( - IFBEExportPlugin * This, - /* [in] */ long hWnd, - /* [in] */ BSTR filename, - /* [in] */ IDispatch *document); - - END_INTERFACE - } IFBEExportPluginVtbl; - - interface IFBEExportPlugin - { - CONST_VTBL struct IFBEExportPluginVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IFBEExportPlugin_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IFBEExportPlugin_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IFBEExportPlugin_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IFBEExportPlugin_Export(This,hWnd,filename,document) \ - ( (This)->lpVtbl -> Export(This,hWnd,filename,document) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IFBEExportPlugin_INTERFACE_DEFINED__ */ - - -#ifndef __IExternalHelper_INTERFACE_DEFINED__ -#define __IExternalHelper_INTERFACE_DEFINED__ - -/* interface IExternalHelper */ -/* [unique][helpstring][dual][uuid][object] */ - - -EXTERN_C const IID IID_IExternalHelper; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("7269066E-2089-4408-B3F3-E8D75984D5A6") - IExternalHelper : public IDispatch - { - public: - virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE BeginUndoUnit( - /* [in] */ IDispatch *document, - /* [in] */ BSTR action) = 0; - - virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EndUndoUnit( - /* [in] */ IDispatch *document) = 0; - - virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_inflateBlock( - /* [in] */ IDispatch *elem, - /* [retval][out] */ BOOL *pVal) = 0; - - virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_inflateBlock( - /* [in] */ IDispatch *elem, - /* [in] */ BOOL newVal) = 0; - - virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GenrePopup( - /* [in] */ IDispatch *elem, - /* [in] */ LONG x, - /* [in] */ LONG y, - /* [retval][out] */ BSTR *name) = 0; - - virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetStylePath( - /* [retval][out] */ BSTR *name) = 0; - - virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetBinarySize( - /* [in] */ BSTR data, - /* [retval][out] */ int *length) = 0; - - virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE InflateParagraphs( - /* [in] */ IDispatch *data) = 0; - - virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetUUID( - /* [retval][out] */ BSTR *name) = 0; - - virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE MsgBox( - /* [in] */ BSTR message) = 0; - - virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AskYesNo( - /* [in] */ BSTR message, - /* [retval][out] */ BOOL *pVal) = 0; - - virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SaveBinary( - /* [in] */ BSTR path, - /* [in] */ BSTR data, - /* [in] */ BOOL prompt, - /* [retval][out] */ BOOL *pVal) = 0; - - virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetExtendedStyle( - /* [in] */ BSTR elem, - /* [retval][out] */ BOOL *ext) = 0; - - virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DescShowElement( - /* [in] */ BSTR elem, - /* [in] */ BOOL show) = 0; - - virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DescShowMenu( - /* [in] */ IDispatch *btn, - /* [in] */ LONG x, - /* [in] */ LONG y, - /* [retval][out] */ BSTR *element_id) = 0; - - virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IsFastMode( - /* [retval][out] */ BOOL *ext) = 0; - - virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetStyleEx( - /* [in] */ IDispatch *doc, - /* [in] */ IDispatch *elem, - /* [in] */ BSTR style) = 0; - - virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetImageDimsByPath( - /* [in] */ BSTR path, - /* [retval][out] */ BSTR *dims) = 0; - - virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetImageDimsByData( - /* [in] */ VARIANT *data, - /* [retval][out] */ BSTR *dims) = 0; - - virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetNBSP( - /* [retval][out] */ BSTR *name) = 0; - - virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetViewWidth( - /* [retval][out] */ int *width) = 0; - - virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetViewHeight( - /* [retval][out] */ int *height) = 0; - - virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetProgramVersion( - /* [retval][out] */ BSTR *ver) = 0; - - virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE InputBox( - /* [in] */ BSTR prompt, - /* [in] */ BSTR title, - /* [in] */ BSTR value, - /* [retval][out] */ BSTR *input) = 0; - - virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetModalResult( - /* [retval][out] */ int *modalResult) = 0; - - virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetStatusBarText( - /* [in] */ BSTR text) = 0; - - }; - -#else /* C style interface */ - - typedef struct IExternalHelperVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IExternalHelper * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IExternalHelper * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IExternalHelper * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - IExternalHelper * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - IExternalHelper * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - IExternalHelper * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - IExternalHelper * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *BeginUndoUnit )( - IExternalHelper * This, - /* [in] */ IDispatch *document, - /* [in] */ BSTR action); - - /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EndUndoUnit )( - IExternalHelper * This, - /* [in] */ IDispatch *document); - - /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_inflateBlock )( - IExternalHelper * This, - /* [in] */ IDispatch *elem, - /* [retval][out] */ BOOL *pVal); - - /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_inflateBlock )( - IExternalHelper * This, - /* [in] */ IDispatch *elem, - /* [in] */ BOOL newVal); - - /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GenrePopup )( - IExternalHelper * This, - /* [in] */ IDispatch *elem, - /* [in] */ LONG x, - /* [in] */ LONG y, - /* [retval][out] */ BSTR *name); - - /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetStylePath )( - IExternalHelper * This, - /* [retval][out] */ BSTR *name); - - /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetBinarySize )( - IExternalHelper * This, - /* [in] */ BSTR data, - /* [retval][out] */ int *length); - - /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *InflateParagraphs )( - IExternalHelper * This, - /* [in] */ IDispatch *data); - - /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetUUID )( - IExternalHelper * This, - /* [retval][out] */ BSTR *name); - - /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *MsgBox )( - IExternalHelper * This, - /* [in] */ BSTR message); - - /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AskYesNo )( - IExternalHelper * This, - /* [in] */ BSTR message, - /* [retval][out] */ BOOL *pVal); - - /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SaveBinary )( - IExternalHelper * This, - /* [in] */ BSTR path, - /* [in] */ BSTR data, - /* [in] */ BOOL prompt, - /* [retval][out] */ BOOL *pVal); - - /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtendedStyle )( - IExternalHelper * This, - /* [in] */ BSTR elem, - /* [retval][out] */ BOOL *ext); - - /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DescShowElement )( - IExternalHelper * This, - /* [in] */ BSTR elem, - /* [in] */ BOOL show); - - /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DescShowMenu )( - IExternalHelper * This, - /* [in] */ IDispatch *btn, - /* [in] */ LONG x, - /* [in] */ LONG y, - /* [retval][out] */ BSTR *element_id); - - /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsFastMode )( - IExternalHelper * This, - /* [retval][out] */ BOOL *ext); - - /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetStyleEx )( - IExternalHelper * This, - /* [in] */ IDispatch *doc, - /* [in] */ IDispatch *elem, - /* [in] */ BSTR style); - - /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetImageDimsByPath )( - IExternalHelper * This, - /* [in] */ BSTR path, - /* [retval][out] */ BSTR *dims); - - /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetImageDimsByData )( - IExternalHelper * This, - /* [in] */ VARIANT *data, - /* [retval][out] */ BSTR *dims); - - /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetNBSP )( - IExternalHelper * This, - /* [retval][out] */ BSTR *name); - - /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetViewWidth )( - IExternalHelper * This, - /* [retval][out] */ int *width); - - /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetViewHeight )( - IExternalHelper * This, - /* [retval][out] */ int *height); - - /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetProgramVersion )( - IExternalHelper * This, - /* [retval][out] */ BSTR *ver); - - /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *InputBox )( - IExternalHelper * This, - /* [in] */ BSTR prompt, - /* [in] */ BSTR title, - /* [in] */ BSTR value, - /* [retval][out] */ BSTR *input); - - /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetModalResult )( - IExternalHelper * This, - /* [retval][out] */ int *modalResult); - - /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetStatusBarText )( - IExternalHelper * This, - /* [in] */ BSTR text); - - END_INTERFACE - } IExternalHelperVtbl; - - interface IExternalHelper - { - CONST_VTBL struct IExternalHelperVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IExternalHelper_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IExternalHelper_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IExternalHelper_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IExternalHelper_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define IExternalHelper_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define IExternalHelper_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define IExternalHelper_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - - -#define IExternalHelper_BeginUndoUnit(This,document,action) \ - ( (This)->lpVtbl -> BeginUndoUnit(This,document,action) ) - -#define IExternalHelper_EndUndoUnit(This,document) \ - ( (This)->lpVtbl -> EndUndoUnit(This,document) ) - -#define IExternalHelper_get_inflateBlock(This,elem,pVal) \ - ( (This)->lpVtbl -> get_inflateBlock(This,elem,pVal) ) - -#define IExternalHelper_put_inflateBlock(This,elem,newVal) \ - ( (This)->lpVtbl -> put_inflateBlock(This,elem,newVal) ) - -#define IExternalHelper_GenrePopup(This,elem,x,y,name) \ - ( (This)->lpVtbl -> GenrePopup(This,elem,x,y,name) ) - -#define IExternalHelper_GetStylePath(This,name) \ - ( (This)->lpVtbl -> GetStylePath(This,name) ) - -#define IExternalHelper_GetBinarySize(This,data,length) \ - ( (This)->lpVtbl -> GetBinarySize(This,data,length) ) - -#define IExternalHelper_InflateParagraphs(This,data) \ - ( (This)->lpVtbl -> InflateParagraphs(This,data) ) - -#define IExternalHelper_GetUUID(This,name) \ - ( (This)->lpVtbl -> GetUUID(This,name) ) - -#define IExternalHelper_MsgBox(This,message) \ - ( (This)->lpVtbl -> MsgBox(This,message) ) - -#define IExternalHelper_AskYesNo(This,message,pVal) \ - ( (This)->lpVtbl -> AskYesNo(This,message,pVal) ) - -#define IExternalHelper_SaveBinary(This,path,data,prompt,pVal) \ - ( (This)->lpVtbl -> SaveBinary(This,path,data,prompt,pVal) ) - -#define IExternalHelper_GetExtendedStyle(This,elem,ext) \ - ( (This)->lpVtbl -> GetExtendedStyle(This,elem,ext) ) - -#define IExternalHelper_DescShowElement(This,elem,show) \ - ( (This)->lpVtbl -> DescShowElement(This,elem,show) ) - -#define IExternalHelper_DescShowMenu(This,btn,x,y,element_id) \ - ( (This)->lpVtbl -> DescShowMenu(This,btn,x,y,element_id) ) - -#define IExternalHelper_IsFastMode(This,ext) \ - ( (This)->lpVtbl -> IsFastMode(This,ext) ) - -#define IExternalHelper_SetStyleEx(This,doc,elem,style) \ - ( (This)->lpVtbl -> SetStyleEx(This,doc,elem,style) ) - -#define IExternalHelper_GetImageDimsByPath(This,path,dims) \ - ( (This)->lpVtbl -> GetImageDimsByPath(This,path,dims) ) - -#define IExternalHelper_GetImageDimsByData(This,data,dims) \ - ( (This)->lpVtbl -> GetImageDimsByData(This,data,dims) ) - -#define IExternalHelper_GetNBSP(This,name) \ - ( (This)->lpVtbl -> GetNBSP(This,name) ) - -#define IExternalHelper_GetViewWidth(This,width) \ - ( (This)->lpVtbl -> GetViewWidth(This,width) ) - -#define IExternalHelper_GetViewHeight(This,height) \ - ( (This)->lpVtbl -> GetViewHeight(This,height) ) - -#define IExternalHelper_GetProgramVersion(This,ver) \ - ( (This)->lpVtbl -> GetProgramVersion(This,ver) ) - -#define IExternalHelper_InputBox(This,prompt,title,value,input) \ - ( (This)->lpVtbl -> InputBox(This,prompt,title,value,input) ) - -#define IExternalHelper_GetModalResult(This,modalResult) \ - ( (This)->lpVtbl -> GetModalResult(This,modalResult) ) - -#define IExternalHelper_SetStatusBarText(This,text) \ - ( (This)->lpVtbl -> SetStatusBarText(This,text) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IExternalHelper_INTERFACE_DEFINED__ */ - -#endif /* __FBELib_LIBRARY_DEFINED__ */ - -/* Additional Prototypes for ALL interfaces */ - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/FBE/FBE.vcxproj b/FBE/FBE.vcxproj index 5c2b2ff..e4c27b1 100644 --- a/FBE/FBE.vcxproj +++ b/FBE/FBE.vcxproj @@ -252,6 +252,10 @@ gdiplus.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)%(AdditionalIncludeDirectories) %(PreprocessorDefinitions) + + NotUsing + NotUsing + Disabled @@ -350,6 +354,7 @@ gdiplus.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies) + @@ -532,7 +537,7 @@ gdiplus.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies) PreserveNewest - + PreserveNewest diff --git a/FBE/FBE.vcxproj.filters b/FBE/FBE.vcxproj.filters index c9c0263..108e624 100644 --- a/FBE/FBE.vcxproj.filters +++ b/FBE/FBE.vcxproj.filters @@ -17,6 +17,9 @@ {f4ba7b2e-b161-4bea-8393-950f5ce075c1} cpp;h + + {f928136f-2a54-4191-989d-a01e7f63bba4} + @@ -103,6 +106,9 @@ Source Files + + Generated Files + @@ -233,6 +239,9 @@ Header Files + + Generated Files + From dbbe8cd2aa6b920a7e2403a877d28eb047a62dbf Mon Sep 17 00:00:00 2001 From: evpobr Date: Tue, 20 Jun 2017 11:54:02 +0500 Subject: [PATCH 11/18] Rename FBSHell folder to FBShell --- {FBSHell => FBShell}/ColumnProvider.cpp | 0 {FBSHell => FBShell}/ColumnProvider.h | 0 {FBSHell => FBShell}/ColumnProvider.rgs | 0 {FBSHell => FBShell}/ContextMenu.cpp | 0 {FBSHell => FBShell}/ContextMenu.h | 0 {FBSHell => FBShell}/ContextMenu.rgs | 0 {FBSHell => FBShell}/FBSHell.rc | 0 {FBSHell => FBShell}/FBShell.cpp | 0 {FBSHell => FBShell}/FBShell.def | 0 {FBSHell => FBShell}/FBShell.h | 0 {FBSHell => FBShell}/FBShell.idl | 0 {FBSHell => FBShell}/FBShell.rgs | 0 {FBSHell => FBShell}/FBShell.sln | 0 {FBSHell => FBShell}/FBShell.vcxproj | 0 {FBSHell => FBShell}/FBShell.vcxproj.filters | 0 {FBSHell => FBShell}/FBShell_h.h | 0 {FBSHell => FBShell}/FarMenu.Ini | 0 {FBSHell => FBShell}/IconExtractor.cpp | 0 {FBSHell => FBShell}/IconExtractor.h | 0 {FBSHell => FBShell}/IconExtractor.rgs | 0 {FBSHell => FBShell}/NSFolder.rgs | 0 {FBSHell => FBShell}/StdAfx.cpp | 0 {FBSHell => FBShell}/StdAfx.h | 0 {FBSHell => FBShell}/ThumbnailHandler.cpp | 0 {FBSHell => FBShell}/ThumbnailHandler.h | 0 {FBSHell => FBShell}/ThumbnailHandler.rgs | 0 {FBSHell => FBShell}/dlldata.c | 0 {FBSHell => FBShell}/dllmain.cpp | 0 {FBSHell => FBShell}/dllmain.h | 0 {FBSHell => FBShell}/res/FB.ico | Bin {FBSHell => FBShell}/resource.h | 0 {FBSHell => FBShell}/targetver.h | 0 32 files changed, 0 insertions(+), 0 deletions(-) rename {FBSHell => FBShell}/ColumnProvider.cpp (100%) rename {FBSHell => FBShell}/ColumnProvider.h (100%) rename {FBSHell => FBShell}/ColumnProvider.rgs (100%) rename {FBSHell => FBShell}/ContextMenu.cpp (100%) rename {FBSHell => FBShell}/ContextMenu.h (100%) rename {FBSHell => FBShell}/ContextMenu.rgs (100%) rename {FBSHell => FBShell}/FBSHell.rc (100%) rename {FBSHell => FBShell}/FBShell.cpp (100%) rename {FBSHell => FBShell}/FBShell.def (100%) rename {FBSHell => FBShell}/FBShell.h (100%) rename {FBSHell => FBShell}/FBShell.idl (100%) rename {FBSHell => FBShell}/FBShell.rgs (100%) rename {FBSHell => FBShell}/FBShell.sln (100%) rename {FBSHell => FBShell}/FBShell.vcxproj (100%) rename {FBSHell => FBShell}/FBShell.vcxproj.filters (100%) rename {FBSHell => FBShell}/FBShell_h.h (100%) rename {FBSHell => FBShell}/FarMenu.Ini (100%) rename {FBSHell => FBShell}/IconExtractor.cpp (100%) rename {FBSHell => FBShell}/IconExtractor.h (100%) rename {FBSHell => FBShell}/IconExtractor.rgs (100%) rename {FBSHell => FBShell}/NSFolder.rgs (100%) rename {FBSHell => FBShell}/StdAfx.cpp (100%) rename {FBSHell => FBShell}/StdAfx.h (100%) rename {FBSHell => FBShell}/ThumbnailHandler.cpp (100%) rename {FBSHell => FBShell}/ThumbnailHandler.h (100%) rename {FBSHell => FBShell}/ThumbnailHandler.rgs (100%) rename {FBSHell => FBShell}/dlldata.c (100%) rename {FBSHell => FBShell}/dllmain.cpp (100%) rename {FBSHell => FBShell}/dllmain.h (100%) rename {FBSHell => FBShell}/res/FB.ico (100%) rename {FBSHell => FBShell}/resource.h (100%) rename {FBSHell => FBShell}/targetver.h (100%) diff --git a/FBSHell/ColumnProvider.cpp b/FBShell/ColumnProvider.cpp similarity index 100% rename from FBSHell/ColumnProvider.cpp rename to FBShell/ColumnProvider.cpp diff --git a/FBSHell/ColumnProvider.h b/FBShell/ColumnProvider.h similarity index 100% rename from FBSHell/ColumnProvider.h rename to FBShell/ColumnProvider.h diff --git a/FBSHell/ColumnProvider.rgs b/FBShell/ColumnProvider.rgs similarity index 100% rename from FBSHell/ColumnProvider.rgs rename to FBShell/ColumnProvider.rgs diff --git a/FBSHell/ContextMenu.cpp b/FBShell/ContextMenu.cpp similarity index 100% rename from FBSHell/ContextMenu.cpp rename to FBShell/ContextMenu.cpp diff --git a/FBSHell/ContextMenu.h b/FBShell/ContextMenu.h similarity index 100% rename from FBSHell/ContextMenu.h rename to FBShell/ContextMenu.h diff --git a/FBSHell/ContextMenu.rgs b/FBShell/ContextMenu.rgs similarity index 100% rename from FBSHell/ContextMenu.rgs rename to FBShell/ContextMenu.rgs diff --git a/FBSHell/FBSHell.rc b/FBShell/FBSHell.rc similarity index 100% rename from FBSHell/FBSHell.rc rename to FBShell/FBSHell.rc diff --git a/FBSHell/FBShell.cpp b/FBShell/FBShell.cpp similarity index 100% rename from FBSHell/FBShell.cpp rename to FBShell/FBShell.cpp diff --git a/FBSHell/FBShell.def b/FBShell/FBShell.def similarity index 100% rename from FBSHell/FBShell.def rename to FBShell/FBShell.def diff --git a/FBSHell/FBShell.h b/FBShell/FBShell.h similarity index 100% rename from FBSHell/FBShell.h rename to FBShell/FBShell.h diff --git a/FBSHell/FBShell.idl b/FBShell/FBShell.idl similarity index 100% rename from FBSHell/FBShell.idl rename to FBShell/FBShell.idl diff --git a/FBSHell/FBShell.rgs b/FBShell/FBShell.rgs similarity index 100% rename from FBSHell/FBShell.rgs rename to FBShell/FBShell.rgs diff --git a/FBSHell/FBShell.sln b/FBShell/FBShell.sln similarity index 100% rename from FBSHell/FBShell.sln rename to FBShell/FBShell.sln diff --git a/FBSHell/FBShell.vcxproj b/FBShell/FBShell.vcxproj similarity index 100% rename from FBSHell/FBShell.vcxproj rename to FBShell/FBShell.vcxproj diff --git a/FBSHell/FBShell.vcxproj.filters b/FBShell/FBShell.vcxproj.filters similarity index 100% rename from FBSHell/FBShell.vcxproj.filters rename to FBShell/FBShell.vcxproj.filters diff --git a/FBSHell/FBShell_h.h b/FBShell/FBShell_h.h similarity index 100% rename from FBSHell/FBShell_h.h rename to FBShell/FBShell_h.h diff --git a/FBSHell/FarMenu.Ini b/FBShell/FarMenu.Ini similarity index 100% rename from FBSHell/FarMenu.Ini rename to FBShell/FarMenu.Ini diff --git a/FBSHell/IconExtractor.cpp b/FBShell/IconExtractor.cpp similarity index 100% rename from FBSHell/IconExtractor.cpp rename to FBShell/IconExtractor.cpp diff --git a/FBSHell/IconExtractor.h b/FBShell/IconExtractor.h similarity index 100% rename from FBSHell/IconExtractor.h rename to FBShell/IconExtractor.h diff --git a/FBSHell/IconExtractor.rgs b/FBShell/IconExtractor.rgs similarity index 100% rename from FBSHell/IconExtractor.rgs rename to FBShell/IconExtractor.rgs diff --git a/FBSHell/NSFolder.rgs b/FBShell/NSFolder.rgs similarity index 100% rename from FBSHell/NSFolder.rgs rename to FBShell/NSFolder.rgs diff --git a/FBSHell/StdAfx.cpp b/FBShell/StdAfx.cpp similarity index 100% rename from FBSHell/StdAfx.cpp rename to FBShell/StdAfx.cpp diff --git a/FBSHell/StdAfx.h b/FBShell/StdAfx.h similarity index 100% rename from FBSHell/StdAfx.h rename to FBShell/StdAfx.h diff --git a/FBSHell/ThumbnailHandler.cpp b/FBShell/ThumbnailHandler.cpp similarity index 100% rename from FBSHell/ThumbnailHandler.cpp rename to FBShell/ThumbnailHandler.cpp diff --git a/FBSHell/ThumbnailHandler.h b/FBShell/ThumbnailHandler.h similarity index 100% rename from FBSHell/ThumbnailHandler.h rename to FBShell/ThumbnailHandler.h diff --git a/FBSHell/ThumbnailHandler.rgs b/FBShell/ThumbnailHandler.rgs similarity index 100% rename from FBSHell/ThumbnailHandler.rgs rename to FBShell/ThumbnailHandler.rgs diff --git a/FBSHell/dlldata.c b/FBShell/dlldata.c similarity index 100% rename from FBSHell/dlldata.c rename to FBShell/dlldata.c diff --git a/FBSHell/dllmain.cpp b/FBShell/dllmain.cpp similarity index 100% rename from FBSHell/dllmain.cpp rename to FBShell/dllmain.cpp diff --git a/FBSHell/dllmain.h b/FBShell/dllmain.h similarity index 100% rename from FBSHell/dllmain.h rename to FBShell/dllmain.h diff --git a/FBSHell/res/FB.ico b/FBShell/res/FB.ico similarity index 100% rename from FBSHell/res/FB.ico rename to FBShell/res/FB.ico diff --git a/FBSHell/resource.h b/FBShell/resource.h similarity index 100% rename from FBSHell/resource.h rename to FBShell/resource.h diff --git a/FBSHell/targetver.h b/FBShell/targetver.h similarity index 100% rename from FBSHell/targetver.h rename to FBShell/targetver.h From 3fc01f0d24f8886a6b74b92b742ac98cd067a21c Mon Sep 17 00:00:00 2001 From: evpobr Date: Tue, 20 Jun 2017 12:02:05 +0500 Subject: [PATCH 12/18] Remove unused solutions --- FBE/Scintilla/vcbuild/SciLexer.sln | 25 ------------------------- FBShell/FBShell.sln | 28 ---------------------------- 2 files changed, 53 deletions(-) delete mode 100644 FBE/Scintilla/vcbuild/SciLexer.sln delete mode 100644 FBShell/FBShell.sln diff --git a/FBE/Scintilla/vcbuild/SciLexer.sln b/FBE/Scintilla/vcbuild/SciLexer.sln deleted file mode 100644 index b9729fa..0000000 --- a/FBE/Scintilla/vcbuild/SciLexer.sln +++ /dev/null @@ -1,25 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SciLexer", "SciLexer.vcxproj", "{A1608395-4FF0-44D6-901E-4934B5455614}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {A1608395-4FF0-44D6-901E-4934B5455614}.Debug|Win32.ActiveCfg = Debug|Win32 - {A1608395-4FF0-44D6-901E-4934B5455614}.Debug|Win32.Build.0 = Debug|Win32 - {A1608395-4FF0-44D6-901E-4934B5455614}.Release|Win32.ActiveCfg = Release|Win32 - {A1608395-4FF0-44D6-901E-4934B5455614}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - AMDCaProjectFile = C:\Projects\FBE\scintilla\vcbuild\CodeAnalyst\SciLexer.caw - AMDCaPersistentStartup = SciLexer - AMDCaPersistentConfig = Debug|Win32 - EndGlobalSection -EndGlobal diff --git a/FBShell/FBShell.sln b/FBShell/FBShell.sln deleted file mode 100644 index 31204c3..0000000 --- a/FBShell/FBShell.sln +++ /dev/null @@ -1,28 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.24720.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FBShell", "FBShell.vcxproj", "{65A4857C-ED3E-4CBD-A274-1460AC6A965A}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {65A4857C-ED3E-4CBD-A274-1460AC6A965A}.Debug|x64.ActiveCfg = Debug|x64 - {65A4857C-ED3E-4CBD-A274-1460AC6A965A}.Debug|x64.Build.0 = Debug|x64 - {65A4857C-ED3E-4CBD-A274-1460AC6A965A}.Debug|x86.ActiveCfg = Debug|Win32 - {65A4857C-ED3E-4CBD-A274-1460AC6A965A}.Debug|x86.Build.0 = Debug|Win32 - {65A4857C-ED3E-4CBD-A274-1460AC6A965A}.Release|x64.ActiveCfg = Release|x64 - {65A4857C-ED3E-4CBD-A274-1460AC6A965A}.Release|x64.Build.0 = Release|x64 - {65A4857C-ED3E-4CBD-A274-1460AC6A965A}.Release|x86.ActiveCfg = Release|Win32 - {65A4857C-ED3E-4CBD-A274-1460AC6A965A}.Release|x86.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal From ae2e6f4f12c8383a143116571c423c0466a65210 Mon Sep 17 00:00:00 2001 From: evpobr Date: Tue, 20 Jun 2017 12:07:27 +0500 Subject: [PATCH 13/18] Updgade to VS2017 --- FBE/ExportHTML/ExportHTML.vcxproj | 9 +- FBE/FBE.vcxproj | 6 +- FBE/Scintilla/vcbuild/SciLexer.vcxproj | 4 +- FBE/hunspell/src/win_api/libhunspell.vcxproj | 8 +- FBE/locales/res_rus/res_rus.vcxproj | 8 +- FBE/locales/res_ukr/res_ukr.vcxproj | 8 +- FBE/pcre/pcre.vcxproj | 10 +- FBE/pcre/pcre.vcxproj.filters | 84 ++----- FBShell/FBShell.vcxproj | 16 +- FBShell/FBShell_h.h | 235 ------------------- FBV/FBV.vcxproj | 8 +- 11 files changed, 57 insertions(+), 339 deletions(-) delete mode 100644 FBShell/FBShell_h.h diff --git a/FBE/ExportHTML/ExportHTML.vcxproj b/FBE/ExportHTML/ExportHTML.vcxproj index 2c1fc92..a357361 100644 --- a/FBE/ExportHTML/ExportHTML.vcxproj +++ b/FBE/ExportHTML/ExportHTML.vcxproj @@ -21,33 +21,32 @@ {F15BE191-947B-40DB-934C-507D5011441C} Win32Proj - 8.1 DynamicLibrary true - v140_xp + v141_xp Static Unicode DynamicLibrary false - v140_xp + v141_xp Static Unicode DynamicLibrary true - v140_xp + v141_xp Unicode DynamicLibrary false - v140_xp + v141_xp Unicode diff --git a/FBE/FBE.vcxproj b/FBE/FBE.vcxproj index e4c27b1..4bac683 100644 --- a/FBE/FBE.vcxproj +++ b/FBE/FBE.vcxproj @@ -29,18 +29,18 @@ false Static Unicode - v140_xp + v141_xp Application false Static Unicode - v140_xp + v141_xp true - v140_xp + v141_xp diff --git a/FBE/Scintilla/vcbuild/SciLexer.vcxproj b/FBE/Scintilla/vcbuild/SciLexer.vcxproj index 7ebff71..76aeef4 100644 --- a/FBE/Scintilla/vcbuild/SciLexer.vcxproj +++ b/FBE/Scintilla/vcbuild/SciLexer.vcxproj @@ -21,14 +21,14 @@ false Unicode false - v140_xp + v141_xp DynamicLibrary false Unicode Static - v140_xp + v141_xp diff --git a/FBE/hunspell/src/win_api/libhunspell.vcxproj b/FBE/hunspell/src/win_api/libhunspell.vcxproj index 9fb7ac1..f4c464c 100644 --- a/FBE/hunspell/src/win_api/libhunspell.vcxproj +++ b/FBE/hunspell/src/win_api/libhunspell.vcxproj @@ -27,27 +27,27 @@ DynamicLibrary - v140 + v141_xp false MultiByte DynamicLibrary - v140 + v141_xp false MultiByte true StaticLibrary - v140_xp + v141_xp false MultiByte true StaticLibrary - v140_xp + v141_xp false MultiByte diff --git a/FBE/locales/res_rus/res_rus.vcxproj b/FBE/locales/res_rus/res_rus.vcxproj index 937687a..53db621 100644 --- a/FBE/locales/res_rus/res_rus.vcxproj +++ b/FBE/locales/res_rus/res_rus.vcxproj @@ -19,18 +19,17 @@ Svn SubversionScc Win32Proj - 8.1 DynamicLibrary MultiByte - v140_xp + v141_xp DynamicLibrary MultiByte - v140_xp + v141_xp @@ -178,5 +177,4 @@ - - + \ No newline at end of file diff --git a/FBE/locales/res_ukr/res_ukr.vcxproj b/FBE/locales/res_ukr/res_ukr.vcxproj index 4f74132..66224cf 100644 --- a/FBE/locales/res_ukr/res_ukr.vcxproj +++ b/FBE/locales/res_ukr/res_ukr.vcxproj @@ -19,18 +19,17 @@ Svn SubversionScc Win32Proj - 8.1 DynamicLibrary MultiByte - v140_xp + v141_xp DynamicLibrary MultiByte - v140_xp + v141_xp @@ -185,5 +184,4 @@ - - + \ No newline at end of file diff --git a/FBE/pcre/pcre.vcxproj b/FBE/pcre/pcre.vcxproj index a9d438e..20f3ce4 100644 --- a/FBE/pcre/pcre.vcxproj +++ b/FBE/pcre/pcre.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -30,25 +30,25 @@ DynamicLibrary false MultiByte - v140 + v141_xp DynamicLibrary false MultiByte - v140 + v141_xp DynamicLibrary false MultiByte - v140 + v141_xp DynamicLibrary false MultiByte - v140 + v141_xp diff --git a/FBE/pcre/pcre.vcxproj.filters b/FBE/pcre/pcre.vcxproj.filters index e3b83b5..346b28b 100644 --- a/FBE/pcre/pcre.vcxproj.filters +++ b/FBE/pcre/pcre.vcxproj.filters @@ -1,69 +1,27 @@  - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - + + + + + + + + + + + + + + + + + + + + + diff --git a/FBShell/FBShell.vcxproj b/FBShell/FBShell.vcxproj index 4b3a366..d871d36 100644 --- a/FBShell/FBShell.vcxproj +++ b/FBShell/FBShell.vcxproj @@ -43,53 +43,53 @@ DynamicLibrary true - v140_xp + v141_xp Static Unicode DynamicLibrary true - v140_xp + v141_xp Static Unicode DynamicLibrary false - v140_xp + v141_xp Static Unicode DynamicLibrary false - v140_xp + v141_xp Static Unicode DynamicLibrary true - v140_xp + v141_xp Unicode DynamicLibrary true - v140_xp + v141_xp Unicode DynamicLibrary false - v140_xp + v141_xp Unicode DynamicLibrary false - v140_xp + v141_xp Unicode diff --git a/FBShell/FBShell_h.h b/FBShell/FBShell_h.h deleted file mode 100644 index 34aad7a..0000000 --- a/FBShell/FBShell_h.h +++ /dev/null @@ -1,235 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Sat Jan 23 18:35:58 2016 - */ -/* Compiler settings for FBShell.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of -#endif // __RPCNDR_H_VERSION__ - -#ifndef COM_NO_WINDOWS_H -#include "windows.h" -#include "ole2.h" -#endif /*COM_NO_WINDOWS_H*/ - -#ifndef __FBShell_h_h__ -#define __FBShell_h_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IThumbnailHandler_FWD_DEFINED__ -#define __IThumbnailHandler_FWD_DEFINED__ -typedef interface IThumbnailHandler IThumbnailHandler; -#endif /* __IThumbnailHandler_FWD_DEFINED__ */ - - -#ifndef __IconExtractor_FWD_DEFINED__ -#define __IconExtractor_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class IconExtractor IconExtractor; -#else -typedef struct IconExtractor IconExtractor; -#endif /* __cplusplus */ - -#endif /* __IconExtractor_FWD_DEFINED__ */ - - -#ifndef __ContextMenu_FWD_DEFINED__ -#define __ContextMenu_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class ContextMenu ContextMenu; -#else -typedef struct ContextMenu ContextMenu; -#endif /* __cplusplus */ - -#endif /* __ContextMenu_FWD_DEFINED__ */ - - -#ifndef __ColumnProvider_FWD_DEFINED__ -#define __ColumnProvider_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class ColumnProvider ColumnProvider; -#else -typedef struct ColumnProvider ColumnProvider; -#endif /* __cplusplus */ - -#endif /* __ColumnProvider_FWD_DEFINED__ */ - - -#ifndef __ThumbnailHandler_FWD_DEFINED__ -#define __ThumbnailHandler_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class ThumbnailHandler ThumbnailHandler; -#else -typedef struct ThumbnailHandler ThumbnailHandler; -#endif /* __cplusplus */ - -#endif /* __ThumbnailHandler_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "oaidl.h" -#include "ocidl.h" -#include "shobjIdl.h" -#include "thumbcache.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - -#ifndef __IThumbnailHandler_INTERFACE_DEFINED__ -#define __IThumbnailHandler_INTERFACE_DEFINED__ - -/* interface IThumbnailHandler */ -/* [unique][uuid][object] */ - - -EXTERN_C const IID IID_IThumbnailHandler; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("F78C41C3-CA33-4674-AFE9-AADEA62FFF61") - IThumbnailHandler : public IUnknown - { - public: - }; - -#else /* C style interface */ - - typedef struct IThumbnailHandlerVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IThumbnailHandler * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IThumbnailHandler * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IThumbnailHandler * This); - - END_INTERFACE - } IThumbnailHandlerVtbl; - - interface IThumbnailHandler - { - CONST_VTBL struct IThumbnailHandlerVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IThumbnailHandler_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IThumbnailHandler_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IThumbnailHandler_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IThumbnailHandler_INTERFACE_DEFINED__ */ - - - -#ifndef __FBShellLib_LIBRARY_DEFINED__ -#define __FBShellLib_LIBRARY_DEFINED__ - -/* library FBShellLib */ -/* [version][uuid] */ - - -EXTERN_C const IID LIBID_FBShellLib; - -EXTERN_C const CLSID CLSID_IconExtractor; - -#ifdef __cplusplus - -class DECLSPEC_UUID("E4D8441D-F89C-4b5c-90AC-A857E1768F1F") -IconExtractor; -#endif - -EXTERN_C const CLSID CLSID_ContextMenu; - -#ifdef __cplusplus - -class DECLSPEC_UUID("FDABCF3B-57BE-4110-94B5-4EF8EE3C6A62") -ContextMenu; -#endif - -EXTERN_C const CLSID CLSID_ColumnProvider; - -#ifdef __cplusplus - -class DECLSPEC_UUID("8CBB373E-693A-4bea-ADF3-D05EAE41684B") -ColumnProvider; -#endif - -EXTERN_C const CLSID CLSID_ThumbnailHandler; - -#ifdef __cplusplus - -class DECLSPEC_UUID("585CFC85-7939-4004-9693-EB8C6F848B1F") -ThumbnailHandler; -#endif -#endif /* __FBShellLib_LIBRARY_DEFINED__ */ - -/* Additional Prototypes for ALL interfaces */ - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/FBV/FBV.vcxproj b/FBV/FBV.vcxproj index ef6b3d1..b2dbea4 100644 --- a/FBV/FBV.vcxproj +++ b/FBV/FBV.vcxproj @@ -27,14 +27,14 @@ Application true - v140_xp + v141_xp Static Unicode Application false - v140_xp + v141_xp Static Unicode false @@ -43,13 +43,13 @@ Application true - v140_xp + v141_xp Unicode Application false - v140_xp + v141_xp Unicode false true From 35ba09091ba449bb37b1eada9d8dff92ca97aa4d Mon Sep 17 00:00:00 2001 From: evpobr Date: Tue, 20 Jun 2017 12:38:00 +0500 Subject: [PATCH 14/18] Add Windows SDK 7.0 support --- FBE/AboutBox.h | 1 + FBE/ExportHTML/ExportHTML.rc | 4 ++-- FBShell/FBSHell.rc | 4 ++-- FBV/FBV.rc | 4 ++-- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/FBE/AboutBox.h b/FBE/AboutBox.h index 84a08f0..dba3e00 100644 --- a/FBE/AboutBox.h +++ b/FBE/AboutBox.h @@ -5,6 +5,7 @@ #include #include #include +#include #include "ModelessDialog.h" #include "extras/http_download.h" #include "extras/MD5.h" diff --git a/FBE/ExportHTML/ExportHTML.rc b/FBE/ExportHTML/ExportHTML.rc index 640a726..e535c6c 100644 --- a/FBE/ExportHTML/ExportHTML.rc +++ b/FBE/ExportHTML/ExportHTML.rc @@ -7,7 +7,7 @@ // // Generated from the TEXTINCLUDE 2 resource. // -#include "afxres.h" +#include "atlres.h" ///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS @@ -40,7 +40,7 @@ END 2 TEXTINCLUDE BEGIN - "#include ""afxres.h""\r\n" + "#include ""atlres.h""\r\n" "\0" END diff --git a/FBShell/FBSHell.rc b/FBShell/FBSHell.rc index b6001cc..3119668 100644 --- a/FBShell/FBSHell.rc +++ b/FBShell/FBSHell.rc @@ -7,7 +7,7 @@ // // Generated from the TEXTINCLUDE 2 resource. // -#include "afxres.h" +#include "winres.h" ///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS @@ -32,7 +32,7 @@ END 2 TEXTINCLUDE BEGIN - "#include ""afxres.h""\r\n" + "#include ""winres.h""\r\n" "\0" END diff --git a/FBV/FBV.rc b/FBV/FBV.rc index ee94849..7796914 100644 --- a/FBV/FBV.rc +++ b/FBV/FBV.rc @@ -7,7 +7,7 @@ // // Generated from the TEXTINCLUDE 2 resource. // -#include "afxres.h" +#include "atlres.h" ///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS @@ -32,7 +32,7 @@ END 2 TEXTINCLUDE BEGIN - "#include ""afxres.h""\r\n" + "#include ""atlres.h""\r\n" "\0" END From 0903dc5346381ced8e7098eaec8373fe26277fe2 Mon Sep 17 00:00:00 2001 From: evpobr Date: Tue, 20 Jun 2017 12:53:54 +0500 Subject: [PATCH 15/18] Ignore all MIDL-generated headers --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index b1bf0d6..8747086 100644 --- a/.gitignore +++ b/.gitignore @@ -83,6 +83,7 @@ artifacts/ *_i.c *_p.c *_i.h +*_h.h *.ilk *.meta *.obj From 930ffbc7cb3d1621f3a3c60f63143acefd993e22 Mon Sep 17 00:00:00 2001 From: evpobr Date: Thu, 20 Jul 2017 13:18:22 +0500 Subject: [PATCH 16/18] Bump FBE version to 2.6.11 Bump ExportHTML version to 2.6.11 Bump FBShell version to 2.6.11 Bump FBV version to 2.6.11 Bump russian version to 2.6.11 Bump ukranian version to 2.6.11 Bump installer version to 2.6.11 Fix FBE product version --- FBE/ExportHTML/ExportHTML.rc | 6 +++--- FBE/FBE.rc | 6 +++--- FBE/locales/res_rus/FBE.rc | 6 +++--- FBE/locales/res_ukr/FBE.rc | 6 +++--- FBShell/FBSHell.rc | 34 +++++++++++++++++----------------- FBV/FBV.rc | 6 +++--- Installer/MakeInstaller.nsi | Bin 39046 -> 39046 bytes 7 files changed, 32 insertions(+), 32 deletions(-) diff --git a/FBE/ExportHTML/ExportHTML.rc b/FBE/ExportHTML/ExportHTML.rc index e535c6c..8523ab0 100644 --- a/FBE/ExportHTML/ExportHTML.rc +++ b/FBE/ExportHTML/ExportHTML.rc @@ -59,7 +59,7 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,6,10,0 + FILEVERSION 2,6,11,0 PRODUCTVERSION 2,6,0,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG @@ -77,9 +77,9 @@ BEGIN BEGIN VALUE "CompanyName", "FBE Team" VALUE "FileDescription", "FictionBook Editor HTML export plugin" - VALUE "FileVersion", "2.6.10.0" + VALUE "FileVersion", "2.6.11.0" VALUE "InternalName", "ExportHTML" - VALUE "LegalCopyright", "Copyright 2016 © FBE Team, 2008 © LitRes, 2003 © Mike Matsnev" + VALUE "LegalCopyright", "Copyright 2017 © FBE Team, 2008 © LitRes, 2003 © Mike Matsnev" VALUE "OriginalFilename", "ExportHTML.dll" VALUE "ProductName", "FictionBook Editor" VALUE "ProductVersion", "2.6" diff --git a/FBE/FBE.rc b/FBE/FBE.rc index a613f20..d65f878 100644 --- a/FBE/FBE.rc +++ b/FBE/FBE.rc @@ -670,7 +670,7 @@ IDB_TEXT BITMAP "res\\text.bmp" // VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,6,10,0 + FILEVERSION 2,6,11,0 PRODUCTVERSION 2,6,0,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG @@ -688,9 +688,9 @@ BEGIN BEGIN VALUE "CompanyName", "FBE Team" VALUE "FileDescription", "FictionBook Editor" - VALUE "FileVersion", "2.6.10.0" + VALUE "FileVersion", "2.6.11.0" VALUE "InternalName", "FBE" - VALUE "LegalCopyright", "Copyright 2016 © FBE Team, 2008 © LitRes, 2003 © Mike Matsnev" + VALUE "LegalCopyright", "Copyright 2017 © FBE Team, 2008 © LitRes, 2003 © Mike Matsnev" VALUE "OriginalFilename", "FBE.exe" VALUE "ProductName", "FictionBook Editor" VALUE "ProductVersion", "2.6" diff --git a/FBE/locales/res_rus/FBE.rc b/FBE/locales/res_rus/FBE.rc index e05c862..0cd88b7 100644 --- a/FBE/locales/res_rus/FBE.rc +++ b/FBE/locales/res_rus/FBE.rc @@ -772,7 +772,7 @@ IDR_MAINFRAME ICON "res\\FBE2.ico" // VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,6,10,0 + FILEVERSION 2,6,11,0 PRODUCTVERSION 2,6,0,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG @@ -790,9 +790,9 @@ BEGIN BEGIN VALUE "CompanyName", "FBE Team" VALUE "FileDescription", "FictionBook russian language support" - VALUE "FileVersion", "2.6.10.0" + VALUE "FileVersion", "2.6.11.0" VALUE "InternalName", "res_rus" - VALUE "LegalCopyright", "Copyright 2016 © FBE Team, 2008 © LitRes, 2003 © Mike Matsnev" + VALUE "LegalCopyright", "Copyright 2017 © FBE Team, 2008 © LitRes, 2003 © Mike Matsnev" VALUE "OriginalFilename", "res_rus.dll" VALUE "ProductName", "FictionBook Editor" VALUE "ProductVersion", "2.6" diff --git a/FBE/locales/res_ukr/FBE.rc b/FBE/locales/res_ukr/FBE.rc index 0dfb792..dcd1bae 100644 --- a/FBE/locales/res_ukr/FBE.rc +++ b/FBE/locales/res_ukr/FBE.rc @@ -25,7 +25,7 @@ LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT // VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,6,10,0 + FILEVERSION 2,6,11,0 PRODUCTVERSION 2,6,0,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG @@ -43,9 +43,9 @@ BEGIN BEGIN VALUE "CompanyName", "FBE Team" VALUE "FileDescription", "FictionBook ukrainian language support" - VALUE "FileVersion", "2.6.10.0" + VALUE "FileVersion", "2.6.11.0" VALUE "InternalName", "res_ukr" - VALUE "LegalCopyright", "Copyright 2016 © FBE Team, 2008 © LitRes, 2003 © Mike Matsnev" + VALUE "LegalCopyright", "Copyright 2017 © FBE Team, 2008 © LitRes, 2003 © Mike Matsnev" VALUE "OriginalFilename", "res_ukr.dll" VALUE "ProductName", "FictionBook Editor" VALUE "ProductVersion", "2.6" diff --git a/FBShell/FBSHell.rc b/FBShell/FBSHell.rc index 3119668..0409df3 100644 --- a/FBShell/FBSHell.rc +++ b/FBShell/FBSHell.rc @@ -63,13 +63,27 @@ IDR_THUMBNAILHANDLER REGISTRY "ThumbnailHandler.rgs" LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US #pragma code_page(1252) +///////////////////////////////////////////////////////////////////////////// +// +// REGISTRY +// + +IDR_COLUMNPROVIDER REGISTRY "ColumnProvider.rgs" + +IDR_ICONEXTRACTOR REGISTRY "IconExtractor.rgs" + +IDR_CONTEXTMENU REGISTRY "ContextMenu.rgs" + +IDR_FBSHELL REGISTRY "FBShell.rgs" + + ///////////////////////////////////////////////////////////////////////////// // // Version // VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,6,10,0 + FILEVERSION 2,6,11,0 PRODUCTVERSION 2,6,0,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG @@ -87,9 +101,9 @@ BEGIN BEGIN VALUE "CompanyName", "evpobr" VALUE "FileDescription", "FictionBook shell extension" - VALUE "FileVersion", "2.6.10.0" + VALUE "FileVersion", "2.6.11.0" VALUE "InternalName", "FBShell" - VALUE "LegalCopyright", "Copyright 2016 © FBE Team, 2008 © LitRes, 2003 © Mike Matsnev" + VALUE "LegalCopyright", "Copyright 2017 © FBE Team, 2008 © LitRes, 2003 © Mike Matsnev" VALUE "OriginalFilename", "FBShell.dll" VALUE "ProductName", "FictionBook Editor" VALUE "ProductVersion", "2.6" @@ -102,20 +116,6 @@ BEGIN END -///////////////////////////////////////////////////////////////////////////// -// -// REGISTRY -// - -IDR_COLUMNPROVIDER REGISTRY "ColumnProvider.rgs" - -IDR_ICONEXTRACTOR REGISTRY "IconExtractor.rgs" - -IDR_CONTEXTMENU REGISTRY "ContextMenu.rgs" - -IDR_FBSHELL REGISTRY "FBShell.rgs" - - ///////////////////////////////////////////////////////////////////////////// // // Icon diff --git a/FBV/FBV.rc b/FBV/FBV.rc index 7796914..79002ba 100644 --- a/FBV/FBV.rc +++ b/FBV/FBV.rc @@ -51,7 +51,7 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,6,10,0 + FILEVERSION 2,6,11,0 PRODUCTVERSION 2,6,0,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG @@ -69,9 +69,9 @@ BEGIN BEGIN VALUE "CompanyName", "FBE Team" VALUE "FileDescription", "FictionBook Validator" - VALUE "FileVersion", "2.6.10.0" + VALUE "FileVersion", "2.6.11.0" VALUE "InternalName", "FBV" - VALUE "LegalCopyright", "Copyright 2016 © FBE Team, 2008 © LitRes, 2003 © Mike Matsnev" + VALUE "LegalCopyright", "Copyright 2017 © FBE Team, 2008 © LitRes, 2003 © Mike Matsnev" VALUE "OriginalFilename", "FBV.exe" VALUE "ProductName", "FictionBook Editor" VALUE "ProductVersion", "2.6" diff --git a/Installer/MakeInstaller.nsi b/Installer/MakeInstaller.nsi index b02956c7499067838f09d113be29e7fce44d93d4..9da5ff9b72fc5d2dbd56da3f10652d26a0a62db4 100644 GIT binary patch delta 24 gcmZqM$keuxX~PsoRzn5_293#ye4?AzG2WO40ArH~9RL6T delta 24 gcmZqM$keuxX~PsoRs#kF293#ye4?AzG2WO40Aqy+8~^|S From bc51b588f7aa7d29af1f6843cf3f91bee393c8fd Mon Sep 17 00:00:00 2001 From: evpobr Date: Thu, 20 Jul 2017 13:31:47 +0500 Subject: [PATCH 17/18] Update changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index df262f3..2f04a17 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # FictionBook Editor Changelog +## v2.6.11 + +* Add thumbnail handler shell extension +* Use VS2017 compiler + ## v2.6.10 * 64-bit FBShell build - now shell extension works under 64-bit OS. The installer will automatically install the correct version. From 7f644db86029fa04dfcf6b538bd1dcce4ea3106e Mon Sep 17 00:00:00 2001 From: evpobr Date: Thu, 20 Jul 2017 13:38:23 +0500 Subject: [PATCH 18/18] Enable unicode support in NSIS --- Installer/MakeInstaller.nsi | Bin 39046 -> 39078 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Installer/MakeInstaller.nsi b/Installer/MakeInstaller.nsi index 9da5ff9b72fc5d2dbd56da3f10652d26a0a62db4..fec29860a9fd563817abfce24c6f34762949da02 100644 GIT binary patch delta 43 zcmZqM$h2%DljQ$@p$vHpnGDGc`3xxxsSFAXB@9Ijr3|SPZ6znii12Kb%a{QGGrSEI delta 17 ZcmZ3sk*RGX6Vv~HlXFC5Hri#(002iG2e1GD