Support vs build (#1330)
This commit is contained in:
parent
0e9dd71b91
commit
d6889aa71c
30 changed files with 2702 additions and 12 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -88,6 +88,7 @@ Doxyfile
|
|||
## breakpad related
|
||||
third_party/gyp
|
||||
third_party/breakpad
|
||||
third_party/quazip/quazip.vcxproj.user
|
||||
|
||||
/GPATH
|
||||
/GTAGS
|
||||
|
@ -105,3 +106,4 @@ seafile-applet.rc
|
|||
|
||||
## vscode
|
||||
.vscode/
|
||||
.vs
|
||||
|
|
16
resource.h
Normal file
16
resource.h
Normal file
|
@ -0,0 +1,16 @@
|
|||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Visual C++ generated include file.
|
||||
// Used by seafile-client.rc
|
||||
//
|
||||
#define IDI_ICON1 101
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 102
|
||||
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||
#define _APS_NEXT_CONTROL_VALUE 1001
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
81
seafile-client.rc
Normal file
81
seafile-client.rc
Normal file
|
@ -0,0 +1,81 @@
|
|||
// Microsoft Visual C++ generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#include "winres.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Chinese (Simplified, PRC) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
|
||||
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
|
||||
#pragma code_page(936)
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#include ""winres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
#endif // Chinese (Simplified, PRC) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (United States) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
#pragma code_page(1252)
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDI_ICON1 ICON "seafile.ico"
|
||||
|
||||
#endif // English (United States) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
29
seafile-client.sln
Normal file
29
seafile-client.sln
Normal file
|
@ -0,0 +1,29 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.30611.23
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "seafile-client", "seafile-client.vcxproj", "{DB8A875C-9A9D-4A4F-B6BD-40E576A726FF}"
|
||||
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
|
||||
{DB8A875C-9A9D-4A4F-B6BD-40E576A726FF}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{DB8A875C-9A9D-4A4F-B6BD-40E576A726FF}.Debug|x64.Build.0 = Debug|x64
|
||||
{DB8A875C-9A9D-4A4F-B6BD-40E576A726FF}.Debug|x86.ActiveCfg = Debug|x64
|
||||
{DB8A875C-9A9D-4A4F-B6BD-40E576A726FF}.Release|x64.ActiveCfg = Release|x64
|
||||
{DB8A875C-9A9D-4A4F-B6BD-40E576A726FF}.Release|x64.Build.0 = Release|x64
|
||||
{DB8A875C-9A9D-4A4F-B6BD-40E576A726FF}.Release|x86.ActiveCfg = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {07D0F4E8-0A2D-4C9E-86D7-48B940419795}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
457
seafile-client.vcxproj
Normal file
457
seafile-client.vcxproj
Normal file
|
@ -0,0 +1,457 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<QtUic Include="ui\about-dialog.ui" />
|
||||
<QtUic Include="ui\account-settings-dialog.ui" />
|
||||
<QtUic Include="ui\account-view.ui" />
|
||||
<QtUic Include="ui\clone-tasks-dialog.ui" />
|
||||
<QtUic Include="ui\cloud-view.ui" />
|
||||
<QtUic Include="ui\create-repo-dialog.ui" />
|
||||
<QtUic Include="ui\download-repo-dialog.ui" />
|
||||
<QtUic Include="ui\init-seafile-dialog.ui" />
|
||||
<QtUic Include="ui\init-vdrive-dialog.ui" />
|
||||
<QtUic Include="ui\login-dialog.ui" />
|
||||
<QtUic Include="ui\private-share-dialog.ui" />
|
||||
<QtUic Include="ui\repo-detail-dialog.ui" />
|
||||
<QtUic Include="ui\server-repo-item.ui" />
|
||||
<QtUic Include="ui\server-repos-view.ui" />
|
||||
<QtUic Include="ui\server-status-dialog.ui" />
|
||||
<QtUic Include="ui\set-repo-password-dialog.ui" />
|
||||
<QtUic Include="ui\settings-dialog.ui" />
|
||||
<QtUic Include="ui\ssl-confirm-dialog.ui" />
|
||||
<QtUic Include="ui\two-factor-dialog.ui" />
|
||||
<QtUic Include="ui\uninstall-helper-dialog.ui" />
|
||||
<QtUic Include="ui\welcome-dialog.ui" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="i18n\seafile_bg_BG.ts" />
|
||||
<None Include="i18n\seafile_ca.ts" />
|
||||
<None Include="i18n\seafile_cs_CZ.ts" />
|
||||
<None Include="i18n\seafile_de_DE.ts" />
|
||||
<None Include="i18n\seafile_el_GR.ts" />
|
||||
<None Include="i18n\seafile_en.ts" />
|
||||
<None Include="i18n\seafile_es.ts" />
|
||||
<None Include="i18n\seafile_es_AR.ts" />
|
||||
<None Include="i18n\seafile_es_MX.ts" />
|
||||
<None Include="i18n\seafile_et_EE.ts" />
|
||||
<None Include="i18n\seafile_fr_FR.ts" />
|
||||
<None Include="i18n\seafile_he_IL.ts" />
|
||||
<None Include="i18n\seafile_hu_HU.ts" />
|
||||
<None Include="i18n\seafile_is.ts" />
|
||||
<None Include="i18n\seafile_it.ts" />
|
||||
<None Include="i18n\seafile_ja.ts" />
|
||||
<None Include="i18n\seafile_ko_KR.ts" />
|
||||
<None Include="i18n\seafile_lv.ts" />
|
||||
<None Include="i18n\seafile_nb_NO.ts" />
|
||||
<None Include="i18n\seafile_nl_BE.ts" />
|
||||
<None Include="i18n\seafile_nl_NL.ts" />
|
||||
<None Include="i18n\seafile_pl_PL.ts" />
|
||||
<None Include="i18n\seafile_pt_BR.ts" />
|
||||
<None Include="i18n\seafile_pt_PT.ts" />
|
||||
<None Include="i18n\seafile_ru.ts" />
|
||||
<None Include="i18n\seafile_sk_SK.ts" />
|
||||
<None Include="i18n\seafile_sv.ts" />
|
||||
<None Include="i18n\seafile_tr.ts" />
|
||||
<None Include="i18n\seafile_uk.ts" />
|
||||
<None Include="i18n\seafile_zh_CN.ts" />
|
||||
<None Include="i18n\seafile_zh_TW.ts" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<QtMoc Include="src\api\api-client.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="resource.h" />
|
||||
<ClInclude Include="src\account.h" />
|
||||
<QtMoc Include="src\log-uploader.h" />
|
||||
<ClInclude Include="third_party\quazip\crypt.h" />
|
||||
<ClInclude Include="third_party\quazip\ioapi.h" />
|
||||
<ClInclude Include="third_party\quazip\JlCompress.h" />
|
||||
<ClInclude Include="third_party\quazip\quaadler32.h" />
|
||||
<ClInclude Include="third_party\quazip\quachecksum32.h" />
|
||||
<ClInclude Include="third_party\quazip\quacrc32.h" />
|
||||
<ClInclude Include="third_party\quazip\quazip.h" />
|
||||
<ClInclude Include="third_party\quazip\quazipdir.h" />
|
||||
<ClInclude Include="third_party\quazip\unzip.h" />
|
||||
<ClInclude Include="third_party\quazip\zip.h" />
|
||||
<QtMoc Include="third_party\quazip\quazipfile.h" />
|
||||
<ClInclude Include="third_party\quazip\quazipfileinfo.h" />
|
||||
<ClInclude Include="third_party\quazip\quazipnewinfo.h" />
|
||||
<ClInclude Include="third_party\quazip\quazip_global.h" />
|
||||
<QtMoc Include="third_party\quazip\quaziodevice.h" />
|
||||
<QtMoc Include="third_party\quazip\quagzipfile.h" />
|
||||
<QtMoc Include="third_party\QtAwesome\QtAwesome.h" />
|
||||
<QtMoc Include="src\account-info-service.h" />
|
||||
<QtMoc Include="src\account-mgr.h" />
|
||||
<ClInclude Include="src\api\api-error.h" />
|
||||
<ClInclude Include="src\api\commit-details.h" />
|
||||
<ClInclude Include="src\api\contact-share-info.h" />
|
||||
<ClInclude Include="src\api\event.h" />
|
||||
<ClInclude Include="src\api\server-info.h" />
|
||||
<ClInclude Include="src\api\server-repo.h" />
|
||||
<ClInclude Include="src\api\starred-file.h" />
|
||||
<QtMoc Include="src\application.h" />
|
||||
<QtMoc Include="src\auto-login-service.h" />
|
||||
<QtMoc Include="src\auto-update-service.h" />
|
||||
<QtMoc Include="src\avatar-service.h" />
|
||||
<ClInclude Include="src\certs-mgr.h" />
|
||||
<QtMoc Include="src\configurator.h" />
|
||||
<ClInclude Include="src\crash-handler.h" />
|
||||
<QtMoc Include="src\customization-service.h" />
|
||||
<QtMoc Include="src\daemon-mgr.h" />
|
||||
<QtMoc Include="src\events-service.h" />
|
||||
<QtMoc Include="src\ext-handler.h" />
|
||||
<QtMoc Include="src\filebrowser\auto-update-mgr.h" />
|
||||
<ClInclude Include="src\filebrowser\data-cache.h" />
|
||||
<QtMoc Include="src\filebrowser\data-mgr.h" />
|
||||
<QtMoc Include="src\filebrowser\file-browser-dialog.h" />
|
||||
<QtMoc Include="src\filebrowser\file-browser-manager.h" />
|
||||
<QtMoc Include="src\filebrowser\file-browser-requests.h" />
|
||||
<QtMoc Include="src\filebrowser\file-browser-search-tab.h" />
|
||||
<QtMoc Include="src\filebrowser\file-table.h" />
|
||||
<QtMoc Include="src\filebrowser\progress-dialog.h" />
|
||||
<QtMoc Include="src\filebrowser\reliable-upload.h" />
|
||||
<ClInclude Include="src\filebrowser\seaf-dirent.h" />
|
||||
<QtMoc Include="src\filebrowser\seafilelink-dialog.h" />
|
||||
<QtMoc Include="src\filebrowser\sharedlink-dialog.h" />
|
||||
<QtMoc Include="src\filebrowser\tasks.h" />
|
||||
<QtMoc Include="src\filebrowser\thumbnail-service.h" />
|
||||
<QtMoc Include="src\filebrowser\transfer-mgr.h" />
|
||||
<ClInclude Include="src\i18n.h" />
|
||||
<ClInclude Include="src\mac-sparkle-support.h" />
|
||||
<QtMoc Include="src\message-poller.h" />
|
||||
<QtMoc Include="src\network-mgr.h" />
|
||||
<QtMoc Include="src\open-local-helper.h" />
|
||||
<QtMoc Include="src\repo-service.h" />
|
||||
<QtMoc Include="src\repo-service-helper.h" />
|
||||
<ClInclude Include="src\rpc\clone-task.h" />
|
||||
<ClInclude Include="src\rpc\local-repo.h" />
|
||||
<ClInclude Include="src\rpc\searpc-marshal.h" />
|
||||
<ClInclude Include="src\rpc\searpc-signature.h" />
|
||||
<ClInclude Include="src\rpc\sync-error.h" />
|
||||
<QtMoc Include="src\seafile-applet.h" />
|
||||
<QtMoc Include="src\seahub-notifications-monitor.h" />
|
||||
<QtMoc Include="src\server-status-service.h" />
|
||||
<QtMoc Include="src\settings-mgr.h" />
|
||||
<ClInclude Include="src\sync-error-service.h" />
|
||||
<QtMoc Include="src\traynotificationmanager.h" />
|
||||
<QtMoc Include="src\traynotificationwidget.h" />
|
||||
<QtMoc Include="src\rpc\rpc-server.h" />
|
||||
<QtMoc Include="src\rpc\rpc-client.h" />
|
||||
<QtMoc Include="src\shib\shib-login-dialog.h" />
|
||||
<QtMoc Include="src\shib\shib-helper.h" />
|
||||
<ClInclude Include="src\ui\proxy-style.h" />
|
||||
<QtMoc Include="src\ui\user-name-completer.h" />
|
||||
<QtMoc Include="src\ui\uninstall-helper-dialog.h" />
|
||||
<QtMoc Include="src\ui\two-factor-dialog.h" />
|
||||
<QtMoc Include="src\ui\tray-icon.h" />
|
||||
<QtMoc Include="src\ui\tab-view.h" />
|
||||
<QtMoc Include="src\ui\sync-errors-dialog.h" />
|
||||
<QtMoc Include="src\ui\starred-files-tab.h" />
|
||||
<QtMoc Include="src\ui\starred-files-list-view.h" />
|
||||
<QtMoc Include="src\ui\starred-files-list-model.h" />
|
||||
<QtMoc Include="src\ui\starred-file-item-delegate.h" />
|
||||
<ClInclude Include="src\ui\starred-file-item.h" />
|
||||
<QtMoc Include="src\ui\ssl-confirm-dialog.h" />
|
||||
<QtMoc Include="src\ui\settings-dialog.h" />
|
||||
<QtMoc Include="src\ui\set-repo-password-dialog.h" />
|
||||
<QtMoc Include="src\ui\server-status-dialog.h" />
|
||||
<QtMoc Include="src\ui\search-tab-items.h" />
|
||||
<QtMoc Include="src\ui\search-tab.h" />
|
||||
<QtMoc Include="src\ui\search-bar.h" />
|
||||
<QtMoc Include="src\ui\seafile-tab-widget.h" />
|
||||
<QtMoc Include="src\ui\repo-tree-view.h" />
|
||||
<QtMoc Include="src\ui\repo-tree-model.h" />
|
||||
<QtMoc Include="src\ui\repos-tab.h" />
|
||||
<QtMoc Include="src\ui\repo-item-delegate.h" />
|
||||
<ClInclude Include="src\ui\repo-item.h" />
|
||||
<QtMoc Include="src\ui\repo-detail-dialog.h" />
|
||||
<QtMoc Include="src\ui\private-share-dialog.h" />
|
||||
<QtMoc Include="src\ui\main-window.h" />
|
||||
<QtMoc Include="src\ui\logout-view.h" />
|
||||
<QtMoc Include="src\ui\login-dialog.h" />
|
||||
<QtMoc Include="src\ui\loading-view.h" />
|
||||
<QtMoc Include="src\ui\init-vdrive-dialog.h" />
|
||||
<QtMoc Include="src\ui\init-seafile-dialog.h" />
|
||||
<QtMoc Include="src\ui\events-list-view.h" />
|
||||
<QtMoc Include="src\ui\event-details-tree.h" />
|
||||
<QtMoc Include="src\ui\event-details-dialog.h" />
|
||||
<QtMoc Include="src\ui\download-repo-dialog.h" />
|
||||
<QtMoc Include="src\ui\create-repo-dialog.h" />
|
||||
<QtMoc Include="src\ui\cloud-view.h" />
|
||||
<QtMoc Include="src\ui\clone-tasks-table-view.h" />
|
||||
<QtMoc Include="src\ui\clone-tasks-table-model.h" />
|
||||
<QtMoc Include="src\ui\clone-tasks-dialog.h" />
|
||||
<QtMoc Include="src\ui\check-repo-root-perm-dialog.h" />
|
||||
<QtMoc Include="src\ui\activities-tab.h" />
|
||||
<QtMoc Include="src\ui\account-view.h" />
|
||||
<QtMoc Include="src\ui\account-settings-dialog.h" />
|
||||
<QtMoc Include="src\ui\about-dialog.h" />
|
||||
<ClInclude Include="src\utils\api-utils.h" />
|
||||
<ClInclude Include="src\utils\file-utils.h" />
|
||||
<ClInclude Include="src\utils\json-utils.h" />
|
||||
<ClInclude Include="src\utils\log.h" />
|
||||
<ClInclude Include="src\utils\paint-utils.h" />
|
||||
<ClInclude Include="src\utils\process.h" />
|
||||
<ClInclude Include="src\utils\registry.h" />
|
||||
<ClInclude Include="src\utils\rsa.h" />
|
||||
<ClInclude Include="src\utils\seafile-error.h" />
|
||||
<ClInclude Include="src\utils\singleton.h" />
|
||||
<ClInclude Include="src\utils\stl.h" />
|
||||
<ClInclude Include="src\utils\translate-commit-desc.h" />
|
||||
<ClInclude Include="src\utils\uninstall-helpers.h" />
|
||||
<ClInclude Include="src\utils\utils-win.h" />
|
||||
<ClInclude Include="src\utils\utils.h" />
|
||||
<QtMoc Include="src\api\requests.h" />
|
||||
<QtMoc Include="src\api\api-request.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\seafile\lib\repo.c" />
|
||||
<ClCompile Include="..\seafile\lib\seafile-rpc-wrapper.c" />
|
||||
<ClCompile Include="..\seafile\lib\task.c" />
|
||||
<ClCompile Include="src\account-info-service.cpp" />
|
||||
<ClCompile Include="src\account-mgr.cpp" />
|
||||
<ClCompile Include="src\account.cpp" />
|
||||
<ClCompile Include="src\api\api-client.cpp" />
|
||||
<ClCompile Include="src\api\api-error.cpp" />
|
||||
<ClCompile Include="src\api\api-request.cpp" />
|
||||
<ClCompile Include="src\api\commit-details.cpp" />
|
||||
<ClCompile Include="src\api\contact-share-info.cpp" />
|
||||
<ClCompile Include="src\api\event.cpp" />
|
||||
<ClCompile Include="src\api\requests.cpp" />
|
||||
<ClCompile Include="src\api\server-repo.cpp" />
|
||||
<ClCompile Include="src\api\starred-file.cpp" />
|
||||
<ClCompile Include="src\application.cpp" />
|
||||
<ClCompile Include="src\auto-login-service.cpp" />
|
||||
<ClCompile Include="src\auto-update-service.cpp" />
|
||||
<ClCompile Include="src\avatar-service.cpp" />
|
||||
<ClCompile Include="src\certs-mgr.cpp" />
|
||||
<ClCompile Include="src\configurator.cpp" />
|
||||
<ClCompile Include="src\crash-handler.cpp" />
|
||||
<ClCompile Include="src\customization-service.cpp" />
|
||||
<ClCompile Include="src\daemon-mgr.cpp" />
|
||||
<ClCompile Include="src\events-service.cpp" />
|
||||
<ClCompile Include="src\ext-handler.cpp" />
|
||||
<ClCompile Include="src\filebrowser\auto-update-mgr.cpp" />
|
||||
<ClCompile Include="src\filebrowser\data-cache.cpp" />
|
||||
<ClCompile Include="src\filebrowser\data-mgr.cpp" />
|
||||
<ClCompile Include="src\filebrowser\file-browser-dialog.cpp" />
|
||||
<ClCompile Include="src\filebrowser\file-browser-manager.cpp" />
|
||||
<ClCompile Include="src\filebrowser\file-browser-requests.cpp" />
|
||||
<ClCompile Include="src\filebrowser\file-browser-search-tab.cpp" />
|
||||
<ClCompile Include="src\filebrowser\file-table.cpp" />
|
||||
<ClCompile Include="src\filebrowser\progress-dialog.cpp" />
|
||||
<ClCompile Include="src\filebrowser\reliable-upload.cpp" />
|
||||
<ClCompile Include="src\filebrowser\seaf-dirent.cpp" />
|
||||
<ClCompile Include="src\filebrowser\seafilelink-dialog.cpp" />
|
||||
<ClCompile Include="src\filebrowser\sharedlink-dialog.cpp" />
|
||||
<ClCompile Include="src\filebrowser\tasks.cpp" />
|
||||
<ClCompile Include="src\filebrowser\thumbnail-service.cpp" />
|
||||
<ClCompile Include="src\filebrowser\transfer-mgr.cpp" />
|
||||
<ClCompile Include="src\i18n.cpp" />
|
||||
<ClCompile Include="src\log-uploader.cpp" />
|
||||
<ClCompile Include="src\main.cpp" />
|
||||
<ClCompile Include="src\message-poller.cpp" />
|
||||
<ClCompile Include="src\network-mgr.cpp" />
|
||||
<ClCompile Include="src\open-local-helper.cpp" />
|
||||
<ClCompile Include="src\repo-service-helper.cpp" />
|
||||
<ClCompile Include="src\repo-service.cpp" />
|
||||
<ClCompile Include="src\rpc\clone-task.cpp" />
|
||||
<ClCompile Include="src\rpc\local-repo.cpp" />
|
||||
<ClCompile Include="src\rpc\rpc-client.cpp" />
|
||||
<ClCompile Include="src\rpc\rpc-server.cpp" />
|
||||
<ClCompile Include="src\rpc\sync-error.cpp" />
|
||||
<ClCompile Include="src\seafile-applet.cpp" />
|
||||
<ClCompile Include="src\seahub-notifications-monitor.cpp" />
|
||||
<ClCompile Include="src\server-status-service.cpp" />
|
||||
<ClCompile Include="src\settings-mgr.cpp" />
|
||||
<ClCompile Include="src\shib\shib-login-dialog.cpp" />
|
||||
<ClCompile Include="src\sync-error-service.cpp" />
|
||||
<ClCompile Include="src\traynotificationmanager.cpp" />
|
||||
<ClCompile Include="src\traynotificationwidget.cpp" />
|
||||
<ClCompile Include="src\ui\about-dialog.cpp" />
|
||||
<ClCompile Include="src\ui\account-settings-dialog.cpp" />
|
||||
<ClCompile Include="src\ui\account-view.cpp" />
|
||||
<ClCompile Include="src\ui\activities-tab.cpp" />
|
||||
<ClCompile Include="src\ui\check-repo-root-perm-dialog.cpp" />
|
||||
<ClCompile Include="src\ui\clone-tasks-dialog.cpp" />
|
||||
<ClCompile Include="src\ui\clone-tasks-table-model.cpp" />
|
||||
<ClCompile Include="src\ui\clone-tasks-table-view.cpp" />
|
||||
<ClCompile Include="src\ui\cloud-view.cpp" />
|
||||
<ClCompile Include="src\ui\create-repo-dialog.cpp" />
|
||||
<ClCompile Include="src\ui\download-repo-dialog.cpp" />
|
||||
<ClCompile Include="src\ui\event-details-dialog.cpp" />
|
||||
<ClCompile Include="src\ui\event-details-tree.cpp" />
|
||||
<ClCompile Include="src\ui\events-list-view.cpp" />
|
||||
<ClCompile Include="src\ui\init-seafile-dialog.cpp" />
|
||||
<ClCompile Include="src\ui\init-vdrive-dialog.cpp" />
|
||||
<ClCompile Include="src\ui\loading-view.cpp" />
|
||||
<ClCompile Include="src\ui\login-dialog.cpp" />
|
||||
<ClCompile Include="src\ui\logout-view.cpp" />
|
||||
<ClCompile Include="src\ui\main-window.cpp" />
|
||||
<ClCompile Include="src\ui\private-share-dialog.cpp" />
|
||||
<ClCompile Include="src\ui\proxy-style.cpp" />
|
||||
<ClCompile Include="src\ui\repo-detail-dialog.cpp" />
|
||||
<ClCompile Include="src\ui\repo-item-delegate.cpp" />
|
||||
<ClCompile Include="src\ui\repo-item.cpp" />
|
||||
<ClCompile Include="src\ui\repo-tree-model.cpp" />
|
||||
<ClCompile Include="src\ui\repo-tree-view.cpp" />
|
||||
<ClCompile Include="src\ui\repos-tab.cpp" />
|
||||
<ClCompile Include="src\ui\seafile-tab-widget.cpp" />
|
||||
<ClCompile Include="src\ui\search-bar.cpp" />
|
||||
<ClCompile Include="src\ui\search-tab-items.cpp" />
|
||||
<ClCompile Include="src\ui\search-tab.cpp" />
|
||||
<ClCompile Include="src\ui\server-status-dialog.cpp" />
|
||||
<ClCompile Include="src\ui\set-repo-password-dialog.cpp" />
|
||||
<ClCompile Include="src\ui\settings-dialog.cpp" />
|
||||
<ClCompile Include="src\ui\ssl-confirm-dialog.cpp" />
|
||||
<ClCompile Include="src\ui\starred-file-item-delegate.cpp" />
|
||||
<ClCompile Include="src\ui\starred-file-item.cpp" />
|
||||
<ClCompile Include="src\ui\starred-files-list-model.cpp" />
|
||||
<ClCompile Include="src\ui\starred-files-list-view.cpp" />
|
||||
<ClCompile Include="src\ui\starred-files-tab.cpp" />
|
||||
<ClCompile Include="src\ui\sync-errors-dialog.cpp" />
|
||||
<ClCompile Include="src\ui\tab-view.cpp" />
|
||||
<ClCompile Include="src\ui\tray-icon.cpp" />
|
||||
<ClCompile Include="src\ui\two-factor-dialog.cpp" />
|
||||
<ClCompile Include="src\ui\uninstall-helper-dialog.cpp" />
|
||||
<ClCompile Include="src\ui\user-name-completer.cpp" />
|
||||
<ClCompile Include="src\utils\api-utils.cpp" />
|
||||
<ClCompile Include="src\utils\file-utils.cpp" />
|
||||
<ClCompile Include="src\utils\json-utils.cpp" />
|
||||
<ClCompile Include="src\utils\log.c" />
|
||||
<ClCompile Include="src\utils\paint-utils.cpp" />
|
||||
<ClCompile Include="src\utils\process-win.cpp" />
|
||||
<ClCompile Include="src\utils\registry.cpp" />
|
||||
<ClCompile Include="src\utils\rsa.cpp" />
|
||||
<ClCompile Include="src\utils\seafile-error.cpp" />
|
||||
<ClCompile Include="src\utils\stl.cpp" />
|
||||
<ClCompile Include="src\utils\translate-commit-desc.cpp" />
|
||||
<ClCompile Include="src\utils\uninstall-helpers.cpp" />
|
||||
<ClCompile Include="src\utils\utils-win.cpp" />
|
||||
<ClCompile Include="src\utils\utils.cpp" />
|
||||
<ClCompile Include="third_party\QtAwesome\QtAwesome.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<QtRcc Include="seafile-client.qrc" />
|
||||
<QtRcc Include="third_party\QtAwesome\QtAwesome.qrc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="seafile-client.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Image Include="seafile.ico" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{DB8A875C-9A9D-4A4F-B6BD-40E576A726FF}</ProjectGuid>
|
||||
<Keyword>QtVS_v303</Keyword>
|
||||
<WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">10.0.18362.0</WindowsTargetPlatformVersion>
|
||||
<WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">10.0.18362.0</WindowsTargetPlatformVersion>
|
||||
<QtMsBuild Condition="'$(QtMsBuild)'=='' OR !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
|
||||
<Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
|
||||
</Target>
|
||||
<ImportGroup Label="ExtensionSettings" />
|
||||
<ImportGroup Label="Shared" />
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
|
||||
<Import Project="$(QtMsBuild)\qt_defaults.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
||||
<OutDir>$(ProjectDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<TargetName>seafile-applet</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>SEAFILE_CLIENT_VERSION=7.0.10;HAVE_SHIBBOLETH_SUPPORT;HAVE_SPARKLE_SUPPORT;SEAFILE_CLIENT_HAS_CRASH_REPORTER;WIN32_LEAN_AND_MEAN;QUAZIP_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir)..\libsearpc\lib;$(ProjectDir)..\seafile;$(ProjectDir)..\breakpad\src;$(ProjectDir)third_party\quazip;$(ProjectDir)third_party\QtAwesome;$(ProjectDir)third_party\WinSparkle-0.5.3\include;$(ProjectDir)src;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<LanguageStandard>stdcpp14</LanguageStandard>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>wininet.lib;urlmon.lib;psapi.lib;ws2_32.lib;shlwapi.lib;mpr.lib;crypt32.lib;libsearpc.lib;quazip.lib;common.lib;crash_generation_client.lib;exception_handler.lib;rpcrt4.lib;onecoreuap.lib;onecore.lib;winspool.lib;cldapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(ProjectDir)third_party\WinSparkle-0.5.3\x64\Release;$(ProjectDir)..\libsearpc\$(IntDir);$(ProjectDir)third_party\quazip\$(IntDir);$(ProjectDir)..\breakpad\src\client\windows\Release\lib\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<PreBuildEvent>
|
||||
<Command>set FolderName=$(ProjectDir)i18n\
|
||||
for /f "delims=. " %%a in ('dir /b /a-d /o-d "%FolderName%\*.ts"') do (
|
||||
$(QtDllPath)\lrelease.exe "$(ProjectDir)i18n\\"%%a".ts" -qm "$(ProjectDir)i18n\\"%%a".qm"
|
||||
)</Command>
|
||||
</PreBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="QtSettings">
|
||||
<QtInstall>Qt 5.13.1-64bit</QtInstall>
|
||||
<QtModules>core;network;gui;widgets;webengine;webenginewidgets</QtModules>
|
||||
<QtBuildConfig>debug</QtBuildConfig>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="QtSettings">
|
||||
<QtInstall>Qt 5.13.1-64bit</QtInstall>
|
||||
<QtModules>core;network;gui;widgets;webengine;webenginewidgets</QtModules>
|
||||
<QtBuildConfig>release</QtBuildConfig>
|
||||
<QtDeploy>true</QtDeploy>
|
||||
</PropertyGroup>
|
||||
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')">
|
||||
<Import Project="$(QtMsBuild)\qt.props" />
|
||||
</ImportGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
|
||||
<ClCompile>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="Configuration">
|
||||
<ClCompile>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
|
||||
<Import Project="$(QtMsBuild)\qt.targets" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
1050
seafile-client.vcxproj.filters
Normal file
1050
seafile-client.vcxproj.filters
Normal file
File diff suppressed because it is too large
Load diff
4
seafile-client.vcxproj.user
Normal file
4
seafile-client.vcxproj.user
Normal file
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup />
|
||||
</Project>
|
|
@ -7,6 +7,9 @@
|
|||
#include <QIcon>
|
||||
#include <QPixmap>
|
||||
#include <jansson.h>
|
||||
#if defined(_MSC_VER)
|
||||
#include <ciso646>
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Repo information from seahub api
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
#include "application.h"
|
||||
|
||||
#if !defined(_MSC_VER)
|
||||
#include <objc/objc.h>
|
||||
#include <objc/message.h>
|
||||
#endif
|
||||
|
||||
#include <QFileOpenEvent>
|
||||
|
||||
|
|
|
@ -6,7 +6,11 @@
|
|||
#if defined(Q_OS_LINUX)
|
||||
#include "breakpad/client/linux/handler/exception_handler.h"
|
||||
#elif defined(Q_OS_WIN32)
|
||||
#if defined(_MSC_VER)
|
||||
#include "client/windows/handler/exception_handler.h"
|
||||
#else
|
||||
#include "breakpad/client/windows/handler/exception_handler.h"
|
||||
#endif
|
||||
#elif defined(Q_OS_MAC)
|
||||
#include "breakpad/client/mac/handler/exception_handler.h"
|
||||
#endif
|
||||
|
|
|
@ -13,7 +13,11 @@
|
|||
#include "ui/tray-icon.h"
|
||||
|
||||
#include "message-poller.h"
|
||||
#if defined(_MSC_VER)
|
||||
#include "include/seafile-error.h"
|
||||
#else
|
||||
#include <seafile/seafile-error.h>
|
||||
#endif
|
||||
|
||||
namespace {
|
||||
|
||||
|
|
|
@ -11,8 +11,13 @@ extern "C" {
|
|||
#include <searpc-client.h>
|
||||
|
||||
#include <searpc.h>
|
||||
#if defined(_MSC_VER)
|
||||
#include "include/seafile.h"
|
||||
#include "lib/seafile-object.h"
|
||||
#else
|
||||
#include <seafile/seafile.h>
|
||||
#include <seafile/seafile-object.h>
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
#if !defined(_MSC_VER)
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#include <algorithm>
|
||||
|
||||
#include <sqlite3.h>
|
||||
|
|
|
@ -6,7 +6,11 @@
|
|||
#include <QMetaType>
|
||||
|
||||
#include "account.h"
|
||||
#if defined(_MSC_VER)
|
||||
#include "include/seafile-error.h"
|
||||
#else
|
||||
#include <seafile/seafile-error.h>
|
||||
#endif
|
||||
|
||||
struct _GObject;
|
||||
|
||||
|
|
|
@ -4,8 +4,13 @@ extern "C" {
|
|||
#include <searpc-named-pipe-transport.h>
|
||||
|
||||
#include <searpc.h>
|
||||
#if defined(_MSC_VER)
|
||||
#include <include/seafile.h>
|
||||
#include <lib/seafile-object.h>
|
||||
#else
|
||||
#include <seafile/seafile.h>
|
||||
#include <seafile/seafile-object.h>
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
@ -27,7 +32,11 @@ extern "C" {
|
|||
#endif
|
||||
|
||||
#include "rpc-client.h"
|
||||
#if defined(_MSC_VER)
|
||||
#include <include/seafile-error.h>
|
||||
#else
|
||||
#include <seafile/seafile-error.h>
|
||||
#endif
|
||||
|
||||
namespace {
|
||||
|
||||
|
|
|
@ -23,6 +23,10 @@
|
|||
|
||||
#include "shib-login-dialog.h"
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
#include <ciso646>
|
||||
#endif
|
||||
|
||||
namespace {
|
||||
|
||||
const char *kSeahubShibCookieName = "seahub_auth";
|
||||
|
|
|
@ -6,7 +6,9 @@
|
|||
|
||||
#include <assert.h>
|
||||
#include <errno.h>
|
||||
#if !defined(_MSC_VER)
|
||||
#include <dirent.h>
|
||||
#endif
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
@ -65,12 +67,17 @@ get_process_handle (const char *process_name_in)
|
|||
length -= (basename - process_name);
|
||||
|
||||
// if basename doesn't start with `\` or not mached
|
||||
if (*basename != '\\' ||
|
||||
strncasecmp(name, ++basename, length) != 0) {
|
||||
#if defined(_MSC_VER)
|
||||
if (*basename != '\\' || strnicmp(name, ++basename, length) != 0) {
|
||||
CloseHandle(hProcess);
|
||||
continue;
|
||||
}
|
||||
|
||||
#else
|
||||
if (*basename != '\\' || strncasecmp(name, ++basename, length) != 0) {
|
||||
CloseHandle(hProcess);
|
||||
continue;
|
||||
}
|
||||
#endif
|
||||
return hProcess;
|
||||
}
|
||||
/* Not found */
|
||||
|
@ -154,12 +161,17 @@ static int count_process_internal (const char *process_name_in, QList<uint64_t>
|
|||
length -= (basename - process_name);
|
||||
|
||||
// if basename doesn't start with `\` or not mached
|
||||
if (*basename != '\\' ||
|
||||
strncasecmp(name, ++basename, length) != 0) {
|
||||
#if defined(_MSC_VER)
|
||||
if (*basename != '\\' || strnicmp(name, ++basename, length) != 0) {
|
||||
CloseHandle(hProcess);
|
||||
continue;
|
||||
}
|
||||
|
||||
#else
|
||||
if (*basename != '\\' || strncasecmp(name, ++basename, length) != 0) {
|
||||
CloseHandle(hProcess);
|
||||
continue;
|
||||
}
|
||||
#endif
|
||||
if (pids && aProcesses[i] != hCurrentProcessId) {
|
||||
pids->append(aProcesses[i]);
|
||||
}
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
#include "seafile-error.h"
|
||||
#if defined(_MSC_VER)
|
||||
#include "include/seafile-error.h"
|
||||
#else
|
||||
#include <seafile/seafile-error.h>
|
||||
#endif
|
||||
|
||||
QString
|
||||
translateSyncErrorCode(const int error_code)
|
||||
QString translateSyncErrorCode(const int error_code)
|
||||
{
|
||||
QString error_str;
|
||||
switch (error_code) {
|
||||
|
|
|
@ -2,8 +2,13 @@ extern "C" {
|
|||
#include <searpc-client.h>
|
||||
|
||||
#include <searpc.h>
|
||||
#if defined(_MSC_VER)
|
||||
#include "include/seafile.h"
|
||||
#include "lib/seafile-object.h"
|
||||
#else
|
||||
#include <seafile/seafile.h>
|
||||
#include <seafile/seafile-object.h>
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -289,15 +289,22 @@ char *b64encode(const char *input)
|
|||
|
||||
std::string getLocalPipeName(const char *pipe_name)
|
||||
{
|
||||
#if defined(_MSC_VER)
|
||||
const DWORD buf_char_count = 32767;
|
||||
DWORD buf_char_count_size = buf_char_count;
|
||||
#else
|
||||
DWORD buf_char_count = 32767;
|
||||
#endif
|
||||
char user_name_buf[buf_char_count];
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
if (GetUserName(user_name_buf, &buf_char_count_size) == 0) {
|
||||
#else
|
||||
if (GetUserName(user_name_buf, &buf_char_count) == 0) {
|
||||
qWarning ("Failed to get user name, GLE=%lu\n",
|
||||
GetLastError());
|
||||
#endif
|
||||
qWarning("Failed to get user name, GLE=%lu\n", GetLastError());
|
||||
return pipe_name;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
std::string ret(pipe_name);
|
||||
char *encoded = b64encode(user_name_buf);
|
||||
ret += encoded;
|
||||
|
|
|
@ -1,9 +1,13 @@
|
|||
#include <cassert>
|
||||
#include <errno.h>
|
||||
#if !defined(_MSC_VER)
|
||||
#include <dirent.h>
|
||||
#endif
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#if !defined(_MSC_VER)
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#include <sqlite3.h>
|
||||
#include <glib.h>
|
||||
#include <cstring>
|
||||
|
|
12
third_party/WinSparkle-0.5.3/AUTHORS
vendored
Normal file
12
third_party/WinSparkle-0.5.3/AUTHORS
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
Maintainer:
|
||||
|
||||
Vaclav Slavik <vaclav@slavik.io>
|
||||
|
||||
|
||||
Contributors:
|
||||
|
||||
Kohan Ikin <syneryder@namesuppressed.com>
|
||||
Christian L. Jacobsen <christian@concurrency.cc>
|
||||
Littleboy <littleboy@users.sourceforge.net>
|
||||
Vasco Veloso
|
||||
Jonas Emanuel Mueller <zanoi@zanoi.net>
|
19
third_party/WinSparkle-0.5.3/COPYING
vendored
Normal file
19
third_party/WinSparkle-0.5.3/COPYING
vendored
Normal file
|
@ -0,0 +1,19 @@
|
|||
Copyright (c) 2009-2016 Vaclav Slavik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
of the Software, and to permit persons to whom the Software is furnished to do
|
||||
so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
84
third_party/WinSparkle-0.5.3/NEWS
vendored
Normal file
84
third_party/WinSparkle-0.5.3/NEWS
vendored
Normal file
|
@ -0,0 +1,84 @@
|
|||
|
||||
Version 0.5.3
|
||||
-------------
|
||||
|
||||
- Downloads are now cancellable.
|
||||
- Fixed an issue with parsing some appcasts (#123).
|
||||
- Verify UpdateTempDir's validity before deleting it.
|
||||
|
||||
|
||||
Version 0.5.2
|
||||
-------------
|
||||
|
||||
- Includes security fixes for Expat XML parser.
|
||||
|
||||
|
||||
Version 0.5.1
|
||||
-------------
|
||||
|
||||
- Includes fix for the CVE-2016-0718 vulnerability in Expat XML parser.
|
||||
- Added Pascal bindings.
|
||||
- Fixes for RTL languages, added Arabic and Hebrew translations.
|
||||
|
||||
|
||||
Version 0.5
|
||||
-----------
|
||||
|
||||
- Added translations support (32 languages are included at the moment).
|
||||
- HiDPI support.
|
||||
- Updated Expat XML parser to 2.1.1 (security fixes, CVE-2015-1283).
|
||||
- Support for minimumSystemVersion and for specifying 32/64 versions.
|
||||
- Added win_sparkle_check_update_with_ui_and_install() for forcefully
|
||||
installing available updates.
|
||||
- Added more callbacks for various events during updating.
|
||||
- Misc cosmetic fixes.
|
||||
|
||||
|
||||
Version 0.4
|
||||
-----------
|
||||
|
||||
- Added API for gracefully shutting down the host app.
|
||||
- Added the ability to disable automatic checks.
|
||||
- Added the ability to change the update checks interval.
|
||||
- Added x64 support.
|
||||
- Added Visual Studio 201x project files.
|
||||
- Release notes included in appcast's <description> element are now recognized.
|
||||
- Added support for build numbers and shortVersionString.
|
||||
- Added support for sparkle:os="windows" attribute on appcast items.
|
||||
- Fixed appcasts over HTTPS.
|
||||
- Use application icon in the UI.
|
||||
- In-app downloads.
|
||||
|
||||
|
||||
Version 0.3
|
||||
-----------
|
||||
|
||||
- Added win_sparkle_set_app_details() for setting app metadata from code,
|
||||
as an alternative to their extraction from resources.
|
||||
- It is no longer necessary to call win_sparkle_set_appcast_url(), the
|
||||
feed can be specified in FeedURL resource with type set to APPCAST.
|
||||
- Added win_sparkle_set_registry_path().
|
||||
|
||||
|
||||
Version 0.2
|
||||
-----------
|
||||
|
||||
- Display error if update info couldn't be retrieved while manually checking
|
||||
for updates.
|
||||
- WinSparkle window is now resizable only when showing release notes.
|
||||
- Bypass cache and proxies in manual checks.
|
||||
|
||||
|
||||
Version 0.1.1
|
||||
-------------
|
||||
|
||||
- Fixed Sparkle namespace in appcast parser; it now looks for the correct
|
||||
`http://www.andymatuschak.org/xml-namespaces/sparkle` value. Appcasts
|
||||
using the incorrect `http://www.andymatuschak.org/xml-namespaces`
|
||||
URI must be updated.
|
||||
|
||||
|
||||
Version 0.1
|
||||
-----------
|
||||
|
||||
- Initial release.
|
73
third_party/WinSparkle-0.5.3/README.md
vendored
Normal file
73
third_party/WinSparkle-0.5.3/README.md
vendored
Normal file
|
@ -0,0 +1,73 @@
|
|||
[](https://ci.appveyor.com/project/vslavik/winsparkle)
|
||||
[](https://crowdin.com/project/winsparkle)
|
||||
|
||||
About
|
||||
-------
|
||||
|
||||
WinSparkle is a plug-and-forget software update library for Windows
|
||||
applications. It is heavily inspired by the Sparkle framework for OS X
|
||||
written by Andy Matuschak and others, to the point of sharing the same
|
||||
updates format (appcasts) and having very similar user interface.
|
||||
|
||||
See https://winsparkle.org for more information about WinSparkle.
|
||||
|
||||
Documentation: [wiki](https://github.com/vslavik/winsparkle/wiki) and
|
||||
the [winsparkle.h header](https://github.com/vslavik/winsparkle/blob/master/include/winsparkle.h).
|
||||
|
||||
|
||||
Using prebuilt binaries
|
||||
-------------------------
|
||||
|
||||
The easiest way to use WinSparkle is to download the prebuilt `WinSparkle.dll`
|
||||
binary. It doesn't have any extra dependencies (not even `msvcr*.dll`) and is
|
||||
compatible with all Windows compilers.
|
||||
|
||||
|
||||
Building from sources
|
||||
-----------------------
|
||||
|
||||
If you prefer to build WinSparkle yourself, you can do so. You'll have to
|
||||
compile from a git checkout; some of the dependencies are included as git
|
||||
submodules.
|
||||
|
||||
Check the sources out and initialize the submodules:
|
||||
|
||||
$ git clone git://github.com/vslavik/winsparkle.git
|
||||
$ cd winsparkle
|
||||
$ git submodule init
|
||||
$ git submodule update
|
||||
|
||||
To compile the library, just open `WinSparkle.sln` (or the one corresponding to
|
||||
your compiler version) solution and build it.
|
||||
|
||||
At the moment, projects for Visual C++ (2008 and up) are provided, so you'll
|
||||
need that (Express/Community edition suffices). In principle, there's nothing
|
||||
in the code preventing it from being compiled by other compilers.
|
||||
|
||||
There are also unsupported CMake build files in the cmake directory.
|
||||
|
||||
|
||||
Where can I get some examples?
|
||||
--------------------------------
|
||||
|
||||
Download the sources archive and have a look at the
|
||||
[examples/](https://github.com/vslavik/winsparkle/tree/master/examples) folder.
|
||||
|
||||
|
||||
Using latest development versions
|
||||
-----------------------------------
|
||||
|
||||
If you want to stay at the bleeding edge and use the latest, not yet released,
|
||||
version of WinSparkle, you can get its sources from public repository.
|
||||
WinSparkle uses git and and the sources are hosted on GitHub at
|
||||
https://github.com/vslavik/winsparkle
|
||||
|
||||
WinSparkle uses submodules for some dependencies, so you have to initialize
|
||||
them after checking the tree out:
|
||||
|
||||
$ git clone git://github.com/vslavik/winsparkle.git
|
||||
$ cd winsparkle
|
||||
$ git submodule init
|
||||
$ git submodule update
|
||||
|
||||
Then compile WinSparkle as described above; no extra steps are required.
|
64
third_party/WinSparkle-0.5.3/include/winsparkle-version.h
vendored
Normal file
64
third_party/WinSparkle-0.5.3/include/winsparkle-version.h
vendored
Normal file
|
@ -0,0 +1,64 @@
|
|||
/*
|
||||
* This file is part of WinSparkle (https://winsparkle.org)
|
||||
*
|
||||
* Copyright (C) 2009-2016 Vaclav Slavik
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
* DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _winsparkle_version_h_
|
||||
#define _winsparkle_version_h_
|
||||
|
||||
/*--------------------------------------------------------------------------*
|
||||
Version information
|
||||
*--------------------------------------------------------------------------*/
|
||||
|
||||
#define WIN_SPARKLE_VERSION_MAJOR 0
|
||||
#define WIN_SPARKLE_VERSION_MINOR 5
|
||||
#define WIN_SPARKLE_VERSION_MICRO 3
|
||||
|
||||
/**
|
||||
Checks if WinSparkle version is at least @a major.@a minor.@a micro.
|
||||
*/
|
||||
#define WIN_SPARKLE_CHECK_VERSION(major, minor, micro) \
|
||||
( \
|
||||
WIN_SPARKLE_VERSION_MAJOR > (major) \
|
||||
|| \
|
||||
(WIN_SPARKLE_VERSION_MAJOR == (major) && \
|
||||
WIN_SPARKLE_VERSION_MINOR >= (minor)) \
|
||||
|| \
|
||||
(WIN_SPARKLE_VERSION_MAJOR == (major) && \
|
||||
WIN_SPARKLE_VERSION_MINOR == (minor) && \
|
||||
WIN_SPARKLE_VERSION_MICRO >= (micro)) \
|
||||
)
|
||||
|
||||
#define _WIN_SPARKLE_MAKE_STR(x) #x
|
||||
#define _WIN_SPARKLE_MAKE_VERSION_STR(a,b,c) \
|
||||
_WIN_SPARKLE_MAKE_STR(a) "." _WIN_SPARKLE_MAKE_STR(b) "." _WIN_SPARKLE_MAKE_STR(c)
|
||||
|
||||
/**
|
||||
WinSparkle version as a string in the form of e.g. "0.1.3".
|
||||
*/
|
||||
#define WIN_SPARKLE_VERSION_STRING \
|
||||
_WIN_SPARKLE_MAKE_VERSION_STR(WIN_SPARKLE_VERSION_MAJOR, \
|
||||
WIN_SPARKLE_VERSION_MINOR, \
|
||||
WIN_SPARKLE_VERSION_MICRO)
|
||||
|
||||
#endif // _winsparkle_version_h_
|
461
third_party/WinSparkle-0.5.3/include/winsparkle.h
vendored
Normal file
461
third_party/WinSparkle-0.5.3/include/winsparkle.h
vendored
Normal file
|
@ -0,0 +1,461 @@
|
|||
/*
|
||||
* This file is part of WinSparkle (https://winsparkle.org)
|
||||
*
|
||||
* Copyright (C) 2009-2016 Vaclav Slavik
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
* DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _winsparkle_h_
|
||||
#define _winsparkle_h_
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#include "winsparkle-version.h"
|
||||
|
||||
#if !defined(BUILDING_WIN_SPARKLE) && defined(_MSC_VER)
|
||||
#pragma comment(lib, "WinSparkle.lib")
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_WIN_SPARKLE
|
||||
#define WIN_SPARKLE_API __declspec(dllexport)
|
||||
#else
|
||||
#define WIN_SPARKLE_API __declspec(dllimport)
|
||||
#endif
|
||||
|
||||
/*--------------------------------------------------------------------------*
|
||||
Initialization and shutdown
|
||||
*--------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
@name Initialization functions
|
||||
*/
|
||||
//@{
|
||||
|
||||
/**
|
||||
Starts WinSparkle.
|
||||
|
||||
If WinSparkle is configured to check for updates on startup, proceeds
|
||||
to perform the check. You should only call this function when your app
|
||||
is initialized and shows its main window.
|
||||
|
||||
@note This call doesn't block and returns almost immediately. If an
|
||||
update is available, the respective UI is shown later from a separate
|
||||
thread.
|
||||
|
||||
@see win_sparkle_cleanup()
|
||||
*/
|
||||
WIN_SPARKLE_API void __cdecl win_sparkle_init();
|
||||
|
||||
/**
|
||||
Cleans up after WinSparkle.
|
||||
|
||||
Should be called by the app when it's shutting down. Cancels any
|
||||
pending Sparkle operations and shuts down its helper threads.
|
||||
*/
|
||||
WIN_SPARKLE_API void __cdecl win_sparkle_cleanup();
|
||||
|
||||
//@}
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------------*
|
||||
Language settings
|
||||
*--------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
@name Language settings
|
||||
|
||||
These functions set user interface language. They must be called before
|
||||
win_sparkle_init() to have any effect. If none of them is called, WinSparkle
|
||||
detects the UI language automatically.
|
||||
*/
|
||||
//@{
|
||||
|
||||
/**
|
||||
Sets UI language from its ISO code.
|
||||
|
||||
This function must be called before win_sparkle_init().
|
||||
|
||||
@param lang ISO 639 language code with an optional ISO 3116 country
|
||||
code, e.g. "fr", "pt-PT", "pt-BR" or "pt_BR", as used
|
||||
e.g. by ::GetThreadPreferredUILanguages() too.
|
||||
|
||||
@since 0.5
|
||||
|
||||
@see win_sparkle_set_langid()
|
||||
*/
|
||||
WIN_SPARKLE_API void __cdecl win_sparkle_set_lang(const char *lang);
|
||||
|
||||
/**
|
||||
Sets UI language from its Win32 LANGID code.
|
||||
|
||||
This function must be called before win_sparkle_init().
|
||||
|
||||
@param lang Language code (LANGID) as created by the MAKELANGID macro
|
||||
or returned by e.g. ::GetThreadUILanguage()
|
||||
|
||||
@since 0.5
|
||||
|
||||
@see win_sparkle_set_lang()
|
||||
*/
|
||||
WIN_SPARKLE_API void __cdecl win_sparkle_set_langid(unsigned short lang);
|
||||
|
||||
//@}
|
||||
|
||||
/*--------------------------------------------------------------------------*
|
||||
Configuration
|
||||
*--------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
@name Configuration functions
|
||||
|
||||
Functions for setting up WinSparkle.
|
||||
|
||||
All functions in this category can only be called @em before the first
|
||||
call to win_sparkle_init()!
|
||||
|
||||
Typically, the application would configure WinSparkle on startup and then
|
||||
call win_sparkle_init(), all from its main thread.
|
||||
*/
|
||||
//@{
|
||||
|
||||
/**
|
||||
Sets URL for the app's appcast.
|
||||
|
||||
Only http and https schemes are supported.
|
||||
|
||||
If this function isn't called by the app, the URL is obtained from
|
||||
Windows resource named "FeedURL" of type "APPCAST".
|
||||
|
||||
@param url URL of the appcast.
|
||||
|
||||
@note Always use HTTPS feeds, do not use unencrypted HTTP! This is
|
||||
necessary to prevent both leaking user information and preventing
|
||||
various MITM attacks.
|
||||
|
||||
@note See https://github.com/vslavik/winsparkle/wiki/Appcast-Feeds for
|
||||
more information about appcast feeds.
|
||||
*/
|
||||
WIN_SPARKLE_API void __cdecl win_sparkle_set_appcast_url(const char *url);
|
||||
|
||||
/**
|
||||
Sets application metadata.
|
||||
|
||||
Normally, these are taken from VERSIONINFO/StringFileInfo resources,
|
||||
but if your application doesn't use them for some reason, using this
|
||||
function is an alternative.
|
||||
|
||||
@param company_name Company name of the vendor.
|
||||
@param app_name Application name. This is both shown to the user
|
||||
and used in HTTP User-Agent header.
|
||||
@param app_version Version of the app, as string (e.g. "1.2" or "1.2rc1").
|
||||
|
||||
@note @a company_name and @a app_name are used to determine the location
|
||||
of WinSparkle settings in registry.
|
||||
(HKCU\Software\<company_name>\<app_name>\WinSparkle is used.)
|
||||
|
||||
@since 0.3
|
||||
|
||||
@see win_sparkle_set_app_build_version();
|
||||
*/
|
||||
WIN_SPARKLE_API void __cdecl win_sparkle_set_app_details(const wchar_t *company_name,
|
||||
const wchar_t *app_name,
|
||||
const wchar_t *app_version);
|
||||
|
||||
/**
|
||||
Sets application build version number.
|
||||
|
||||
This is the internal version number that is not normally shown to the user.
|
||||
It can be used for finer granularity that official release versions, e.g. for
|
||||
interim builds.
|
||||
|
||||
If this function is called, then the provided *build* number is used for comparing
|
||||
versions; it is compared to the "version" attribute in the appcast and corresponds
|
||||
to OS X Sparkle's CFBundleVersion handling. If used, then the appcast must
|
||||
also contain the "shortVersionString" attribute with human-readable display
|
||||
version string. The version passed to win_sparkle_set_app_details()
|
||||
corresponds to this and is used for display.
|
||||
|
||||
@since 0.4
|
||||
|
||||
@see win_sparkle_set_app_details()
|
||||
*/
|
||||
WIN_SPARKLE_API void __cdecl win_sparkle_set_app_build_version(const wchar_t *build);
|
||||
|
||||
/**
|
||||
Set the registry path where settings will be stored.
|
||||
|
||||
Normally, these are stored in
|
||||
"HKCU\Software\<company_name>\<app_name>\WinSparkle"
|
||||
but if your application needs to store the data elsewhere for
|
||||
some reason, using this function is an alternative.
|
||||
|
||||
Note that @a path is relative to HKCU/HKLM root and the root is not part
|
||||
of it. For example:
|
||||
@code
|
||||
win_sparkle_set_registry_path("Software\\My App\\Updates");
|
||||
@endcode
|
||||
|
||||
@param path Registry path where settings will be stored.
|
||||
|
||||
@since 0.3
|
||||
*/
|
||||
WIN_SPARKLE_API void __cdecl win_sparkle_set_registry_path(const char *path);
|
||||
|
||||
/**
|
||||
Sets whether updates are checked automatically or only through a manual call.
|
||||
|
||||
If disabled, win_sparkle_check_update_with_ui() must be used explicitly.
|
||||
|
||||
@param state 1 to have updates checked automatically, 0 otherwise
|
||||
|
||||
@since 0.4
|
||||
*/
|
||||
WIN_SPARKLE_API void __cdecl win_sparkle_set_automatic_check_for_updates(int state);
|
||||
|
||||
/**
|
||||
Gets the automatic update checking state
|
||||
|
||||
@return 1 if updates are set to be checked automatically, 0 otherwise
|
||||
|
||||
@note Defaults to 0 when not yet configured (as happens on first start).
|
||||
|
||||
@since 0.4
|
||||
*/
|
||||
WIN_SPARKLE_API int __cdecl win_sparkle_get_automatic_check_for_updates();
|
||||
|
||||
/**
|
||||
Sets the automatic update interval.
|
||||
|
||||
@param interval The interval in seconds between checks for updates.
|
||||
The minimum update interval is 3600 seconds (1 hour).
|
||||
|
||||
@since 0.4
|
||||
*/
|
||||
WIN_SPARKLE_API void __cdecl win_sparkle_set_update_check_interval(int interval);
|
||||
|
||||
/**
|
||||
Gets the automatic update interval in seconds.
|
||||
|
||||
Default value is one day.
|
||||
|
||||
@since 0.4
|
||||
*/
|
||||
WIN_SPARKLE_API int __cdecl win_sparkle_get_update_check_interval();
|
||||
|
||||
/**
|
||||
Gets the time for the last update check.
|
||||
|
||||
Default value is -1, indicating that the update check has never run.
|
||||
|
||||
@since 0.4
|
||||
*/
|
||||
WIN_SPARKLE_API time_t __cdecl win_sparkle_get_last_check_time();
|
||||
|
||||
/// Callback type for win_sparkle_error_callback()
|
||||
typedef void (__cdecl *win_sparkle_error_callback_t)();
|
||||
|
||||
/**
|
||||
Set callback to be called when the updater encounters an error.
|
||||
|
||||
@since 0.5
|
||||
*/
|
||||
WIN_SPARKLE_API void __cdecl win_sparkle_set_error_callback(win_sparkle_error_callback_t callback);
|
||||
|
||||
/// Callback type for win_sparkle_can_shutdown_callback()
|
||||
typedef int (__cdecl *win_sparkle_can_shutdown_callback_t)();
|
||||
|
||||
/**
|
||||
Set callback for querying the application if it can be closed.
|
||||
|
||||
This callback will be called to ask the host if it's ready to shut down,
|
||||
before attempting to launch the installer. The callback returns TRUE if
|
||||
the host application can be safely shut down or FALSE if not (e.g. because
|
||||
the user has unsaved documents).
|
||||
|
||||
@note There's no guarantee about the thread from which the callback is called,
|
||||
except that it certainly *won't* be called from the app's main thread.
|
||||
Make sure the callback is thread-safe.
|
||||
|
||||
@since 0.4
|
||||
|
||||
@see win_sparkle_set_shutdown_request_callback()
|
||||
*/
|
||||
WIN_SPARKLE_API void __cdecl win_sparkle_set_can_shutdown_callback(win_sparkle_can_shutdown_callback_t callback);
|
||||
|
||||
|
||||
/// Callback type for win_sparkle_shutdown_request_callback()
|
||||
typedef void (__cdecl *win_sparkle_shutdown_request_callback_t)();
|
||||
|
||||
/**
|
||||
Set callback for shutting down the application.
|
||||
|
||||
This callback will be called to ask the host to shut down immediately after
|
||||
launching the installer. Its implementation should gracefully terminate the
|
||||
application.
|
||||
|
||||
It will only be called if the call to the callback set with
|
||||
win_sparkle_set_can_shutdown_callback() returns TRUE.
|
||||
|
||||
@note There's no guarantee about the thread from which the callback is called,
|
||||
except that it certainly *won't* be called from the app's main thread.
|
||||
Make sure the callback is thread-safe.
|
||||
|
||||
@since 0.4
|
||||
|
||||
@see win_sparkle_set_can_shutdown_callback()
|
||||
*/
|
||||
WIN_SPARKLE_API void __cdecl win_sparkle_set_shutdown_request_callback(win_sparkle_shutdown_request_callback_t);
|
||||
|
||||
/// Callback type for win_sparkle_did_find_update_callback()
|
||||
typedef void(__cdecl *win_sparkle_did_find_update_callback_t)();
|
||||
|
||||
/**
|
||||
Set callback to be called when the updater did find an update.
|
||||
|
||||
This is useful in combination with
|
||||
win_sparkle_check_update_with_ui_and_install() as it allows you to perform
|
||||
some action after WinSparkle checks for updates.
|
||||
|
||||
@since 0.5
|
||||
|
||||
@see win_sparkle_did_not_find_update_callback()
|
||||
@see win_sparkle_check_update_with_ui_and_install()
|
||||
*/
|
||||
WIN_SPARKLE_API void __cdecl win_sparkle_set_did_find_update_callback(win_sparkle_did_find_update_callback_t callback);
|
||||
|
||||
/// Callback type for win_sparkle_did_not_find_update_callback()
|
||||
typedef void (__cdecl *win_sparkle_did_not_find_update_callback_t)();
|
||||
|
||||
/**
|
||||
Set callback to be called when the updater did not find an update.
|
||||
|
||||
This is useful in combination with
|
||||
win_sparkle_check_update_with_ui_and_install() as it allows you to perform
|
||||
some action after WinSparkle checks for updates.
|
||||
|
||||
@since 0.5
|
||||
|
||||
@see win_sparkle_did_find_update_callback()
|
||||
@see win_sparkle_check_update_with_ui_and_install()
|
||||
*/
|
||||
WIN_SPARKLE_API void __cdecl win_sparkle_set_did_not_find_update_callback(win_sparkle_did_not_find_update_callback_t callback);
|
||||
|
||||
/// Callback type for win_sparkle_update_cancelled_callback()
|
||||
typedef void (__cdecl *win_sparkle_update_cancelled_callback_t)();
|
||||
|
||||
/**
|
||||
Set callback to be called when the user cancels a download.
|
||||
|
||||
This is useful in combination with
|
||||
win_sparkle_check_update_with_ui_and_install() as it allows you to perform
|
||||
some action when the installation is interrupted.
|
||||
|
||||
@since 0.5
|
||||
|
||||
@see win_sparkle_check_update_with_ui_and_install()
|
||||
*/
|
||||
WIN_SPARKLE_API void __cdecl win_sparkle_set_update_cancelled_callback(win_sparkle_update_cancelled_callback_t callback);
|
||||
|
||||
//@}
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------------*
|
||||
Manual usage
|
||||
*--------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
@name Manually using WinSparkle
|
||||
*/
|
||||
//@{
|
||||
|
||||
/**
|
||||
Checks if an update is available, showing progress UI to the user.
|
||||
|
||||
Normally, WinSparkle checks for updates on startup and only shows its UI
|
||||
when it finds an update. If the application disables this behavior, it
|
||||
can hook this function to "Check for updates..." menu item.
|
||||
|
||||
When called, background thread is started to check for updates. A small
|
||||
window is shown to let the user know the progress. If no update is found,
|
||||
the user is told so. If there is an update, the usual "update available"
|
||||
window is shown.
|
||||
|
||||
This function returns immediately.
|
||||
|
||||
@note Because this function is intended for manual, user-initiated checks
|
||||
for updates, it ignores "Skip this version" even if the user checked
|
||||
it previously.
|
||||
|
||||
@see win_sparkle_check_update_without_ui()
|
||||
*/
|
||||
WIN_SPARKLE_API void __cdecl win_sparkle_check_update_with_ui();
|
||||
|
||||
/**
|
||||
Checks if an update is available, showing progress UI to the user and
|
||||
immediately installing the update if one is available.
|
||||
|
||||
This is useful for the case when users should almost always use the
|
||||
newest version of your software. When called, WinSparkle will check for
|
||||
updates showing a progress UI to the user. If an update is found the update
|
||||
prompt will be skipped and the update will be installed immediately.
|
||||
|
||||
If your application expects to do something after checking for updates you
|
||||
may wish to use win_sparkle_set_did_not_find_update_callback() and
|
||||
win_sparkle_set_update_cancelled_callback().
|
||||
|
||||
@since 0.5
|
||||
|
||||
@see win_sparkle_set_did_find_update_callback()
|
||||
@see win_sparkle_set_update_cancelled_callback()
|
||||
*/
|
||||
WIN_SPARKLE_API void __cdecl win_sparkle_check_update_with_ui_and_install();
|
||||
|
||||
/**
|
||||
Checks if an update is available.
|
||||
|
||||
No progress UI is shown to the user when checking. If an update is
|
||||
available, the usual "update available" window is shown; this function
|
||||
is *not* completely UI-less.
|
||||
|
||||
Use with caution, it usually makes more sense to use the automatic update
|
||||
checks on interval option or manual check with visible UI.
|
||||
|
||||
This function returns immediately.
|
||||
|
||||
@note This function respects "Skip this version" choice by the user.
|
||||
|
||||
@since 0.4
|
||||
|
||||
@see win_sparkle_check_update_with_ui()
|
||||
*/
|
||||
WIN_SPARKLE_API void __cdecl win_sparkle_check_update_without_ui();
|
||||
|
||||
//@}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // _winsparkle_h_
|
25
third_party/quazip/quazip.sln
vendored
Normal file
25
third_party/quazip/quazip.sln
vendored
Normal file
|
@ -0,0 +1,25 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.30611.23
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "quazip", "quazip.vcxproj", "{63169D2E-199E-412F-97CC-A816A5636426}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{63169D2E-199E-412F-97CC-A816A5636426}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{63169D2E-199E-412F-97CC-A816A5636426}.Debug|x64.Build.0 = Debug|x64
|
||||
{63169D2E-199E-412F-97CC-A816A5636426}.Release|x64.ActiveCfg = Release|x64
|
||||
{63169D2E-199E-412F-97CC-A816A5636426}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {D7C94128-D6F6-42B4-8179-F495464B2D51}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
130
third_party/quazip/quazip.vcxproj
vendored
Normal file
130
third_party/quazip/quazip.vcxproj
vendored
Normal file
|
@ -0,0 +1,130 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="crypt.h" />
|
||||
<ClInclude Include="ioapi.h" />
|
||||
<ClInclude Include="JlCompress.h" />
|
||||
<ClInclude Include="quaadler32.h" />
|
||||
<ClInclude Include="quachecksum32.h" />
|
||||
<ClInclude Include="quacrc32.h" />
|
||||
<ClInclude Include="quazip.h" />
|
||||
<ClInclude Include="quazipdir.h" />
|
||||
<ClInclude Include="quazipfileinfo.h" />
|
||||
<ClInclude Include="quazipnewinfo.h" />
|
||||
<ClInclude Include="unzip.h" />
|
||||
<ClInclude Include="zip.h" />
|
||||
<QtMoc Include="quazipfile.h" />
|
||||
<ClInclude Include="quazip_global.h" />
|
||||
<QtMoc Include="quaziodevice.h" />
|
||||
<QtMoc Include="quagzipfile.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="JlCompress.cpp" />
|
||||
<ClCompile Include="qioapi.cpp" />
|
||||
<ClCompile Include="quaadler32.cpp" />
|
||||
<ClCompile Include="quacrc32.cpp" />
|
||||
<ClCompile Include="quagzipfile.cpp" />
|
||||
<ClCompile Include="quaziodevice.cpp" />
|
||||
<ClCompile Include="quazip.cpp" />
|
||||
<ClCompile Include="quazipdir.cpp" />
|
||||
<ClCompile Include="quazipfile.cpp" />
|
||||
<ClCompile Include="quazipfileinfo.cpp" />
|
||||
<ClCompile Include="quazipnewinfo.cpp" />
|
||||
<ClCompile Include="unzip.c" />
|
||||
<ClCompile Include="zip.c" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{63169D2E-199E-412F-97CC-A816A5636426}</ProjectGuid>
|
||||
<Keyword>QtVS_v303</Keyword>
|
||||
<WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">10.0.18362.0</WindowsTargetPlatformVersion>
|
||||
<WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)'=='Release|x64'">10.0.18362.0</WindowsTargetPlatformVersion>
|
||||
<QtMsBuild Condition="'$(QtMsBuild)'=='' OR !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
|
||||
<Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
|
||||
</Target>
|
||||
<ImportGroup Label="ExtensionSettings" />
|
||||
<ImportGroup Label="Shared" />
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
|
||||
<Import Project="$(QtMsBuild)\qt_defaults.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>$(ProjectDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="QtSettings">
|
||||
<QtInstall>Qt 5.13.1-64bit</QtInstall>
|
||||
<QtModules>core</QtModules>
|
||||
<QtBuildConfig>debug</QtBuildConfig>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="QtSettings">
|
||||
<QtInstall>Qt 5.13.1-64bit</QtInstall>
|
||||
<QtModules>core</QtModules>
|
||||
<QtBuildConfig>debug</QtBuildConfig>
|
||||
</PropertyGroup>
|
||||
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')">
|
||||
<Import Project="$(QtMsBuild)\qt.props" />
|
||||
</ImportGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
|
||||
<ClCompile>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<PreprocessorDefinitions>QUAZIP_LIB;BUILD_STATIC;QUAZIP_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ClCompile>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<PreprocessorDefinitions>QUAZIP_LIB;BUILD_STATIC;QUAZIP_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
|
||||
<Import Project="$(QtMsBuild)\qt.targets" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
115
third_party/quazip/quazip.vcxproj.filters
vendored
Normal file
115
third_party/quazip/quazip.vcxproj.filters
vendored
Normal file
|
@ -0,0 +1,115 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
|
||||
<Extensions>qrc;*</Extensions>
|
||||
<ParseFiles>false</ParseFiles>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="crypt.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ioapi.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="JlCompress.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="quaadler32.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="quachecksum32.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="quacrc32.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="quazip.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="quazip_global.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="quazipdir.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="quazipfileinfo.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="quazipnewinfo.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="unzip.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="zip.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<QtMoc Include="quagzipfile.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="quaziodevice.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="quazipfile.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="unzip.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="zip.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="JlCompress.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="qioapi.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="quaadler32.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="quacrc32.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="quagzipfile.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="quaziodevice.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="quazip.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="quazipdir.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="quazipfile.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="quazipfileinfo.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="quazipnewinfo.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
Loading…
Add table
Add a link
Reference in a new issue