mirror of
https://github.com/chylex/Nextcloud-Desktop.git
synced 2026-04-10 09:57:41 +02:00
Compare commits
14 Commits
v3.3.2
...
v2.6.0-fix
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
286e45bafe | ||
|
|
aa1bb470e6 | ||
|
|
3be9adde4b | ||
|
|
41d97abd08 | ||
|
|
6bc232c9b4 | ||
|
|
d4a0be92ae | ||
|
|
75bf41fba1 | ||
|
|
a2bfd5039c | ||
|
|
a9ee7472b9 | ||
|
|
211d6cb162 | ||
|
|
501c353291 | ||
|
|
aeba2e4de6 | ||
|
|
2f9f84c1f2 | ||
|
|
33646b1775 |
@@ -344,10 +344,9 @@ steps:
|
|||||||
from_secret: DEBIAN_SECRET_IV
|
from_secret: DEBIAN_SECRET_IV
|
||||||
trigger:
|
trigger:
|
||||||
branch:
|
branch:
|
||||||
- master
|
- stable-2.6
|
||||||
event:
|
event:
|
||||||
- pull_request
|
- tag
|
||||||
- push
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
name: Documentation
|
name: Documentation
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
set( MIRALL_VERSION_MAJOR 2 )
|
set( MIRALL_VERSION_MAJOR 2 )
|
||||||
set( MIRALL_VERSION_MINOR 5 )
|
set( MIRALL_VERSION_MINOR 6 )
|
||||||
set( MIRALL_VERSION_PATCH 3 )
|
set( MIRALL_VERSION_PATCH 0 )
|
||||||
set( MIRALL_VERSION_YEAR 2019 )
|
set( MIRALL_VERSION_YEAR 2019 )
|
||||||
set( MIRALL_SOVERSION 0 )
|
set( MIRALL_SOVERSION 0 )
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ Build-Depends: cmake,
|
|||||||
cdbs,
|
cdbs,
|
||||||
dh-python,
|
dh-python,
|
||||||
extra-cmake-modules (>= 5.16),
|
extra-cmake-modules (>= 5.16),
|
||||||
kdelibs5-dev,
|
|
||||||
libkf5kio-dev,
|
libkf5kio-dev,
|
||||||
libcmocka-dev,
|
libcmocka-dev,
|
||||||
libhttp-dav-perl,
|
libhttp-dav-perl,
|
||||||
|
|||||||
@@ -1075,17 +1075,17 @@ void Folder::slotAboutToRemoveAllFiles(SyncFileItem::Direction dir, bool *cancel
|
|||||||
QString msg = dir == SyncFileItem::Down ? tr("All files in the sync folder '%1' folder were deleted on the server.\n"
|
QString msg = dir == SyncFileItem::Down ? tr("All files in the sync folder '%1' folder were deleted on the server.\n"
|
||||||
"These deletes will be synchronized to your local sync folder, making such files "
|
"These deletes will be synchronized to your local sync folder, making such files "
|
||||||
"unavailable unless you have a right to restore. \n"
|
"unavailable unless you have a right to restore. \n"
|
||||||
"If you decide to keep the files, they will be re-synced with the server if you have rights to do so.\n"
|
"If you decide to restore the files, they will be re-synced with the server if you have rights to do so.\n"
|
||||||
"If you decide to delete the files, they will be unavailable to you, unless you are the owner.")
|
"If you decide to delete the files, they will be unavailable to you, unless you are the owner.")
|
||||||
: tr("All the files in your local sync folder '%1' were deleted. These deletes will be "
|
: tr("All files got deleted from your local sync folder '%1'.\n"
|
||||||
"synchronized with your server, making such files unavailable unless restored.\n"
|
"These files will be deleted from the server and will not be available on your other devices if they "
|
||||||
"Are you sure you want to sync those actions with the server?\n"
|
"will not be restored.\n"
|
||||||
"If this was an accident and you decide to keep your files, they will be re-synced from the server.");
|
"If this action was unintended you can restore the lost data now.");
|
||||||
QMessageBox msgBox(QMessageBox::Warning, tr("Download new files?"),
|
QMessageBox msgBox(QMessageBox::Warning, tr("Delete all files?"),
|
||||||
msg.arg(shortGuiLocalPath()));
|
msg.arg(shortGuiLocalPath()));
|
||||||
msgBox.setWindowFlags(msgBox.windowFlags() | Qt::WindowStaysOnTopHint);
|
msgBox.setWindowFlags(msgBox.windowFlags() | Qt::WindowStaysOnTopHint);
|
||||||
msgBox.addButton(tr("Download new files"), QMessageBox::DestructiveRole);
|
msgBox.addButton(tr("Delete all files"), QMessageBox::DestructiveRole);
|
||||||
QPushButton *keepBtn = msgBox.addButton(tr("Keep local files"), QMessageBox::AcceptRole);
|
QPushButton *keepBtn = msgBox.addButton(tr("Restore deleted files"), QMessageBox::AcceptRole);
|
||||||
if (msgBox.exec() == -1) {
|
if (msgBox.exec() == -1) {
|
||||||
*cancel = true;
|
*cancel = true;
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -466,7 +466,41 @@ void OwncloudSetupWizard::slotCreateLocalAndRemoteFolders(const QString &localFo
|
|||||||
_ocWizard->appendToConfigurationLog(res);
|
_ocWizard->appendToConfigurationLog(res);
|
||||||
}
|
}
|
||||||
if (nextStep) {
|
if (nextStep) {
|
||||||
EntityExistsJob *job = new EntityExistsJob(_ocWizard->account(), _ocWizard->account()->davPath() + remoteFolder, this);
|
/*
|
||||||
|
* BEGIN - Sanitize URL paths to eliminate double-slashes
|
||||||
|
*
|
||||||
|
* Purpose: Don't rely on unsafe paths, be extra careful.
|
||||||
|
*
|
||||||
|
* Example: https://cloud.example.com/remote.php/webdav//
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
qCInfo(lcWizard) << "Sanitize got URL path:" << QString(_ocWizard->account()->url().toString() + '/' + _ocWizard->account()->davPath() + remoteFolder);
|
||||||
|
|
||||||
|
QString newDavPath = _ocWizard->account()->davPath(),
|
||||||
|
newRemoteFolder = remoteFolder;
|
||||||
|
|
||||||
|
while (newDavPath.startsWith('/')) {
|
||||||
|
newDavPath.remove(0, 1);
|
||||||
|
}
|
||||||
|
while (newDavPath.endsWith('/')) {
|
||||||
|
newDavPath.chop(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
while (newRemoteFolder.startsWith('/')) {
|
||||||
|
newRemoteFolder.remove(0, 1);
|
||||||
|
}
|
||||||
|
while (newRemoteFolder.endsWith('/')) {
|
||||||
|
newRemoteFolder.chop(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
QString newUrlPath = newDavPath + '/' + newRemoteFolder;
|
||||||
|
|
||||||
|
qCInfo(lcWizard) << "Sanitized to URL path:" << _ocWizard->account()->url().toString() + '/' + newUrlPath;
|
||||||
|
/*
|
||||||
|
* END - Sanitize URL paths to eliminate double-slashes
|
||||||
|
*/
|
||||||
|
|
||||||
|
EntityExistsJob *job = new EntityExistsJob(_ocWizard->account(), newUrlPath, this);
|
||||||
connect(job, &EntityExistsJob::exists, this, &OwncloudSetupWizard::slotRemoteFolderExists);
|
connect(job, &EntityExistsJob::exists, this, &OwncloudSetupWizard::slotRemoteFolderExists);
|
||||||
job->start();
|
job->start();
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -622,8 +622,8 @@ void OCC::SocketApi::openPrivateLink(const QString &link)
|
|||||||
void SocketApi::command_GET_STRINGS(const QString &argument, SocketListener *listener)
|
void SocketApi::command_GET_STRINGS(const QString &argument, SocketListener *listener)
|
||||||
{
|
{
|
||||||
static std::array<std::pair<const char *, QString>, 5> strings { {
|
static std::array<std::pair<const char *, QString>, 5> strings { {
|
||||||
{ "SHARE_MENU_TITLE", tr("Share...") },
|
{ "SHARE_MENU_TITLE", tr("Share options") },
|
||||||
{ "CONTEXT_MENU_TITLE", Theme::instance()->appNameGUI() },
|
{ "CONTEXT_MENU_TITLE", tr("Share via ") + Theme::instance()->appNameGUI()},
|
||||||
{ "COPY_PRIVATE_LINK_MENU_TITLE", tr("Copy private link to clipboard") },
|
{ "COPY_PRIVATE_LINK_MENU_TITLE", tr("Copy private link to clipboard") },
|
||||||
{ "EMAIL_PRIVATE_LINK_MENU_TITLE", tr("Send private link by email...") },
|
{ "EMAIL_PRIVATE_LINK_MENU_TITLE", tr("Send private link by email...") },
|
||||||
} };
|
} };
|
||||||
@@ -652,7 +652,7 @@ void SocketApi::sendSharingContextMenuOptions(const FileData &fileData, SocketLi
|
|||||||
if (isOnTheServer && !record._remotePerm.isNull() && !record._remotePerm.hasPermission(RemotePermissions::CanReshare)) {
|
if (isOnTheServer && !record._remotePerm.isNull() && !record._remotePerm.hasPermission(RemotePermissions::CanReshare)) {
|
||||||
listener->sendMessage(QLatin1String("MENU_ITEM:DISABLED:d:") + tr("Resharing this file is not allowed"));
|
listener->sendMessage(QLatin1String("MENU_ITEM:DISABLED:d:") + tr("Resharing this file is not allowed"));
|
||||||
} else {
|
} else {
|
||||||
listener->sendMessage(QLatin1String("MENU_ITEM:SHARE") + flagString + tr("Share..."));
|
listener->sendMessage(QLatin1String("MENU_ITEM:SHARE") + flagString + tr("Share options"));
|
||||||
|
|
||||||
// Do we have public links?
|
// Do we have public links?
|
||||||
bool publicLinksEnabled = theme->linkSharing() && capabilities.sharePublicLink();
|
bool publicLinksEnabled = theme->linkSharing() && capabilities.sharePublicLink();
|
||||||
@@ -663,13 +663,13 @@ void SocketApi::sendSharingContextMenuOptions(const FileData &fileData, SocketLi
|
|||||||
&& !capabilities.sharePublicLinkEnforcePassword();
|
&& !capabilities.sharePublicLinkEnforcePassword();
|
||||||
|
|
||||||
if (canCreateDefaultPublicLink) {
|
if (canCreateDefaultPublicLink) {
|
||||||
listener->sendMessage(QLatin1String("MENU_ITEM:COPY_PUBLIC_LINK") + flagString + tr("Copy public link to clipboard"));
|
listener->sendMessage(QLatin1String("MENU_ITEM:COPY_PUBLIC_LINK") + flagString + tr("Copy public link"));
|
||||||
} else if (publicLinksEnabled) {
|
} else if (publicLinksEnabled) {
|
||||||
listener->sendMessage(QLatin1String("MENU_ITEM:MANAGE_PUBLIC_LINKS") + flagString + tr("Copy public link to clipboard"));
|
listener->sendMessage(QLatin1String("MENU_ITEM:MANAGE_PUBLIC_LINKS") + flagString + tr("Copy public link"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
listener->sendMessage(QLatin1String("MENU_ITEM:COPY_PRIVATE_LINK") + flagString + tr("Copy private link to clipboard"));
|
listener->sendMessage(QLatin1String("MENU_ITEM:COPY_PRIVATE_LINK") + flagString + tr("Copy internal link"));
|
||||||
|
|
||||||
// Disabled: only providing email option for private links would look odd,
|
// Disabled: only providing email option for private links would look odd,
|
||||||
// and the copy option is more general.
|
// and the copy option is more general.
|
||||||
|
|||||||
@@ -346,6 +346,7 @@ void PropagateUploadFileCommon::slotStartUpload(const QByteArray &transmissionCh
|
|||||||
}
|
}
|
||||||
qDebug() << "prevModtime" << prevModtime << "Curr" << _item->_modtime;
|
qDebug() << "prevModtime" << prevModtime << "Curr" << _item->_modtime;
|
||||||
done(SyncFileItem::SoftError, tr("Local file changed during syncing. It will be resumed."));
|
done(SyncFileItem::SoftError, tr("Local file changed during syncing. It will be resumed."));
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
quint64 fileSize = FileSystem::getSize(fullFilePath);
|
quint64 fileSize = FileSystem::getSize(fullFilePath);
|
||||||
|
|||||||
Reference in New Issue
Block a user