Merge pull request #2441 from nextcloud/enh/server-url

Allow server URL to be pre-defined without enforcing it
This commit is contained in:
Kevin Ottens 2020-09-23 09:59:31 +02:00 committed by GitHub
commit dde4dd78fb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 25 additions and 3 deletions

View file

@ -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" )

View file

@ -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@"

View file

@ -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

View file

@ -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();

View file

@ -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".