mirror of
https://github.com/ONLYOFFICE/desktop-apps.git
synced 2026-02-10 18:05:16 +08:00
Merge branch 'release/v7.3.0' into develop
This commit is contained in:
@ -65,6 +65,7 @@
|
||||
,"../src/model.js"
|
||||
,"../src/menu.js"
|
||||
,"../src/base.js"
|
||||
,"../src/paneltemplates.js"
|
||||
,"../src/panelrecent.js"
|
||||
,"../src/panelfolders.js"
|
||||
,"../src/panelconnect.js"
|
||||
|
||||
@ -224,6 +224,7 @@
|
||||
<script type="text/javascript" src="panelconnect.js"></script>
|
||||
<script type="text/javascript" src="panelabout.js"></script>
|
||||
<script type="text/javascript" src="panelwelcome.js"></script>
|
||||
<script type="text/javascript" src="paneltemplates.js"></script>
|
||||
<script src="panelsettings.js"></script>
|
||||
<script src="panelexternal.js"></script>
|
||||
<script type="text/javascript" src="dlglogin.js"></script>
|
||||
|
||||
@ -39,6 +39,8 @@ $(document).ready(function() {
|
||||
!window.app && (window.app = {controller:{}});
|
||||
!window.app.controller && (window.app.controller = {});
|
||||
|
||||
if ( !!localStorage.templates )
|
||||
window.app.controller.templates = (new ControllerTemplates).init();
|
||||
window.app.controller.recent = (new ControllerRecent).init();
|
||||
window.app.controller.folders = (new ControllerFolders).init();
|
||||
window.app.controller.about = (new ControllerAbout).init();
|
||||
|
||||
77
common/loginpage/src/paneltemplates.js
Normal file
77
common/loginpage/src/paneltemplates.js
Normal file
@ -0,0 +1,77 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2022
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
|
||||
+function(){ 'use strict'
|
||||
const ControllerTemplates = function(args={}) {
|
||||
args.caption = 'Templates';
|
||||
args.action =
|
||||
this.action = 'templates';
|
||||
this.view = new ViewTemplates(args);
|
||||
};
|
||||
|
||||
ControllerTemplates.prototype = Object.create(baseController.prototype);
|
||||
ControllerTemplates.prototype.constructor = ControllerTemplates;
|
||||
|
||||
window.ControllerTemplates = ControllerTemplates;
|
||||
|
||||
var ViewTemplates = function(args) {
|
||||
var _lang = utils.Lang;
|
||||
|
||||
args.tplPage = `<div class="action-panel ${args.action}"></div>`;
|
||||
args.menu = '.main-column.tool-menu';
|
||||
args.field = '.main-column.col-center';
|
||||
args.itemindex = 0;
|
||||
args.itemtext = 'Templates';
|
||||
|
||||
baseView.prototype.constructor.call(this, args);
|
||||
};
|
||||
|
||||
ViewTemplates.prototype = Object.create(baseView.prototype);
|
||||
ViewTemplates.prototype.constructor = ViewTemplates;
|
||||
|
||||
utils.fn.extend(ControllerTemplates.prototype, (function() {
|
||||
return {
|
||||
init: function() {
|
||||
baseController.prototype.init.apply(this, arguments);
|
||||
this.view.render();
|
||||
|
||||
this.view.$menuitem.find('> a').click(e => {
|
||||
window.sdk.command("open:template", 'external');
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
});
|
||||
|
||||
return this;
|
||||
}
|
||||
};
|
||||
})());
|
||||
}();
|
||||
@ -333,7 +333,7 @@ utils.fn.getToolMenuItemOrder = function(item) {
|
||||
let _action = $item.find('[action]').attr('action'),
|
||||
_is_top_group = !$item.hasClass('bottom');
|
||||
|
||||
let _items_top_order = ['recent', 'open', 'connect', 'activation', 'external-'],
|
||||
let _items_top_order = ['templates', 'recent', 'open', 'connect', 'activation', 'external-'],
|
||||
_items_bottom_order = ['about', 'settings'],
|
||||
_items_order = _is_top_group ? _items_top_order : _items_bottom_order;
|
||||
|
||||
@ -353,6 +353,7 @@ utils.fn.getToolMenuItemOrder = function(item) {
|
||||
|
||||
if ( $itemBefore.length ) return {item: $itemBefore, after: _is_top_group};
|
||||
}
|
||||
return _is_top_group ? {item: $menu.find('.tool-quick-menu').get(0), after: true} : {item: undefined, after: true};
|
||||
} else
|
||||
if ( _index == 0 ) {
|
||||
return _is_top_group ? {item: $menu.find('.tool-quick-menu').get(0), after: true} : {item: undefined, after: true};
|
||||
|
||||
@ -1,12 +0,0 @@
|
||||
Maintainer:
|
||||
|
||||
Vaclav Slavik <vslavik@gmail.com>
|
||||
|
||||
|
||||
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>
|
||||
@ -1,19 +0,0 @@
|
||||
Copyright (c) 2009-2014 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.
|
||||
@ -1,49 +0,0 @@
|
||||
|
||||
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.
|
||||
@ -1,65 +0,0 @@
|
||||
|
||||
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 http://winsparkle.org for more information about WinSparkle.
|
||||
|
||||
Documentation: https://github.com/vslavik/winsparkle/wiki
|
||||
|
||||
|
||||
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. All 3rd party
|
||||
dependencies are included in the sources archive available for download, you
|
||||
don't need to install anything else.
|
||||
|
||||
At the moment, projects for Visual C++ 2008, 2010 and 2012 are provided, so
|
||||
you'll need that (Express edition suffices). In principle, there's nothing in
|
||||
the code preventing it from being compiled by other compilers.
|
||||
|
||||
To compile the library, just open WinSparkle.sln solution and build it.
|
||||
|
||||
|
||||
Where can I get some examples?
|
||||
--------------------------------
|
||||
|
||||
Download the sources archive and have a look at the 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
|
||||
http://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.
|
||||
|
||||
|
||||
Where to get help
|
||||
-------------------
|
||||
|
||||
See http://winsparkle.org
|
||||
@ -1,64 +0,0 @@
|
||||
/*
|
||||
* This file is part of WinSparkle (http://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 0
|
||||
|
||||
/**
|
||||
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_
|
||||
@ -1,459 +0,0 @@
|
||||
/*
|
||||
* This file is part of WinSparkle (http://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.
|
||||
*/
|
||||
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();
|
||||
|
||||
/**
|
||||
|
||||
*/
|
||||
WIN_SPARKLE_API bool __cdecl win_sparkle_is_processing();
|
||||
|
||||
//@}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // _winsparkle_h_
|
||||
@ -186,7 +186,7 @@ core_windows {
|
||||
}
|
||||
core_linux:LIBS += -L$$CORE_3DPARTY_PATH/cef/$$PLATFORM_BUILD/build -lcef
|
||||
|
||||
ADD_DEPENDENCY(PdfReader, PdfWriter, DjVuFile, XpsFile, HtmlRenderer, UnicodeConverter, hunspell, ooxmlsignature, kernel, kernel_network, graphics, videoplayer, ascdocumentscore, qtascdocumentscore)
|
||||
ADD_DEPENDENCY(PdfFile, DjVuFile, XpsFile, HtmlRenderer, UnicodeConverter, hunspell, ooxmlsignature, kernel, kernel_network, graphics, videoplayer, ascdocumentscore, qtascdocumentscore)
|
||||
|
||||
core_linux {
|
||||
QT += network x11extras
|
||||
|
||||
@ -150,7 +150,7 @@
|
||||
<ROW Component="locale_HK_LM" ComponentId="{D09979D5-ED81-4DE9-8602-7C1C8D2C6B75}" Directory_="APPDIR" Attributes="260" KeyPath="locale_HK_LM"/>
|
||||
</COMPONENT>
|
||||
<COMPONENT cid="caphyon.advinst.msicomp.MsiFeatsComponent">
|
||||
<ROW Feature="ExtendedFeature" Feature_Parent="MainFeature" Title="ExtendedFeature" Description="Description" Display="5" Level="1" Directory_="APPDIR" Attributes="0"/>
|
||||
<ROW Feature="ExtendedFeature" Feature_Parent="MainFeature" Title="ExtendedFeature" Description="ExtendedFeature" Display="5" Level="1" Directory_="CUSTOM_PATH" Attributes="0"/>
|
||||
<ROW Feature="FileProgramAssociation" Feature_Parent="MainFeature" Title="File Program Association" Description="Description" Display="57" Level="1" Directory_="APPDIR" Attributes="0"/>
|
||||
<ROW Feature="FileTypeAssociations" Feature_Parent="MainFeature" Title="File Type Associations" Description="Description" Display="3" Level="1" Directory_="APPDIR" Attributes="0" Options="13"/>
|
||||
<ROW Feature="MainFeature" Title="MainFeature" Description="Description" Display="1" Level="1" Directory_="APPDIR" Attributes="0"/>
|
||||
@ -322,6 +322,7 @@
|
||||
<ROW Feature_="docxf" Level="0" Condition="ProductName <> "ONLYOFFICE Desktop Editors""/>
|
||||
<ROW Feature_="oform" Level="0" Condition="ProductName <> "ONLYOFFICE Desktop Editors""/>
|
||||
<ROW Feature_="FileProgramAssociation" Level="4" Condition="REGISTER_PROG_NONE = 1"/>
|
||||
<ROW Feature_="ExtendedFeature" Level="4" Condition="GALLERY <> "1" AND PLAYER <> "1""/>
|
||||
</COMPONENT>
|
||||
<COMPONENT cid="caphyon.advinst.msicomp.MsiControlComponent">
|
||||
<ROW Dialog_="AdminBrowseDlg" Control="OK" Type="PushButton" X="304" Y="243" Width="56" Height="17" Attributes="3" Text="[ButtonText_OK]" Order="300" TextLocId="-" MsiKey="AdminBrowseDlg#OK"/>
|
||||
@ -861,7 +862,6 @@
|
||||
<ROW Feature_="MainFeature" Component_="AI_DisableModify"/>
|
||||
<ROW Feature_="ExtendedFeature" Component_="VideoPlayer.exe"/>
|
||||
<ROW Feature_="ExtendedFeature" Component_="ImageViewer.exe"/>
|
||||
<ROW Feature_="ExtendedFeature" Component_="SHORTCUTDIR"/>
|
||||
<ROW Feature_="MainFeature" Component_="AIShRegAnswer"/>
|
||||
<ROW Feature_="MicrosoftVisualC" Component_="MicrosoftVisualC"/>
|
||||
<ROW Feature_="MicrosoftVisualC_1" Component_="MicrosoftVisualC_1"/>
|
||||
@ -875,7 +875,6 @@
|
||||
<ROW Feature_="MainFeature" Component_="AppPath"/>
|
||||
<ROW Feature_="MainFeature" Component_="Version"/>
|
||||
<ROW Feature_="MainFeature" Component_="converter"/>
|
||||
<ROW Feature_="ExtendedFeature" Component_="DesktopEditors.exe"/>
|
||||
<ROW Feature_="MainFeature" Component_="Software"/>
|
||||
<ROW Feature_="FileProgramAssociation" Component_="ASCC_REG_REGISTERED_APP_NAME"/>
|
||||
<ROW Feature_="FileProgramAssociation" Component_="ASSOC_PROG_ID"/>
|
||||
@ -897,6 +896,8 @@
|
||||
<ROW Feature_="FileProgramAssociation" Component_="FileAssociation_docx"/>
|
||||
<ROW Feature_="FileProgramAssociation" Component_="FileAssociation_docxf"/>
|
||||
<ROW Feature_="FileProgramAssociation" Component_="FileAssociation_odp"/>
|
||||
<ROW Feature_="MainFeature" Component_="DesktopEditors.exe"/>
|
||||
<ROW Feature_="MainFeature" Component_="SHORTCUTDIR"/>
|
||||
</COMPONENT>
|
||||
<COMPONENT cid="caphyon.advinst.msicomp.MsiIconsComponent">
|
||||
<ROW Name="ImageViewer.exe" SourcePath="..\..\extras\projicons\res\gallery.ico" Index="0"/>
|
||||
@ -1154,10 +1155,10 @@
|
||||
<ROW Registry="xps" Root="2" Key="Software\[MANUFACTURER_INSTALL_FOLDER]\[PRODUCT_INSTALL_FOLDER]\Capabilities\FileAssociations" Name=".xps" Value="[ASCC_REG_PREFIX].Xps" Component_="FileAssociation_xps"/>
|
||||
</COMPONENT>
|
||||
<COMPONENT cid="caphyon.advinst.msicomp.MsiShortsComponent">
|
||||
<ROW Shortcut="COMMON_SHORTCUT_NAME_DESKTOP" Directory_="DesktopFolder" Name="ONLYOF~1|[|COMMON_SHORTCUT_NAME]" Component_="DesktopEditors.exe" Target="[#DesktopEditors.exe]" Hotkey="0" Icon_="desktopeditors.exe" IconIndex="0" ShowCmd="1" WkDir="APPDIR" Advertised="true"/>
|
||||
<ROW Shortcut="COMMON_SHORTCUT_NAME_SHORTCUTDIR" Directory_="SHORTCUTDIR" Name="ONLYOF~2|[|COMMON_SHORTCUT_NAME]" Component_="DesktopEditors.exe" Target="[#DesktopEditors.exe]" Hotkey="0" Icon_="desktopeditors.exe" IconIndex="0" ShowCmd="1" WkDir="APPDIR" Advertised="true"/>
|
||||
<ROW Shortcut="GALLERY_SHORTCUT_NAME" Directory_="SHORTCUTDIR" Name="ONLYOF~1|[|GALLERY_SHORTCUT_NAME]" Component_="ImageViewer.exe" Target="[#ImageViewer.exe]" Hotkey="0" Icon_="ImageViewer.exe" IconIndex="0" ShowCmd="1" WkDir="CUSTOM_PATH" Advertised="true"/>
|
||||
<ROW Shortcut="MEDIA_SHORTCUT_NAME" Directory_="SHORTCUTDIR" Name="ONLYOF~1|[|MEDIA_SHORTCUT_NAME]" Component_="VideoPlayer.exe" Target="[#VideoPlayer.exe]" Hotkey="0" Icon_="VideoPlayer.exe" IconIndex="0" ShowCmd="1" WkDir="CUSTOM_PATH" Advertised="true"/>
|
||||
<ROW Shortcut="COMMON_SHORTCUT_NAME_DESKTOP" Directory_="DesktopFolder" Name="ONLYOF~1|[|COMMON_SHORTCUT_NAME]" Component_="DesktopEditors.exe" Target="[#DesktopEditors.exe]" Hotkey="0" Icon_="desktopeditors.exe" IconIndex="0" ShowCmd="1" WkDir="APPDIR"/>
|
||||
<ROW Shortcut="COMMON_SHORTCUT_NAME_SHORTCUTDIR" Directory_="SHORTCUTDIR" Name="ONLYOF~2|[|COMMON_SHORTCUT_NAME]" Component_="DesktopEditors.exe" Target="[#DesktopEditors.exe]" Hotkey="0" Icon_="desktopeditors.exe" IconIndex="0" ShowCmd="1" WkDir="APPDIR"/>
|
||||
<ROW Shortcut="GALLERY_SHORTCUT_NAME" Directory_="SHORTCUTDIR" Name="ONLYOF~1|[|GALLERY_SHORTCUT_NAME]" Component_="ImageViewer.exe" Target="[#ImageViewer.exe]" Hotkey="0" Icon_="ImageViewer.exe" IconIndex="0" ShowCmd="1" WkDir="CUSTOM_PATH"/>
|
||||
<ROW Shortcut="MEDIA_SHORTCUT_NAME" Directory_="SHORTCUTDIR" Name="ONLYOF~1|[|MEDIA_SHORTCUT_NAME]" Component_="VideoPlayer.exe" Target="[#VideoPlayer.exe]" Hotkey="0" Icon_="VideoPlayer.exe" IconIndex="0" ShowCmd="1" WkDir="CUSTOM_PATH"/>
|
||||
</COMPONENT>
|
||||
<COMPONENT cid="caphyon.advinst.msicomp.MsiThemeComponent">
|
||||
<ATTRIBUTE name="UsedTheme" value="classic"/>
|
||||
|
||||
@ -930,7 +930,6 @@ Source: {#DEPLOY_PATH}\*.exe; DestDir: {app}; Flags: s
|
||||
Source: {#DEPLOY_PATH}\ascdocumentscore.dll; DestDir: {app}; Flags: signonce;
|
||||
Source: {#DEPLOY_PATH}\hunspell.dll; DestDir: {app}; Flags: signonce;
|
||||
Source: {#DEPLOY_PATH}\ooxmlsignature.dll; DestDir: {app}; Flags: signonce;
|
||||
Source: {#DEPLOY_PATH}\WinSparkle.dll; DestDir: {app}; Flags: signonce;
|
||||
Source: {#DEPLOY_PATH}\converter\*.dll; DestDir: {app}\converter; Flags: signonce;
|
||||
Source: {#DEPLOY_PATH}\converter\*.exe; DestDir: {app}\converter; Flags: signonce;
|
||||
|
||||
|
||||
@ -359,6 +359,17 @@ bool CAscApplicationManagerWrapper::processCommonEvent(NSEditorApi::CAscCefMenuE
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
} else
|
||||
if ( !(cmd.find(L"open:template") == std::wstring::npos) ) {
|
||||
if ( pData->get_Param() == L"external" ) {
|
||||
QJsonObject _json_obj;
|
||||
_json_obj["portal"] = "https://oforms.teamlab.info";
|
||||
_json_obj["entrypage"] = "";
|
||||
|
||||
mainWindow()->onPortalOpen(QJsonDocument(_json_obj).toJson(QJsonDocument::Compact));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user