Age | Commit message (Collapse) | Author |
|
|
|
The AccountManager creates AccountState objects, and stores them in a
shared pointer.
Previously, the raw pointer was given out, and stored in other objects.
That made removal very tricky: when an account gets removed, the
underlying object gets deleted, and then all classes that listen get
notified of the deletion. Those classes would sometimes put a nullptr
into the AccountState pointer they stored, and in each usage would
(hopefully) check for a nullptr. The problem was that a number of checks
were missing, which the clang static analyser pointed out.
This patch changes nearly all uses of a raw pointer into the shared
pointer, thereby making sure all usages have a valid reference, even
when account deletion happens. The two places where a raw pointer is
still used, now put it into a refcounted pointer as soon as possible.
|
|
Fixes: #8938
|
|
|
|
Fixes: #8366
|
|
|
|
|
|
|
|
|
|
And also replace all remaining Q_DECL_OVERRIDE to just override
|
|
* The new menu option will fetch shares and create a new link share if
no "context menu share" currently exists.
* Various cleanup of common operations in socketapi happened as well,
in particular there's now FileData::get() that calculates all the
relevant paths that are useful for most socketapi actions.
|
|
* The sharing ui does a propfind anyway: use that to query the new
property as well!
* For the socket api, asynchronously query the server for the right url
when an action that needs it is triggered.
The old, manually generated URL will be used as fallback in case the
server doesn't support the new property or the property can't be
retrieved for some reason.
Depends on owncloud/core#29021
|
|
* SocketAPI has COPL_LOCAL_LINK / EMAIL_LOCAL_LINK commands
* The nautilus and dolphing shell integrations show a submenu from which
one can share as well as access the private link.
* The SocketAPI provides a new GET_STRINGS command to access localized
strings.
* The private link can also be accessed from the user/group sharing
dialog.
* The numeric file id is extracted from the full id to create the
private link url.
|
|
|
|
See #5180
|
|
Users can't reshare with more permissions than they have themselves.
|
|
Fixes #4185
|
|
Now we have 1 simple dialog that includes 2 widgets.
* ShareLinkWidget (for link shares)
* ShareUserGroupWidget (for user/group shares)
The ShareUserGroupWidget is only included if the server version is >=
8.2.0
For <8.2.0 the old behavior is preserved
|
|
Now the ShareTypes and Permissions are part of the Share class (which is
a bit better abstracted away).
|
|
For now pass it on to the gui. So at least they know something is wrong.
|
|
Also some pointer cleanups
|
|
|
|
There is now a generic OCSJob which must be inherited by other jobs. This is in
prepartion for the other OCS job that will come (for the Sharee API endpoint
for example).
More logic is moved from the sharedialog to the OcsShareJob. So in the GUI code
we now only say what we want (a new share, set the password etc). And the code
in libsync will make that happen. Error handling is for now still done in the
GUI part.
For now the ocsjob and ocssharejob live in gui but probabaly we should
create a libshare or libocs at some point.
|
|
|
|
|
|
|
|
- rename target "doc-dev"
- group into modules
- move to doc/dev
|
|
Conflicts:
VERSION.cmake
src/libsync/propagatedownload.cpp
src/libsync/propagateupload.cpp
|
|
This would have made debugging #3204 and #3136 easier.
|
|
|
|
|
|
|
|
|
|
|
|
Conflicts:
src/gui/sharedialog.cpp
src/gui/sharedialog.h
|
|
|
|
If a file or directory is shared without resharing permission, the
share dialog displays an error. This is not the optimal solution, but
best for now, as we do not have the permissions available for the file
manager plugin.
This fixes #2923
|
|
- Check the share checkbox automatically on open of the dialog
- Use the date picker with popping up calendar
- Proper initial size
- no resizing and appearing and disappearing.
Fixes probably #2917, also #2764
|
|
|
|
|
|
This improves some wording and fixes some show/hide issues with password
setting.
|
|
It uses an unstable API that the server does not really support.
We need to postpone that. Removed for now.
|
|
Initial patch for #2726. Request a thumbnail from the server if files are to be
shared.
|
|
|
|
See https://github.com/owncloud/client/issues/2732 for discussion.
|
|
|
|
Fix missing OcsShareJob constructor.
Conflicts:
src/gui/sharedialog.cpp
|
|
Also fix a possible bug with the share dialog when no account
is configured.
|
|
To make the Sharedialog a bit cleaner and to only have the logic in one place.
The postdata is now passed as a QList<QPair<QString, QString>> to the
OcsShareJob.
|
|
- Some dialog changes: Made it less vertical space comsuming
- Some variable cleanups
- Allow to share files that are not within the synced dir by
copying them to the root of a sync dir first.
|