Commit graph

7023 commits

Author SHA1 Message Date
Dominik Schmidt
b171bd991d Make -logfile - work on Windows 2020-07-01 14:54:52 +02:00
Dominik Schmidt
fd493a0598 Make qFatal() trigger the crash reporter on Windows 2020-07-01 14:54:32 +02:00
Valdnet
01e6f73da5 Change the space character to a dot
Change the space character to a dot in the text string
2020-07-01 14:11:14 +02:00
Valdnet
d526f9e073 Delete a space character
Delete a space character before the line breaks
2020-07-01 14:10:49 +02:00
Kevin Ottens
d7a9a4cd09 Fix parenting issues of PropagateUploadEncrypted
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-30 11:29:08 +02:00
Kevin Ottens
3182c613ac Take care of mangled paths on download as well
This means adjusting PropagateDownloadEncrypted so that it knows where
the file will end (otherwise it would create temporary files in non
existant paths for instance).
In turn we have to adjust PropagateDownloadFile accordingly so that it
resolves the local folder the file will end up in.
And last we adjust PropagateLocalMkdir to resolve paths as well and
demangle as needed.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-30 11:29:08 +02:00
Kevin Ottens
6dc12166ad Update the item even if we don't call decryptFile()
This way it makes it usable in a directory context.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-30 11:29:08 +02:00
Kevin Ottens
2abc3ce2f5 Stop leaking PropagateDownloadEncrypted objects
We give them a parent to make sure they will be destroyed when the jobs
which created them are destroyed themselves.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-30 11:29:08 +02:00
Kevin Ottens
01d44dd3a1 Display folder names demangled in the settings
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-30 11:29:08 +02:00
Kevin Ottens
710c470c13 Assume that folder paths can be mangled
PropagateUploadEncrypted made the assumption of the folder names never
being mangled. This is not true since the previous commits so make sure
we properly deal with that using the journal db.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-30 11:29:08 +02:00
Kevin Ottens
3e13919c35 Use QHash instead of QMap
This is not only a question of performances in our case (complexity
being better on look ups). It also provides a few more services.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-30 11:29:08 +02:00
Kevin Ottens
3db267a03b Ensure GetFolderEncryptStatusJob gets all the folders
We ensure the PROPFIND Depth is infinity by explicitly specifying the
header (turns out our implementation just doesn't assume infinity
otherwise). This way we have a clear picture about *all* the folders of
the user, otherwise ClientSideEncryption couldn't be a trustable oracle
on the encryption state for any folder not on the root and all the
encryption code assumes it has a full picture of encryption.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-30 11:29:08 +02:00
Kevin Ottens
f93fdafa80 Finally encrypt subdirectories during sync
We catch when a directory is inside a known encrypted folder and in such
a case we now do the following:
 1) we encrypt the folder meta data (its name) properly and create it
    under that mangled name on the server side
 2) we mark the new folder itself as encrypted

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-30 11:29:08 +02:00
Kevin Ottens
319e441653 Make PropagateUploadEncrypted reusable in a directory context
It was assuming we'd encrypt only files but directory names also need to
be encrypted. We just skip the writing to temp file part in that case.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-30 11:29:08 +02:00
Kevin Ottens
fc9a8c4496 Mark user strings for translation
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-30 11:29:08 +02:00
Kevin Ottens
74978a23fb Move the encrypt folder logic in a reusable job class
This way this whole logic isn't stuck into the settings dialog anymore.
Also cleaned up the unused "decrypt folder" logic.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-30 11:29:08 +02:00
Kevin Ottens
b3fb730d5a Use the propagator to trigger the e2e info fetch
This is a much better place than the GUI, this way we ensure the
propagator is always operating of up to date information. Previously if
the propagator kicked in without user interaction from startup (not
showing the settings dialog) it would have no E2E information available
whatsoever... unsurprisingly it would thus take wrong information at
every turn.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-30 11:29:08 +02:00
Kevin Ottens
5f611d6e39 Get ClientSideEncryption to notify when folder info fetch is done
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-30 11:29:08 +02:00
Kevin Ottens
76fbbfefa5 Fix typo
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-30 11:29:08 +02:00
Kevin Ottens
5afcf71e68 Fix typo
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-30 11:29:08 +02:00
Kevin Ottens
839c056b8d Don't show the encrypt action in subfolders of encrypted folders
Since we want to move to a place where the encryption of subfolders is
always enforced it makes no sense to leave it in control of the user.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-30 11:29:08 +02:00
Kevin Ottens
3bbc54ee6c Fix typo
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-30 11:29:08 +02:00
Kevin Ottens
03ecaab259 Capture the pointer to info by value
Using a reference capture is a disaster waiting to happen here, if for
some reason we'd move from exec() to popup() for the menu below we'd be
getting garbage in the lambda call.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-30 11:29:08 +02:00
Stephan Beyer
20b58219e4 Hide Systray's auxiliary positioning methods from public and Qml
Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
2020-06-26 12:03:26 +00:00
Stephan Beyer
080505ef46 Simplify tray window positioning
The Qml position setting code is moved to C++, which allowed to get rid
of the currentScreenIndex() method (which seemed to be just a detour to
pass the screen from C++ to Qml).

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
2020-06-26 12:03:26 +00:00
Michael Schuster
d71249bb6e Fix crash in UserModel::currentUser() and add more sanity checks
Commit 07bede8 (PR #1892) introduced a new helper method currentUser()
that didn't check for _users.count() thus causing to throw an
"index out of range" exception when no accounts are configured.

This commit uses the opportunity to add more sanity checks to UserModel.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-06-25 20:52:30 +02:00
Stephan Beyer
f90e0e519f Make Systray's _trayEngine a QPointer
This is just safer.

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
2020-06-24 17:25:20 +02:00
Stephan Beyer
08cb289b8c Fix SEGV (by circular ownership) at exit
Commit a12205f322 (PR #1891) introduced
a circular ownership: qmlRegisterSingletonType<Systray>(...) makes the
QQmlEngine own the resulting singleton Systray instance, however, the
QQmlEngine _trayEngine itself is owned by the Systray instance. This
circular ownership results in a crash when the destructor of Systray
calls the destructor of _trayEngine which attempts to call the destructor
of Systray.

This commit solves this problem by making ownCloudGui, which is the
parent of Systray, the parent of the _trayEngine.

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
2020-06-24 13:50:17 +02:00
Stephan Beyer
6adb798728 Let Systray constructor call its base class constructor
Although I see no behavioral difference, this is probably
a good idea.

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
2020-06-24 13:42:26 +02:00
Michael Schuster
902963fa10 Fix issue #2108: Default system proxy not working with Account Wizard
Discovered on Windows in conjunction with PAC scripts:
- Already configured accounts worked
- Fresh client account setup did not work

Reason:
- Proxy was reset over and over again in Account::setCredentials

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-06-22 11:59:13 +02:00
Stephan Beyer
3f4ed0883a Make sure the menu separator uses Style.menuBorder color
In case the default color value will ever change, this
commit makes sure that the colors of the menu border and
the menu separator coincide.

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
2020-06-22 06:54:57 +00:00
Michael Schuster
92c8d6836b
Fix libsync exports for proxy changes in #1886
Build failed on Windows, missing libsync export for printQNetworkProxy after
moving ClientProxy class from gui to libsync.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-06-18 21:05:11 +02:00
Michael Schuster
0253e98041
Improve proxy logging: Log type string instead of abstract ID
The format in the client log was: 3://host:port
Now it is shown like:             HttpProxy://host:port

The old ID display was confusing and misleading users (and people debugging it ;p)

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-06-18 20:13:57 +02:00
Roeland Jago Douma
50dcab5f88
Move the proxyfiles to libsync where they make more sense
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-06-18 18:38:06 +02:00
Kevin Ottens
2ce1669ceb Bring forward the main systray dialog on second execution
Previously we were showing up the settings dialog but it doesn't quite
make sense anymore now that we got two dialogs.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-17 16:01:49 +00:00
Kevin Ottens
a6873f556b Also show the window on right click
Note this won't work on all platforms. KDE Plasma and GNOME Shell (with
systray extension) assume that right click is necessarily for a context
menu exposed via D-Bus, there's not nice way to make the right click
popup the main dialog on those platforms.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-17 16:01:49 +00:00
Kevin Ottens
73a689bc39 Don't call method on potentially null object
We were calling accountState() on a "folder" member which could be
nullptr. In fact this would happen any time one right click on a file
outside of a sync dir under Windows, this thus led to a crash.

Since the capabilities variable was unused anyway, we just removed it.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-16 19:15:53 +02:00
Kevin Ottens
4f7a6cfb1d Make activity items with a link clickable
We then get more items clickable, in particular the bottom one proposing
to open the activity application. Now we can click it and it opens the
activity application straight away.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-16 18:52:20 +02:00
Kevin Ottens
f147e5a66f Don't use a bright blue color for menus
As advised, use a light gray instead, this electric blue was a bit too
much.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-16 18:52:20 +02:00
Kevin Ottens
bc863584db Don't duplicate file name in the info line
For the "Activity" type activities, displayPath contains the file name
which is also in the subject. This was redundant, so now we don't
display an info line at all for that type of activities.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-16 18:52:20 +02:00
Kevin Ottens
f8e2e3403a Close all menus on window show
We previously missed the app menu which wasn't closed.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-16 18:52:20 +02:00
Nicolas Fella
07bede8a56 Use properties to get user details
Convert imperative QML code to declarative code using property bindings

Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2020-06-16 15:01:37 +02:00
Nicolas Fella
a12205f322 Port from context properties to singletons
Context properties are deprecated and will be removed in Qt 6.
QML singletons are the better option here, especially given that
UserModel and UserAppsModel already are singletons.

Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2020-06-16 14:34:59 +02:00
Nicolas Fella
be2e5266aa Create HeaderButton QML component
Deduplicate the Button code by moving it into a separate file.

Also use the same background code for the apps button since as far as I can tell it didn't behave any different

Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2020-06-15 20:52:41 +02:00
Kevin Ottens
d3d99b2d9d Add some debug output for the window placement
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-15 12:32:25 +00:00
Michael Schuster
44a9200c5d Fix crash caused by setting Tray window screen pointer on the QML side
Seems like Qt sometimes doesn't like the QML window's screen property to be set
to a C++ (QVariant) pointer value, so we use the index: Qt.application.screens[]

See Qt docs: https://doc.qt.io/qt-5/qml-qtquick-window-window.html#screen-prop

This fix returns the matching window's index from the QGuiApplication::screens()
list to the QML side, instead of the window pointer.

Steps to reproduce the crash with the previous code:
- Open the Tray menu and close it a few times,
  or scroll randomly up and down in its activity list.

Tested with Qt 5.12.5

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-06-15 12:32:25 +00:00
Michael Schuster
5055f526c2 Remove Submodule qtmacgoodies again
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-06-15 12:32:25 +00:00
Kevin Ottens
f15a9cfc82 Try make taskbar position heuristic more readable
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-15 12:32:25 +00:00
Kevin Ottens
5848a1575b Make the reference point independent of the window
This leads to simplifying the computation code quite a bit as well.
Indeed we're separating concern between what is window size dependent or
not and that shows.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-15 12:32:25 +00:00
Kevin Ottens
40824dc427 Get rid of screenIndex
This was leading to the same logic being duplicated several times. It's
fine to return the QScreen* on the QML side directly but wrapped into a
QVariant.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-15 12:32:25 +00:00
Kevin Ottens
6c6dfb15a7 Move all the position computation on the C++ side
The API is just more convenient there, the rect and point types on the
QML side are just pale shadow of their C++ counterparts.

Also improved a bit the constness of the Systray class.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-15 12:32:25 +00:00
Kevin Ottens
83b36b4ab0 Rename tbOrientation into taskbarOrientation
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-15 12:32:25 +00:00
Kevin Ottens
aa90237e94 Introduce a screenRect as coordinate space
The top left corner of that screenRect is (0,0) or based on
(virtualX,virtualY) depending on the platform. This leads to easier
reduction in code duplication.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-15 12:32:25 +00:00
Kevin Ottens
65e8f33ccf Use TaskBarPosition enum on the QML side
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-15 12:32:25 +00:00
Dominique Fuchs
a6f918f3c2 More simplifications, also transfer of more tray positioning logic to C++ backend.
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-06-15 12:32:25 +00:00
Dominique Fuchs
f44df7f61a Major multi monitor improvements and rewrite of tray window positioning
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-06-15 12:32:25 +00:00
Michael Schuster
456c1eadbe
Simplify nullptr comparisons where appropriate
Make the codebase consistent, we already have a lot of implicit pointer comparisons.

Exception: Stay explicit on return's, example:
  return _db != nullptr;

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-06-11 00:27:30 +02:00
Rick van der Zwet
24177ec7e4 Change default autostart to hide gui
Signed-off-by: Rick van der Zwet <info@rickvanderzwet.nl>
2020-06-09 18:34:30 +02:00
Stephan Beyer
0f620acc1f Replace prefixing of paths with file:// by QUrl::fromLocalFile()
Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
2020-06-09 16:45:46 +02:00
Stephan Beyer
749070a29c Hide openLocalFolderButton if no local folder is configured
Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
2020-06-09 16:45:46 +02:00
Stephan Beyer
131c1f1bac Fix crash on opening unconfigured local folder
When you try to open the local sync folder (by clicking on the
folder symbol) for an account that has no folder configured,
the client crashes.

This commit changes User::openLocalFolder() to do nothing in
case no local folder is configured.

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
2020-06-09 16:45:38 +02:00
Stephan Beyer
2946c335ba Change width of app menu
The app menu had a width based on the header button size which was
way too narrow to display its content.

This commit changes the width based on the contents (menu items) of
the menu, however, limiting the maximum width to half the window width.

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
2020-06-09 14:53:51 +02:00
Stephan Beyer
ea16804751 Replace NULL by nullptr in all C++ files
We keep NULL in the pure C files in src/csync/std and test/csync.

We also replace Doxygen documentation referring to "NULL" to
"\c nullptr" (formatted as code).

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
2020-06-08 20:07:50 +02:00
Nicolas Fella
bce93b052b Use APPLICATION_ICON_NAME for autostart icon
Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2020-06-08 20:06:00 +02:00
Roeland Jago Douma
fba69de096 Don't show a message box if the entered url returned an error
BEtter to now just display clickable links etc.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-06-08 19:40:16 +02:00
Michael Schuster
e6389959ce macOS: Build nextcloudcmd after gui and run macdeployqt with the -executable option
- src/CMakeLists.txt: Switch build order to build cmd before gui
- src/gui/CMakeLists.txt: Use the -executable option for a combined run of macdeployqt

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-06-07 14:39:42 +02:00
Dominique Fuchs
a45c2e04e5 Copy nextcloudcmd post-build instead of macdeployqt when building macOS bundle
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-06-07 14:39:42 +02:00
Michael Schuster
acb56be528 macOS: Use macdeployqt instead of the old admin/osx/macdeployqt.py
In order to build the new 2.7 releases (new QML dependencies) without manually
modifying the old Python script each time, rely on Qt's standard tool instead.

This should streamline the build systems for upcoming dependency changes.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-06-07 14:39:42 +02:00
Michael Schuster
221e5c5fc4
Improve command line version info and help display to streamline gui and cmd
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-06-07 14:20:33 +02:00
Michael Schuster
0fe7a65738
Fix Qt 5.15.0 build error (missing include)
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-06-07 02:43:45 +02:00
Kevin Ottens
0503be65ae Cleanup the missing braced init list returns
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-03 16:14:18 +02:00
Kevin Ottens
e3e262e42e Use default member init when applicable
This also fixes a couple of warnings at places (out of order init for
instance) and a potential bug in the webflow credentials / qtkeychain
integration.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-03 16:10:39 +02:00
Kevin Ottens
965909f7fa Add missing auto opportunities
Somehow forgot to run it on the updater code

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-03 16:02:43 +02:00
Camila San
3bae570f29 Do not declare local variables without an initial value.
Signed-off-by: Camila San <hello@camila.codes>
2020-06-03 07:50:40 +00:00
Kevin Ottens
02a28325a8 Show broken encryption icon only in non-empty folders
This should address Tobias' concerns regarding the icon being
misleading. Now we basically do the following inside an encrypted folder
parent:
 * encrypted folders get the encrypted icon;
 * non-encrypted empty folders get the regular folder icon;
 * non-encrypted non-empty folders get the broken encryption icon.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-06-02 15:50:18 +00:00
Ivan Čukić
c800d9149e Show a broken lock icon for unencrypted subdirectory
The E2E application allows creating unencrypted subdirectories
in an encrypted parent. This is a big privacy problem.

This patch shows a red broken lock icon for these subdirectories
in the NC client UI.

Signed-off-by: Ivan Čukić <ivan.cukic@kde.org>
2020-06-02 15:50:18 +00:00
Ivan Čukić
4fb370275d Introduced RAII classes for other OpenSSL resources 2020-06-02 14:09:06 +00:00
Ivan Čukić
c31b1a750d Fixing memory leaks in the encryption module
Due to usage of early-returns, combined with malloc/free,
several buffers that get allocated are leaked when an error
occurs.

Several functions had potential leaks:

 - `encryptStringSymmetric` leaked `ctext`
 - `EncryptionHelper::fileDecryption` leaked `out`
 - `EncryptionHelper::fileEncryption` leaked `out`

Most of the functions had leaks of the cypher context.

This patch uses `QByteArray` as the handler for the dynamically
allocated buffers for openssl to operate on. This also removes
the need for conversions from malloc'd buffers to `QByteArray`
variables previously present in the code.

It also introduces a `CypherCtx` thin wrapper class to provide
a leak-free handling of `EVP_CIPHER_CTX`.
2020-06-02 14:09:06 +00:00
Michael Schuster
6ec69a700d
ShareDialog: Pointer cosmetics
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-05-29 20:57:52 +02:00
Michael Schuster
ae0ea12501
Merge branch 'master' into traywindow-listview-actions 2020-05-29 19:08:21 +02:00
Michael Schuster
ba4d109315
ShareDialog: Add further checks for the _manager member ptr
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-05-29 18:29:47 +02:00
Michael Schuster
efdef8535f
ShareDialog: Fix crash, properly init member pointers
_manager ptr only got initialized in the constructor when sharingPossible was set to true

Changes:
- Move member ptr inits from constructor to the header file's class definition
- Init _manager: set to nullptr too
- Add check for _manager to avoid crash in showSharingUi()

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-05-29 18:12:36 +02:00
Kevin Ottens
08cc4e1967 Remove the last redundant void arg I left behind
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-05-28 18:57:20 +02:00
Kevin Ottens
6e62c8b430 Use the return braced init list pattern
This way we avoid repeating the return type while it is already known.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-05-27 14:36:07 +02:00
Michael Schuster
ccc409dbd0
Merge pull request #2024 from nextcloud/use_raw_string_literals
Use raw string literals when appropriate
2020-05-27 05:54:54 +02:00
Michael Schuster
044a4bf6b5
Merge pull request #2021 from nextcloud/use_default_for_trivial_ctor_and_dtor
Use = default for trivial ctors and dtors
2020-05-27 05:17:24 +02:00
Michael Schuster
b2b0e8f4e4
Merge pull request #2020 from nextcloud/use_make_unique
Use make_unique when appropriate
2020-05-27 05:10:41 +02:00
Michael Schuster
4b2684cf4a
Merge pull request #2019 from nextcloud/remove_redundant_void_argument
Remove redundant void argument list
2020-05-27 05:07:52 +02:00
Kevin Ottens
f5350db078 Use raw string literals when appropriate
This is especially nice for Windows paths.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-05-26 20:13:51 +02:00
Kevin Ottens
a73a1f3927 Use = default for trivial ctors and dtors
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-05-25 21:33:24 +02:00
Kevin Ottens
9e20a0fecf Use make_unique when appropriate
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-05-25 21:08:43 +02:00
Kevin Ottens
65e6c445e5 Remove redundant void argument list
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-05-25 20:32:55 +02:00
Kevin Ottens
86b1821251 Remove redundant initializer
This is the same value than the initializer value in the header, no need
to repeat it.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-05-25 20:12:09 +02:00
Kevin Ottens
b579b49a5c Get rid of redundant parentheses
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-05-25 20:03:01 +02:00
Stephan Beyer
375fcb8e14 Replace "https://..." hint by "https://host:port"
The new hint is a little more verbose and provides more information
than the old one.

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
2020-05-23 18:32:18 +02:00
Stephan Beyer
f46ce2ce98 Show URL placeholder hint in wizard
In owncloudsetupnocredspage.ui, the URL input field leUrl has a
placeholder text saying "https://..." which is a very useful hint
for the user.  However, in the OwncloudSetupPage constructor, the
placeholer text is overwritten by the return string of the theme's
wizardUrlHint() method.  The NextcloudTheme class does not override
this virtual method, so an empty string is used.

To make available the "https://..." hint, it is moved from the
UI file to NextcloudTheme::wizardUrlHint().  Note that, if a
theme is used which does not allow a custom server URL, the
placeholder text is now empty.  This makes sense because the
input field is disabled in that case.

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
2020-05-23 18:32:15 +02:00
Stephan Beyer
deff3230f5 Change vertical size policy of URL input field in wizard
The input field for the nextcloud server URL is vertically too
big (because of the icon next to it in the same horizontal layout).
This commit solves this issue by changing its vertical size policy
from Ignored to Fixed.

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
2020-05-23 18:32:10 +02:00
Kevin Ottens
89316ced9e
Merge pull request #1987 from sbeyer/fix-leaks
Fix a few leaks
2020-05-21 17:12:04 +02:00
Stephan Beyer
faeb233a74 Use default member initializers in OCC::FolderStatusModel sub-structs
This allows to remove their explicit default constructor definitions.

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
2020-05-21 01:45:13 +02:00
Stephan Beyer
04a24c14a8 Use default member initializers in OCC::SyncJournalErrorBlacklistRecord
This allows to remove its explicit default constructor definition.

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
2020-05-21 01:41:33 +02:00
Stephan Beyer
3015ea5715 Use default member initializers in OCC::SyncJournalDb sub-structs
This allows to remove their explicit default constructor definitions.

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
2020-05-21 01:32:16 +02:00
Stephan Beyer
8bc1525df5 Fix leak in Systray
The member _trayEngine, allocated in the constructor, was leaking.

This commit sets the Systray instance as the Qt object tree parent of
the _trayEngine to fix the leak.

While at it, a few unused header includes have been removed.

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
2020-05-21 01:22:15 +02:00
Stephan Beyer
eaf4aa0e5b Fix leak in CloudProviderManager
The member _map, allocated in the constructor, was leaking.

The ad-hoc way to fix the leak would have been to add a destructor
that deletes _map.  However, there is no good reason why _map has
to be a pointer to a QMap (instead of a QMap).
Hence this commit changes the type of the _map member from a QMap
pointer to a QMap.

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
2020-05-21 01:22:15 +02:00
Stephan Beyer
71a474129b Fix leak in CloudProviderWrapper
The member _recentlyChanged, allocated in the constructor, was leaking.

The ad-hoc way to fix the leak would have been to add a destructor
that deletes _recentlyChanged.  However, there is no good reason why
_recentlyChanged has to be a pointer to a QList (instead of a QList).
Hence this commit changes the type of the _recentlyChanged member
from a QList pointer to a QList.

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
2020-05-21 01:22:15 +02:00
Stephan Beyer
15bdfa9fbf Use default member initializers in OCC::FolderDefinition
Using default member initializers (available since C++11) in
OCC::FolderDefinition allows to remove its explicit default
constructor, which is favorable.

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
2020-05-21 00:56:26 +02:00
Stephan Beyer
ff192e48d0 Remove unused member in OCC::FolderDefinition
OCC::FolderDefinition has a member called isClientSideEncrypted
that was introduced by commit 9318c487b9 but has not been used
in any way since.

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
2020-05-21 00:56:06 +02:00
Kevin Ottens
5543e4d834 Don't use int literals for bools
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-05-20 13:52:58 +02:00
Dominique Fuchs
e9a82dff77 Merge remote-tracking branch 'origin/master' into traywindow-listview-actions
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-05-20 10:48:46 +02:00
Michael Schuster
7804b8e006
Fix spacing
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-05-20 03:57:33 +02:00
Kevin Ottens
712869db9a Use auto to avoiding repeating type names
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-05-20 03:54:41 +02:00
Michael Schuster
7fd431b50f
Use the default parameter: QUrl::path(QUrl::PrettyDecoded = 0x000000)
Change it to path() to be consistent with the other usages in the project :)

See: https://doc.qt.io/qt-5/qurl.html#path

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-05-20 02:30:45 +02:00
Kevin Ottens
dea6ebaa35 Use nullptr when appropriate
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-05-20 02:21:26 +02:00
Michael Schuster
0c040c9686
Merge pull request #1986 from nextcloud/properly_handle_denormalized_href_path
Properly handle denormalized href
2020-05-20 01:31:34 +02:00
Dominique Fuchs
9bfcdbae3a More code cleanupand style-preference adjustments.
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-05-20 00:09:41 +02:00
Dominique Fuchs
aa13aa533a Removed publiclink param and corresponding if branch.
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-05-19 23:29:59 +02:00
Dominique Fuchs
fa9dddf567 Code cleanup and this-> removals.
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-05-19 23:25:21 +02:00
Kevin Ottens
4d1ff01654 Properly handle denormalized href
In case of denormalized paths in the dav href (presence of . or .. in
the path) simple string startsWith comparison wasn't enough to know if
said href ended up in the right namespace. That's why we're now using
QUrl (pretending local file since we don't have a full URL in the href)
to normalize the path before comparison.

This could happen with broken proxies for instance where we would
wrongly validate the dav information resulting in potentially surprising
syncing and name collisions.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-05-18 19:33:34 +02:00
Kevin Ottens
3867e73fd5 Stop supporting Qt older than 5.12
This both removes older Qt from the CI and also adjust all the
find_package calls in CMakeLists.txt

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-05-14 21:15:45 +02:00
Kevin Ottens
9000a880cb Don't silently kill debug messages
The message handler globally installed by the logger silently drop
messages if the logger is not logging. On top of it, it doesn't log
debug messages by default.

Anything not logged is currently silently discarded. This can come as a
surprise to a developer trying to contribute for the first time and
adding some debug message for some reason.

We're thus trying to strike a middle ground which is that debug messages
get a regular output if the logger isn't interested in them.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-05-12 17:33:13 +02:00
Kevin Ottens
3b6ab2fa5a Indicate this is a dialog and not a regular window
This is necessary with some window managers which would otherwise
consider they can reposition and resize the tray window as they wish
(yes, even though the user can't do it directly).

This is for instance the case if you use the tiling mode scripts of
KWin. It automatically ignores dialogs but might force windows to be
fullscreen (which would badly break the layout in our case).

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-05-07 09:39:08 +02:00
Kevin Ottens
de7021e85e Force the default QQC2 style
This works around a bug in KDE's qqc2-desktop-style which breaks buttons
with icons not based on a name. By forcing a style name the KDE Plasma
platformtheme plugin won't try to force qqc2-desktops-style anymore.

Can be removed once the bug in qqc2-desktop-style is gone.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-05-07 02:07:02 +02:00
Sandro Knauß
6cdae6c19e Fix typos.
Debian has a list of known typos in their checking tools.

Signed-off-by: Sandro Knauß <hefee@debian.org>
2020-05-04 18:11:36 +00:00
Dominique Fuchs
671961e641 Added share icon from nc server repo, changed corresp. btn icon
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-04-27 08:06:58 +02:00
Dominique Fuchs
1c21bfdd7c
Merge pull request #1922 from taaem/fix-recent-files
Fix cloudprovider crashing - don't clear the _recentMenu pointer
2020-04-25 13:37:29 +02:00
Dominique Fuchs
ddee26084d
Merge pull request #1937 from ivaradi/xenial-compat
Qt 5.5 compatibility #ifdef
2020-04-25 12:23:25 +02:00
Dominique Fuchs
6df75328fd
Merge pull request #1893 from nicolasfella/override
override specifier missing
2020-04-25 12:18:56 +02:00
Dominique Fuchs
210253ce35
Merge pull request #1889 from nicolasfella/applicationengine
Use QQmlApplicationEngine instead of QQmlEngine
2020-04-25 12:15:33 +02:00
Dominique Fuchs
4bd5e9d79b Implemented share functionality in tray window and changed actions / button logic.
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-04-25 10:17:53 +02:00
István Váradi
3d44a71755 Qt 5.5 compatibility #ifdef
Signed-off-by: István Váradi <ivaradi@varadiistvan.hu>
2020-04-23 20:22:30 +02:00
Michael Schuster
6e220b10e4
Merge pull request #1883 from nicolasfella/contexticon
[dolphin] Add icon to context menu
2020-04-16 02:52:34 +02:00
Michael Schuster
45342d7952
Merge pull request #1882 from nicolasfella/detach
Fix container detaching
2020-04-15 21:28:51 +02:00
Michael Schuster
d0b698ed37
Merge pull request #1881 from nicolasfella/envempty
Use qEnvironmentVariableIsEmpty
2020-04-15 17:52:09 +02:00
Michael Schuster
ef42635c23
Merge pull request #1880 from nicolasfella/timeout
Remove timeout parameter from showMessage
2020-04-15 17:28:02 +02:00
Nicolas Fella
29fa924853 Use LINUX_APPLICATION_ID
Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2020-04-14 21:38:33 +02:00
Tim Klocke
18615d0297 CloudProviders: Don't clear the _recentMenu pointer
The _recentMenu pointer ref should not be freed, when building the
menu.
This fixes #1920 and #1818
2020-04-10 23:08:07 +02:00
Nicolas Fella
b4d1a63c14 Use override
Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2020-03-22 21:58:15 +01:00
Nicolas Fella
d54add6233 Use QQmlApplicationEngine
This simplifies the code a bit.

Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2020-03-22 16:14:56 +01:00
Nicolas Fella
e1f4d17446 [dolphin] Add icon to context menu
Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2020-03-21 02:04:42 +01:00
Nicolas Fella
1afda2b875 Fix container detaching
Found by clazy

Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2020-03-21 01:24:37 +01:00
Nicolas Fella
c1189421c0 Use qEnvironmentVariableIsEmpty
clazy suggests that it is more efficient since it doesn't allocate.

Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2020-03-21 01:06:15 +01:00
Nicolas Fella
b84a1eeb8d Remove timeout parameter from showMessage
It it never set by calling code so the default value of 10000 is used. It is only used in the call to QSystemTrayIcon, which uses 10000 as default value too.

Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2020-03-21 00:40:40 +01:00
Nicolas Fella
2f54e911b7 Add desktop-entry hint to notifications
This allows the notification server to map a notification to the program's desktop file, which allows the server to do extra things. For example KDE Plasma adds the Nextcloud icon to the notification and allows to configure notifications from Nextcloud.

This is a standard hint from https://specifications.freedesktop.org/notification-spec/notification-spec-latest.html#hints

Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2020-03-21 00:25:33 +01:00
Michael Schuster
102369bfbe
WebView: Add missing Q_OBJECT macros
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-03-11 01:18:11 +01:00
Michael Schuster
78776f81e4
Merge pull request #1847 from nextcloud/enh/updater
Updater: Enhance UI, make build optional
2020-03-10 15:53:47 +01:00
Michael Schuster
e833e86da6 Updater: Add CMake option BUILD_UPDATER to make the updater optional
- Default: BUILD_UPDATER = NO

  To ease builds for distro packages and contributors (regardless of the specified update URL)

- Enable updater build for Drone CI and AppImage builds

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-03-09 02:34:55 +01:00
Michael Schuster
c812d896aa Fix OCUpdater: Also change status on network error or invalid XML
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-03-09 02:34:55 +01:00
Michael Schuster
c043a4e55c Updater UI: Implement auto-update option and update button
- Add checkbox and button to UI
- Add new parameter autoUpdateCheck to ConfigFile

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-03-09 02:34:55 +01:00
Michael Schuster
555b41f300
Fix Legal notice dialog: Correct title and header font
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-03-09 00:41:59 +01:00
Michael Schuster
d8c407ac97
Settings dialog: Move detailed version info from About section to Legal notice dialog
- Enlarge dialog widget to show full content
- Implement Dark-/Light-Mode switching (hyperlinks)

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-03-07 06:45:41 +01:00
Michael Schuster
2adde0fcca
Settings dialog About section: Show minimal version info
- Application name, version number, OS

  Example: Nextcloud Desktop Client
           Version 2.6.4 (macOS)

- Keep previous version info in new method Theme::aboutDetails()

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-03-07 06:38:09 +01:00
Michael Schuster
a471868d88
Version parameter: Show Qt platform plugin, OS and CPU arch
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-03-07 06:31:14 +01:00
Michael Schuster
6685722cb3
Add missing --version parameter to help screen
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-03-07 06:20:00 +01:00
Michael Schuster
0e60bf7c82
Merge pull request #1838 from nextcloud/enh/share_circles
Allow sharing to circles: https://github.com/nextcloud/circles
2020-03-06 02:17:36 +01:00
Roeland Jago Douma
3776a04206
Allow sharing to circles
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-03-05 10:44:06 +01:00
Michael Schuster
ff642085b4
Fix Explorer pinning: Add fallbacks for Shell commands (fixes #1599)
See: #1599

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-03-03 18:45:58 +01:00
Michael Schuster
ab1099f13e
WebFlowCredentials: Make username comparison case-insensitive (fix #1741)
Fixes issue #1741

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-03-03 06:01:27 +01:00
Michael Schuster
aab735a595
Fix MSVC warnings: Missing return value, cast type
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-03-03 02:08:37 +01:00
Michael Schuster
f90f31756a
Fix build with older Qt: Disable http2 for now due to Qt bug, add env var (upstream)
Disable http2 for now due to Qt bug but allow enabling it via env var, see: https://github.com/owncloud/client/pull/7620
  and: https://github.com/nextcloud/desktop/pull/1806
Issue: https://github.com/nextcloud/desktop/issues/1503

Co-authored-by: XNG <Milokita@users.noreply.github.com>
Co-authored-by: Hannah von Reth <hannah.vonreth@owncloud.com>

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-03-02 01:47:00 +01:00
XNG
e2066b317b
Disable http2 for now due to Qt bug
So that user may continue to use http2 on their webpage

Signed-off-by: XNG <Milokita@users.noreply.github.com>
(cherry picked from commit dad95d4e46)
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-03-02 01:27:04 +01:00
Michael Schuster
eb7ed33d98
Merge pull request #1744 from nextcloud/qt-traygeometry-workaround
Fix wrong window position on some linux DEs - worked around invalid g…
2020-03-01 07:07:47 +01:00
Michael Schuster
712fef0cac
Merge branch 'master' into qml-singleton-style and fix merge conflict
Migrate changes in client.qrc to resources.qrc

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-03-01 06:47:46 +01:00
Michael Schuster
318c749558
Merge pull request #1736 from nextcloud/resource-cleanup
Resource cleanup and application-wide svg usage
2020-03-01 06:11:17 +01:00
Michael Schuster
5b2877a63e
Merge branch 'master' into resource-cleanup
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-03-01 05:34:12 +01:00
Michael Schuster
29e02d0579
owncloudsetuppage.cpp: adapt to string change from master: url -> URL
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-03-01 05:32:59 +01:00
Michael Schuster
a92a764c2a
owncloudsetuppage.cpp: also rename client/theme/lock-http(s) PNGs to SVG
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-03-01 05:12:59 +01:00
Michael Schuster
40767f7ae0
Fix Explorer integration: Hide option on non-Windows
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-03-01 04:03:29 +01:00
Michael Schuster
f1dd312b2e
Fix Explorer integration re-save (fixes issue #1807)
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-03-01 03:39:24 +01:00
Michael Schuster
bf838bd336
Merge pull request #1809 from sroracle/cmake-qml-quick
Fix cmake inclusion of Qml and Quick
2020-02-29 21:18:11 +01:00
rakekniven
b936cc1f6e
l10n: Change spelling of "webdav"
Signed-off-by: rakekniven <mark.ziegler@rakekniven.de>
2020-02-24 11:14:34 +01:00
rakekniven
62bc9d025e
l10n: Removed colon from translation
Signed-off-by: rakekniven <mark.ziegler@rakekniven.de>
2020-02-24 11:13:34 +01:00
rakekniven
961c05363a
l10n: Removed blank before colon
Signed-off-by: rakekniven <mark.ziegler@rakekniven.de>
2020-02-24 11:10:05 +01:00
rakekniven
3f7cd5c0f3
l10n: Change case of one word
Signed-off-by: rakekniven <mark.ziegler@rakekniven.de>
2020-02-24 11:08:56 +01:00
Max Rees
3d3021e3b0
Fix cmake inclusion of Qml and Quick
Signed-off-by: Max Rees <maxcrees@me.com>
2020-02-23 23:44:54 -06:00
Michael Schuster
9c8a0204e5
Updater: Add query-parameter 'updatesegment' to the update check
Used to throttle down desktop release rollout in order to keep the update servers alive at peak times.

See: https://github.com/nextcloud/client_updater_server/pull/36

Targeted issues: #1795, #1800

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-02-21 21:28:42 +01:00
Michael Schuster
5554488dd8
Merge pull request #1768 from nextcloud/umlaut-sync-fix
Fix wrong encoding when specifying extra header with if-match path
2020-02-17 01:49:48 +01:00
Michael Schuster
640655ea10
Code cleanup
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-02-14 03:00:20 +01:00
Michael Schuster
abfebcf291
Add UserInfo class and fetch quota via API instead of PropfindJob
The PropfindJob quota includes the size of shares and thus leads to confusion
in regard of the real space available, as shown in the UI.
This commit aims to streamline the behaviour with the Android and iOS apps,
which also utilize the API.

Details:
- Refactor the QuotaInfo class into UserInfo
- Use JsonApiJob (ocs/v1.php/cloud/user) instead of PropfindJob
- Let ConnectionValidator use the new UserInfo class to fetch
  the user and the avatar image (to avoid code duplication)
- Allow updating the avatar image upon AccountSettings visibility,
  using UserInfo's quota fetching

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-02-14 02:10:01 +01:00
Dominique Fuchs
6d23ce82d7
Merge pull request #1770 from nextcloud/rakekniven-patch-1
l10n: Changed grammar and triple dots to ellipsis
2020-02-06 08:17:38 +01:00
Dominique Fuchs
4b8b84f2dd
Merge pull request #1759 from nextcloud/fix/do_not_save_all_the_time
Do not save notes on text change
2020-02-06 07:49:28 +01:00
Dominique Fuchs
e7b5cc8974
Merge pull request #1763 from nextcloud/tintou/cloudprovider-valid-dbus-path
Make sure that the libcloudprovider integration is using a valid D-Bus path
2020-02-06 07:17:35 +01:00
rakekniven
da66b3956e
l10n: Changed grammar
Signed-off-by: rakekniven <mark.ziegler@rakekniven.de>
2020-02-05 06:55:51 +01:00
rakekniven
1988511c55
l10n: Triple dot to ellipsis
Signed-off-by: rakekniven <mark.ziegler@rakekniven.de>
2020-02-05 06:54:32 +01:00
rakekniven
abcadec94a
l10n: Triple dot to ellipsis
Signed-off-by: rakekniven <mark.ziegler@rakekniven.de>
2020-02-05 06:53:17 +01:00
rakekniven
8f82fc2e51
Triple dot to ellipsis
Signed-off-by: rakekniven <mark.ziegler@rakekniven.de>
2020-02-05 06:52:17 +01:00
rakekniven
f9d27e4e3b
l10n: Triple dot to ellipsis
Signed-off-by: rakekniven <mark.ziegler@rakekniven.de>
2020-02-05 06:50:27 +01:00
rakekniven
32c2c062c0 l10n: Changed spelling of "user name" to "username"
Using "username" like on > 200 strings over the whole Nextcloud project.

Signed-off-by: rakekniven mark.ziegler@rakekniven.de
2020-02-03 10:42:37 +01:00
Dominique Fuchs
c69aba9b44 Fix wrong encoding when specifying extra header with if-match path
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-02-02 13:35:16 +01:00
Corentin Noël
a7d6555de2 Make sure that the libcloudprovider integration is using a valid D-Bus path
Set a simple unique identifier per folder to ensure that it is always unique.

Fixes https://github.com/nextcloud/desktop/issues/1704

Signed-off-by: Corentin Noël <corentin@elementary.io>
2020-01-30 21:05:13 +01:00
rakekniven
dfdb872e7b Changed product name to Nextcloud
Reported at Transifex.

Signed-off-by: rakekniven <mark.ziegler@rakekniven.de>
2020-01-30 19:16:01 +01:00
Roeland Jago Douma
bd9b0cf23f Am empty note is not a valid note
Do not show the note edit field for empty new shares.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-01-28 12:46:15 +01:00
Roeland Jago Douma
d449912a0a
Do not save notes on text change
Only save notes on submit. Else you will get spammed with a ton of
requests (and possibly mails)

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-01-28 12:09:17 +01:00
Dominique Fuchs
0697c81ae6 Rewrite of screen selection logic, plus synamic screen selection Window.qml
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-21 13:54:04 +01:00
Dominique Fuchs
77be6729a2 Fix also screen selection for different Qt versions and for buggy linux DEs
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-21 12:16:24 +01:00
Julius Härtl
baf082df7c
Use system proxy by default if no config file is present
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-01-21 11:59:07 +01:00
Dominique Fuchs
f3062f6c96 Fix wrong window position on some linux DEs - worked around invalid geometry() returned by QT
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-21 09:55:26 +01:00
Dominique Fuchs
bb757c6a27 Merge branch 'master' into resource-cleanup
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-19 20:44:59 +01:00
Dominique Fuchs
6593317afa Merge branch 'master' into qml-singleton-style
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-19 20:43:36 +01:00
Dominique Fuchs
9deb51c846 Module styling also for UserLine.qml
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-19 20:40:49 +01:00
Dominique Fuchs
3a39e636ae Introduced Style module
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-19 20:13:12 +01:00
Michael Schuster
03cddabfd0
Tray menu: Only show time ago (view too noisy)
Don't show date and time for now, rather as a tool tip later.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-19 19:12:34 +01:00
Michael Schuster
8c2d77c68f
Merge pull request #1699 from Milokita/test-file-fix
apply http2 qt resend patch from owncloud
2020-01-19 18:11:36 +01:00
Dominique Fuchs
d3cd422b46
Fix crash on start without any accounts
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
(cherry picked from commit 9935606c87)
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-19 14:14:23 +01:00
István Váradi
835cd2ac80 Qt 5.5 compatibility ifdef
Signed-off-by: István Váradi <ivaradi@varadiistvan.hu>
2020-01-19 13:16:17 +01:00
Dominique Fuchs
01e9343d8b Cleanup/Removal/Adaption/Update to resource files and crresponding code, esp. regarding svg usage
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-18 17:47:17 +01:00
Michael Schuster
c0863ede02
Share context menu: Use directEditing capability in SocketApi
- Allow direct editing "Edit" when an editor is available for the mime type
- Show "Open in browser" if editing is unavailable (as previously)
  (now on top of the menu list)
- Rename the menu title to the app name, "Nextcloud" instead of "Share via ..."

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-18 15:12:16 +01:00
Michael Schuster
45b39cdbc1
Add support for the directEditing capability
- Fetch in ConnectionValidator::slotCapabilitiesRecieved
- Add editors to a list made of the new DirectEditor class

TODO:
- Add support for re-fetch and continously check for changes (ETag)

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-18 15:07:51 +01:00
Michael Schuster
9447a10716
JsonApiJob: Add method usePOST to allow anonymous POST requests
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-18 15:03:21 +01:00
Michael Schuster
2039872ee5
Merge pull request #1565 from nextcloud/qml-tray-menu
New tray window
2020-01-18 13:18:45 +01:00
Michael Schuster
016a90d7b0
More code maintenance
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-18 12:56:26 +01:00
Dominique Fuchs
9b5bb1365c Code maintenance - correct some syntax, fix some warnings.
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-18 10:30:34 +01:00
Michael Schuster
de74057cc8
Add grey hint Activity entry if limit is reached
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-17 20:26:48 +01:00
Michael Schuster
e2188b109a
Limit fetching Activities to 100 or max. 30 days old
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-17 20:25:41 +01:00
Michael Schuster
3ae55c2555
AccountState: Add helper to find navigation App
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-17 20:21:42 +01:00
Michael Schuster
b47adb7aeb
Notifications bug fix: Don't init ETag response header with *
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-17 20:20:37 +01:00
Michael Schuster
889cb636d3
Add Activity date and time
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-17 20:16:20 +01:00
Dominique Fuchs
c9719f44dc Fix hover property wrongly placed in button, not MouseArea
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-17 16:30:27 +01:00
Dominique Fuchs
599dae0486 Inclusion of possible 'notification' type descriptions in activity
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-17 14:50:05 +01:00
Dominique Fuchs
1c5cdc4d36 Adapted currentId logic for activity fetching to new API (should fix endless fetch bug)
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-17 14:29:54 +01:00
Dominique Fuchs
0156edf320 Removed visibility workaround
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-17 11:21:43 +01:00
Dominique Fuchs
f425dfdfea Set sourceSize to prevent blurry rerendering of svg source in activityIcon
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-17 10:38:21 +01:00
Dominique Fuchs
7ea2f3fa59 Refresh visibility of ListView based on presence of items on showWindow
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-17 09:09:42 +01:00
Dominique Fuchs
1c22070a74 Refresh immediately on showWindow, regardless of the timer
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-17 09:04:24 +01:00
Michael Schuster
9abc1eb921
Add initial support for Apps menu icon display (show remote SVGs)
Caching and showing them from local data-URLs leaded to blurry rendering in Qt.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-16 18:43:48 +01:00
Dominique Fuchs
94325359d7 Fixed bug regarding additional but empty delegate at end of activitylist
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-16 18:01:18 +01:00
Dominique Fuchs
585094a719 Minor property hierarchy fix
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-16 17:40:47 +01:00
Dominique Fuchs
4b79c597dc Disabled animations until population glitches are fixed
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-16 17:11:08 +01:00
Dominique Fuchs
1bc8ec59aa Streamlining local sync notification/activity icons with server ones. Added fileAction logic for local sync activities
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-16 17:09:34 +01:00
Dominique Fuchs
b9a350e201 Minor layout adjustments
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-16 15:19:17 +01:00
Dominique Fuchs
cd80c749d6 Retreive and svg data from icon property url for activity entries
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-16 14:01:54 +01:00
Dominique Fuchs
06fdde8f1e Upgrade of NC server API usage + corresponding activity queries and properties including icon ref
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-16 12:43:04 +01:00
Dominique Fuchs
9f259bda27 Add check if applist rowCount() already empty to prevent assert exception
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-16 11:30:51 +01:00
Dominique Fuchs
246f7e9395 1px border #0082c9 around tray window
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-16 08:01:09 +01:00
Michael Schuster
7fe138330e
Double the width of the Apps menu (x starts at the Talk button)
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-16 00:57:49 +01:00
Michael Schuster
3488fd7c7f
Fix font sizes for "Log out" and "Remove account" and the Apps menu
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-16 00:45:31 +01:00
Brandon
d10bc1bb14 Correct wrong variable
Signed-off-by: Brandon <brandon.yeow@websparks.sg>
2020-01-15 23:07:14 +01:00
Brandon
18a88fcecf Correct wrong variable
Signed-off-by: Brandon <me@branbit.com>
Signed-off-by: Brandon <brandon.yeow@websparks.sg>
2020-01-15 23:07:14 +01:00
ritsute
c92f520423 Handle broken shared file error gracefully
Signed-off-by: Brandon <me@branbit.com>
Signed-off-by: Brandon <brandon.yeow@websparks.sg>
2020-01-15 23:07:14 +01:00
Dominique Fuchs
00d73a9389 Add visual separation between accountStateIndicator and avatar
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-15 20:11:50 +01:00
Dominique Fuchs
ddf67ff948 Preserve a 2px distance from tray border (streamlining with acount menu)
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-15 19:28:40 +01:00
Dominique Fuchs
9b32ebdae4 Allow text to expand further if one or both buttons aren't visible
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-15 19:15:25 +01:00
Dominique Fuchs
0ec2291bd7 Layout adjustments & also show remote path in activitylist
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-15 18:44:33 +01:00
Michael Schuster
026bf02c85
App menu: Filter out Talk because we have a dedicated button for it
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-15 18:14:20 +01:00
Michael Schuster
42ebc7e995
Remove debug output
Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-15 18:09:33 +01:00
Michael Schuster
b4b6366ba8
Add App list menu to Tray UI
- Modify Window.qml and Systray to show the App menu upon clicking the App button
  on the top-right. Fall back to opening the general URL in case no apps are found.

- Introduce a new UserAppsModel in UserModel.cpp to access the fetched server Apps
  from AccountState (propagated down from the User class).

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-15 16:42:06 +01:00
Michael Schuster
7b740f5e9a
Remove setTalkCapability() from AccountState and filter for Talk upon App list building
Since the per Account App list is now being built in AccountState's slotNavigationAppsFetched
it's easy to filter for the availability of the Talk app on the server by its ID property
upon App list building, thus eliminating the need for an extra fetch job.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-15 16:30:05 +01:00
Michael Schuster
cb328d6cea
Fetch server Apps in AccountState (moved from ownCloudGui)
- Add a new class AccountApp to keep them in an AccountAppList
  and also save properties like ID and Icon URL.

- Clear the app list upon re-fetch to avoid endlessly growing lists
  like in the previous implementation in ownCloudGui.

Signed-off-by: Michael Schuster <michael@schuster.ms>
2020-01-15 16:23:46 +01:00
Dominique Fuchs
b57b8cfb66 Resized add account icon, adapted layout for new size
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-15 08:01:54 +01:00
Dominique Fuchs
29138cc533 Font and icon size improvements, svg transfer to new folder
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-14 19:48:21 +01:00
Dominique Fuchs
c09dd9287c Fix missing trayScreen init in non-OSX clause
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-14 08:55:39 +01:00
Dominique Fuchs
65b47d4613 Make qml UI strings translatable
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-14 07:59:28 +01:00