mirror of
https://github.com/nextcloud/desktop.git
synced 2024-11-21 20:45:51 +03:00
Allow server URL to be pre-defined without enforcing it to be used unmodified
APPLICATION_SERVER_URL can be either empty or be specified. This commit adds the new CMake option APPLICATION_SERVER_URL_ENFORCE to decide whether to enforce the URL's unmodified use (like before, default: ON) or to allow modification by the user (new). By default APPLICATION_SERVER_URL_ENFORCE is set to ON, to no break with the previous implementation's expectations. If APPLICATION_SERVER_URL is empty, APPLICATION_SERVER_URL_ENFORCE will be ignored by the Account Wizard. The previous behaviour confused me a bit with branded builds. When the URL was (usually) specified but not forced, it was simply discarded, forcing the user to manually supply it. Signed-off-by: Michael Schuster <michael@schuster.ms>
This commit is contained in:
parent
122493eeeb
commit
ce71ffe9f9
5 changed files with 25 additions and 3 deletions
|
@ -6,7 +6,8 @@ set( APPLICATION_VENDOR "Nextcloud GmbH" )
|
|||
set( APPLICATION_UPDATE_URL "https://updates.nextcloud.org/client/" CACHE STRING "URL for updater" )
|
||||
set( APPLICATION_HELP_URL "" CACHE STRING "URL for the help menu" )
|
||||
set( APPLICATION_ICON_NAME "Nextcloud" )
|
||||
set( APPLICATION_SERVER_URL "" CACHE STRING "URL for the server to use. If entered the server can only connect to this instance" )
|
||||
set( APPLICATION_SERVER_URL "" CACHE STRING "URL for the server to use. If entered, the UI field will be pre-filled with it" )
|
||||
set( APPLICATION_SERVER_URL_ENFORCE ON ) # If set and APPLICATION_SERVER_URL is defined, the server can only connect to the pre-defined URL
|
||||
set( APPLICATION_REV_DOMAIN "com.nextcloud.desktopclient" )
|
||||
|
||||
set( LINUX_PACKAGE_SHORTNAME "nextcloud" )
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
#cmakedefine APPLICATION_HELP_URL "@APPLICATION_HELP_URL@"
|
||||
#cmakedefine APPLICATION_ICON_NAME "@APPLICATION_ICON_NAME@"
|
||||
#cmakedefine APPLICATION_SERVER_URL "@APPLICATION_SERVER_URL@"
|
||||
#cmakedefine APPLICATION_SERVER_URL_ENFORCE "@APPLICATION_SERVER_URL_ENFORCE@"
|
||||
#cmakedefine LINUX_APPLICATION_ID "@LINUX_APPLICATION_ID@"
|
||||
#cmakedefine APPLICATION_WIZARD_HEADER_BACKGROUND_COLOR "@APPLICATION_WIZARD_HEADER_BACKGROUND_COLOR@"
|
||||
#cmakedefine APPLICATION_WIZARD_HEADER_TITLE_COLOR "@APPLICATION_WIZARD_HEADER_TITLE_COLOR@"
|
||||
|
|
|
@ -51,7 +51,7 @@ OwncloudSetupPage::OwncloudSetupPage(QWidget *parent)
|
|||
if (theme->overrideServerUrl().isEmpty()) {
|
||||
_ui.leUrl->setPostfix(theme->wizardUrlPostfix());
|
||||
_ui.leUrl->setPlaceholderText(theme->wizardUrlHint());
|
||||
} else {
|
||||
} else if (Theme::instance()->forceOverrideServerUrl()) {
|
||||
_ui.leUrl->setEnabled(false);
|
||||
}
|
||||
|
||||
|
@ -213,6 +213,10 @@ void OwncloudSetupPage::initializePage()
|
|||
// immediately.
|
||||
if (Theme::instance()->overrideServerUrl().isEmpty()) {
|
||||
_ui.leUrl->setFocus();
|
||||
} else if (!Theme::instance()->forceOverrideServerUrl()) {
|
||||
if (nextButton) {
|
||||
nextButton->setFocus();
|
||||
}
|
||||
} else {
|
||||
setCommitPage(true);
|
||||
// Hack: setCommitPage() changes caption, but after an error this page could still be visible
|
||||
|
|
|
@ -269,6 +269,15 @@ QString Theme::overrideServerUrl() const
|
|||
#endif
|
||||
}
|
||||
|
||||
bool Theme::forceOverrideServerUrl() const
|
||||
{
|
||||
#ifdef APPLICATION_SERVER_URL_ENFORCE
|
||||
return true;
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
QString Theme::forceConfigAuthType() const
|
||||
{
|
||||
return QString();
|
||||
|
|
|
@ -149,10 +149,17 @@ public:
|
|||
/**
|
||||
* Setting a value here will pre-define the server url.
|
||||
*
|
||||
* The respective UI controls will be disabled
|
||||
* The respective UI controls will be disabled only if forceOverrideServerUrl() is true
|
||||
*/
|
||||
virtual QString overrideServerUrl() const;
|
||||
|
||||
/**
|
||||
* Enforce a pre-defined server url.
|
||||
*
|
||||
* When true, the respective UI controls will be disabled
|
||||
*/
|
||||
virtual bool forceOverrideServerUrl() const;
|
||||
|
||||
/**
|
||||
* This is only usefull when previous version had a different overrideServerUrl
|
||||
* with a different auth type in that case You should then specify "http" or "shibboleth".
|
||||
|
|
Loading…
Reference in a new issue