Commit graph

2554 commits

Author SHA1 Message Date
Olivier Goffart
d34dbbdb0b OAuth: Redirects to the server in case of sucessfull login
Requires https://github.com/owncloud/oauth2/pull/45

This commit moves the reply after we got the token reply from
the server, that allows to reply with an error to the browser
if the login does not work.
2017-07-11 09:56:04 +02:00
Christian Kamm
1c9b51c330 IssuesTab: Hide filters if they wouldn't be useful
As suggested by @dragotin
2017-07-10 11:13:48 +02:00
Christian Kamm
122854af77 FolderMan: Add missing folderListChanged emits
She signal of a folder list change was not emitted when folders were
deleted from the list.
2017-07-10 11:13:48 +02:00
Christian Kamm
a5ace5e71d Account/Credentials: Have identical lifetimes
The QNAM may continue to outlive both.

Rename Credentials::getQNAM() to createQNAM() while we're at it - it's
used to make a new QNAM that will subsequently be owned by the Account
object.

See d01065b9a1 for rationale.

Relates to
d40c56eda5
147cf798a6
2017-07-08 13:07:13 +02:00
Christian Kamm
99b1f69271 Link share: Remove direct download if unavailable #5837
It would have been much nicer to keep the menu assigned to the
QToolButton, but if one switches away from InstantPopup (to adjust the
entries before they're displayed), the button always gets a menu
indicator that can't be removed.
2017-07-07 11:23:32 +02:00
Christian Kamm
e54be1c4ee Link shares: Add "show file listing" option #5837 2017-07-07 11:23:32 +02:00
Christian Kamm
411621bf03 shell integrations: Change share menu title to "Share..."
Since the appname is in the context submenu title already.

Also drop APPNAME string.
2017-07-07 10:50:07 +02:00
Christian Kamm
ca2ffd4fb3 SocketAPI: Change strings to a consistent _MENU_TITLE postfix 2017-07-07 10:49:51 +02:00
Jocelyn Turcotte
3b20684dc7 shell/macos: Remove legacy (< 10.10) overlay icons
Having to update the plugins to add a submenu in the context menu,
it's more cost-effective to remove support for legacy macOS versions
than implementing and testing this setup.
2017-07-07 10:49:51 +02:00
Jocelyn Turcotte
389499d639 SocketApi: Add GET_STRINGS:BEGIN and END
The Windows shell extension relied on the response of
SHARE_MENU_TITLE to advance its state machine, but in order
to use the new GET_STRINGS instead, we need to know when the
last string was received. Also add BEGIN for consistency.
2017-07-07 10:49:51 +02:00
Jocelyn Turcotte
7b58a82840 SocketApi: Adjust the format of the mailto: URL
Minor tweaks that weren't actually an issue, but just in case.
2017-07-07 10:49:51 +02:00
Jocelyn Turcotte
9d818066a7 SocketApi: Improve logging 2017-07-07 10:49:51 +02:00
Christian Kamm
0238a29c7c Introduce private link sharing #5023
* 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.
2017-07-07 10:49:51 +02:00
ckamm
ce8341ca1f Add a more functional error view #5516 (#5861)
* Add a more functional error view #5516

* Allow filtering of ignores and warnings to see only important bits.
* Navigate from the folder view to the error view by clicking on the
  error list with the red background.
* Move the error list into its own ui file to allow easier extension.
* Fix issue around tab id handling in ActivitySettings.
* Rename "Action" column to "Issue".
* Change mouse cursor to hand over button and new error list area

Several OSX fixes provided by guruz.
2017-07-04 14:08:41 +02:00
Christian Kamm
9493e8f42e AccountState: Add a 1-5min reconnection delay #5872
This only applies when the server was explicitly in maintenance mode or
when it was 503-unavailable.
2017-07-04 13:12:41 +02:00
Christian Kamm
b1aaf055b1 Blacklist: Don't let errors become warnings #5516
Before, blacklisted errors were set to FileIgnored status and hence
displayed as warnings. Now, they have their own BlacklistedError
category which allows them to appear as errors in the issues list and in
the shell integration icons.
2017-07-04 13:07:51 +02:00
Olivier Goffart
34e75f80bc main.cpp: Fix a compiler warning
src/gui/main.cpp:112:9: warning: bool literal returned from 'main' [-Wmain]

Used 1 to keep previous behaviour. I supposed the code was meant
to return success (0), but it does not really matter anyway.
2017-07-04 11:43:07 +02:00
Jan-Christoph Borchardt
3d2f5b6af1
Change wording from synchronizing to synchronized 2017-06-29 15:36:57 +02:00
Christian Kamm
15ee7b39ac Merge remote-tracking branch 'origin/2.3' 2017-06-22 14:06:31 +02:00
Christian Kamm
1e78a14f1a Ignore ui: Add the sync journal patterns #5844
The ignore patterns for the journal files are hardcoded. Add them to
the UI to make them discoverable.
2017-06-20 13:35:34 +02:00
Christian Kamm
4291ea47f7 Journal: Don't use a ._ path if it won't work #5633
When synchronizing a folder on a samba share, creating files that begin
with ._ is often forbidden. This prevented the client from creating
its ._sync_abcdef.db file.

Now, it'll check whether the preferred filename is creatable, and if
it isn't it'll use .sync_abcdef.db instead.

The disadvantage is that this alternative path won't be ignored by
older clients - that was the reason for the ._ prefix.
2017-06-20 13:35:34 +02:00
Olivier Goffart
85d8ae6b93 AccountSettings: Triggering log in re-ask about previously rejected certificates #5819
Issue #5819
2017-06-14 11:48:24 +02:00
Olivier Goffart
5100a2daf1 OAuth: cleanup debug messages
- Add category to the all messages (they did not have it was merged right after
the patch to add category everywhere, but this code did not have it.)

- Make sure there is no warnings in the normal flow. (The wizard does a request
without authentication to determine the auth type)
2017-06-13 12:08:24 +02:00
Olivier Goffart
6e57b0219e Don't link dirrectly against openssl
All our crypto code is handled by qt nodaways.
No need to carry this dependency.

Especially since it causes warnings on system where there are
twp openssl version installed:
/usr/bin/ld: warning: libcrypto.so.1.0.0, needed by /usr/lib/libQt5Network.so.5.9.0, may conflict with libcrypto.so.1.1
2017-06-13 11:27:23 +02:00
Christian Kamm
4b0d956b3d OAuth: Fix a typo in the success message 2017-06-12 12:58:20 +02:00
Olivier Goffart
85408961ba Wizard: Don't let the second to last page go back with OAuth2
We don't want to re-open the browser in that case.
2017-06-12 12:58:20 +02:00
Olivier Goffart
04b6794318 OAuth: Error handling in the wizard
Issues: #5813 and #5811
2017-06-12 12:58:20 +02:00
Christian Kamm
aeeb408c74 Merge branch '2.3' 2017-06-08 13:02:34 +02:00
Olivier Goffart
c17a678385 FolderStatusModel: fix assert in Qt when the list of subfolder is empty
Fix an assert that happens in beginInsertRows when opening a folder
and that folder is empty.
This can only be reproduced with a debug build of Qt.
2017-06-06 14:49:03 +02:00
Olivier Goffart
3d93527a8e Authentication with OAuth2
When the OAuth2 app (https://github.com/owncloud/oauth2) is enabled,
We will open a browser and perform the OAuth2 authentication

Issue: #4798 and https://github.com/owncloud/platform/issues/17
2017-06-01 10:39:33 +02:00
Julius Härtl
b7fa50be4c Set proper application name, icon name for freedesktop notifications
Use application name defined in OEM build configuration
2017-06-01 10:01:05 +02:00
Markus Goetz
42751f87d9 Application: debug implies logdebug 2017-05-29 22:05:26 +02:00
Olivier Goffart
f88431adbf Don't call QElapsedTimer::restart on uninitialized timer
That's an undefined behavior.
Since we don't use the return value anyway, we should just use start()
2017-05-29 10:51:05 +02:00
Christian Kamm
03aa7e3044 Sharing: Disable 'set password' button when password is empty #5788 2017-05-22 14:41:06 +02:00
Christian Kamm
91f6cae168 Share dialog: Use default icon if available #5781 2017-05-22 14:15:53 +02:00
Christian Kamm
ddd584077c Share link: Fix disabled API/sharing #5778
* Don't hide the displayed error directly after showing it
* Don't try to fetch shares when sharing isn't possible
2017-05-22 10:59:57 +02:00
Christian Kamm
8201f0b6ea Share Dialog: Remove unused hline 2017-05-22 10:59:57 +02:00
Christian Kamm
f2b5fcd706 Share link: Fix parsing integer ids #5777
Older ownCloud servers like 8.2.0 used to use integer ids.

This broke when switching to QJson because toString() on JSON
values is strict and returns "" for integers.
2017-05-22 10:54:30 +02:00
Christian Kamm
950439e5b8 Sharing dialog: Ensure error labels are expanding #5774 2017-05-22 10:52:52 +02:00
Christian Kamm
f24cdf5a05 Share dialog: Hide the icon when unused
Previously this used up some space when there was no icon, leading
to an oddly indented header.
2017-05-22 10:52:52 +02:00
Christian Kamm
d3b00532b1 Credentials: Simplify credential flow #5728
And as a side effect: don't ask for user password when we can't
connect to the server in the first place.
2017-05-22 10:52:18 +02:00
Christian Kamm
b7ed0fce2a Account: forget credentials on delete #5752 2017-05-22 10:49:11 +02:00
Christian Kamm
c1d2a9ab92 Sharing: Show warning that link shares are public #5785 #5747
Backport of 3872e060ba33913e43714776a1afce787e772351
2017-05-22 10:28:16 +02:00
Christian Kamm
87a7642381 Settings: Ensure the 'about' label isn't cut off #5760 2017-05-22 10:11:09 +02:00
Jocelyn Turcotte
c50136d675 Add the account name and folder when starting the sync
This should help clearly delimiting them in the log for multi-account setups.
This information is already available elsewhere in the log in any case.

Issue #5672
2017-05-17 12:39:59 +02:00
Christian Kamm
c8d0f788e0 Apply clang-format 2017-05-17 12:26:27 +02:00
Christian Kamm
ae263d60bd Reformatting: Reformat some lines that would become really long 2017-05-17 12:26:27 +02:00
Christian Kamm
df3fe25702 Reformatting: Adjust trailing comments
These would otherwise be line-wrapped by clang-format,
and then consecutive reformattings remove the aligned
comment indentation

Example:

int a; // too long comment

->

int a; // too long
       // comment

->

int a; // too long
// comment
2017-05-17 12:26:27 +02:00
Christian Kamm
ee4892e345 Wizard: Skip result page with acceptance instead of closing #5764 2017-05-12 10:21:07 +02:00
Jocelyn Turcotte
7fd2f292e7 Promote a few more logs to info/warning 2017-05-11 17:22:59 +02:00
Markus Goetz
b68d982619 macOS: Fix usage of qCDebug in .mm file 2017-05-11 17:22:59 +02:00
Jocelyn Turcotte
cf058bc537 Add the possiblility to enable debug logging categories
Add a checkbox in the log window as well as a --logdebug command-line
option that should have the same effect.

Issue #5647
2017-05-11 17:22:59 +02:00
Jocelyn Turcotte
b7553d5bdf Upgrade some qCDebug to qCInfo or qCWarning
Use qCInfo for anything that has general value for support and
development. Use qCWarning for any recoverable error and qCCritical
for anything that could result in data loss or would identify a serious
issue with the code.

Issue #5647
2017-05-11 17:22:59 +02:00
Jocelyn Turcotte
4ad190a558 Use Qt logging categories for logging
This gives more insight about the logs and allow setting fine-tuned
logging rules. The categories are set to only output Info by default
so this allows us to provide more concise logging while keeping the
ability to extract more information for a specific category when
developping or debugging customer issues.

Issue #5647
2017-05-11 17:22:59 +02:00
Jocelyn Turcotte
e10a08f64d Remove the unused folderwatcher_qt implementation 2017-05-11 17:22:59 +02:00
Christian Kamm
4b6edaa01a Detect maintenance mode #4485
When we first detect a 503 (probably from a PROPFIND) and enter the
ServiceUnavailable state, we new trigger a status.php query that will
switch the state to MaintenanceMode if necessary.
2017-05-11 11:39:49 +02:00
Markus Goetz
8da7919a43 Sharing: Fix UI glitch when sharing is disabled 2017-05-10 15:41:58 +02:00
Markus Goetz
f52d66a954 Sharing: Optionally show warning that links are public
For https://github.com/owncloud/enterprise/issues/1914
2017-05-10 15:41:58 +02:00
Christian Kamm
881641f0b7 Remove stray debug output 2017-05-09 10:37:40 +02:00
Christian Kamm
3da1e9a4b9 Remove 3rdparty qjson #5710 2017-05-08 11:50:33 +02:00
Christian Kamm
2598579d84 Switch JsonApiJob to Qt5's QJson #5710 2017-05-08 11:50:33 +02:00
Christian Kamm
c5b6ec209a Sharing: Switch from QtJson to Qt5's QJson #5710 2017-05-08 11:50:33 +02:00
Markus Goetz
fbe812b9bc Selective Sync: Open sub folder context menu #5596 2017-05-08 11:24:02 +02:00
Markus Goetz
4ed9edb104 Wizard: Don't show not-so-useful result page #5726
Better immediately show the settings dialog where people can see what's going on.
They can go to sync folder or webinterface from there.
2017-05-03 19:21:46 +02:00
Christian Kamm
d709a47b93 Share dialog: Add option to copy/email direct links #5627 2017-05-03 10:26:27 +02:00
Tommy Sparber
72a3e08907 Move check for mono icons into separate function 2017-04-26 17:39:01 +02:00
Christian Kamm
cd4e647816 Merge remote-tracking branch 'origin/2.3' 2017-04-24 10:32:53 +02:00
Christian Kamm
05236f0a7a Sharing multiple public links: Depend on new capability
See owncloud/core#27709: files_sharing/public/multiple
2017-04-21 14:08:00 +02:00
Christian Kamm
3c1a2cde33 ShareDialog: Review fixes
* Allow creating nameless shares
* Display token as name for nameless shares
  (both to be consistent with server)
* Allow changing a share's name by editing it in the table
* Minor adjustments
2017-04-21 10:16:08 +02:00
Christian Kamm
a1f7168d2a ShareDialog: Add support for multiple public link shares #5655
Starting from oC 10.0.0 having several public link shares with
different attributes for a path will be supported. This adds
functionality to create, edit and delete these public link shares.

The behavior is currently gated by server version, but should be
adapted to use a capability as soon as one is introduced, see
owncloud/core#27622.

The UI reduces to a single-share version when talking to older servers.

Testing scenarios:
* Link sharing is disabled (by capability, not by theme)
* Required passwords
* Required expiry
* Forbidden 'allow upload' for folders
* New and old servers
2017-04-21 10:10:12 +02:00
Christian Kamm
1e1c2f8de2 Rename ShareWidget to ShareUserLine
There will probably be a ShareLinkLine too, due to #5655
2017-04-21 10:09:01 +02:00
Christian Kamm
76e67db04b ShareDialog: Use a tab widget #5655 2017-04-21 10:09:01 +02:00
ckamm
543e8a224c Fix a crash in ProxyAuthHandler (#5711)
See
https://sentry.io/owncloud/desktop-win-and-mac/issues/243433178/activity/
https://sentry.io/owncloud/desktop-win-and-mac/issues/234182688/activity/

The problem was that an account's QNetworkAccessManager can be deleted
when reentering the event loop.
2017-04-20 09:21:33 +02:00
ckamm
ea378fe837 FolderStatusModel: Fix crash for empty relativePath (#5713)
The problem was that split("", SkipEmptyParts) is the empty list.

See
https://sentry.io/owncloud/desktop-win-and-mac/issues/251167186/
2017-04-20 09:16:55 +02:00
Markus Goetz
de9ee295be Some Dialogs: Bring to top on tray click #5515 #5566 (#5664)
On my OS X, it might get hidden under other apps while I opened it and then want to quickly
verify something in another app.
2017-04-20 08:55:44 +02:00
Markus Goetz
5ac58d3b83 Server: Parse version from capabilities too #5691 (#5698)
Newer servers will have the option of hiding version, versionstring, edition
and productname. They will always send the full information in the capabilities.
2017-04-19 11:02:03 +02:00
Olivier Goffart
8cb3a77022 Merge remote-tracking branch 'origin/avatar_pics'
Also fix compilation because of 22370fdbdadd06f0cacd249a8d7a32f0d3c1374e

Pull request #5482
2017-04-13 11:54:28 +02:00
Olivier Goffart
1ed4eb46f2 Merge remote-tracking branch 'origin/2.3'
Conflicts:
	VERSION.cmake
2017-04-13 10:19:35 +02:00
Christian Kamm
7c31da5a95 AccountSettings: Sync with clean discovery on Ctrl-F6 #5666 2017-04-13 10:11:21 +02:00
Christian Kamm
1f245b3791 AccountSettings: Easier access to selected folder alias 2017-04-13 10:11:21 +02:00
Markus Goetz
554d1b88fc Avatar: macOS support 2017-04-12 17:55:28 +02:00
Christian Kamm
8a639d39fc ShareDialog: Reenable user input textedit on error #5694 2017-04-11 15:50:32 +02:00
Markus Goetz
26af3ce525 Wizard: Improve folder creation (2) 2017-04-10 16:15:28 +02:00
Markus Goetz
e08ec11fd4 Wizard: Improve folder creation 2017-04-05 16:55:52 +02:00
Christian Kamm
a10fe84a83 ShareDialog: Hide the detailed permissions if there is only one #5655 2017-04-04 09:40:48 +02:00
Christian Kamm
7d9c4d052c ShareDialog: Margin and spacing refinements #5627 2017-04-04 09:40:48 +02:00
Christian Kamm
f8d69dfe8e ShareDialog: Fix thumbnail size #5654 2017-04-04 09:40:48 +02:00
Christian Kamm
35af03b2e5 Improve http error messages; cleanup
By default QNetworkReply::errorString() often produces messages like
   "Error downloading <url> - server replied: <reason>"
but the "downloading" part invariably confuses people since the
error might very well have been produced by a PUT request.

This commit produces clearer error messages for HTTP errors.

Additionally:
* Remove some unnecessary null checks from slots connected to
  network job signals and document that these signals never send
  null replies.
* There was a bug where AbstractNetworkJob::_timedout wasn't
  set when derived classes overrode slotTimeout. We now ensure
  it's always set by disallowing overrides of slotTimeout.
  Instead it now calls onTimedOut, which allows custom handling.
* Several subclasses declared errorString, isTimedOut. Move
  these to AbstractNetworkJob.
* Unify handling of OC-ErrorString (via the new, general
  Job::errorString)
* Add documentation in various places.
2017-04-04 09:27:37 +02:00
Roeland Jago Douma
68f0f1b404 complete url when using themed wizardUrlPostfix
Before we would only open the part of the url that the users entered.
Now if the wizardUrlPostfix is used this is should be appended to that
when opening the browser on the result page.
2017-03-29 18:09:15 +02:00
Olivier Goffart
85afa4788b AccountState: Attempt to fix a crash
Backtrace from the crash reporter:

Crash: EXCEPTION_ACCESS_VIOLATION_READ at 0x21
  File "qcoreapplication.cpp", line 1281, in QCoreApplication::postEvent
  File "qobject.cpp", line 2125, in QObject::deleteLater
  File "connectionvalidator.cpp", line 240, in OCC::ConnectionValidator::reportResult
  File "connectionvalidator.cpp", line 206, in OCC::ConnectionValidator::slotAuthFailed
  File "moc_connectionvalidator.cpp", line 127, in OCC::ConnectionValidator::qt_static_metacall
  File "qobject.cpp", line 3716, in QMetaObject::activate
  File "moc_networkjobs.cpp", line 653, in OCC::PropfindJob::finishedWithError
  File "networkjobs.cpp", line 570, in OCC::PropfindJob::finished

I believe the problem is caused because 'this' was deleted in ConnectionValidator::reportResult
as the signal connectionResult gets emited. The AccountState::slotConnectionValidatorResult
slot does indeed call slotInvalidCredentials which might call {Shibboleth,Http}Credentials::fetchFromKeychain
which might emit fetched directly, which will call AccountState::slotCredentialsFetched
which deletes the _connectionValidator

So use deleteLater when deleting the _connectionValidator, hoping this helps
2017-03-28 18:04:19 +02:00
Christian Kamm
e86499d990 dynamic chunking: cleanup, fixes, improvements
* make target duration a client option instead of a capability
* simplify algorithm for determining chunk size significantly
* preserve chunk size for the whole propagation, not just per upload
* move options to SyncOptions to avoid depending on ConfigFile
  in the propagator
* move chunk-size adjustment to after a chunk finishes, not when
  a new chunk starts
2017-03-28 11:32:10 +02:00
Christian Kamm
a0e88477c1 ShareDialog: Make "can edit" partially checked sometimes #5642
Previously the check box was checked if *any* of its sub-permissions
were granted. This can hide the fact that only a limited subset of them
are actually granted.

The new behavior is to display as "partially checked" if only some
of the sub-permissions are available. Clicking the check box itself
still toggles between granting all or none of them.
2017-03-24 09:52:01 +01:00
Christian Kamm
f67989afea Wizards: Never propose an existing folder for syncing #5597 2017-03-21 17:07:35 +01:00
Christian Kamm
14fef4a0d3 Wizard: Remove unused oldLocalFolder property 2017-03-21 17:07:35 +01:00
Olivier Goffart
d3439d5526 owncloudsetuppage.ui: Remove that file, it is unused 2017-03-21 16:38:13 +01:00
Olivier Goffart
722918abd6 Folder::showSyncResultPopup: Fix undefined behavior when there is no errors
When there is no errors  _syncResult.firstItemError() is NULL, and accessing
it's _file member is an undefined behavior. (Thankfully, createGuiLog did not
use the string when the count was 0, but we are not supposed to create
null references.

Found with the UB sanitizer:

src/gui/folder.cpp:348:49: runtime error: member access within null pointer of type 'OCC::SyncFileItem'
src/gui/folder.cpp:348:19: runtime error: reference binding to null pointer of type 'const QString'
2017-03-20 11:53:13 +01:00
Olivier Goffart
4597201560 Merge remote-tracking branch 'origin/2.3'
Conflicts:
	src/libsync/owncloudpropagator.h
2017-03-16 14:35:08 +01:00
Olivier Goffart
a60370255e ActivityListModel: attempt to fix a crash.
The backtrace seems to indicate that the account is invalid.
I don't know how this can happen, maybe the account's display
name was changed while the app is running?

Backtrace:
Crash: EXC_BAD_ACCESS / KERN_INVALID_ADDRESS at 0x18
  Module "owncloud", in OCC::AccountState::account
  Module "owncloud", in OCC::ActivityListModel::data
  Module "owncloud", in OCC::ActivityItemDelegate::paint
  Module "QtWidgets", in QListView::paintEvent
  Module "QtWidgets", in QWidget::event
  Module "QtWidgets", in QFrame::event
  Module "QtWidgets", in QAbstractScrollArea::viewportEvent
  Module "QtWidgets", in QAbstractItemView::viewportEvent
  Module "QtWidgets", in QAbstractScrollAreaFilter::eventFilter
  Module "QtCore", in QCoreApplicationPrivate::sendThroughObjectEventFilters
2017-03-16 14:31:15 +01:00
Olivier Goffart
574435687d Merge remote-tracking branch 'origin/2.3'
Conflicts:
	src/libsync/owncloudpropagator.cpp
2017-03-16 13:51:53 +01:00
Olivier Goffart
8e68e0321c Attempt to fix a crash in FolderStatusModel::slotUpdateDirectories
The backtrace looks like:

  File "atomic_base.h", line 396, in QString::~QString
  File "qlist.h", line 442, in OCC::FolderStatusModel::slotUpdateDirectories

This is the only QList operation, and it may crash if the list is empty.
It can be empty if the propfind returned empty results.
I'm not sure how this can be possible to have an empty list there since
the server is always supposed to return at least one entry, for the directory
itself. But it can happen if a directory was transformed in a file, or
if there is a bug on the server.
2017-03-15 17:23:39 +01:00
Christian Kamm
881b32521b HttpCreds: Update app passwords url #5605
See also owncloud/core#27360
2017-03-15 16:30:08 +01:00
Christian Kamm
b98876e265 Account server version: Helper to create versions
Hex literals don't work well with version 10: 0x100000 doesn't do
the right thing.
2017-03-15 16:30:08 +01:00
Olivier Goffart
dbb5bcb784 Ignore list editor: adjust the size
The previous patch on this file made it a bit too big, so make it a bit smaller
For issue #5600
2017-03-15 16:00:48 +01:00
Samuel Alfageme
fce194ce08 Using different window flags on the connection method dialog (#5614)
This is a possible fix for #3850, applying custom window flags (http://doc.qt.io/qt-5.8/qt.html#WindowType-enum) on the connection method dialog. These avoid resizing the dialog and displaying a maximize button on OS X and context help button on Windows.
2017-03-15 15:46:51 +01:00
Christian Kamm
9ca9773e9d Add more versions to --version #5592
* Add git revision, if available
* Add SSL runtime version
* Add compile-time Qt version
2017-03-14 16:13:52 +01:00
Olivier Goffart
2152bc5fca Ignore list editor: adjust the size of the columns in the table
So the title of the column is fully visible.
Adjust the default size and the size policy of the label so it behave
correctly as the window get resized

Issue #5600
2017-03-13 17:05:24 +01:00
Klaas Freitag
5e33898a08 Avatar: Use QImage instead of QPixmap to avoid dep on QApplication.
That fixes the test suite.
2017-03-09 22:34:36 +01:00
Christian Kamm
4a1a5fa076 AbstractNetworkJob: Improve redirect handling #5555
* For requests:
  - reuse the original QNetworkRequest, so headers and attributes
    are the same as in the original request
  - determine the original http method from the reply and the request
    attributes
  - keep the original request body around such that it can be sent
    again in case the request is redirected

* Simplify the interface that is used for creating new requests in
  AbstractNetworkJob.
2017-03-07 13:18:01 +01:00
Olivier Goffart
f4495c5c80 ActivityListModel: fix possible crash in slotActivitiesReceived
Backtrace from the crash reporter:

Crash: EXCEPTION_ACCESS_VIOLATION_READ at 0x401
  File "moc_activitylistmo_M5OEXJ7XGJYTWT.cpp", line 92, in OCC::ActivityListModel::qt_static_metacall
  File "qobject.cpp", line 3730, in QMetaObject::activate
  File "moc_networkjobs_7AMNCW4BBANVRK.cpp", line 1342, in OCC::JsonApiJob::jsonReceived
  File "networkjobs.cpp", line 714, in OCC::JsonApiJob::finished
  File "abstractnetworkjob.cpp", line 207, in OCC::AbstractNetworkJob::slotFinished
  File "moc_abstractnetwor_PFI2TXGQHRE33H.cpp", line 98, in OCC::AbstractNetworkJob::qt_static_metacall
  File "qobject.cpp", line 3730, in QMetaObject::activate
  File "moc_qnetworkreply.cpp", line 367, in QNetworkReply::finished
  File "qnetworkreplyhttpimpl.cpp", line 2100, in QNetworkReplyHttpImplPrivate::finished
  File "qnetworkreplyhttpimpl.cpp", line 279, in QNetworkReplyHttpImpl::abort

My theory is that the AccountState stored in a property of the job was destroyed.
before the job timed out.
Therefore, the qobject_cast within the qvariant_cast would call the metaObject()
virtual function on a dangling pointer.

Fix it by storing a QPointer instead which will track the deletion.
2017-03-06 17:25:22 +01:00
Olivier Goffart
4a010ce7cd SslButton: Remove additional ')'
Regression since 7bfe061382
Issue: #5573
2017-03-03 10:43:47 +01:00
Olivier Goffart
7bfe061382 Verify that all strings are properly escaped (#5558)
- I checked every occurence of a '%2' and make correct use of the
QString::arg overload that takes several argument instead of chaining
them, because the first argument can contains a '%1'

 - I tried to look for every label that they either use plain text or richtext
and escape the user provided strings in there.
2017-02-23 14:54:17 +01:00
Christian Kamm
21a09df7d1 Wizard: Handle PROPFIND redirects #5553
By default, followRedirects is true for all requests, to transparently
handle redirections. In the wizard, we have special redirect-handling
code though and that was being skipped.

Setting the flag to false allows the wizard to be aware of redirects
and to handle them in the correct way. Tested with the server described
in
https://github.com/owncloud/administration/tree/master/redirectServer

There's a second bug here, where followRedirects always converts
redirected requests to the GET verb. That means redirected PROPFINDs
will never have worked. This change un-breaks them for the wizard only.
There should be no case that previously worked that stops working now.
2017-02-22 13:24:13 +01:00
Markus Goetz
65d8f51a10 Message Boxes: Force to be more on top #5503 (#5536) 2017-02-20 13:58:35 +01:00
Olivier Goffart
e8c10501a5 Folder: Keep files option after aboutToRemoveAllFiles should not clear selective sync list (#5531)
We were removing the wholme journal db when the user wanted to keep all files,
But that would also remove the selective sync lists.
We should only remove the metadata table.

Issue #5484
2017-02-15 13:27:41 +01:00
Olivier Goffart
058f7df635 Folder: remove unused variable 2017-02-14 10:10:07 +01:00
Jocelyn Turcotte
d1dace9e7f Remove unneeded Q_DECLARE_METATYPE 2017-02-08 17:57:20 +01:00
ckamm
7879c470b3 Merge pull request #5518 from ckamm/asserts
Improve usage of asserts
2017-02-08 15:25:02 +01:00
Christian Kamm
4c1fdf1dee Double check usage of asserts #5429
A few are supposed to be fatal.
2017-02-08 15:15:19 +01:00
Olivier Goffart
439e688906 Folder: Change the wording for the massive deletion message
Issue #5503
2017-02-08 14:30:14 +01:00
ckamm
4198d9f420 Settings: Don't migrate settings on access error #5499 (#5523)
Previously, we'd try migrating from legacy settings if reading
the settings failed with an error. Now, we try again after a
couple of seconds and eventually give up.
2017-02-08 14:28:50 +01:00
Olivier Goffart
06579a5c70 AccountManager: Fix small leak in the account migration code
The QSettings object was not deleted in every possible code paths
2017-02-08 12:31:07 +01:00
Markus Goetz
df773ea8bb CentOS: More build fixes 2017-02-08 11:39:28 +01:00
Markus Goetz
e7be4faac8 CentOS: Another attempt 2017-02-08 11:15:23 +01:00
Markus Goetz
1102ac20ac Improve previous fix
After comment on 78a798eef3
2017-02-07 19:40:32 +01:00
Markus Goetz
78a798eef3 Old Qt: Another build fix 2017-02-07 18:54:40 +01:00
Markus Goetz
9614a94035 Revert "Disable RTTI"
This reverts commit 85d3de1589.
This breaks our old Qt on CentOS.

We can re-introduce this with #5470
2017-02-07 17:35:04 +01:00
Olivier Goffart
0d16cf41fe Merge remote-tracking branch 'origin/master' into 2.3
We can do that because the only changes that were in master but not in 2.3 were the
translations change and documentation change, and the support for the 'M' permission
which we want in 2.3.
2017-01-27 17:45:05 +01:00
Olivier Goffart
65e4afedc4 Account Wizard: don't whitelist everything on the first sync if we still want to confirm big folder
Issue: https://github.com/owncloud/client/pull/5340#issuecomment-274564441
2017-01-27 15:59:59 +01:00
Olivier Goffart
b76a9654cc General Settings: Make sure to reload the settings when an account is added
The Size limit, or confirmation checkboxes might have changed.

We need to guard against saving if the control changes while we are loading

Issue: https://github.com/owncloud/client/pull/5340#issuecomment-274878023
2017-01-27 15:59:59 +01:00
Olivier Goffart
38cf459b3e Confirm External Storage: adjust the notification message
We need to forward the information that the folder is an external storage
for the notification message.

Issue: https://github.com/owncloud/client/pull/5340#issuecomment-274878023
2017-01-27 15:59:59 +01:00
Olivier Goffart
ed7416098e Wizard: Increase the size
The advanced page has become quite complex and does not fit on the screen
anymore if the fonts are too big
2017-01-27 15:59:59 +01:00
Olivier Goffart
517623e457 FolderStatusModel: Different icon for external storages
Issue: https://github.com/owncloud/client/pull/5340#issuecomment-274564441
2017-01-27 15:59:59 +01:00
Olivier Goffart
f854c5263b Wizard: Add options to ask confirmation for external storage
Added two checkboxes in the Account Wizard in the advanced page to change the first options.
Also added a checkbox in the general settings to ask for confirmation for external storages.

Theme options allow to hide the checkboxes in the wizard.

As described in issue #5340
2017-01-27 15:59:59 +01:00
Jocelyn Turcotte
9db23d4df1 Remove SyncFileItem::_requestDuration #5456
This will save a QElapsedTimer in each job that was used only for
.owncloudsync.log (for which the request duration doesn't bring much
value).
2017-01-26 17:13:54 +01:00
Jocelyn Turcotte
b0700ebbab Remove duplicate SyncFileItem entries for the log
The accuracy of that log isn't as important as the few bytes those
fields take as hostage for the whole sync.
2017-01-26 17:13:54 +01:00
Markus Goetz
2bda55be81 Don't create legacy 'folders/' subdirectory 2017-01-26 12:29:58 +01:00
Markus Goetz
e859d220be Cookies: Use different DB for different accounts (#5490)
This is a follow up to #5469
2017-01-26 10:54:03 +01:00
Jocelyn Turcotte
ee211d7609 Release SyncFileItem objects with their job
We now delete subjobs as their propagation is complete. This allows us
to also release the item by making sure that nothing else is holding a
reference to it.

Remove the stored SyncFileItemVector from SyncEngine and SyncResult
and instead gather the needed info progressively as each itemCompleted
signal is emitted.

This frees some holes on the heap as propagation goes, allowing many
memory allocations without the need of requesting more virtual memory
from the OS, preventing the memory usage from increasingly growing.
2017-01-25 23:26:23 +01:00
Jocelyn Turcotte
1fc5a76622 Pass the SyncFileItem as SyncFileItemPtr in itemCompleted
This will allow us to keep a reference on the items in connected slots.
2017-01-25 23:26:23 +01:00
Jocelyn Turcotte
a764d7eb86 Don't pass the PropagatorJob in itemCompleted
This was to catch duplicate emissions for PropagateDirectory but we
don't emit this signal anymore from there.
This fixes a warning about PropagatorJob not being a registered metatype.

This reverts commit fe42c1a818.
2017-01-25 23:26:23 +01:00
Jocelyn Turcotte
92e86641d1 Bring back the error message if the sync-exclude.lst file is missing
We unconditionnally add the file on startup, but don't check for errors.
During sync we check for errors, but only try loading the file if it
exists.
2017-01-25 23:26:23 +01:00
Markus Goetz
c8cfb3160e Merge remote-tracking branch 'origin/selective-sync-big-folder' into 2.3 2017-01-25 19:45:20 +01:00
Christian Kamm
59c1fdbe05 Shib: Use different keychain entry per account #5469
Previously shib multiaccount didn't work at all because the
session cookie was stored in the same keychain entry.
2017-01-24 13:14:11 +01:00
Christian Kamm
26234dbf6c Folders: Adjust ui when account is disconnected #5477
Previously if you paused/unpaused a folder for a disconnected account
they would prepare to sync and thus display the 'Waiting...' text. With
this change, folders that can't possibly sync don't show text like
this.

When account connectivity changes, all unpaused folders will be
scheduled anyway.
2017-01-24 10:26:03 +01:00
Klaas Freitag
e95b73dfac Avatar: Set a circle mask around the avatar image.
The server displays the avatar cut into a circle, and so we do.
2017-01-23 21:36:18 +01:00
Klaas Freitag
d466a05915 SettingsDialog: Display the user avatar as action icon if available.
The avatar image is fetched from the server async, thus connect a signal
from the account if the avatar changes.

Server feature https://github.com/owncloud/core/pull/26872 is needed.
2017-01-22 13:58:36 +01:00
Jocelyn Turcotte
d3a0608bd5 SocketAPI: Only push status for files requested by the shell #5361
We currently push the SYNC status for all files that will be propagated,
and then the OK status when those files are propagated.
On top of this, we send those statuses to all clients connected, even
if the socket is kept open by an application that only needed to show
a file open dialog. On macOS we're also using an NSConnection which
means that we have to wait for the RPC call to return from the
extension, which makes bulk status changes possibly heavy.

Reduce the time spent needlessly sending status pushes by limiting
them to files requested through that socket since it connected.
To limit the data to store, only remember the parent directory of
files requested, and store those in a bloom filter.

Note that this adds a requirement to shell extensions: they should
make sure that the status cache only contains entries that have been
requested through the socket API. In other words, the status cache
must be empty when each socket client connects to the socket API.
Otherwise the cached icon type will be shown to the user, and the
SocketAPI won't push new status for that file if it didn't receive
a RETRIEVE_FILE_STATUS.
2017-01-18 12:15:52 +01:00
Jocelyn Turcotte
c25b599bbb SocketApi::slotReadSocket: Small optimizations
- Use the looked-up method index also for the invocation
- Do the method name concatenation already on QByteArray since we'll
  convert anyway
- Use staticMetaObject instead of metaObject()
2017-01-18 12:15:52 +01:00
Jocelyn Turcotte
a5ff9e58e3 SocketAPI: Remove unecessary null-checks
Those methods are private and there is only one call-site, we can
be sure that this parameter won't be null already.
2017-01-18 12:15:52 +01:00
Christian Kamm
352f168313 Folder: Remove unused variable 2017-01-17 14:53:09 +01:00
Markus Goetz
85d3de1589 Disable RTTI
Shrinks owncloud binary by 24 KB and libowncloudsync by 14 KB.
I don't know if it has influence on memory usage or runtime speed though.

Was worth a try.
2017-01-17 14:52:10 +01:00
Markus Goetz
588a88fb63 Updater: Don't create instance for invalid URL
Also don't use dynamic_cast
For enterprise/#689
2017-01-17 14:52:10 +01:00
Olivier Goffart
0249a68420 SelectiveSync: adjust the position of the "Loading" label
It should be parented to the treeview to be sure that is shows inside of it.
2017-01-13 10:55:45 +01:00
Christian Kamm
aa6f041c36 wizardSelectiveSyncDefaultNothing applies to folder wizard #4581
Previous the Theme option only applied to the account setup wizard.
2017-01-13 10:52:39 +01:00
Christian Kamm
dce3f8c4f6 Selective sync: Adjust widget common to folder/account wizards 2017-01-13 10:52:10 +01:00
Christian Kamm
ffbf34cb97 Log the auth type being used for accounts
There have been hard to track down bugs related to the wrong auth
type being used.
2017-01-11 09:30:59 +01:00
Christian Kamm
e286bb1b64 Wizard: Don't accidentally pre-fill url field #5412
slotUrlEditFinished() is called when the wizard is triggered in
some situations.
2017-01-03 11:53:40 +01:00
Christian Kamm
fa9b36f829 Wizard: Let the user know if url is invalid #5398 2017-01-03 11:28:56 +01:00
Christian Kamm
22135f9f57 Fixup broken authType on load #5408 2017-01-03 10:38:20 +01:00
Christian Kamm
473dcb0947 Only create a FolderWatcher if the path exists
Also retry creating it before each sync.

See #5317
2017-01-02 08:52:26 +01:00
Christian Kamm
e306f4611c Reschedule a folder regularly with some delay for some errors
Like "folder doesn't exist" - such that we will detect when the folder
becomes available and start syncing.

See #5317
2017-01-02 08:52:26 +01:00
Markus Goetz
c6f4f44619 Fix up SSL client certificates #5213 #69 (#5289)
The re-enables the UI, uses Qt API for importing and
stores the certificate/key in the system keychain.
People who had set up client certs need to re-setup the account. This is ok
since it was an undocumented feature anyway.
2017-01-02 08:34:02 +01:00
Christian Kamm
3b7887ca35 Wizard: Detach saved account from wizard
Fixes #5408 #5407.

The problem was that cleanup of the credentials page set the
credentials of the account back to dummy, thereby overriding
things like shib usernames.

This should be broken since a932eac832.
2016-12-21 15:31:12 +01:00
Christian Kamm
3912dba33a Move qDeclareMetatype from Folder to SyncEngine 2016-12-20 11:43:39 +01:00
Olivier Goffart
775a1c9ad8 FolderStatusModel: Fix insert/remove items when there are labels
Otherwise it might happen that the model is inconsistant and this can
lead to crash in the worst case.

(For example, if there was a "fetching" label, and we hide it because it
was a 404. In this case, we would not call begin/endRemoveRows, so the
view could still call the model with an index of row 0, that used to be
for the label, but now correspond to the first element of _subs. And
because _subs is empty, this could lead to crashes)
2016-12-14 14:13:47 +01:00
Christian Kamm
d631f2e070 Sync now: Disable on disconnect, rename while running #2158 2016-12-13 15:28:52 +01:00
Jocelyn Turcotte
f985111b62 Fix the log window not showing csync logs
The csync log level was only set up on startup, and for log files.
Fix the issue by making Logger::isNoop rely on being explicitly activated
for the log window instead of relying on the presence of a connected
signal, and move the csync log level logic in Logger.
2016-12-09 10:03:46 +01:00
ckamm
5bef1aa402 Merge pull request #5045 from owncloud/dbjournal_per_account
Allow a folder to be synced to several accounts. This changes the path of the sync journal file!
2016-12-06 10:55:58 +01:00
Christian Kamm
a139d1a279 FolderWizard: pass AccountPtr by const&
For review of #5045
2016-11-29 10:39:20 +01:00
Christian Kamm
acb155503b Ensure the 'Sync paused' state is used after pausing #5290 2016-11-29 09:56:45 +01:00
Christian Kamm
68f99bcc27 AccountSettings: Add a "Force sync now" context menu option 2016-11-25 14:23:56 +01:00
Christian Kamm
49f8143f00 Bugfixes for sync journal name generation and usage
* Use 'user' value for journal name generation
* Save journal name in settings
* Make owncloudcmd choose the right db
2016-11-23 16:48:15 +01:00
Christian Kamm
bea7241910 Don't wipe each journal on each start 2016-11-23 16:48:15 +01:00
Christian Kamm
61b4da944c Split folders configuration locations for backwards compatibility 2016-11-23 16:48:15 +01:00
Christian Kamm
9641c7a1e7 Rename sync journal to ._sync_xxx.db.
The added underscore means that older clients will also ignore the
file.
2016-11-23 16:48:15 +01:00
Christian Kamm
3e59a9b316 Merge branch 'master' into dbjournal_per_account 2016-11-23 16:47:56 +01:00
Markus Goetz
679ac0d26a Wizard: Show if server asks for client certificate #2799 #69 (#5261)
This also nicely displays the 'Untrusted domain' message of oC.
The link to add a trusted domain (via web browser) is clickable.
2016-11-23 11:43:15 +01:00
Markus Goetz
2e3a3bcf84 Folder: Make folder only accessible by user #5282 (#5315)
Because on OS X the parent folder might not protect
against access.
2016-11-23 11:05:41 +01:00
Samuel
4998303c42 Fixing a typo on a message
This refers to the message shown when copying the list of unsynced items on the activity tab
2016-11-22 12:14:03 +01:00
Christian Kamm
ceef2f2d46 FolderMan: Never schedule paused folders #5290
Previously the last folder in the queue was scheduled, regardless
of whether it was paused or not.
2016-11-22 10:53:15 +01:00
Olivier Goffart
a1dc4069c9 libsync: Don't store the remote URI in the csync or in the SyncEngine
We are going to change the webdav path depending on the capabilities.
But the SyncEngine and csync might have been created before the capabilities
are retrieved.

The main raison why we gave the path to the sync engine was to pass it to csync.
But the thing is that csync don't need anymore this url as everything is done by the
discovery classes in libsync that use the network jobs that use the account for the urls.
So csync do not need the remote URI.

shortenFilename in folderstatusmodel.cpp was useless because the string is the
_file of a SyncFileItem which is the relative file name, that name never
starts with owncloud://.

All the csync test creates the folder because csync use to check if the folder
exists. But we don't need to do that anymore
2016-11-21 08:09:11 +01:00
Christian Kamm
eb8de8e3c0 Enable clicking on 'not synced' items #5306 2016-11-18 16:19:36 +01:00
ckamm
ec7333a4bf Merge pull request #5272 from owncloud/licensefix-pending
License: Adjust license of GPLv2 source files to GPLv2+
2016-11-18 15:14:47 +01:00
Christian Kamm
6451eb3ade Tray: Add a 'New account...' action if no account is configured #5307
Useful when left-clicking the tray icon isn't working for some reason.
2016-11-18 12:17:05 +01:00
Markus Goetz
89f55cf9df Folder: Add comments after discussion about pre-selected selective sync 2016-11-16 14:08:05 +01:00
Olivier Goffart
2723cd225e FolderStatusDelegate: Fix compiler warning.
QStyleOptionProgressBarV2 is deprecated in Qt5.
2016-11-15 10:16:41 +01:00
Tobias Haeussler
0c0a3ca0a5 Add manifest file on Windows to make the application UAC aware. 2016-11-14 12:16:58 +01:00
Christian Kamm
eb012d26ee FolderStatusModel: Minor cleanups. 2016-11-08 14:01:07 +01:00
Christian Kamm
9ee8187083 Sort folder list alphabetically #5299 2016-11-08 14:01:07 +01:00
Christian Kamm
0e2782d369 Terminate sync when pausing from context menu #5290 2016-11-07 12:50:06 +01:00
Christian Kamm
10644d3568 Move concatUrl and settingsWithGroup to Utility
There was little reason to keep them cluttering Account.
2016-10-25 12:05:28 +02:00
Christian Kamm
9ee3144358 Account: Remove wasMigrated/setMigrated
It was unused since early in the multi-account work:
a932eac832
2016-10-25 11:43:06 +02:00
Christian Kamm
cf48ea2e00 Remove unused functions
Account::changed and AbstractCredentials::changed have not been needed
in a long while.
2016-10-25 11:33:38 +02:00
Christian Kamm
db24f60ae3 License: Adjust license of GPLv2 source files to GPLv2+
See #5180
2016-10-25 11:06:54 +02:00
Christian Kamm
6026148692 FolderMan: Clean up API
Many public slots didn't need to be public or slots.
2016-10-25 09:44:34 +02:00
Christian Kamm
a2222228c9 FolderMan: Document and clean up folder scheduling 2016-10-25 09:44:34 +02:00
Christian Kamm
1b04489887 Remove stale commented code
These functions don't even exist anymore.
2016-10-18 11:21:01 +02:00
Markus Goetz
5000d40619 Fixup previous commit
Thanks @ogoffart for spotting.
2016-10-12 19:10:56 +02:00
Klaas Freitag
16e28567a6 Folderman: Some comments for the checkPathValidityForNewFolder method. 2016-10-12 18:16:53 +02:00
Klaas Freitag
3bef42db6b folderman: checkPathValidityForNewFolder - correct file path comparison
It now checks based on the correct case sensitivity and also using the new
method for filename comparison.
2016-10-12 14:50:10 +02:00
Markus Goetz
fc7aaf792b Auto Start: Only set on first account setup, not all later ones 2016-10-11 20:28:14 +02:00
Olivier Goffart
9d3e78ed54 AccountManager: do not load invalid account
Some tests (such as FolderManTest) can polute the config file with invalid
accounts.

(That's because most of the code, (even in libsync) always instentiate a ConfigFile)
2016-10-11 14:27:14 +02:00
Klaas Freitag
e1a48e3c33 Move the journal file name generation to the syncjournaldb class.
As requested by Olivier.
2016-10-10 16:59:17 +02:00
Olivier Goffart
c2fa9b5bbf AccoutWizard: Change the set policy of a radio button
In an attempt to make sure the button next to it don't get too small.

Issue #5209
2016-10-10 13:27:28 +02:00
Klaas Freitag
c84140d293 checkPathValidityForNewFolder: Catch sync folders underneath sym links.
plus some whitespace changes.
2016-10-07 16:23:13 +02:00
Christian Kamm
91b6b88883 Tray: Fix crash on startup for non-OSX oses 2016-10-07 13:32:42 +02:00
Tommy Sparber
67ecca492b Improve macOS SysTray/StatusBar monochrome icon (#5227)
- Use a white icon if the context menu is visible.
- Enable `QIcon::setIsMask` if compiled on Qt >= 5.6 to allow automatic
  macOS color handling.
- No changes if the colored icons are used.
2016-10-06 17:18:51 +02:00
Klaas Freitag
838c072ccc Folder Setup: Allow to set up more sync connects to the same folder.
One local folder can now be configured as sync target for multiple
accounts as long as their url and user differ.

Also this patch accepts that the sync folder is behind a symlink.
Also this patch fixes a bug that before the user input was taken
canonically which was not working for the symlink handling.
2016-09-30 14:08:00 +02:00
Christian Kamm
bd2bcad3ba ShareDialog: Remove context help button
Ticket #5203
2016-09-28 13:00:52 +02:00
Markus Goetz
95c479aa07 Wizard: Do the system proxy lookup in a thread (#5160)
This is analogous to the code in ConnectionValidator.
2016-09-26 15:45:30 +02:00
ckamm
035442b6da Improve the "new big folder" UI #5202 (#5204)
Instead of using the regular selective-sync UI (where it's unclear what
the "Cancel" button would even mean in this context), provide a
different set of buttons that allow the user to quickly synchronize
all pending big folders, none of them, or perform manual changes
as usual.
2016-09-23 13:47:57 +02:00
ckamm
98efb07535 Tray: Workaround collection (#5179)
Tray: Workaround collection

* QDBus workaround for Qt 5.5.0 only, there were reports of the tray
  working fine with 5.5.1. #5164
* OWNCLOUD_FORCE_QDBUS_TRAY_WORKAROUND to force the workaround on an off
* OWNCLOUD_TRAY_UPDATE_WHILE_VISIBLE to enable or disable updating of
  the menu while it's visible - disable by default due to problems on OSX and Xubuntu.
* Track the visibility of the tray menu with aboutToShow/aboutToHide
  only on OSX - the aboutToHide signal doesn't trigger reliably on linux
* Refactor such that setupContextMenu is different from updateContextMenu
* Don't use on-demand updating of the tray menu when the qdbus workaround
  is active, instead to occasional (30s) updates of the tray menu.
2016-09-23 10:44:54 +02:00
Christian Kamm
e10c97573f Warning if mailto url fails #5142 2016-09-22 14:16:58 +02:00
Christian Kamm
0cea3d85f5 Add log messages for LockWatcher use #5190 2016-09-22 09:57:42 +02:00
Jocelyn Turcotte
31aaf956f5 Merge pull request #5182 from jturcotte/msvcBuild
Fix the MSVC build
2016-09-20 10:39:14 +02:00
Jocelyn Turcotte
2b274e9460 Fix the MSVC build
- Replace functions that are provided by MinGW with a Win32-based
  implementation
- Explicitly export needed symbols from ocsync.dll
- Rename share.h to sharemanager.h since the name clashes with one
  of the Windows headers and get included from there
- Remove the timestamp from the fallback csync stderr logging, it's
  not used since we always provide a log callback
2016-09-16 17:43:39 +02:00
Markus Goetz
aa5d3055be Folder/Watcher: Fix up #5174 #5153 (#5186)
It was surprising to have a broken symlink return empty for
canonical path.
2016-09-15 14:56:37 +02:00
Markus Goetz
b7809ded23 OS X: Try to fix tray menu not updating correctly #5158 (#5177)
I even had this issue long before 2.3 that submenus suddenly disappeared.
Now we refrain from updating while visible.
2016-09-13 14:34:22 +02:00
Olivier Goffart
c2cb729fee Folder: Cannonicalize the path
This is important because we compare the paths from the file system watcher if it
starts with this path.
Same in the SocketAPI where we need to use cannonical paths in the REGISTER_PATH command,
as the plugin themself will do this comparison.

Issue #5116
2016-09-12 16:56:59 +02:00
Olivier Goffart
904cd46f75 Revert "FolderWatcher: Act on relative paths #5116 (#5153)"
This is not sufficient as it is not working for the Socket API.
Next commit will fix it in another layer.

Also, not ignoring paths that are not inside the folder is wrong
as it might still happen if the name has a different casing

This reverts commit d5a481f132.
2016-09-12 16:05:55 +02:00
Markus Goetz
d5a481f132 FolderWatcher: Act on relative paths #5116 (#5153) 2016-09-12 14:03:11 +02:00
Olivier Goffart
1d09f6b60f Allow to disable Shiboleth to build without QtWebkit (#5166) 2016-09-11 16:14:08 +02:00
Olivier Goffart
9e895a6ecc FolderStatusModel: Fix beginInsertRow/endInsertRow
We need to do the change between the begin and the end call so the selection
don't get broken
2016-09-11 12:12:10 +02:00
Markus Goetz
524220d090 Selective Sync: Fix request loop and show error in view (#5154)
I got into a situation where the model would endlessly request the directory
contents from the server because we did not notice yet that the server
is actually in maintenance mode while we were expanding the tree view when
changing the tab to the account or when just expanding it by clicking.
2016-09-06 11:11:03 +02:00
Klaas Freitag
c97d8aa8fd Show the rename target in the client log file. (#5149) 2016-09-05 13:26:49 +02:00
Klaas Freitag
f0dc3b2deb FolderWatcher: Also ignore the new sync journal file name format. 2016-09-02 16:19:10 +02:00
Klaas Freitag
84ede3f01f Make sync journal name generating a method of SyncJournal.
Before it was in Folder, however, the command line client does not
have the Folder class. To not duplicate code, the function to generate
the sync journal name went to SyncEngine class.
2016-09-02 16:19:10 +02:00
Klaas Freitag
3b651b2da9 folderman: Clean some comments 2016-09-02 16:19:04 +02:00
Klaas Freitag
e46fad52bb Make the sync journal file name a method of the Folder class.
The sync journal name has a dependency on the remote url now.
2016-09-02 12:29:21 +02:00
Christian Kamm
39e93768ea Account wizard: Enable back button consistently #5107
Tested with http auth and shib auth.
2016-08-26 13:12:25 +02:00
Christian Kamm
c1eb9244d1 Shibboleth: Fix detection in account wizard #5138
Following redirections generally
(bb5c2cbfa5) meant that the special
shib-redirection detection code was no longer being used.
2016-08-26 12:58:06 +02:00
Markus Goetz
6ecda6e7f4 Merge branch '2.2' 2016-08-24 11:39:12 +02:00
Jocelyn Turcotte
2ff7b63551 Merge pull request #5122 from jturcotte/syncfilestatustrackerTests 2016-08-17 16:04:02 +02:00
Christian Kamm
b541fea793 ShareLink: Ensure the password line edit is enabled #5117 2016-08-17 15:48:25 +02:00
Jocelyn Turcotte
e974771796 csync: Use an explicit instruction for should_update_metadata
The current way of tracking the need to update the metadata without
propagation using a separate flag makes it difficult to track
priorities between the local and remote tree. The logic is also
difficult to logically cover since the possibilities matrix isn't
100% covered, leaving the flag only used in a few situations
(mostly involving folders, but not only).

The reason we need to change this is to be able to track the sync
state of files for overlay icons. The instruction alone can't be
used since CSYNC_INSTRUCTION_SYNC is used for folders even though
they won't be propagated. Removing this logic is however not possible
without using something else than CSYNC_INSTRUCTION_NONE since too
many codepath interpret (rightfully) this as meaning "nothing to do".

This patch adds a new CSYNC_INSTRUCTION_UPDATE_METADATA instruction
to let the update and reconcile steps tell the SyncEngine to update
the metadata of a file without any propagation. Other flags are left
to be interpretted by the implementation as implicitly needing
metadata update or not, as this was already the case for most file
propagation jobs. For example, CSYNC_INSTRUCTION_NEW for directories
now also implicitly update the metadata.

Since it's not impossible for folders to emit CSYNC_INSTRUCTION_SYNC
or CSYNC_INSTRUCTION_CONFLICT, the corresponding code paths in the
sync engine have been removed.

Since the reconcile step can now know if the local tree needs metadata
update while the remote side might want propagation, the
localMetadataUpdate logic in SyncEngine::treewalkFile now simply use
a CSYNC_INSTRUCTION_UPDATE_METADATA for the local side, which is now
implemented as a different database query.
2016-08-17 15:39:31 +02:00
ckamm
88cd5421bf Tray menu: Update only on demand #4990 #4985 (#5072)
The tray menu is now only updated when it becomes visible or while
it is visible.
2016-08-15 13:42:56 +02:00
ckamm
7b26e6b8f9 Progress: Don't display unlikely estimates #5046 (#5066) 2016-08-15 13:36:53 +02:00
Daniel Molkentin
5a57e4a7a6 Ensure OpenSSL config file is only read from app dir 2016-08-05 16:38:08 +02:00
Klaas Freitag
5ac434a740 Logs: Add the name of the platform we're running on to the log. (#5082) 2016-07-28 16:30:40 +02:00
Klaas Freitag
ebcec44202 ShibbolethView: Open a debug windows that shows cipher info. (#5080)
It opens a window and connects to a cipher test
page, showing the output from there, that helps for debugging.

The window is enabled by setting the environment variable
OWNCLOUD_SHIBBOLETH_DEBUG
2016-07-25 17:47:23 +02:00
Christian Kamm
39bde6f3e4 Revert "Add 'open in browser' to account menu #4824"
This reverts commit 3c575a2f37.

One can already open the account in the browser by clicking the
link in the settings dialog!
2016-07-19 11:19:40 +02:00
Olivier Goffart
7c671756e6 Merge remote-tracking branch 'origin/2.2'
Conflicts:
	src/libsync/syncfilestatustracker.cpp
2016-07-12 17:38:15 +02:00
Olivier Goffart
f3f387c36b Merge pull request #5016 from owncloud/overrideurl
AccountManager: Don't force the server URL while loading the config.
2016-07-12 14:33:28 +02:00
Olivier Goffart
b53ce78eb6 Merge pull request #5025 from ArthurChiao/bugfix_#5015
fix #5015 overlay icon not show: compare folder paths with no case-se…
2016-07-12 14:32:54 +02:00
ckamm
bc4753e938 Sharing: Fix bug with file names containing percent encodes #5042 (#5043) 2016-07-12 14:25:33 +02:00
Klaas Freitag
37fc4e4332 SyncJournalDb: Cleanup of Constructor interface.
The parameter path is not longer needed.
2016-07-10 13:04:29 +02:00
Klaas Freitag
9cc90159f1 FolderMan: ensureJournalGone needs to know the exact journal name, WIP 2016-07-10 12:57:35 +02:00
Klaas Freitag
3033e693be Folder: For wipe reuse the journal name from SyncEngine.
Do not compute on its own any more.
2016-07-10 12:52:47 +02:00
arthurchiao
3335c733d7 be case insensitive for MacOSX, too 2016-07-08 15:53:11 +08:00
arthurchiao
4da55b69df ignore case-sensitivity only on windows 2016-07-08 15:12:37 +08:00
Christian Kamm
3c575a2f37 Add 'open in browser' to account menu #4824 2016-07-05 14:48:51 +02:00
arthurchiao
7a2a439426 fix #5015 overlay icon not show: compare folder paths with no case-sensitivity 2016-07-01 13:03:42 +08:00
Olivier Goffart
dff57362f9 AccountManager: Don't force the server URL while loading the config.
While loading the account, only override the server url if Theme::forceConfigAuthType
is set. This restore the behavior from the client 2.1 for theme that did not
use Theme::forceConfigAuthType.

Issue: owncloud/enterprise#1418
2016-06-28 14:32:03 +02:00
Olivier Goffart
3f3a679f81 Fix the URL from previous commit
The pull request was merged too early and did not contain the URL change

(Issue #4877)
2016-06-28 14:17:16 +02:00
Olivier Goffart
cde9017340 GUI: Show link to the page that allow to add a new token (#4963)
If owncloud >= 9.1 is detected:
and add a link to the ownCloud page that allow to add device token.

Issue #4877
2016-06-28 12:25:04 +02:00
Jocelyn Turcotte
446e7cbd93 Fix a QAction leak (#5008)
Attach the accout menu QAction to the menu rather than the
ownCloudGui since it should be destroyed when the context
menu is cleared.
2016-06-27 16:22:51 +02:00
ckamm
b4d26ba952 Fix windows HiDPI #4994 (#4998)
This was removed in 0194ebb222
because it breaks on Linux. However, it looks like it is correct
for Windows. In the meantime the surrounding ifdef has changed
from !Q_OS_MAC to Q_OS_WIN, so reverting it makes sense.
2016-06-27 16:17:58 +02:00
ckamm
86fd982b00 SocketAPI: Use different pipe name #4977 (#4997)
Named pipe names that contain backslashes sometimes lead to problems.
2016-06-27 15:13:08 +02:00
ckamm
bdb304f8ec Share: Permissions for federated shares on servers >=9.1 #4996 (#5001)
This disables the workaround 487e1fdca5ee04fc98c1ed77898df70d740967c8
for servers that are new enough to support fine grained permissions
on federated shares.

The consequence is that the 'reshare' permission is now granted by
default and that users can edit permissions on the usual fine-grained
level again.

The way the client deals with servers <9.1 is unchanged.
2016-06-27 11:09:51 +02:00
Christian Kamm
440a804836 Tray: Add minimal mode as workaround and testing tool #4985 #4990 2016-06-23 10:22:43 +02:00
Christian Kamm
6e9df8673f Merge remote-tracking branch 'origin/2.2' 2016-06-22 15:41:37 +02:00
Markus Goetz
ab24980001 Merge pull request #4979 from jturcotte/2.2
Memory improvements during propagation
2016-06-21 10:00:41 +02:00
ckamm
07dea72c37 Setup csync logging earlier (#4991)
We were missing some csync related log output during startup.

Discovered in #4967
2016-06-21 09:58:53 +02:00
ckamm
43a2aec92b Performance: Don't redundantly add the same exclude files #4967 (#4988)
Excludes: Don't redundantly add the same exclude files #4967, Never accept duplicate exclude patterns #4967
2016-06-20 15:14:13 +02:00
ckamm
681243277e Share dialog: Add 'Mail link' button #3261 (#4961) 2016-06-20 13:06:57 +02:00
Jocelyn Turcotte
87e3553c85 Prevent the sync protocol widget from over-using memory
During propagation, we create a line for each file, taking memory, but
we delete all lines passed 2000 right at the beginning of the next sync.
Since the user has little chances of being able to read past those 2000
lines in the log, we might as well keep it capped at 2000 also during
propagation to prevent it from eating memory.
2016-06-17 19:20:53 +02:00
Jocelyn Turcotte
6f3aaecb78 Fix a crash on if shutting down during propagation
The SyncRunFileLog owned by the Folder must be destroyed after the
SyncEngine since the SyncEngine will abort during destruction, resulting
in all jobs being aborted.

It's possible that this crash only happens with a debug build.
2016-06-17 19:20:52 +02:00
Jocelyn Turcotte
cb50fae0a7 SocketAPI: Move the normalization closer to the data entrance (#4972)
Follow-up for #4884
2016-06-15 21:03:21 +02:00
Christian Kamm
d655074f85 Log: Include start of propagation and lap duration 2016-06-09 14:28:15 +02:00
Christian Kamm
85a173e174 Log: Write the sync log during propagation #3108
...instead of when done with the sync. This way we get information
even if the client crashes.
2016-06-09 14:10:47 +02:00
Jürgen Weigert
ebc44fa494 Update accountsettings.cpp 2016-06-07 14:21:50 +02:00
ckamm
355a8a0a27 Workaround for Ubuntu 16.04 tray issue #4944 (#4947) 2016-06-07 11:48:25 +02:00
Christian Kamm
48efbcb8ca Merge remote-tracking branch 'origin/2.2' 2016-06-07 09:39:44 +02:00
Olivier Goffart
b99c8fe28b Folder: fix removing folder with escaped characters (#4943)
FolderDefinition::save and load escapes the alias. We also need to escape
it when we remove it.
New folder can't be created with alias that needs escaping, but old folder
from old config may still exist, and we must allow user to delete them.
2016-06-03 13:10:01 +02:00
Olivier Goffart
5a3120bd52 Folder: Ignore change from the watcher if the file has not changed its mtime or size (#4942)
For issue #4927:
On Windows 10, we get a notification after the sync is finished for file that were
just downloaded. The guard we have against our "own changes" are only working when
the sync is running and the OwncloudPropagator still alive.
2016-06-03 13:06:11 +02:00
Markus Goetz
51f8a59a9a OS X: White-list the folder watcher enums
I got syncs triggered for even opening a file by double clicking it in Finder
and having launched Preview.app (e.g. for JPEG files).
2016-06-02 18:20:07 +02:00
Olivier Goffart
6ccd9e872d GUI: don't force the environment variable for high DPI on linux.
Setting the Environment variable only for owncloud makes in inconsistant with
other Qt application running at the same time.

The users can still set it themself for the whole desktop if they wish.

Addresses #4840
2016-06-02 17:57:10 +02:00
Daniel Molkentin
1787da8a9d Fix memleak in updater 2016-06-02 15:03:52 +02:00
Markus Goetz
de82d8fcdb QNAM: Try to workaround missing Qt patches #4720 #3888 #4051
We try this on all platforms now so we have more consistent behaviour.
2016-05-31 10:26:52 +02:00
Stephen Colebrook
af2b712dc6 Search results are filtered by server. Don't filter a second time.
Also allows searching on attributes other than displayname in ldap
configurations. Search results match web and mobile apps.
2016-05-31 09:46:52 +02:00
Stephen Colebrook
d4b72132d6 Search results are filtered by server. Don't filter a second time. Also allows searching on attributes other than displayname in ldap configurations. Search results match web and mobile apps. (#4902) 2016-05-31 09:45:38 +02:00
Markus Goetz
a507558dee Connectivity: Reduce ETag job timeout to 60 sec #4275
Before it used the default job timeout
2016-05-31 09:35:47 +02:00
Markus Goetz
d88ab4653b Connectivity: Delete job on timeout #4275
This was not done if there was no reply
2016-05-30 18:15:41 +02:00
Daniel Molkentin
0194ebb222 Don't try to determine pixel ratio with Qt < 5.6.0
This seems to be broken. Worst case users can still
set it manually

Addresses #4840
2016-05-30 08:27:57 +02:00
Matthew Leeds
7f0cc5b699 Fix typo in folder.cpp 2016-05-27 11:13:18 -04:00
ckamm
0e2c16e827 Certs: Re-ask for different cert after rejection #4898 (#4911)
Previously rejecting any kind of certificate meant that the user
was never asked again, even if the certificate changed.

Now we keep track of which certificates were rejected and ask again
if the ones mentioned in the ssl errors change.

mitmproxy is excellent for testing this.
2016-05-27 12:08:42 +02:00
Olivier Goffart
159535fe90 Merge branch '2.2' 2016-05-25 16:30:17 +02:00
ckamm
c6794cd338 Progress info: Reset between syncs #4856 (PR #4872) 2016-05-20 15:07:54 +02:00
ckamm
567fe87e98 Use natural sorting for filenames if available #4859 (#4864) 2016-05-19 15:36:46 +02:00
Christian Kamm
a1ba23eea9 Activity: When a new notification arrives, switch to that tab #4805 2016-05-19 14:13:07 +02:00
Olivier Goffart
010649f997 FolderWizard: remove dead code and fix the alias
Remove a bunch of dead code.

And also set the root folder name properly since alias is gone.

Fix the warning:
QWizard::field: No such field 'alias'
2016-05-18 10:52:22 +02:00
Olivier Goffart
cf1fe690a3 Shibboleth: Show the inspector if OWNCLOUD_SHIBBOLETH_DEBUG is set
Help to debug https://github.com/owncloud/enterprise/issues/1265
2016-05-17 12:29:20 +02:00
Christian Kamm
0f9c32452c Protocol: Increase width of timestamp column #4721
Since the font metrics aren't reliable on windows, we add some
extra space there.
2016-05-12 10:24:34 +02:00
Jocelyn Turcotte
727e73d640 [shell/windows] Fix the windows status push not working (#4784)
Since the windows implementation first does cache lookups using the
path string, directories need to be passed identically as through
RETRIEVE_FILE_STATUS.

Change the convention to never have a trailing slash for directories
in the protocol. This allows the convention to be applied without
having to access the disk (since we'd need to know if the path is
represented by a directory) and also matches the convention of the
rest of the sync engine. Individual file manager plugins are then
responsible of handling pushed paths as not ending with a trailing
slash.

This also:
- Moves the trailing slash removal logic from the SyncFileStatusTracker
  to the SocketApi class
- Remove the unneeded QString::normalized call in fileStatus, since
  this should already be done by the FolderWatcher and plugins
2016-05-06 12:32:01 +02:00
Jocelyn Turcotte
e58739de00 [osx] Fix missing overlay icons on client startup
Since the statuses are cached and that we can't invalidate the cache,
sending NOP would need to be overwritten by the default OK status
once the client successfully connected. But instead of remembering
which files we NOPed, rather wait until we are ready to sync before
sending the REGISTER_PATH message to the socket API client. It will
also prevent the client from sending unnecessary RETRIEVE_FILE_STATUS
requests.

Also remove AccountState::canSync, since it does the same as
isConnected and syncing is not an account responsibility.
2016-05-03 13:01:51 +02:00
Daniel Molkentin
e833d01288 Re-Apply: Disambiguate socket API pathes on Windows with user name
Addresses #3411
2016-05-02 16:09:48 +02:00
Olivier Goffart
3047682223 ShareDialog: show the error message in red
Do the visual stuff from designer.
The previous code that was ment to change the color in red did not work
and changed it to gray instead.
Also I don't see why there should be a frame.

Issue #4773
2016-05-02 14:12:04 +02:00
ckamm
e6b937f508 LockWatcher: Keep an eye on Windows file locks (#4758)
When a conflict-rename or a temporary-rename fails, notify the
LockWatcher. It'll regularly check whether the file has become
accesible again. When it has, another sync is triggered.

owncloud/enterprise#1288
2016-04-29 16:14:18 +02:00
Roeland Douma
31c13f74fb Add spinner during sharee search (#4764)
Fixed #4740

When searching for sharees we should display a loading spinner.
2016-04-29 14:11:27 +02:00
Markus Goetz
29932004ae Shibboleth: Load username from config for UI (#4751)
For https://github.com/owncloud/enterprise/issues/1034
2016-04-28 14:55:29 +02:00
Daniel Molkentin
b43a9421d2 Revert "Disambiguate socket API pathes on Windows with user name" 2016-04-28 13:52:15 +02:00
Klaas Freitag
e70b78d14b Merge pull request #4738 from owncloud/fix_3411
Disambiguate socket API pathes on Windows with user name
2016-04-28 13:46:10 +02:00
Christian Kamm
a36b4ec863 FolderWizard: Sort remote folders #4612 2016-04-28 09:29:07 +02:00
Christian Kamm
074f8eadb1 Selective sync: Sort folders in FolderStatusModel #4612 2016-04-28 09:29:07 +02:00
Christian Kamm
af5f2d3860 Protocol: Make timestamp column width fit the text #4721 2016-04-28 07:37:42 +02:00
ckamm
38bad564a0 Merge pull request #4739 from ckamm/trackdirty
Overlay icons: Track touched files #4730
2016-04-28 07:17:17 +02:00
Christian Kamm
c2fa3fb4c8 Overlay icons: Track touched files #4730
This uses the file watcher to keep track of files that were modified
in order to assign them the blue icon.

This is transient state that's not persisted across restarts.
2016-04-28 07:16:49 +02:00
Olivier Goffart
d0af3ede05 AccountSettings: context menu: don't rely on the alias
Don't rely on the alias to know weather we shuld show a context menu or not.
Use the classify function to know if it's a root folder instead
2016-04-27 11:21:58 +02:00
Olivier Goffart
0da2adcbe0 Workaround ubuntu 16.04 systemtray bug (#4693) (#4747) 2016-04-27 11:21:13 +02:00
Christian Kamm
0829a94c92 Remote folder selection: improve path typing #4745 #4746
* Scroll to the target typed path
* Show non-404 errors that were triggered by typing paths
2016-04-27 10:37:17 +02:00
Markus Goetz
4ea2edcf4a Merge pull request #4741 from owncloud/fix-alias
Accountsettings: Generate an alias for new folders
2016-04-26 17:34:10 +02:00
Olivier Goffart
cd29875b76 Folder: Generate an alias for new folders
Before commit 1a51b6718a, the wizard was
making sure folder had an alias but this is no longer the case.
So generate still an unique alias.

Alias is not used in the UI any longer, it's just use for internal purposes.

For issue #4737
2016-04-26 16:53:24 +02:00
Markus Goetz
ce5ca8a42e UI: Fix account name/alias display oddities #4577 2016-04-26 16:47:47 +02:00
Daniel Molkentin
ce6a365328 Disambiguate socket API pathes on Windows with user name
Addresses #3411
2016-04-26 14:49:45 +02:00
Christian Kamm
12bf6e39b7 Share link: Consistent order of options owncloud/core#24122
(cherry picked from commit 8dc178a9f3)
2016-04-26 10:44:29 +02:00
Roeland Jago Douma
d3a93322d2
Only 1 : between namespace and property 2016-04-22 14:38:43 +02:00
Olivier Goffart
84ac2e64e0 Quota: Add branding option for the base folder (#4714)
As discussed on issue ##4460
Having the quote to be queried on subfolder is wrong in the generic case,
so add a branding option to configure it.

This partially reverts commit ff4cdc3161
2016-04-22 10:05:50 +02:00
Klaas Freitag
e5a5b95b9a Merge pull request #4689 from owncloud/overlays_handle_root
SyncFileStatusTracker: Add a method to handle the root folder of the sync.

Also, handle new files put in the sync in the statustracker logic.
2016-04-21 15:01:11 +02:00
Klaas Freitag
7acdf50a2c SocketAPI: Code simplifications as asked for in the review. 2016-04-21 14:54:13 +02:00
Klaas Freitag
b56919d0c4 SocketAPI: Return NOP state if folder is diconnected or paused.
Later, we can send a specific state for that.
2016-04-20 17:14:12 +02:00
Markus Goetz
f9fb7a59dd Merge pull request #4708 from owncloud/aliasGui
UI: Remove alias from more places #4577 #4695
2016-04-20 15:54:05 +02:00
Markus Goetz
1a51b6718a UI: Remove alias from more places #4577 #4695 2016-04-20 14:27:50 +02:00
Roeland Jago Douma
598941948c
Use expireDate if returned by the OCS Share API
If an app modifies the expiration date (for example the password policy
app) then on more recent versions of the server we will get the share
object back REST style. We should use that info!

Fixes #4409
2016-04-19 11:22:32 +02:00
Roeland Douma
9f30e83413 Merge pull request #4687 from owncloud/fix_share-permissions-namespace
The share-permissions namespace was moved
2016-04-18 21:29:26 +02:00
Klaas Freitag
2ab4caf007 ProtocolWidget: Display the recalculated number of issues.
Should fix #3222
2016-04-18 16:48:37 +02:00
Klaas Freitag
11d3aa3c4f Protocolwidget: Removed some leftovers from refactoring. 2016-04-18 16:47:14 +02:00
Olivier Goffart
fafca26144 AccountManager: take theURL from the Theme rather than from the config if the theme specify it (#4591)
That way an upgrade of the client can actually change the URL
Issue https://github.com/owncloud/enterprise/issues/1113
https://github.com/owncloud/enterprise/issues/1126

In addition to restoring commit 7e5d89293d, this
add a way to override the auth type
2016-04-15 13:16:49 +02:00
Klaas Freitag
e2622310df Merge pull request #4670 from owncloud/implement_ep_1136_2nd_attempt
Make postfixlineedit more userfriendly, rename email id string to "Email"
2016-04-15 10:17:03 +02:00
Klaas Freitag
4ad8e04bc3 Merge pull request #4684 from owncloud/less_socket_api_updates
Less socket api updates
2016-04-15 10:15:07 +02:00
Roeland Jago Douma
74301e4373
The share-permissions namespace was moved
See https://github.com/owncloud/core/pull/24017

This was done since other services we want to intergrate with don't use
the ownCloud namespace.
2016-04-15 10:14:05 +02:00
Klaas Freitag
8007331462 SocketAPI: Remove unneeded logging. 2016-04-14 15:39:46 +02:00
Klaas Freitag
12330b38e9 Folderman: Remove one call to updateFolderView.
The reason is that updateFolderView is invoked by the
emitted signal folderSyncStateChange() anyway.

This will reduce the traffic over the SocketAPI nicely,
maybe this was the reason why it was slower than before.
2016-04-14 15:26:11 +02:00
Christian Kamm
dfd7d4d2f9 Activity tab visibility fixes #4651 2016-04-14 11:35:16 +02:00
Christian Kamm
484a2c800d Fix typo 2016-04-14 10:59:40 +02:00
Christian Kamm
8d300b049f ShareDialog: Tell a user early if resharing is impossible #4679 2016-04-14 10:16:37 +02:00
ckamm
48e594ebbf Merge pull request #4673 from ckamm/shareperm
Disable unavailable sharing permissions #4383
2016-04-14 09:44:58 +02:00
Christian Kamm
910c61b492 Disable unavailable sharing permissions #4383
Users can't reshare with more permissions than they have themselves.
2016-04-14 09:44:37 +02:00
Daniel Molkentin
9cc981c8c7 Make postfixlineedit more userfriendly, rename email id string to "Email". 2016-04-13 14:56:49 +02:00
Klaas Freitag
ed3203d25d Merge pull request #4659 from owncloud/fix_client_4651
Fix client #4651
2016-04-13 12:02:45 +02:00
Christian Kamm
6f454feb39 Fix hidden file handling #4655
There were two issues:

* With the refactoring of how Folder and SyncEngine relate, the
  ignore_hidden_files flag on the CSync context was reset after
  each sync run and not updated from the configuration again.

* The folder watcher failed to enumerate hidden folders and thus
  didn't watch for changes inside them. (linux only)
2016-04-12 11:59:07 +02:00
Olivier Goffart
c48b5c4f61 ActivityWidget: use a QHash for _widgetsToRemove
The problem with QSet is that the QDateTime was part of
the hash, but that does not make sens as it should be unique
per widget and not per <date, widget>

Instead make it a QHash so there is only one entry per widget.
2016-04-11 15:49:24 +02:00
Olivier Goffart
976f4dfabe ActivityWidget: Fix Qt4 build
Don't use API added in Qt5
2016-04-11 15:49:24 +02:00
Klaas Freitag
e896d16f32 ActivityWidget: Make sure Notification are visible if Activity disabled
This is the fix for #4651
2016-04-11 15:39:25 +02:00
Klaas Freitag
2ec642aadb ActivityWidget: Properly set widget for the Scrollview.
Also fixed some SizePolicy settings.
2016-04-11 15:38:25 +02:00
ckamm
4ce97633cd Merge pull request #4630 from ckamm/folderwatchwin
Graceful termination of folderwatcher_win #4620
2016-04-09 06:55:30 +02:00
Klaas Freitag
8f7b833c12 Not Synced Tab: Use tr rather than string concat 2016-04-07 09:18:51 +02:00
Klaas Freitag
48bfcde97d Merge pull request #4640 from owncloud/numberInProtocolTab
ProtocolWidget: Show number of non synced files in tab label.
2016-04-07 09:15:06 +02:00
Klaas Freitag
42439490cc Merge pull request #4645 from owncloud/fix_4633
SelectiveSync: Verify if the list could be read from journal.

If not handle the error rather than assuming the selective sync list is empty.
2016-04-07 09:14:33 +02:00
Klaas Freitag
058cd33324 Not Synced: Display only the number of not synced items in parathesis.
This was Jans wish.
2016-04-06 17:53:42 +02:00
Klaas Freitag
7b1f02fcda SelectiveSync: Verify if the list could be read from journal.
If there is a read error from the database while trying to get
the list from database, make sure to not behave badly because
the list is empty.
2016-04-06 15:01:28 +02:00
Klaas Freitag
52a5234122 Merge pull request #4641 from owncloud/bubbleUpConflicts
Bubble up conflicts: Show a tray notification on conflicts and show the conflicts in the not-synced list.
2016-04-06 13:45:47 +02:00
Klaas Freitag
4e17dabcb6 Folder: Fixed a couple of plural translation issues. 2016-04-06 12:22:29 +02:00
Klaas Freitag
9bdc84c6f4 NotificationJobs: Set ocs header to maintain the session.
This is needed by the server.
2016-04-05 16:52:51 +02:00
Klaas Freitag
efb0faa14e Folder: After sync, fire up tray notification if conflicts happened.
If there were conflicts, users want to have a tray notification that warn
about.
This will help for #3222
2016-04-05 16:37:54 +02:00
Klaas Freitag
5b40921587 ProtocolWidget: Show number of non synced files in tab label. 2016-04-05 13:57:38 +02:00
Klaas Freitag
73e2a503d7 NotificationWidget: Some ui refinements. 2016-04-04 12:46:00 +02:00
Klaas Freitag
bc6eebddf4 NotificationWidget: Handle empty message and subject properly. 2016-04-04 12:45:39 +02:00
Klaas Freitag
6b0d535120 Merge branch 'notifications' 2016-04-04 10:40:33 +02:00
Christian Kamm
fa1bb309ca Graceful termination of folderwatcher_win #4620 2016-03-31 15:44:42 +02:00
Christian Kamm
e05819370b Fix invalid read on account removal 2016-03-31 09:00:32 +02:00
Daniel Molkentin
9ea191f63d Scale correctly with HiDPI displays on Linux with Qt 5.6 2016-03-30 18:25:30 +02:00
Olivier Goffart
cdbc25ede8 Merge pull request #4615 from owncloud/socketApiRefactor
Socket API refactor
2016-03-30 13:24:10 +02:00
Jocelyn Turcotte
a0260c29c0 Fix the build on Windows 2016-03-30 12:19:09 +02:00
ckamm
98995f45e6 Merge pull request #4618 from ckamm/progressui
Progress layout adjustments
2016-03-30 09:22:27 +02:00
Christian Kamm
5636dc1386 Tooltip updater: Fix compile with Qt4 2016-03-30 09:21:28 +02:00
Klaas Freitag
885f8b382f ActivityWidget: Handle plural properly in translations.
Even for the case where the number is fixed.
Also fix the translators comments.
2016-03-29 18:01:54 +02:00
Klaas Freitag
8166c52f4a NotificationHandling: Use QByteArray for the verb. 2016-03-29 18:01:49 +02:00
Jocelyn Turcotte
fbf23b6abb Cleanup after the SyncFileStatusTracker change
- Add missing explicit keywords
- Add doc
- Comment out verbose and partly redundant qDebug statements
2016-03-29 17:39:30 +02:00
Klaas Freitag
cd3f612857 ActivityWidget: Rename blacklistActivities to blacklistNotifications. 2016-03-29 16:50:58 +02:00
Klaas Freitag
2e30a0e5bc Remove superflous iterator increment 2016-03-29 16:50:15 +02:00
Klaas Freitag
cacb751ab8 Cleaups based on review feedback. 2016-03-29 14:38:11 +02:00
Klaas Freitag
4d59f5ec66 ActivityData: Declare operators outside the class 2016-03-29 14:09:19 +02:00
Klaas Freitag
69e8e15884 Remove explicit time spec specification as it is not needed. 2016-03-29 13:59:08 +02:00
Daniel Molkentin
1730569f77 No Q_NULLPTR in Qt 4.8 2016-03-29 13:28:11 +02:00
Christian Kamm
c5fbde412c Folder info layout adjustments #3403
* Remove duplicate remote path
* Use thin progress bar
* Move bandwidth and file info to tooltip
* Shorten overall progress message

This also fixes #4562 by making the layout not dependent on the
width of the displayed text.
2016-03-29 12:45:01 +02:00
Christian Kamm
10a7128d1a Update QTreeView tooltips as they change #3403 2016-03-29 12:26:09 +02:00
Christian Kamm
41f43feecf Add utility function for shorter time duration strings #3403 2016-03-29 12:26:09 +02:00
Christian Kamm
ffbd5df25f Account UI: Fix log out button text #4578 2016-03-29 12:14:53 +02:00
Jocelyn Turcotte
69aa39f1f6 Don's use SyncFileStatus for Folder::createGuiLog
SyncFileStatus' purpose is to track overlay icon status.
Instead of putting comments and default: clauses in switch
on both sides about unused enums, use different enums.

This also remove STATUS_NEW which is the equivalent of
STATUS_SYNC in all shell extension implementations, and
remove STATUS_UPDATED and STATUS_STAT_ERROR which have
the same semantic as STATUS_UPTODATE and STATUS__ERROR.
2016-03-28 14:29:47 +02:00
Jocelyn Turcotte
ea5e6d367b Connect the SocketApi directly to the SyncFileStatusTracker
Don't go through the Folder->ProgressDispatcher->SocketApi route and
keep the path logic in SyncFileStatusTracker.
2016-03-28 14:29:47 +02:00
Jocelyn Turcotte
da7b9916e5 Move the SocketApi business logic to a libsync SyncFileStatusTracker class
This will allow testing this code and avoid going through too many
layers to get notified and a file status changed.
2016-03-28 14:29:47 +02:00
Jocelyn Turcotte
dac4bd8370 Remove null-checks for FolderMan::_socketApi
It's now created in the constructor and won't be null.
2016-03-28 14:29:47 +02:00
Jocelyn Turcotte
6e16e34799 Remove SocketApi::dbFileRecord_capi in favor of JournalDB::getFileRecord 2016-03-28 14:29:47 +02:00
Jocelyn Turcotte
6d3fe9d865 Remove the tainted folder logic
This currently is no-op code since the socket API isn't notified
that the tainted folder list changed, and the result is the same
since a sync will be triggered within the next 5 seconds and the
modified folder will be shown as SYNC at that point anyway.

Removing the dependency to the file watcher allows moving the
status estimation logic to libsync.
2016-03-28 14:29:47 +02:00
Jocelyn Turcotte
c090a511fd Remove OwnCloud6 specific sharing code
If users encounter this situation, the share icon will simply not show.
This simplifies the transition to move this code in libsync.
2016-03-28 14:29:47 +02:00
Jocelyn Turcotte
2d2c7bc9b8 Move the SyncEngine construction to the Folder constructor
The SyncEngine is now created only once, at construction of the
Folder, instead of being reconstructed on each sync.
2016-03-28 13:26:38 +02:00
Jocelyn Turcotte
df386b64ba Make the AccountState a construction argument of the Folder
This will help moving the SyncEngine construction in the constructor
and allow moving functionalities from Folder to SyncEngine or its
delegated objects.
2016-03-28 13:07:28 +02:00
Daniel Molkentin
7730e826b0 Merge pull request #4580 from owncloud/implement_ep_1136
Implement EP 1136
2016-03-24 14:58:09 +01:00
Daniel Molkentin
2d24585a8f Implement enforcing a static URL postfix.
Second part of EP 1136
2016-03-24 14:18:52 +01:00
Klaas Freitag
1fe5d6bb0c Notifications: Handle Notifications without an action.
The policy that was said is that if a notification has no action, the
client can and should display a close-button. This patch does it.

In additon to that, the client needs a blacklist of closed notifcations
otherwise they would re-appear next time the server notifications are
fetched again.

Also, changed the cleanup of not-longer-used widgets to be more robust.
2016-03-23 17:02:13 +01:00
Klaas Freitag
0c944a06f9 NotificationWidgetUI: Fix sizing and sizePolicy 2016-03-23 16:49:25 +01:00
Klaas Freitag
1bb3a4a45d NotificationWidget: Remove accountName() and add activity() method. 2016-03-23 16:48:38 +01:00
Klaas Freitag
161d21904a ActivityData: Add source file for implementation details
Add the ident() method and operators.
2016-03-23 16:47:13 +01:00
Klaas Freitag
f70c6282ca Notifications: Remove unused variable. 2016-03-22 11:38:10 +01:00
Klaas Freitag
ad60e8ac89 Notifications: Fix handling of notifications to remove from the list.
If a notification is not longer in the list of notifications coming from
the server, it needs to be removed from the widget list.
2016-03-22 10:35:24 +01:00
Klaas Freitag
d03fcc95e4 Notifications: Maintain a timeSinceLastCheck for every Account.
In multi-account environment every account needs the own counter.
2016-03-22 09:58:30 +01:00
Daniel Molkentin
fb75adcd57 Wizard: Implement alternative forms of inquiring about the userID
Settable in the theme.
2016-03-21 23:50:48 +01:00
Klaas Freitag
d407aacc4a Notifications: remove notification widgets if the notification is gone.
If a notification is not longer in the list that comes from the
server, the notification is removed.

That is mainly for the notifications that are created by the
announcement application
2016-03-21 16:32:37 +01:00
Klaas Freitag
b9663456d8 Notifications: Refresh the notifications based on a config value.
Pulls a timer that polls for new notifications regularly. Add
Config file method for the interval value.
2016-03-18 16:28:20 +01:00
Christian Kamm
03db1894d8 Fix wizardSelectiveSyncDefaultNothing #4581 2016-03-18 13:52:45 +01:00
Christian Kamm
ff4cdc3161 Quota: Change quota path if single folder #4460
Since the quota is a per-folder value, this will make the displayed data
more useful when a single sync folder is configured.

Of course each subfolder could have a different quota again.
2016-03-18 13:34:49 +01:00
Klaas Freitag
7f22a07312 Notifications: Check if the account is connected before querying.
Also avoid memory leaks if it is not connected.
2016-03-18 12:29:09 +01:00
Klaas Freitag
328d254f7f Notifications: Remove "done" notification widgets after fife seconds. 2016-03-18 11:25:14 +01:00
Klaas Freitag
0a590b7cbe Notifications: Give feedback if notifcation request succeeded.
Also display a time stamp.
2016-03-18 10:02:11 +01:00
Klaas Freitag
05de710b67 Notifications: Display timestamp of the notification in the widget 2016-03-18 08:21:54 +01:00
Christian Kamm
2bba68e059 Handle server timezone data correctly #4521
The date we receive from the server is an ISO8601 datetime that
includes the offset from UTC. Qt does correctly parse this
information and creates the appropriate QDateTime object.

Calling setTimeSpec(UTC) will force the timezone offset to 0 and
thereby change the referenced point in time to an incorrect one.
2016-03-17 13:04:18 +01:00
Olivier Goffart
254361cb87 Shared dialog: move the error label up (#4348) 2016-03-16 18:06:46 +01:00
Klaas Freitag
f7f412007e Activity: Some documentation and better varialbe names 2016-03-16 16:31:52 +01:00
Klaas Freitag
45c32ec0b1 NotificationWidget: Remove not needed method. 2016-03-16 16:21:20 +01:00
Christian Kamm
7bd4f95b8c SqlQuery: Write NULL when intended #4548
In SQLite bindings are not cleared by sqlite3_reset() calls, so
skipping a sqlite3_bind call to create a NULL value doesn't work,
instead the previous value will be written.

To fix this, I clear all bindings in SqlQuery::reset and make sure
to explicitly bind NULL when desired in SqlQuery::bind.

To make sure there's no confusion about SqlQuery::reset and
sqlite3_reset, I rename our method to reset_and_clear_bindings().
2016-03-15 14:38:31 +01:00
Klaas Freitag
a4dcc2784a Notification: Fix plural handling for tray message 2016-03-14 16:21:04 +01:00
Klaas Freitag
9a2f1456c5 ocs jobs: Add a define for OCS job success. 2016-03-14 15:41:20 +01:00
Klaas Freitag
9d219a18f3 ActivityListModel: Code cleanups
based on review feedback.
2016-03-14 15:40:39 +01:00
Klaas Freitag
97f1694f7e ActivityData: Simplified implementation.
Use QVariantHash and removed ActivityList object in favour
of a typedef
2016-03-14 15:39:07 +01:00
Klaas Freitag
73cd5a9c27 Notifications: Cleaner notification string build 2016-03-14 14:41:21 +01:00
Markus Goetz
6c07f08175 Proxies: Enable ownBrander to force system proxy usage #4458 2016-03-11 16:21:40 +01:00
Markus Goetz
62d4ed8087 Protocol: Show by default instead of server activity #4395 2016-03-11 16:08:56 +01:00
Klaas Freitag
adf9570a92 Notification: Enhance the tray message
Add the hostname from where the notification comes, as well as
the name of the application to the header.
2016-03-11 12:48:31 +01:00
Klaas Freitag
2c2a18af43 Activitiy: Refactor - move classes to their own source files.
Created a activitydata.h header (only) for the basic data, plus
a separate file for the model. Cleans up the widget source.
2016-03-11 11:41:19 +01:00
Klaas Freitag
2d1ab27cb5 Notifications: Refactor - create a notification handler class
That cleans the ActivityWidget class
2016-03-11 10:48:34 +01:00
Klaas Freitag
903e79a7c4 Notifications: Do a GUI tray notification if new notifciations arrive.
Show a GUI notification once an hour if no new notifications arrive
to not annoy users.
2016-03-11 10:15:28 +01:00
Klaas Freitag
8a0ce463da Notifications: Properly delete the notification check job. 2016-03-10 17:46:00 +01:00
Klaas Freitag
7d13a1d8e1 Notifications: Check capabilities if the notifications are enabled
If not, do not query for them.
2016-03-10 17:46:00 +01:00
Klaas Freitag
4a4dac22e2 Notifications: Add a Progress indicator and handle job results.
Parse the replyCode from the button action calls and disable
buttons accordingly.
2016-03-10 17:46:00 +01:00
Klaas Freitag
32e16b323c Display server notifications on the client (#3733)
As interaction is required, the notifications are displayed in a
separate widget above the server activity list.

Note that design and also where we display the notifications can
still be discussed and changed.
2016-03-10 17:46:00 +01:00
Klaas Freitag
688c5502a8 New GUI class NotificationWidget.
It displays a server notification that can come with a dynamic
set of buttons next to a message and a subject (=header)
2016-03-10 17:22:36 +01:00
Klaas Freitag
eb00b34191 Minor wording fixes 2016-03-10 17:22:36 +01:00
Markus Goetz
5cb45bf738 Merge pull request #4549 from owncloud/fix_4545
Add account name to warning message boxes in Folder
2016-03-09 19:12:34 +01:00
Markus Goetz
ad1c343cd7 Merge pull request #4552 from owncloud/hide_activity_tab
Activities: Hide if non of the accounts has the app enabled.
2016-03-09 15:34:12 +01:00
Christian Kamm
17003cec19 Settings: Hide update info if skipUpdateCheck #4397
(cherry picked from commit 93de378fb21e934d324d621f66eec98e53f1637a)
2016-03-09 15:32:32 +01:00
Markus Goetz
2843214d09 Merge pull request #4531 from ckamm/old-server
Add warnings for old server versions #4523
2016-03-09 15:16:48 +01:00
Daniel Molkentin
b456ded5e7 Show full path in warning message boxes before folder removal
Fixes #4545
2016-03-09 14:07:34 +01:00
Roeland Jago Douma
41d38b37cf Add spinner to show we are creating the share
Fixes #3737
2016-03-08 20:54:14 +01:00
Olivier Goffart
54612455e6 Merge pull request #4513 from owncloud/csyncContextToSyncEngine
Move the csync_context creation in SyncEngine
2016-03-08 18:12:31 +01:00
Klaas Freitag
9c5b9f932b Activities: Hide if non of the accounts has the app enabled.
If the ownCloud server does not have the activity app enabled,
it returns 999 as status code. If all the configured accounts
do that, this code hides the entire tab with the server
activities.

This is supposed to fix #4533
2016-03-08 18:01:42 +01:00
Jocelyn Turcotte
e91a5c85ff Move the Logger reference back into src/gui 2016-03-03 20:26:48 +01:00
Christian Kamm
f66c28900a Add warnings for old server versions #4523
* A tray message on every start up
* Red message in account settings
* Folders are paused when the server version switches to
  an unsupported one
2016-03-02 12:54:22 +01:00
Christian Kamm
40c109597e Improve folder pausing API
Previously one could accidentally call Folder::setSyncPaused() and miss
some expected side effects. Before, the correct call was to FolderMan::
slotSetFolderPaused(). Now the setter on Folder has the expected effect.
2016-03-02 11:06:03 +01:00
ckamm
6e9019120f Merge pull request #4527 from ckamm/account-pause
Account pausing #3829
2016-03-02 10:35:40 +01:00
Roeland Jago Douma
e4ec09dd87 Do not send reshare permissions when creating a federated share
See https://github.com/owncloud/core/issues/22122#issuecomment-185637344
2016-03-01 16:58:47 +01:00
Roeland Jago Douma
ba42d40df9 Disable sharing dialog if account state is not connected
Fixes #4185
2016-03-01 16:55:56 +01:00
Christian Kamm
d521232587 AccountState: Allow storing state in settings
This will be useful if we ever want to store account-level gui state.
I built this originally because I thought a paused account would be
this kind of state.
2016-03-01 16:08:23 +01:00
Christian Kamm
10e8f03ea4 Add 'pause all' tray menu entry #3829 2016-03-01 16:07:11 +01:00
Roeland Douma
8877f04835 Merge pull request #4497 from owncloud/fix_4469
Lock the sharee input when sharing
2016-03-01 15:40:29 +01:00
Roeland Douma
f24fa46789 Merge pull request #4496 from owncloud/fix_4325
Add theming options control sharing operations
2016-03-01 15:33:04 +01:00
Jocelyn Turcotte
49f00499f7 Fix a crash when syncing 2016-02-26 18:05:04 +01:00
Jocelyn Turcotte
b8227afcaa Move the csync_context creation in SyncEngine
The creation doesn't need to be separated from the SyncEngine anymore.
This allows the SyncEngine to be created in fewer steps if we want to
use it in tests.

This moves most of the direct csync code from Folder into the SyncEngine.
The exclude file logic for the context has been wrapped using the
existing ExcludedFiles class as well.
2016-02-25 20:53:13 +01:00
Jocelyn Turcotte
b8dee63d7a Remove superfluous error checking from csync_create and csync_init
Given that we control all call sites, the only way that this can fail is during
OOM. Also remove the code in csync itself to make sure that it's obvious that
any new error case wouldn't be handled by call sites.
2016-02-25 20:53:13 +01:00
Olivier Goffart
1fafb1325b Revert "AccountManager: take theURL from the Theme rather than from the config if the theme specify it"
The URL may change from shiboleth to normal authentication method.
Also some people were changing the config file manually to test stuff

Issue https://github.com/owncloud/enterprise/issues/1113

This reverts commit 7e5d89293d.
2016-02-25 11:33:26 +01:00
Olivier Goffart
7e5d89293d AccountManager: take theURL from the Theme rather than from the config if the theme specify it
That way an upgrade of the client can actually change the URL
Issue https://github.com/owncloud/enterprise/issues/1113
2016-02-23 18:10:11 +01:00
Markus Goetz
47ce4bd9e5 SelectiveSync: Improve menu #4378 2016-02-23 11:28:03 +01:00
Olivier Goffart
8fe4f1f0d7 Selective sync: Don't show negative size
Relates to issue #4491
2016-02-22 17:26:09 +01:00
Olivier Goffart
b3d57f3c7c Cleanup syncengine after the new option not to ask confirmation when everything is removed
Cleanup after pull reuqest  #4389

Do not make the SyncEngine depends on the ConfigFile
2016-02-22 16:14:22 +01:00
Roeland Jago Douma
cf0762a067 Lock the sharee input when sharing
This prevents accidentally sharing with the same sharee multiple times.
Because creating shares is not instance.

Fixes #4469
2016-02-22 15:14:05 +01:00
Roeland Jago Douma
99b3b752e3 Add theming options control sharing operations
Fixes #4325
2016-02-22 13:53:45 +01:00
Hefee
28b694b170 Merge branch '2.1' 2016-02-20 10:34:34 +01:00
Hefee
74f74e0363 fix typo occured->occurred 2016-02-20 10:33:13 +01:00
Daniel Molkentin
841973d399 Use correct values for items in version.rc 2016-02-17 14:16:29 +01:00
Daniel Molkentin
2918e45343 Add comment, transliterate copyright symbol 2016-02-16 17:56:51 +01:00
Daniel Molkentin
e3b56fb559 Add file description, copyright to win32 VERSIONINFO struct 2016-02-16 16:19:12 +01:00
Klaas Freitag
3cc9019b37 ActivityWidget: Set timespec to UTC for JSON values.
This will fix the problem in #4439 that the time display
jumps if the timezone is changed on windows.
2016-02-15 17:59:24 +01:00
Daniel Molkentin
37924b9c7f Win32: More complete resource specification
Add application and vendor name

Addresses #4473
2016-02-15 15:51:48 +01:00
Olivier Goffart
dd89ab59e4 Use oc:size instead of quota-used-bytes to get the sizes of folder (#4459) 2016-02-11 15:09:47 +01:00
Olivier Goffart
c93ecfbfb5 Merge branch restore_backup 2016-02-10 17:47:06 +01:00
Olivier Goffart
e9307bb797 Use a constant for ConnectionValidator::DefaultCallingIntervalMsec
So there is no runtime initialization
2016-02-10 12:36:09 +01:00
Olivier Goffart
93308faeb9 Merge remote-tracking branch 'origin/2.1'
Conflicts:
	doc/building.rst
2016-02-08 14:28:25 +01:00
Jocelyn Turcotte
f140d3447c OS X: Fix the file system watcher ignoring unicode paths #4424
Add a missing string normalization when fetching the path
from the file system event.
2016-02-08 13:30:08 +01:00
Daniel Molkentin
dd76d72d61 Merge remote-tracking branch 'origin/2.1' 2016-01-26 14:09:38 +01:00
Christian Kamm
7eba784b0c Share dialog: More error handling with password policy #4209 2016-01-22 14:49:30 +01:00
Jocelyn Turcotte
8486a2fd2b Bring back the automatic authentication popups
Users have complained that they don't see the notification when it is
shown and are not aware that their files aren't syncing.

Remove the non-interactive credentials fetch logic and add make sure
that the shibboleth popup will flash in the taskbar instead.
This will still not allow the popup to show in front in all cases,
but this is a compromise that we have to chose.

This reverts commit dcb687929f.
Issue https://github.com/owncloud/enterprise/issues/990
2016-01-22 14:25:36 +01:00
Christian Kamm
3b60f6e238 Sharing: Fix resharing items with limited permissions #4357 #4358 2016-01-21 14:21:25 +01:00
Christian Kamm
1534dad5b2 Sharing: Allow only one share dialog per path #3184 2016-01-20 13:17:54 +01:00
Christian Kamm
f705c56cb3 AccountSettings: Auto-expand only single folders #4283 2016-01-20 12:41:52 +01:00
Christian Kamm
4d52838e2b Share dialog: Error reporting with password policy #4209 2016-01-20 09:49:10 +01:00
Christian Kamm
7f44e83cc7 Share dialog: Remove unintended spinner when password required 2016-01-20 09:49:10 +01:00
Olivier Goffart
7a676a748a AccountSettings: fix Add Folder button size #4373 2016-01-19 17:39:43 +01:00
Jocelyn Turcotte
19a3a10524 Windows: Fix the progress text being cut but a few pixels
QFontMetrics::boundingRect doesn't return the right size for this
font size for some reason, while it works well if we remove the
smaller point size adjustment for the progress font.

To avoid having to debug the font system in Qt just increase the
existing +2px adjustment to +5px so that it renders fine.
2016-01-14 13:01:18 +01:00
Olivier Goffart
a18b13d56e FolderDelegate: fix positions and margin
- Fix the margin of the progressbar to let some room for the '...' button

 - Fix the size of the "Add Folder" button
2016-01-13 11:57:15 +01:00
Jocelyn Turcotte
31da3e98c9 Fix the folder option button click
The height adjustment done to place the button in the middle of the
non-error area was only done for rendering. Make sure that we do the
same adjustment when mapping click events as well.

Also replace some wrong occurences of aliasMargin*2 for margin.
2016-01-13 11:44:36 +01:00
Olivier Goffart
9800101748 Sharing: feedback when there is no result while searching for an user #4348 2016-01-12 14:36:13 +01:00
Olivier Goffart
1ed02f6494 Sharing: Display the error from the server when trying to share with users or group 2016-01-12 14:36:13 +01:00
Markus Goetz
9c9b9f3931 Activities: Fix color when row is selected 2016-01-11 16:52:37 +01:00
Jocelyn Turcotte
54c2c9ac4e Windows: Fix HiDPI #3414
Use QT_DEVICE_PIXEL_RATIO=auto on Qt<=5.5 to enable automatic
scale factor settings on Windows. Also move the existing
Qt::AA_EnableHighDpiScaling logic to use the equivalent
QT_AUTO_SCREEN_SCALE_FACTOR=1 environment variable just to
keep the 5.5 and >=5.6 code at the same place.
2016-01-11 15:41:08 +01:00
Christian Kamm
abf5a5ad1e Propagation: Fix dir <-> file changes propagating to server #4302
* Ensure every time a file becomes a directory or the other way around
  the item is flagged as INSTRUCTION_TYPE_CHANGE.
* Delete the badly-typed entity if necessary in the propagation jobs.
2016-01-08 05:38:08 +01:00
Jocelyn Turcotte
ce6f90397a Fix the rendering of the red error box text
QPainter::drawText uses the top of the font for the y position of its
rect argument, but uses the baseline when using a point argument.

Also use the margin variable that matches the font used instead of
the aliasMargin and make sure that the margin is only added between
the box and the text once.
2016-01-07 18:02:35 +01:00
Olivier Goffart
bb6a50be02 SettingsDialog: show "Account" for the tab name for branded client
https://github.com/owncloud/enterprise/issues/863
2016-01-07 17:59:21 +01:00
Jocelyn Turcotte
e7e918dafe Only clean the Not Synced list for the current account #3171 2016-01-07 16:14:18 +01:00
Christian Kamm
71ad94ddb2 Fix crash when deleting account while sync is running #4337 2016-01-07 13:54:26 +01:00
Olivier Goffart
06ffc44073 Fix RTL languages in sync dialog #4336 2016-01-07 13:37:46 +01:00
Jocelyn Turcotte
e9ba7c612e Keep only active entries in the Not Synced list #3171
Now that we have a separate list for files that could not be synced,
we can make sure that it only shows entries for files that are still
not in sync with the server. This allows the user to treat this list
as action items in order to get everything synced, including the
blacklist.

Simply remove the keep-errors logic that was used when the lists were
merged to achieve this result.
2016-01-07 11:37:50 +01:00
Daniel Molkentin
9c7066ac47 Translation cleanups
- Disambiguation
- Remove potentially illigitmate concatenations
2016-01-06 16:50:59 +01:00
Daniel Molkentin
cede7ec971 Work around layouting issue for RTL languages
This has been fixed in the meanwhile, but we are still shipping
with Qt 5.4. Also, some Linux Distros will still have older Qt
versions.

Addresses issue #4301
2016-01-06 12:52:58 +01:00
Jocelyn Turcotte
a63ebe0904 Bring back the red box for errors #3796
This use the previous code by resetting the progress to hide
the progress back and then return errors in the FolderErrorMsg
data role of the folder model.

This also remove the unused FolderRemotePath role, remove FolderStatus
in favor of invalidating all roles in dataChanged and make sure
that the SyncRunning role is transfered properly from the SyncResult
to show the warning icon during sync.
2016-01-06 12:37:35 +01:00
Jocelyn Turcotte
62df938465 Rename SyncFileStatus::STATUS_SYNC to STATUS_UPTODATE
Also use STATUS_UPDATED instead to match SyncFileItem::Success in the SocketAPI.
2016-01-05 15:41:15 +01:00
Markus Goetz
634dad033f Debug: Attempt to make log more useful 2016-01-05 15:12:00 +01:00
Markus Goetz
60a6b2b0c3 OS X: Also show desktop notifications when app is active 2016-01-05 13:33:05 +01:00
Christian Kamm
2662203fb7 Windows: Fix deleting and replacing of read-only files #4308 2016-01-05 13:15:59 +01:00
Olivier Goffart
1bb76f5343 Attempt to recover from backup restoration on the server
If all the files bring us to past timestamp, it is possibly a backup
restoration in the server. In which case we want don't want to just
overwrite newer files with the older ones.

Issue #2325
2016-01-05 12:14:18 +01:00
Jocelyn Turcotte
2e7a3f9e37 Fix a missing sync-exclude.lst file not failing the sync
After c3cf6aef7d the invokeMethod calls
should be adjusted to pass the new method arguments.

The result was currently a passing sync with this error message on
the console:
QMetaObject::invokeMethod: No such method OCC::Folder::slotSyncFinished()
2016-01-04 17:01:21 +01:00
Markus Goetz
c8b3df6668 OS X: Fix alignment of "Copy" button in protocol #4207 2016-01-04 16:16:15 +01:00
Olivier Goffart
639301e9e9 Merge remote-tracking branch 'origin/2.1'
Conflicts:
	VERSION.cmake
2016-01-04 12:38:59 +01:00
Olivier Goffart
970cdcfdbb SocketAPI: SHARE: Fix the paths when creating the share dialog
The socket api uses native folder separator. We need to use QDir::cleanPath
for anything else so we only work with '/' everywhere else in the code

This fixes the sharing dialog on window.

Issue #4311
2016-01-04 12:06:09 +01:00
Daniel Molkentin
16030a61eb Enable HiDpi scaling with Qt 5.6 2016-01-04 11:50:00 +01:00
Daniel Molkentin
5487fc1f9c Ensure Qt translator does always get loaded. 2016-01-04 11:50:00 +01:00
Klaas Freitag
a759ba1d9e Do not use nullptr, old compilers die on it. 2015-12-22 15:07:51 +01:00
Klaas Freitag
c607707580 Backport of #4245 2015-12-22 10:26:13 +01:00
Klaas Freitag
8f26bb698d Merge pull request #4245 from masoudcs/masoudcs-patch-1
Fixing bug in opening Activity log from tray icon menu 'Recent Changes/Details...'
2015-12-22 10:15:14 +01:00
Olivier Goffart
a0b913f65d gui: Word Wrap in QInputDialog (#4197) 2015-12-22 10:08:17 +01:00
Olivier Goffart
48a0ffdc9e Systray: Use the original name for the rename notification #4295
Otherwise it shows twice as "newname was renamed to newname".
Because _file is set to the new name in PropagateLocalRename::start
2015-12-21 11:06:39 +01:00
Christian Kamm
0555c88425 User Sharing: Match user names and case insensitive #4269 2015-12-10 14:56:15 +01:00
Christian Kamm
e2d1a5a41d Share UI: Allow typing in a sharee
Previously you *had* to select one of the completion options, even
if the text in the lineedit was identical to one of the options.
2015-12-10 13:49:47 +01:00
Christian Kamm
df1b309b36 FolderWatcher: Remove IN_DONT_FOLLOW #3475
This fixes the case of the root folder being symlinked.
2015-12-10 13:05:43 +01:00
Christian Kamm
e3b53b7e74 Log: Remove scary messages :) 2015-12-10 11:50:19 +01:00
Christian Kamm
d8d9fcf2f4 Silence warning about zorder in .ui file. 2015-12-10 11:10:49 +01:00
Christian Kamm
ae806e8214 Merge remote-tracking branch 'origin/2.1' 2015-12-10 11:07:20 +01:00
Christian Kamm
8b5474ff67 SocketAPI: Don't use ERROR for SoftErrors #3944 2015-12-10 11:02:38 +01:00
Christian Kamm
f65a29df5d SocketAPI: Ensure messages are consistent #3944
Before we blindly broadcasted the result of a sync action. That was
often different from what a subsequent FILE_STATUS query would report.
2015-12-10 10:43:17 +01:00
Christian Kamm
fd18c565b0 SocketAPI: Fix file error cache #3944 2015-12-10 10:43:17 +01:00
Christian Kamm
fbb85fab81 Activity tab doesn't vanish with too many accounts #4188
The bug was introduced by a bad merge.
2015-12-10 09:43:16 +01:00
Christian Kamm
3572e7ffa4 Activity: Improve formatting of copied data #3498 2015-12-09 15:49:30 +01:00
Christian Kamm
fe75c6ad28 Wizard: Find user:pw even if redirected #4265 2015-12-09 14:48:51 +01:00
Christian Kamm
3de8f27a02 Force account wizard when last account is deleted #4266 2015-12-09 11:41:43 +01:00
Christian Kamm
4dfce57a58 Creds: Forget password on explicit sign-out #4241 2015-12-09 11:31:37 +01:00
Christian Kamm
179b25d289 AccountWizard: Don't crash when sync is running #4221
Running FolderMan::setupFolders() is redundant and just a leftover
from before multiaccount.
2015-12-09 09:08:21 +01:00
Christian Kamm
a2eee7e349 Share UI: Hide 'allow editing' for files #4211 2015-12-08 15:37:17 +01:00
Christian Kamm
cec4b803cf Share UI: Hide 'can share' if capability missing #4231 2015-12-08 12:58:56 +01:00
Christian Kamm
1a519ac1fb Share UI: Respect enfore-expire #4235 2015-12-08 12:16:05 +01:00
Christian Kamm
d92c8bec86 UI: Sign in/out -> Log in/out #4249 2015-12-08 12:05:14 +01:00
Olivier Goffart
68057c1c5a Sharee.cpp: Get rid of lambdas because we still need to support GCC 4.4 2015-12-03 14:47:59 +01:00
Masoud Kazemi
903dd8acef Fixing bug in opening Activity log from tray icon menu 'Recent Changes/Details...' 2015-12-03 15:25:59 +03:30
Markus Goetz
c4006795cc OS X: Attempt to fix account add oddities #4237 2015-12-02 17:59:41 +01:00
Markus Goetz
d15cf0c2ff Sharing: Remove mentioning of remote users from dialog #4234 2015-12-02 16:44:29 +01:00
Klaas Freitag
770ad54229 AccountSettings: Update the visibility of the add account button.
That fixes #4238
2015-12-02 16:33:37 +01:00
Markus Goetz
a75209d104 Account: Invalidate credentials when clicking "Sign out" #4241 2015-12-02 16:31:58 +01:00
Daniel Molkentin
ab5e543099 Use user-readable short folder path in the context menu 2015-12-02 15:46:42 +01:00
Klaas Freitag
451ebd447b Merge pull request #4169 from owncloud/2.1_file_exists_before_share
[Sharing] Make sure the file is actually synced to the server
2015-12-02 13:40:42 +01:00
Olivier Goffart
e27374324d AccountSettings: Remove the F5 reset folder shortcut
This secret key was used to wipe the database. In the past this was
usefull because of many bugs, but now this is not usefull anymore.
And cause trouble because it also erase the selective sync list.

Issue #4182
2015-12-02 12:27:53 +01:00
Klaas Freitag
4a2b5f7cc8 Merge pull request #4228 from owncloud/enforce_password-block
[Sharing] Do not allow users to uset the password if it is enforced
2015-12-02 10:07:04 +01:00
Klaas Freitag
52dc55d044 ShareLinkWidget: Stop editing progress animation if passwd is required. 2015-12-02 10:06:34 +01:00
Klaas Freitag
e6ab047751 ShareLinkWidget: Set state of passwd checkbox always. 2015-12-02 10:05:56 +01:00
Markus Goetz
c24a8ba208 Account removal: More crash fixes for Windows
Seems things happen a bit different here, maybe because of paint events.

For #4229 #4202
2015-12-01 19:21:52 +01:00
Markus Goetz
db7d70a929 Account removal: Do it inside global application object
For #4229 #4202
2015-12-01 16:32:04 +01:00
Roeland Jago Douma
01faf102ba [Sharing] Do not allow users to uset the password if it is enforced 2015-12-01 12:43:14 +01:00
Olivier Goffart
76d1296053 Disable some code that needs lambda with old GCC
It's just a feature that was not there in 2.0
It means that removed folder stay on the undecided list if it is removed
from the server until the user press apply in the selective sync widget.
Not a very bad bug anyway.
2015-12-01 10:30:11 +01:00
Roeland Jago Douma
b033a8e731 [Sharing] Files should not have create permissions 2015-11-30 15:47:10 +01:00
Arthur Schiwon
d62c51890e show displaynames of users in share dialog instead of userid 2015-11-27 15:19:39 +01:00
Klaas Freitag
b896d8aa15 ActivityWidget: Fix type (#4204) 2015-11-26 21:41:31 +01:00
Christian Kamm
9e66a6bec6 Settings dialog: Fix crash when deleting account #4202 2015-11-26 13:27:20 +01:00
Roeland Douma
f1435c86ed Merge pull request #4199 from owncloud/permission_dropdown
[Sharing] Permissions now in dropdown menu
2015-11-25 14:04:39 +01:00
Roeland Jago Douma
ece164f679 [Share] Use more icon 2015-11-25 14:02:45 +01:00
Roeland Jago Douma
f1faf8745a [Sharing] Permissions now in dropdown menu
As discusses with jan.

* Detailed permissions displayed in qtoolboxmenu
* Made share rows slightly smaller

Bug fix:

* Do not show delete permissions for file shares
2015-11-25 11:26:21 +01:00
Christian Kamm
5216648d0b Share dialog: Work around painting bug #4189 2015-11-25 10:09:41 +01:00
Roeland Jago Douma
fcdab1e804 [Sharing] Also add sync status to SHARE_STATUS command 2015-11-25 09:40:21 +01:00
Roeland Jago Douma
9f15ba3972 [Sharing] Make sure the file is actually synced to the server
Before we attemt any sharing make sure the file is synced to the server.
2015-11-25 09:22:20 +01:00
Markus Goetz
76ce9ff8c4 Activity List: Improve double click handling on filenames #4168 2015-11-24 14:25:16 +01:00
Christian Kamm
23ed68c8dd Re-apply ee69ab2021 2015-11-24 13:45:02 +01:00
Christian Kamm
2982c79444 Settings: Fix "Choose what to sync" #4187
There was a duplicate connect() due to a merge problem (?) in
7e4c0bd515
2015-11-24 13:41:00 +01:00
Christian Kamm
7e56408331 SelectiveSync: Show Apply/Cancel less
Before the selective sync status text and apply/cancel buttons
were shown as soon as any folder was expanded. This changes it
to only show when the model is dirty (or a big folder confirmation
is needed).

This is nice because we auto-open the folder list sometimes
and having the apply/cancel buttons visible makes users think a
decision is needed.
2015-11-24 13:01:10 +01:00
Christian Kamm
bcfdcec3ee Share dialog: Adjust layout #4119 2015-11-24 12:30:53 +01:00
Christian Kamm
f96d94f143 ShareDialog: Only link share if capabilities allow #4179 2015-11-24 11:58:10 +01:00
Christian Kamm
f9dc569b0a Share dialog: Don't close on enter
Setting default=false was not enough.
2015-11-24 09:58:18 +01:00
Christian Kamm
f7932bb0c7 ShareDialog: Completion uses MatchContains #4123
For Qt 5.2.0+ only.
2015-11-24 09:10:26 +01:00
Markus Goetz
b52a3a415c Connectivity: Improve reconnecting after network change/disconnect #4167 2015-11-23 21:48:26 +01:00
Markus Goetz
709da37be2 Activities: Only emit debug when actually refreshing 2015-11-23 21:48:25 +01:00
Christian Kamm
bd72642a58 ShareLink: Always initialize expire date #4075 2015-11-23 09:42:16 +01:00
Olivier Goffart
0020211857 owncloudcmd: Don't do a check that file are older than 2s (#4160)
This is required for the smashbox test to pass
2015-11-20 15:16:09 +01:00
Klaas Freitag
94e7c762bf ActivityWidget: display if the server does not support acitivities.
If the server does not have the activities app enabled, it says so now.
Fix for #4163
2015-11-19 16:01:51 +01:00
Klaas Freitag
421c6a92f3 NetworkJobs: JSON network job now reports OCS reply code.
The signal jsonReceived() now not only delivers the raw json string, but
also the status code that came as OCS reply.

Also, fixed a typo in the signals name (recieved => received).
2015-11-19 16:01:51 +01:00
Olivier Goffart
d6aa667971 ShareDialog: remove the "Premissions" label and adjust the size of the scrollarea (#3737) 2015-11-19 12:32:50 +01:00
Olivier Goffart
575fc9acbd ShareDialog: show an error if the sharing API is disabled (#4126) 2015-11-19 12:00:53 +01:00
Olivier Goffart
d581550130 Fix compilation warning 2015-11-19 10:50:52 +01:00
Olivier Goffart
952a134745 Sharing: document that the two Type enum are linked 2015-11-19 10:50:21 +01:00
Olivier Goffart
887aa952fe ShareDialog: Keep default server permissions by default (#4152) 2015-11-19 10:49:39 +01:00
Phil Davis
55a96af7cc tagLastSuccessfullETagRequest comment wording
Improve this to say what I think it means.
2015-11-19 11:02:15 +05:45
Olivier Goffart
41a6f6df84 FolderStatusModel: add hints for translators (#4158) 2015-11-18 16:35:11 +01:00
Olivier Goffart
4984da7e0d Activity Widget: Fix runtime warning
Fix the warning:
 QLayout: Attempting to add QLayout "" to OCC::ActivitySettings "", which already has a layout

It was caused because one layout was created with the wrong parent
2015-11-18 15:32:39 +01:00
Markus Goetz
f2d8143511 Activity View: Update only if visible and when becoming visible #4083 2015-11-18 15:25:29 +01:00
Markus Goetz
3c1a605f62 Connectivity: Also accept SyncEngine etag as received ETag
Avoids requests on startup.
For #3964
2015-11-18 14:51:28 +01:00
Markus Goetz
65ec8a9e94 Connectivity: Decrease debug logging
For #3964
2015-11-18 12:13:21 +01:00
Klaas Freitag
60598c0d34 Use the configuration value of remotePollInterval rather than hardcoded. 2015-11-18 11:40:29 +01:00
Klaas Freitag
3d7fc711ca AccountState: Avoid ConnectionCheck if ETag job was just done.
This patch lets a successful etag job check mark a timestamp.
If next time a connection check is requested, it is checked if
the last ETag happened within the last 30 seconds and if so the
connection check can be checked.

This way we avoid half of the PROPFINDs if all goes well.
2015-11-18 11:40:29 +01:00
Klaas Freitag
46dbca1bf5 ShareDialog: Remove Qt4 incompatible property of QScrollView. 2015-11-18 10:30:02 +01:00
Klaas Freitag
f5da95a5b7 ActivityWidget: Make compile with Qt4 2015-11-18 10:30:01 +01:00
Daniel Molkentin
b37361e21c Remove spacer that would constrain a vertical resize
Fixes #4157
2015-11-18 10:06:38 +01:00
Klaas Freitag
5ec4fd94e0 ActivityWidget: No progress indic. for non connected accounts. 2015-11-17 15:05:54 +01:00
Klaas Freitag
c9ef4d5fa0 ActivityWidget: Detect new items in the list to refetch the activities.
On refresh, remove the activity list object from the models list.
2015-11-17 14:46:25 +01:00
Klaas Freitag
1cdf0e8597 ActivityWidget: Always combine the final activity list.
In cases where the activity app is not activated on the server, the
returned list of activities is empty, so it is better this way.
2015-11-17 14:46:25 +01:00
Olivier Goffart
e0f54428d0 ShareDialog: softer line separator (#3737) 2015-11-17 12:02:20 +01:00
Markus Goetz
52a11b0835 Activities: Fix on Mac #4083 2015-11-17 11:53:49 +01:00
Markus Goetz
ef17dc6482 Connectivity: Improve log output 2015-11-17 11:02:53 +01:00
Olivier Goffart
f618ed3dfb gui: Fix some icons in highdpi
QIcon does not need to use Theme::hidpiFileName because QIcon takes care
of the @2x images
2015-11-17 10:48:45 +01:00
Olivier Goffart
ef915fb2e5 SharedDialog: Fix the delete icon on windows and mac (#3737) 2015-11-17 10:40:45 +01:00
Olivier Goffart
6e42405113 ShareDialog: remove the search button (#3737) 2015-11-17 10:24:35 +01:00
Olivier Goffart
11ef07c74a ActivityWidget: fix compiler warnings 2015-11-17 09:54:38 +01:00
Klaas Freitag
8852911f67 Merge branch 'master' of github.com:owncloud/mirall 2015-11-16 18:16:58 +01:00
Klaas Freitag
e38bc6eab8 AcitivityWidget: Moved timespan-in-words method to utility.
Also added a second parameter, fixed plural translation and added
a less-than-a-minute-ago term.
2015-11-16 18:08:25 +01:00
Olivier Goffart
459e200ac0 ShareDialog: add a QScrollArea (issue #4125 ) 2015-11-16 18:01:11 +01:00
Klaas Freitag
c781155b60 General Settings page: Remove the add account button.
It is now in the toolbox on the account page.
2015-11-16 17:07:05 +01:00
Klaas Freitag
87aa1de67a Merge branch 'newactivity' 2015-11-16 17:02:05 +01:00
Klaas Freitag
ccb871c30b ActivityWidget: Show the subject in the Tooltip.
the original text might be elided.
2015-11-16 16:44:52 +01:00
Klaas Freitag
74ed0b4f09 Merge pull request #4139 from owncloud/account_toolbox
AccountSettings: Add a toolbox button for the account specific actions.
2015-11-16 15:53:30 +01:00
Klaas Freitag
becbb7b284 AccountSettings: Address jans suggestions in #4139
- Changed sequence of menu items
- lowercased entries
- removed the "Account" from entries, its in the toolbox button already
- added a little space between toolbox button label and the rectangle.
2015-11-16 15:50:32 +01:00
Klaas Freitag
ff76a842d0 Added some documentation. 2015-11-16 15:38:08 +01:00
Klaas Freitag
a56926b8d9 ActivityWidget: open local file in file manager if exists. 2015-11-16 15:31:24 +01:00
Olivier Goffart
0d21503ee5 ShareDialog: fix auto completion to actualy auto complete 2015-11-16 15:23:02 +01:00
Klaas Freitag
631cb095dd ActivityWidget: Show the local path in a tooltip.
Note that the activity has also entries of files that are not synced so
that not every activity entry has to have a local pendant.

Also, one activity entry can reference multiple files, so only the first
one is shown.
2015-11-16 15:07:02 +01:00
Klaas Freitag
caba719950 Folderman: Added method to find local files for a rel. server path. 2015-11-16 15:04:59 +01:00
Klaas Freitag
7e4c0bd515 AccountSettings: Add a toolbox button for the account specific actions.
Also move the 'Add Account' button from the General Tab, where it
is not properly found, to the new account toolbox.
2015-11-13 14:50:07 +01:00
Klaas Freitag
ddcec2971e ActivityDelegate: Gray out font if account is not connected.
This gives a visual indication of the account not being connected
and as a result maybe outdated activity data.
2015-11-13 12:48:25 +01:00
Roeland Jago Douma
72d119a05f [Sharing] Delete animation when share is removed 2015-11-13 11:03:51 +01:00
Roeland Jago Douma
d423cf2c7f [Sharedialog] Fix UI stuff
Implemented suggestions form
https://github.com/owncloud/client/issues/3737#issuecomment-156036279

* Removed Shares text
* Permissions now next to username
* Simplified permissions by default
* Button to get more detailed permissions
2015-11-13 10:27:26 +01:00
Klaas Freitag
731a13cfd1 ActivityWidget: Take the account state (connected or not) in account.
Display the activity entries in a different mode if the account is not
longer connected.
2015-11-12 17:52:00 +01:00
Klaas Freitag
81296fae9d AccountManager: new method to return AccountStatePtr from the name.
It uses the Account displayName to destinguish.
2015-11-12 17:50:00 +01:00
Klaas Freitag
aa38f7a4f2 ActivityWidget: implement removeAccount. 2015-11-12 15:39:07 +01:00
Klaas Freitag
ff4a8c9202 GeneralSettings: Remove references to protocolwidget.
The ProtocolWidget is now the Activitytab Widget
2015-11-11 14:49:11 +01:00
Christian Kamm
c871d721fd Tray tooltip: Use aliasGui #4096 2015-11-11 14:35:56 +01:00
Christian Kamm
05d1cc9a94 Sharing: Fix crash with share deletion #4111
The problem was that Share could be deleted *before*
the OcsShareJob itself finished. Since Share was the
parent of the network job, its object would be deleted
too early.

In general, it's unnecessary to assign parents to the OcsJobs
because they delete themselves when finished.
2015-11-11 13:28:20 +01:00
Christian Kamm
196ee05fcc Share dialog: Initialize expected expire date #4075 2015-11-11 13:01:12 +01:00
Christian Kamm
e50cfa4e1b Recent Activity: Don't reset for no reason #3889 2015-11-11 12:48:15 +01:00
Daniel Molkentin
3224a959a4 Forward-declare QModelIndex. Fixes Qt4 builds. 2015-11-11 11:52:10 +01:00
Christian Kamm
2ccb3648c7 Recent Activity: Filter metadata updates #3963 2015-11-11 11:19:04 +01:00
Christian Kamm
01aa647527 FolderMan: Fix infinite wait on pause #4093
If a folder was paused while being the next item in the scheduling
queue, the whole scheduling could get stuck.

This also fixes the progress information of paused folders possibly
getting stuck.
2015-11-11 10:59:04 +01:00
Christian Kamm
25c177ca3b SyncJournalFileRecord: Remove unused mode field 2015-11-11 09:42:31 +01:00
Klaas Freitag
5e98894a97 ActivityView: Add a progress indicator widget to indicate action. 2015-11-10 18:10:58 +01:00
Markus Goetz
15fe3b569b Merge pull request #4100 from mnutt/credentials-from-url
Populate account setup credentials from server URL
2015-11-10 16:12:34 +01:00
Klaas Freitag
0e0b6026fc Activity: Unify the GUI, and reactivate copy to clipboard for all. 2015-11-10 15:12:35 +01:00
Christian Kamm
4b5c3d8f09 Tray: Show settings dialog on click if it's not active
Before, you often had to click twice to bring the window
to the front, because the first click would close it.
2015-11-10 12:33:36 +01:00
Christian Kamm
9955b0756a Settings: Show first account page on startup #4036 2015-11-10 12:20:08 +01:00
Christian Kamm
51896902e3 Silence warning by removing extra semicolon 2015-11-10 10:06:49 +01:00
Michael Nutt
bd65eb32b7 SetupWizard: populate credentials from HTTP server URL
If a user enters a server URL in the form of
https://user:pass@example.com/, pre-populate the following credentials
page with those values.
2015-11-09 18:21:33 -05:00
Olivier Goffart
b29d1e94b5 ShareDialog: fix autocompletion took the wrong user 2015-11-09 17:22:17 +01:00
Olivier Goffart
b74e812671 Share dialog: a few layout adjustements 2015-11-09 17:22:17 +01:00
Markus Goetz
81e3a62360 Account: Show local path in tooltip 2015-11-09 16:39:08 +01:00
Markus Goetz
4784b327e7 Folder Status: Use same fat ... icon as web 2015-11-06 16:10:50 +01:00
Klaas Freitag
cf9fec73cf ActivityView: Add a second treeview for sync issues.
So there are three views now: One displaying the server activities, one for
the sync protocol and a third one for ignored files and issues.
2015-11-06 11:43:43 +01:00
Klaas Freitag
a1551ef6ab ActivityDelegate: Make the row height public accessible.
Now it can be used to be set on the other two treeviews.
2015-11-06 11:41:32 +01:00
Roeland Douma
914a942e33 Merge pull request #4055 from owncloud/user_group_sharing
User group sharing
2015-11-06 09:35:42 +01:00
Roeland Jago Douma
6431a2aa46 [Sharing] Build sharee list on every search 2015-11-05 15:01:29 +01:00
Roeland Jago Douma
4cf2422a83 [Sharing] Clear completer on activation 2015-11-05 13:16:52 +01:00
Roeland Jago Douma
806ec98eab [Sharing] Properly delete widget 2015-11-05 13:10:32 +01:00
Roeland Jago Douma
20fd349e17 [Sharing] Filter sharee list properly
You can't share with a user/group that you've already shared with
You can't share with yourself
2015-11-05 12:30:34 +01:00
Roeland Jago Douma
3e4612a1f0 [Sharing] Reorganized sharedialog code
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
2015-11-05 09:58:16 +01:00
Roeland Jago Douma
90cbd461ab [Sharing] Allow sharing with users/groups from desktop 2015-11-04 22:00:35 +01:00
Daniel Molkentin
5fccc25f36 Fix Qt4 build 2015-11-04 19:28:54 +01:00
Klaas Freitag
cb1571c6c5 ActivityWidget: Rather use accountState pointer directly.
Do not use it via a smart pointer class.
2015-11-04 16:40:22 +01:00
Klaas Freitag
3bccfb8993 ActivityView: Add information about the account. 2015-11-04 13:22:03 +01:00
Roeland Jago Douma
6fb4e59120 [Sharing] First step towards proper group sharing 2015-11-04 12:56:06 +01:00
Roeland Jago Douma
309be57a12 [Sharing] Add user/group sharing dialog
Dialog can now retrive current shares for path, set the permissions on
those shares and delete the share.
2015-11-04 12:53:07 +01:00
Roeland Jago Douma
37098c96f9 [Sharing] Add setpermission to sharing code
For user/group/remote shares we were just missing the setPermissions
functionality
2015-11-04 12:53:02 +01:00
Klaas Freitag
cb4fba7658 ActivityWidget: Created a delegate for prettier display of the activities 2015-11-03 17:54:37 +01:00
Klaas Freitag
b600ac882a ActivityListModel: Add method to refresh one Account (WIP) 2015-11-02 17:52:04 +01:00
Klaas Freitag
71849c4372 ActivityListModel: Add the page and pagesize parameter to ocs query. 2015-11-02 17:51:12 +01:00
Klaas Freitag
6c6ee358d4 ActivityListModel: Check if the account is connected when fetching more. 2015-11-02 16:39:33 +01:00
Klaas Freitag
060f4f291b SettingsDialog: Add a tab with the SyncProtocol to ActivityWidget. 2015-11-02 15:46:00 +01:00
Klaas Freitag
3fb43d2322 ActivityWidget UI: Remove the preconfigured tabs from the tabwidget.
It is better to create the tabs from the code in SettingsDialog.
2015-11-02 15:45:17 +01:00
Klaas Freitag
4895683bab ActivityWidget: Do a proper asynchronous model to display the activity. 2015-11-02 15:44:13 +01:00
Klaas Freitag
3b8e1dcd89 SettingsDialog: Make ActivityWidget a member. 2015-11-01 22:30:46 +01:00
Klaas Freitag
302d6b321e ActivityWidget: Add a job to fetch activities, Activity object added 2015-11-01 22:30:37 +01:00
Klaas Freitag
9279bcdba4 Add a tabwidget to Settings dialog for activity. 2015-10-30 13:26:27 +01:00
Olivier Goffart
49cd53ee44 FolderStatusModel: attempt to detect removed undecided files #3612 2015-10-30 12:43:33 +01:00
Roeland Douma
d38b190317 Merge pull request #4033 from owncloud/share_object
Add share manager and the share objects
2015-10-30 11:01:03 +01:00
Roeland Jago Douma
c7b814337a Use proper QFlags
Now the ShareTypes and Permissions are part of the Share class (which is
a bit better abstracted away).
2015-10-29 21:47:47 +01:00
Roeland Jago Douma
dd8d02b8ef Act properly if OCS endpoint returned an error (OCS error)
For now pass it on to the gui. So at least they know something is wrong.
2015-10-29 16:56:23 +01:00
Olivier Goffart
c3cf6aef7d SyncEngine: Don't whipe the white list if the sync was aborted
Issue #4018
2015-10-29 16:47:39 +01:00
Roeland Jago Douma
8c0297f688 Use QLatin1Char 2015-10-29 16:03:47 +01:00
Roeland Jago Douma
12f7cfde87 Shares do not have parents
Also some pointer cleanups
2015-10-29 15:42:25 +01:00
Roeland Jago Douma
6d80f3d756 Proper foreach 2015-10-29 15:42:25 +01:00
Roeland Jago Douma
b32f752d31 Properly cleanup OCS jobs 2015-10-29 15:42:25 +01:00
Roeland Jago Douma
cf8be7de91 Proper const usage 2015-10-29 15:42:25 +01:00
Roeland Jago Douma
30a3498c22 Fix typos 2015-10-29 15:42:25 +01:00
Roeland Jago Douma
239603e24c Make sure enforced passwords are properly respected
Fixes for old and new servers
2015-10-29 15:42:25 +01:00
Roeland Jago Douma
390daed3de Added getPublicUpload to LinkShare
so the gui does not have to know abou the internal permissions
2015-10-29 15:42:25 +01:00
Roeland Jago Douma
918c06aba3 Add share manager and the share objects 2015-10-29 15:42:20 +01:00
Olivier Goffart
a127debc54 Quota: handle special negative value for the quota #3940
Don't show a progress bar if there is an unkown or unlimited total
2015-10-29 14:33:29 +01:00
Christian Kamm
64756c5dce --version also shows Qt version
That makes it much easier for people reporting bugs.
2015-10-29 09:48:36 +01:00
Daniel Molkentin
4737c16996 State application name in update notification
Fixes #4020
2015-10-28 20:45:57 +01:00
Markus Goetz
a6c9e8c5b4 Merge branch 'kill_legacy_propagator' 2015-10-28 11:06:50 +01:00
Markus Goetz
9337927722 legacy propagator: Remove more code 2015-10-28 10:59:02 +01:00
Olivier Goffart
f1d48a9356 Folder Model: The item needs to be selectable for the currenIndex to appear selected
And we set the current index in AccountSettings::slotLinkActivated
2015-10-27 17:37:12 +01:00
Olivier Goffart
89f2a9e6dc Account Settings: A link should make sure all the parents are expanded 2015-10-27 17:37:12 +01:00
Klaas Freitag
a203da3919 FolderStatusModel: Check for null argument at start. 2015-10-27 17:37:12 +01:00
Klaas Freitag
1c1ef52cf1 AccountSettings: Display a link for undecided dirs in the sub text.
This only works in case the index is known. If not, no link is
shown, but we wait for the next update of the model.
2015-10-27 17:37:12 +01:00
Klaas Freitag
40c82c5c36 AccountSettings: Add index to undecided folder to be able to select it. 2015-10-27 17:37:12 +01:00
Klaas Freitag
81f0c6535e Enable external links in the label. 2015-10-27 17:37:12 +01:00
Klaas Freitag
46558d79a5 Add slot to handle clicks on folder names. 2015-10-27 17:37:12 +01:00
Olivier Goffart
e86b4203b9 IgnoreFiles: Fix the socket API would not load the new custom ignored files #3496
We did not flush or closed the file after having modified it from the UI.
So when the socket api was reloading it, it wouldn't be able to load
the newly added rules
2015-10-27 16:07:59 +01:00
Olivier Goffart
05dd9554f9 SocketApi: Fix returning ignore for the root item all the time 2015-10-27 16:06:38 +01:00
Olivier Goffart
26e1223f9a FolderStatusModel: reset also if a folder was renamed #4011 2015-10-27 13:51:56 +01:00
Olivier Goffart
84a04de7be Settings Dialog: don't put padding on the toolbar extension
Otherwise the extension just disapear with some styles (see Issue #3795)
2015-10-27 13:42:25 +01:00
Olivier Goffart
3f2a2cb14b FolderDelegate: put the progressbar in place of the remote or local folder #3403 #3569
So the size of the delegate does not change
2015-10-27 12:52:33 +01:00
Olivier Goffart
fac00348d9 Use the term folder sync connection in more places #3757 2015-10-27 12:12:21 +01:00
Olivier Goffart
3c93fd4fb7 AccountSettings: don't disable pause when offline (#4010) 2015-10-27 10:32:33 +01:00
Olivier Goffart
39289a3164 SocketAPI: don't trim the command #3297 2015-10-26 10:15:50 +01:00
Olivier Goffart
84f1bdbc87 Folder::wipe: We need to shut the socket API down before removing the DB
Because the DB stays open and locked.

Should fix #3824
2015-10-23 17:43:01 +02:00
Olivier Goffart
bd39c64798 Delete all files: make the 'Keep' on by default
On windows, we need to specify at least one AcceptRole.
Otherwise the DestructiveRole might become the default

Issue #3824
2015-10-23 17:06:14 +02:00
Olivier Goffart
42a6b242c7 SettingsDialog: use QWidgetAction for the toolbar so the extension works
When the toolbar is full because there is no enough room, make the extension
of the toolbar work, by using QWidgetAction::createWidget instead of
QToolBar::insertWidget

There should not be prolem when the window is too narrow.

Relates #3832
2015-10-23 16:23:37 +02:00
Olivier Goffart
d657c00b11 FolderStatusModel: fix getting the size of the folder in the selective sync (#3986)
Regressed since d610693af1. The problem
is that the _size vector contains the pathToRemove and that it was removed
before.
Reorganize a bit the code so there is only one loop that has still all the
 information.
2015-10-23 15:13:15 +02:00
Olivier Goffart
6a0633083d Network Settings: Adjust the bandwidth limit option with old Qt
- Disable the whole group box
- Add a tooltip explaining why it is disabled
- Make sure it is disabled in the settings in case of upgrade
- Do a runtime check in case the running Qt is greater
2015-10-22 17:57:34 +02:00
Daniel Molkentin
899f52be4f Revert "Settings dialog: remove the close button #3713"
This reverts commit ebee6f0bc2.

Unix window managers do not have a reliable way of hinting buttons,
so we need the close button.
2015-10-22 16:20:59 +02:00
Olivier Goffart
a608b4e9e0 Folder: set csync verbosity to 0 if the Logger is not there
csync_log was still accounting for 8% of the local discovery (because
of vsnprintf and asprintf)
2015-10-22 01:13:35 +02:00
Daniel Molkentin
c7bf09c3d4 Merge remote-tracking branch 'origin/2.0' 2015-10-21 18:49:58 +02:00
Olivier Goffart
c80e72da83 Sharing: change coding style of enum
From all upper case to camel case

This hopefully fix the Windows build which fails because DELETE seems
to be a macro
2015-10-21 18:40:04 +02:00
Roeland Douma
ec351e00ad Merge pull request #3773 from owncloud/split_sharedialog
Split sharedialog code
2015-10-21 16:55:59 +02:00
Markus Goetz
c8590c4468 Remove legacy propagator and neon
The code was already uneeded/unbuilt on Windows and OS X.
2015-10-20 17:57:43 +02:00
Markus Goetz
98b966d274 OS X: Use Cocoa Pasteboard instead of QClipBoard #3300 2015-10-20 15:42:43 +02:00
Olivier Goffart
674b6f2373 Account Settings: clear the focus of the "Sign In" button when clicked
So that the focus does not go to the "Remove Account" button instead
which would be wierd
2015-10-20 13:56:35 +02:00
Markus Goetz
4c9bc42b69 Revert libqsqlite changes for now
QtWebKit depends on it unfortunately
2015-10-20 13:04:33 +02:00
Olivier Goffart
557b704069 Fix compilation warning
shibbolethcredentials.h:59:10: warning: 'askFromUser' overrides a member
function but is not marked 'override' [-Winconsistent-missing-override]
2015-10-20 11:35:25 +02:00
Olivier Goffart
4369e31a49 Folder Model: don't try to fetch data if the account is disconnected
Now that it expands automatically, it would do lots of query to the
server when the account is disconnected. (all resulting in 401)
2015-10-19 18:32:34 +02:00
Olivier Goffart
23b5a74c17 Account Settings: Don't expand while clicking on the '...' button 2015-10-19 18:23:56 +02:00
Olivier Goffart
ee69ab2021 Account Settings: Don't disable double click expanding for sub folders
The root folder open on simple click,  but the sub folder don't, so keep
this behaviour which is the native behaviour
2015-10-19 18:12:49 +02:00
Olivier Goffart
374f29c4d3 Account Settings: Fix crash for acocunts withour folder
Was broken by  027a865fbc
2015-10-19 18:08:11 +02:00
Markus Goetz
67910e7d60 Discovery: Call it "Checking for changes in" in UI
For #3431
2015-10-19 15:59:16 +02:00
Klaas Freitag
c66c259447 SettingsDialog: Add new widet called ActivityWidget.
This is the new widget to display server activity.
2015-10-19 14:41:53 +02:00
Klaas Freitag
4ad165ce26 Utility: add method fileNameForGuiUse(), pimp up filename for GUI
Currently, this one only replaces colons by / on Mac platform. This makes
the function resuseable.
2015-10-19 14:36:55 +02:00
Markus Goetz
24a801dfd3 CMake/NSIS: We don't need QtSql (more) 2015-10-19 13:56:36 +02:00
Klaas Freitag
a3904f4d32 Theme: Revert logic of singleAccount switch.
To use the same logic as the other clients and unify ownBrander
implementations, the switch is now called multiAccount() rather
than singleAccount() with a reverse logic.
Desktop Client stays with the default of having multiaacount
enabled.

Note that existing brandings need to rename the switch.

https://github.com/owncloud/ownbrander/issues/443
2015-10-19 12:26:42 +02:00
Olivier Goffart
5cac90b3eb SelectiveSyncTreeView: show the size for the root item (#3755) 2015-10-19 10:58:54 +02:00
Olivier Goffart
df135a0bb2 Merge branch '2.0'
Conflicts:
	src/gui/folder.cpp
2015-10-19 10:57:37 +02:00
Roeland Jago Douma
4a04dc1a3e Typos 2015-10-16 12:51:24 +02:00
Roeland Jago Douma
0e97fbb730 Use overloaded functions 2015-10-16 12:48:48 +02:00
Olivier Goffart
87fa1794a1 Updater: remove unused function
It was even throwing a warning because it is an infinite recursion
2015-10-16 09:56:26 +02:00
Olivier Goffart
81e30cd8d2 Merge pull request #3695 from owncloud/nomkpath3692
Folder: Do not create the sync folder if it does not exist #3692
2015-10-16 09:21:15 +02:00
Markus Goetz
983671c8cb Shibboleth: Add our base user agent to WebKit
For #3913
2015-10-16 09:15:47 +02:00
Roeland Jago Douma
40ab3ee751 Now only 1 constructor to ocssharejob
* Pass the share_id to the functions that need it
2015-10-16 08:28:13 +02:00
Roeland Jago Douma
f95fea9866 Move permissions to OcsShareJob 2015-10-16 08:09:57 +02:00
Roeland Jago Douma
03719334ea Remove unused members 2015-10-15 22:27:55 +02:00
Roeland Jago Douma
4441053b1c Thumbnailjob fixes
* Comments
* Use the path of the abstractnetworkjob
2015-10-15 22:18:22 +02:00
Roeland Jago Douma
a34b663828 Now add parameters in a less crappy way 2015-10-15 21:58:16 +02:00
Roeland Jago Douma
db1f4d4016 OCSJob -> OcsJob and more docs 2015-10-15 20:54:52 +02:00
Roeland Jago Douma
3ea944d1b3 Added setPublicUpload to OcsShareJob 2015-10-15 20:34:56 +02:00
Roeland Jago Douma
b293aa762c Split sharing code
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.
2015-10-15 20:05:47 +02:00
Markus Goetz
b5e75afc17 General settings: Align checkbox #3758 2015-10-15 19:15:50 +02:00
Markus Goetz
027a865fbc Account Settings: Show selective sync buttons after list load
Especially nice when having a slower network.
For #3839
2015-10-15 18:52:16 +02:00
Markus Goetz
132b5f5130 Account Settings: Expand selective sync on show #3585 2015-10-15 17:27:38 +02:00
Markus Goetz
c3754e1fdd folderstatusmodel.h: Fix warning 2015-10-15 17:27:29 +02:00
Christian Kamm
c418d67920 Merge remote-tracking branch 'origin/2.0' 2015-10-15 15:54:09 +02:00
Markus Goetz
745cf55abb SelectiveSync: Increase folder list timeout to 60
Already done for 2.1 in 05eee16959
For #3524
2015-10-15 14:43:11 +02:00
Olivier Goffart
e1c634d000 Don't show the settings if another instance is started less than 10 secs after the apps.
Issue #3273

isSessionRestored was not set correctlty so ignore it
2015-10-15 14:25:23 +02:00
Roeland Douma
df2418d9c5 Merge pull request #3661 from rullzer/public_upload
Allow setting of public upload on link shares
2015-10-14 15:34:25 +02:00
Roeland Jago Douma
2fdae6d72f Allow setting op public upload on link shares 2015-10-14 15:30:28 +02:00
Christian Kamm
05eee16959 SelectiveSync: Show in-progress label #3524
We now show 'Fetching data...' after a second.

This also increased the timeout to 60s, making the error
condition much less likely.
2015-10-14 13:05:53 +02:00
Roeland Douma
a752eadd0f Merge pull request #3923 from owncloud/check_shareapi_available
Provide information about share availablity for files
2015-10-14 12:38:03 +02:00
Roeland Jago Douma
028dc8d6c3 Add SHARE_STATUS socketAPI command
This command allows to retrieve the share status of a file. In other
words if it can be shared.
2015-10-14 12:36:32 +02:00
Roeland Jago Douma
4a7242c8f9 Extended capabilities API
* Naming of capabilities is now a bit more consistent
2015-10-14 11:45:34 +02:00
Christian Kamm
efdb29d2f9 AccountSettings: Show disabled 'Add Folder' tooltip on click #3645 2015-10-14 11:34:30 +02:00
Christian Kamm
51a2e6c580 Exclusion: Fix confusion with relative and absolute paths 2015-10-13 12:53:38 +02:00
Christian Kamm
7fe03c715d SelectiveSync: Don't adjust removed path 2015-10-13 12:37:27 +02:00
Klaas Freitag
419d18c128 FileSystem: Reuse the FileInfo object that is created in the caller.
With that, a lot of stats can be avoided, ie. in SocketAPI
2015-10-09 13:02:02 +02:00
Klaas Freitag
74a7755ad9 SocketAPI: String concat optimization as learned on QtWS. 2015-10-08 18:26:30 +02:00
Klaas Freitag
a8eb913535 SyncLogDialog: Do not delete SyncLogDialog after close.
Keep one instance for the lifetime of the generalsettings widget.
2015-10-07 18:59:48 +02:00
Phil Davis
b8ccbbc72a GUI comment and message typos for master 2015-10-05 10:06:19 +05:45
Christian Kamm
d610693af1 SelectiveSync: Apply excludes #3876 2015-10-02 15:56:39 +02:00
Christian Kamm
7d1886684e FolderWatcher: Use csync exclude code #3805
Introduce a global ExcludedFiles instance to avoid loading the global
exclude lists several times.

One could still add per-folder exclude lists by checking these after
the global ones.
2015-10-02 15:56:39 +02:00
Christian Kamm
95fc792745 Tray: Change texts #3657 2015-10-02 15:48:44 +02:00
Christian Kamm
efefc2d986 Merge branch '2.0'
Conflicts:
	doc/images/menu.png
	doc/images/settings_network.png
2015-10-02 15:44:50 +02:00
Klaas Freitag
afd081f40b Settings: Move synclog widget to a seperate dialog.
This a first step to integrate the server activity view, see #3732
2015-10-01 16:57:37 +02:00
Christian Kamm
7bf31e56ab Ignores: Sync after update #3876 2015-10-01 15:39:28 +02:00
Klaas Freitag
0c148025a3 SyncLog Dialog WIP 2015-09-30 12:02:05 +02:00
Christian Kamm
d0c2ce276a Application: Fix crash on early shutdown #3898 2015-09-30 11:40:33 +02:00
Klaas Freitag
440687af21 AccountSettings: Disable context menu of sync folders when not connected.
This is the second part to fix #3860
2015-09-29 18:19:26 +02:00
Klaas Freitag
77a9b28e14 SetupWizard: Removed unused member variables. 2015-09-29 09:30:40 +02:00
Markus Goetz
641dece89a Linux: Don't show settings dialog always when launched twice
For #3273 #3771 #3485
See also d503221b2e
2015-09-28 23:00:19 +02:00
Markus Goetz
574c699382 GUI: Change tray menu order #3657 2015-09-26 00:25:06 +02:00
Klaas Freitag
b72e2b146d AccountSettings: only expand root elements on single click.
Also, toggle expanding on single click for root elements.
2015-09-25 13:57:44 +02:00
Klaas Freitag
a1421ff74f AccountSettings: Do not allow to expand the folder list when disconnected.
This is supposed to fix #3860
2015-09-25 12:22:51 +02:00
Christian Kamm
c1045af500 FolderMan: Fix for removing a syncing folder #3843
We can't schedule the next folder if we aren't notified that
the removed folder has finished syncing...
2015-09-18 14:34:40 +02:00
Christian Kamm
c5c1a7a1c3 ConnectionMethodDialog: Don't be insecure on close #3863 2015-09-18 12:12:53 +02:00
Christian Kamm
4144d4672f Updater: Ensure folders are not removed #3747 2015-09-18 11:59:49 +02:00
Christian Kamm
68947525a0 Settings: Add debug output #3820 2015-09-17 13:49:00 +02:00
Christian Kamm
8f8bf98ca6 Folder settings: Ensure path is cleaned #3811
Paths with a trailing backslash lead to a failing sync beforehand.
These paths can appear in some migration scenarios.
2015-09-17 12:31:37 +02:00
Markus Goetz
c09b4e1477 Share dialog: Hide settings dialog before showing #3783 2015-09-16 11:17:00 -04:00
Markus Goetz
ca95276298 UI: Only expand 1 level in folder list #3585 2015-09-16 11:06:32 -04:00
Markus Goetz
15e4d9e317 UI: Allow folder expanding from button click #3585 2015-09-15 21:10:14 -04:00
Markus Goetz
ef607e29de UI: Expand folder treeview on single click #3585 2015-09-15 20:59:27 -04:00
Daniel Molkentin
abfd97949d Merge pull request #3810 from owncloud/phil-davis-remove-all
Remove all files text edit
2015-09-14 14:06:56 +02:00
Daniel Molkentin
5347a991cf Merge pull request #3806 from owncloud/phil-davis-sync-remove
Adjust message box text for sync removal
2015-09-14 14:05:39 +02:00
Phil Davis
d0aef138c3 OCUpdater decription text
Make it say something understandable. Looking at previous versions with git blame, the word "not" fits here.
2015-09-12 07:25:59 +05:45
Phil Davis
6058b507c8 Remove all files text edit 2015-09-11 15:04:53 +05:45
Phil Davis
1aff9bca95 Adjust message box text for account removal
Since the context menu text was changed to "Remove Account" it seems sensible to also change the title of this message box to match.
https://github.com/owncloud/client/issues/3793
2015-09-11 08:46:53 +05:45
Phil Davis
d76f76f429 Adjust message box text for sync removal
Since the context menu text was changed to "Remove Sync" it seems sensible to also change the title of this message box to match.
https://github.com/owncloud/client/issues/3745
2015-09-11 08:42:02 +05:45
Klaas Freitag
eb154de2a1 Merge pull request #3802 from owncloud/alt_webdav_url2
Branding option: Alternative WebDAV URL
2015-09-10 17:44:46 +02:00
Klaas Freitag
5f660bf080 GUI: Replace term "sign in" with "Log in" and friends.
Also with doc changes.
2015-09-10 17:36:28 +02:00
Klaas Freitag
9eec45f9c4 SetupPage: Fix crash caused by uninitialized Account object.
Since the webdav path is read from account now, it needs to be
initialized first thing.
2015-09-10 16:03:22 +02:00
Klaas Freitag
cf7726353a Always use the webdav path from the Account object.
The Account object has the themed webdav path if it is branded.
2015-09-10 15:39:37 +02:00
Klaas Freitag
16d6418d10 Use a themable WebDAV path all over.
This is needed for enterprise#481
2015-09-10 13:04:26 +02:00
Daniel Molkentin
c0f8ff1030 Account: Display non-standard port as part of the hostname
Addresses #3658
2015-09-10 10:17:31 +02:00
Daniel Molkentin
be3529ebcb Adjust strings in settings dialogs
Implements  #3745 & #3793
2015-09-10 01:46:28 +02:00
Phil Davis
613736aa41 Coin the term 'folder sync connection'
Proposed wording for issue
https://github.com/owncloud/client/issues/3757
2015-09-10 01:35:58 +02:00
Daniel Molkentin
d823809021 Merge pull request #3781 from phil-davis/FSC
Coin the term 'folder sync connection'
2015-09-10 01:35:25 +02:00
Daniel Molkentin
b83c723e3f Allow (partial) translations even when run from build dir
Makes it easier to catch translation issues earlier
2015-09-10 01:25:16 +02:00
Individual IT Services
6b222c3db7 fix unicode issue #3753
fixes the unicode issue #3753

I don't know much CPP and Qt but after some google research I found this http://wiki.qt.io/Strings_and_encodings_in_Qt
it does mention trUtf8() that has done the trick for me on Linux with Gnome 3.16.
Haven't tested it on other systems
2015-09-10 01:24:11 +02:00
Klaas Freitag
088c0d471a AccountSettings: Do not prepend the folder alias to the undecided folders
This fixes bug #3685
2015-09-09 17:52:39 +02:00
Klaas Freitag
98e6d61d1b General settings: Set left margin of layout to zero.
This fixes the vertical alignment of the checkboxes, see bug #3758
2015-09-09 15:52:22 +02:00
Phil Davis
fdfab07d07 Coin the term 'folder sync connection'
Proposed wording for issue
https://github.com/owncloud/client/issues/3757
2015-09-08 17:22:57 +05:45
Individual IT Services
cc5f8e5122 fix unicode issue #3753
fixes the unicode issue #3753

I don't know much CPP and Qt but after some google research I found this http://wiki.qt.io/Strings_and_encodings_in_Qt
it does mention trUtf8() that has done the trick for me on Linux with Gnome 3.16.
Haven't tested it on other systems
2015-09-08 13:59:43 +05:45
Olivier Goffart
21dbf97a02 Merge remote-tracking branch 'origin/2.0' 2015-09-07 10:32:16 +02:00
Daniel Molkentin
66f340734c Consistency: Use folder instead of directory in user visible strings 2015-09-07 08:51:40 +02:00
Christian Kamm
c6794afc3a Tray: Enable workaround for Qt5 only #3765 2015-09-07 07:44:07 +02:00
Olivier Goffart
39bff056a6 Merge remote-tracking branch 'origin/2.0' 2015-09-05 18:14:30 +02:00
Jocelyn Turcotte
128d46e19a Remove *Credentials::_fetchJobInProgress
Now that fetchFromKeychain is solely called from AccountState::slotInvalidCredentials
and that this one already protects the fetch call using _waitingForNewCredentials,
we can remove that extra check.
2015-09-05 16:00:45 +02:00
Jocelyn Turcotte
6d027ebd40 Separate the credential dialog from their fetch #3350
This moves the responsibility of asking the user or not for
credentials from the Credentials classes back to the AccountState.
fetch() now only extract credentials from the keychain, reports
the result to the AccountState which then decides if askFromUser()
should be called or not. The result is once more reported to the
AccounState.

This also replaces the HttpCredentials::queryPassword virtual
which now lets HttpCredentialsGui and HttpCredentialsText do it
the way that they prefer.
2015-09-05 16:00:45 +02:00
Jocelyn Turcotte
89f69209dd Simplify the authentication code paths #3350
The AccountState is now the only class responsible for triggering credentials
fetching from the keychain or from the user.

With the ShibbolethRefresher out of the question it's possible
to remove the invalidateAndFetch virtual and manually call invalidateToken.
This also allows us to move that code from Account to AccountState.
In the end this also allows us to move the fetch() call from the
ConnectionValidator and use the same code path as for invalid credentials.
2015-09-05 16:00:45 +02:00
Jocelyn Turcotte
94a57fe8d5 Get rid of ShibbolethRefresher
This is only for neon and not necessary if we want to show a notification
instead of a login window when the network reports invalid credentials.
2015-09-05 15:45:54 +02:00
Christian Kamm
699acc99e4 Tray: Don't use the tray workaround with the KDE theme #3706
That just triggers another bug...
2015-09-04 15:31:36 +02:00
Christian Kamm
90338499d3 ShareDialog: Fix folder display #3659
Sometimes having a double starting / broke the display logic.
2015-09-04 15:16:25 +02:00
Christian Kamm
641f56664e FolderStatus: Show 'waiting for other folder' #3619
We monitor the scheduling queue and show messages like
"Waiting for 5 other folders...".
2015-09-04 10:42:21 +02:00
Christian Kamm
419deff861 AccountSettings: Restore from legacy only once #3565
And also introduce a Accounts/version int at the same time. That
may make future account settings migrations easier to manage.
2015-09-04 09:25:12 +02:00
Olivier Goffart
e49a8a9ffe SSL Certificate Error Dialog: show account name #3729
Change the wording of the certificate error dialog to include the
account URL and be a bit more accurate.

(Do not mention "SSL" in user facing messages)
2015-09-03 16:19:53 +02:00
Christian Kamm
7bfbc21770 Settings: Allow adding at least one account #3721
We always show the 'Add Account' button when no account exists,
even When the 'singleAccount' option is enabled.
2015-09-03 06:14:49 +02:00
Olivier Goffart
d853b4f083 FolderDefinition: Escape the alias of a folder before writing to the config
Issue #3707
2015-09-02 16:07:34 +02:00
Christian Kamm
d8939184db Tray: Clicks work even with Qt 5.5.0 workaround #3722 2015-09-02 15:51:23 +02:00
Jocelyn Turcotte
dcb687929f Show a notification instead of a login window on startup #3350
The original problem is that showing a popup not originated
from the main settings window while it's focused won't be
shown in front to the user.

This try not to highjack the user's attention of the user
by showing a notification when checking the connection for
valid credentials, and require the user to sign in through
the UI. There are still issues with showing that popup from
the tray icon, but the user will most likely be looking for
the popup in that case. The new sign in button directly in
the settings account works properly.
2015-09-01 18:40:20 +02:00
Jocelyn Turcotte
bcfc16c0f6 Add a sign in button in the settings window
It's not obvious for users that they should sign in through
the tray icon, especially if they were automatically signed out.
2015-09-01 18:40:20 +02:00
Olivier Goffart
3ba5e27d02 Merge branch '2.0' 2015-09-01 17:57:56 +02:00
Olivier Goffart
0fa4353841 Remove the accountmigrator.cpp It is not used
This was used to convert the config from the community client to
the  branded client. But we don't need this feature anymore
https://github.com/owncloud/client/issues/3515#issuecomment-133394443
2015-09-01 17:03:58 +02:00
Jocelyn Turcotte
688aaadb60 Don't show a sync success status toolip when signed out 2015-09-01 15:35:10 +02:00
Olivier Goffart
f77ae28ed1 AccountSettings: Fix coverity warning
FolderMan::folder might return null
2015-09-01 11:39:55 +02:00
Olivier Goffart
0d08bbec74 AccountSettings: remove unused member
Fix a coverity warning
2015-09-01 11:37:47 +02:00
Olivier Goffart
ebee6f0bc2 Settings dialog: remove the close button #3713 2015-09-01 11:32:59 +02:00
Olivier Goffart
db8f9586cb Tray notification: Don't show a message about modified folder #3613 2015-09-01 11:29:37 +02:00
Olivier Goffart
950bc578d0 Merge branch '2.0' 2015-08-31 14:34:04 +02:00
Jocelyn Turcotte
c48c5b9286 Move the progress bar to the right of the quota label
Also change the label to show the free space and show
the used and total space only on a tooltip of the bar.

Related to #3644
2015-08-31 12:33:21 +02:00
Olivier Goffart
9172a5fc4c FolderStatusModel: add a function to get a QModelIndex from the path
Will be usefull to solve #3704
2015-08-31 10:14:58 +02:00
Olivier Goffart
1a0d0c0a31 Account Settings: rework the toolbar
Modifications ask by Jan:

 - Elide the label in the actions
 - Minimum sizes for the actions
 - No separatcions between the accounts

Issue #3516
2015-08-30 15:31:13 +02:00
Olivier Goffart
8fb4adf40d AccountWizard: fix when the theme specify a override URL #3699 2015-08-29 18:51:27 +02:00
Jocelyn Turcotte
cb1bcdc8e0 Tweak the settings UI
- Move the cancel and apply buttons side by side
- Hide the notification label when empty
- Clamp elements at the top together a bit
2015-08-28 15:51:11 +02:00
Olivier Goffart
1f43c47861 Folder: Do not create the sync folder if it does not exist #3692 2015-08-28 14:40:45 +02:00
Jocelyn Turcotte
f38deb44fb Don't disable the selective sync cancel button
This makes its interaction more consistent versus other
kinds of dialogs or versus when the selective sync config
has been changed or not.
2015-08-28 12:14:56 +02:00
Christian Kamm
ed28a21cb0 Tray: Hide while modifying menus #3656 #3672
This may help workaround the dbus tray issue in Qt 5.5.0.
2015-08-25 09:46:03 +02:00
Christian Kamm
035e57cf37 AddFolder: Improve remote path selection error handling #3573 2015-08-24 15:08:35 +02:00
Christian Kamm
92f6134ed3 AccountSettings: Adjust quota info design #3644 #3651 2015-08-24 15:06:11 +02:00
Christian Kamm
a0f9b834b6 Adjust buttons on remove folder/account questions #3654 2015-08-24 15:05:40 +02:00
Christian Kamm
6cf1caeaf3 Theme: Fix wizardSelectiveSyncDefaultNothing #3671 2015-08-24 12:55:44 +02:00
Christian Kamm
3414b58b99 Systray: Workaround for issue with Qt 5.5.0 #3656 2015-08-21 09:45:02 +02:00
Christian Kamm
7aae5e494a AccountSettings: Fix margins on 'Add folder' button #3650 2015-08-20 13:25:19 +02:00
Christian Kamm
0711a2fc12 SettingsDialog: Fix typo in showFirstPage() 2015-08-20 11:57:44 +02:00
Olivier Goffart
92fc902e0c Account Settings: Hide the add folder button when Theme::singleSyncFolder is set 2015-08-19 18:00:11 +02:00
Christian Kamm
791c550a8e FolderStatusDelegate: Add margin to button #3650 2015-08-19 16:58:27 +02:00
Christian Kamm
344d3565f8 Another account deletion wording update #3649 2015-08-19 15:55:29 +02:00
Christian Kamm
73785d0473 SettingsDialog: Activate the first page on startup 2015-08-19 15:51:48 +02:00
Christian Kamm
b155503fa2 FolderStatusModel: Undo accidental debug change 2015-08-19 15:05:30 +02:00
Christian Kamm
2c011dcae6 FolderStatusModel: Fix typo in error message #3524 2015-08-19 15:04:39 +02:00
Christian Kamm
0e0af1da07 FolderStatusModel: No italic text #3524 2015-08-19 15:02:08 +02:00
Christian Kamm
a7d0f0cdd4 Adjust wording of delete account/folder message #3643 2015-08-19 10:59:34 +02:00
Olivier Goffart
38aa4cf304 Folder Model: add an error item when one cannot fetch the list of folders #3524 2015-08-18 13:21:02 +02:00
Olivier Goffart
0638f99b79 Selective Sync dialog: add the quota-used-bytes to the request
Mentioned in https://github.com/owncloud/client/issues/3524#issuecomment-132144532
2015-08-18 12:26:52 +02:00
Olivier Goffart
f0e6864639 FolderModel: Refresh the tree when new folder are added or removed. #3570 2015-08-17 12:50:22 +02:00
Markus Goetz
6c57d71ca4 Settings dialog: Move more common hostname prefixes in toolbar
For #3577
2015-08-17 12:39:32 +02:00
Olivier Goffart
64bd6b204b Folder Wizard: always make an alias that does not conflict with anything 2015-08-17 11:54:01 +02:00
Olivier Goffart
7ca8040788 Show a shortened version of the path in the account settings and activity
Issue #3576, #3567
2015-08-17 11:43:30 +02:00
Olivier Goffart
0da6184f84 Setup Wizard: adjust the layout #3588 2015-08-14 14:01:01 +02:00
Markus Goetz
1ad80878b2 Account: Additional on top fix for #3617 2015-08-14 12:37:19 +02:00
Olivier Goffart
81c19232a5 Account Settings: Remove the ability to select 2015-08-14 12:12:16 +02:00
Olivier Goffart
dcfa6b97e3 Account Settings: add more margin on the overall text
Attempt to fix https://github.com/owncloud/client/issues/3584#issuecomment-131009787
2015-08-14 12:01:28 +02:00
Olivier Goffart
593016718d Account Settings: Align the progressbar with the icon #3567 2015-08-14 11:52:09 +02:00
Olivier Goffart
2dbe822972 Account Settings: remove the storage use label #3567 2015-08-14 11:52:09 +02:00
Markus Goetz
38b8508f15 Account: Save accepted SSL certs immediatly #3617 2015-08-14 11:31:01 +02:00
Markus Goetz
2a14c121db Account settings: Make version selectable/copyable #3600 2015-08-13 17:27:18 +02:00
Markus Goetz
01855302a0 Shibboleth: Use sslErrors() handler of rest of client #3593 2015-08-13 17:09:39 +02:00
Olivier Goffart
5c9b865cec Setup wizard: remove some spacing in the result page #3588 2015-08-13 15:22:43 +02:00
Olivier Goffart
5f832b5b39 Account Settings: Reorder the options in the context menu #3584 2015-08-13 15:07:51 +02:00
Olivier Goffart
b75b5a5a0c Account Settings: remove the down arrow in the 'more' button #3584
It's ugly on mac
2015-08-13 14:11:13 +02:00
Olivier Goffart
f32c8d0570 Account settings: add a button to show the context menu #3584 2015-08-13 12:34:22 +02:00
Olivier Goffart
b49e9e8f30 Account Settings: rename and re-order the options in the context menu 2015-08-13 12:32:59 +02:00
Olivier Goffart
bf20a0d2f8 Account Settings: remove unused signals 2015-08-13 11:55:51 +02:00
Olivier Goffart
6fcb48a0c7 Account settings: Double click no longer open in the file browser #3585
Add a separate option in the context menu for it
2015-08-13 11:53:00 +02:00
Olivier Goffart
5685aa7ff0 Setup Wizard: add more space in the result page: #3588 2015-08-13 11:27:41 +02:00
Olivier Goffart
3238d61ef6 SocketApi: fix small leak (found with valgrind) #3369 2015-08-13 10:42:54 +02:00
Olivier Goffart
299faae830 Fix compiler warning 2015-08-13 10:26:35 +02:00
Olivier Goffart
6b003f96f5 Theme: add a method to hide the 'add account' button #3517 2015-08-13 09:39:44 +02:00
Markus Goetz
ace847d177 ShareDialog: Improve UX #3526
Don't spin progress while user needs to set a password.
Have password input as Call To Action.
2015-08-12 18:22:51 +02:00
Markus Goetz
dc44ebf41b UI: Fix up 6152ce4187 #3595 2015-08-12 09:08:30 +02:00
Daniel Molkentin
aa6c09d942 Rename "Sync all files with" to "Sync selected files with"
as per discussion with Jan
2015-08-12 08:31:54 +02:00
Daniel Molkentin
a9acb185a0 SettingsDialog: Fixup default action setting
This broke silently when switching from pure actions to widgets
2015-08-11 21:45:27 +02:00
Daniel Molkentin
3267c15aff SettingsDialog: Use separator instead of custom spacer
... and make sure to hide if when there are no accounts
2015-08-11 21:44:35 +02:00
Daniel Molkentin
f25df3311c Remove debug output 2015-08-11 21:42:30 +02:00
Daniel Molkentin
379beb268f More improvements for high contrast themes
- Invert icon color depending on the darkness of the theme
- Ensure icons and colors are changed when theme or colors
  get changed during application run

Final patch for #3582
2015-08-11 17:56:11 +02:00
Christian Kamm
5bd631e8e7 Rename jobCompleted -> itemCompleted.
Because that's what's going on. A job can 'complete an item' or 'finish'.
Note that several jobs could complete the same item: a new directory
will complete on the PropagateRemoteMkdir and the PropagateDirectory
jobs.
2015-08-11 15:19:09 +02:00
Christian Kamm
fe42c1a818 Activity: Skip PropagateDirectory jobs #3580
Previously, PropagateDirectory jobs didn't emit the completed() signal.
Now that they do, we need to make sure to not add extra lines to the
protocol widget for them.

To accomplish that, the jobCompleted() signal now also contains the job
that completed the item.
2015-08-11 15:19:09 +02:00
hefee
a87602af3f use SHAREDIR for i18n
SHAREDIR is used in src/gui/application.cpp and should also use that in
CMakeLists.txt.
2015-08-11 15:14:59 +02:00
Markus Goetz
6152ce4187 UI: Avoid showing folder alias #783 #3576 2015-08-11 15:12:43 +02:00
Markus Goetz
bd71fdc388 SslButton: Fix harder #3534 #3536 2015-08-11 12:18:25 +02:00
Christian Kamm
0dd20ccf3b Remove deleted accounts from tool bar #3583 2015-08-11 11:33:04 +02:00
Daniel Molkentin
9698324c4e More color scheme adjustments 2015-08-11 11:32:00 +02:00
Daniel Molkentin
fad9a3056c Settings dialog: Try to improve adherance to high contrast schemes
Adresses #3582
2015-08-11 07:42:52 +02:00
Christian Kamm
0176ffd25d FolderWatcher win: Skip unneeded notifications #3353 2015-08-10 14:59:05 +02:00
Daniel Molkentin
385c3882a7 Fix regression in PassiveUpdateNotifier
When overriding backgroundCheckForUpdates(), also call the original
implementation.
2015-08-10 14:26:57 +02:00
Christian Kamm
85f5424a13 SocketAPI: Show excluded hidden files as ignored #2086 2015-08-10 13:41:19 +02:00
Christian Kamm
3c82f66219 Windows: Limit tray tooltip length #3412 2015-08-10 13:23:31 +02:00
Christian Kamm
a6d70c9c63 IgnoreEditor: Rename confusing checkbox
The label was the negation of its name.
2015-08-10 11:15:39 +02:00
Christian Kamm
c2c924931b Ignore hidden: Default to enabled #2086
It was 'false' for migrated folders and folders created by the OC
setup wizard.
2015-08-10 11:15:39 +02:00
Daniel Molkentin
6b4a9d9cd9 Settings dialog: improve layout a bit 2015-08-10 10:51:05 +02:00
Jocelyn Turcotte
55e55b0806 Windows: Fix the progress bar with high contrast themes #2654
Setting the palette seems to interfere with Qt's Windows Vista theme
and this isn't set on the QStyleOptionProgressBarV2 by QProgressBar.
2015-08-10 09:55:31 +02:00
Olivier Goffart
b967359a74 Account setting: properly disable the 'add account' button #3571
When upgrading from 1.8 and syncing the whole account, then the
remote folder is empty
2015-08-07 14:32:51 +02:00
Olivier Goffart
ae7b2509a5 Selective sync: When applying selective sync, put new folder that were just checked in the white list
Issue #3560

Otherwise the just checked folder will be chacked again for their size.
We do not want that.
2015-08-07 13:37:52 +02:00
Olivier Goffart
8b52a121bb AccountSettings: Show the wizard to add an account when the last account was deleted #3564 2015-08-07 13:15:02 +02:00
Daniel Molkentin
ecf545a0b9 Updater: update Linux updater code to work with changes in master
master moved much of the responsibility of the updating process
to the updater class.

This also fixes a build failure
2015-08-06 19:34:23 +02:00
Markus Goetz
b5edc635a1 Windows: Don't use UTF-8 arrows #3095 2015-08-06 18:08:05 +02:00
Daniel Molkentin
6a20ea5e73 Merge pull request #3472 from owncloud/linux_restart_on_new_version
On Linux restart if new version is found on disk
2015-08-06 17:47:10 +02:00
Markus Goetz
1feb74981e Progress: Show real speed and all filenames #3403 #3095 2015-08-06 15:25:16 +02:00
Olivier Goffart
7202bbcf5d Fix Qt4 build 2015-08-06 13:58:03 +02:00
Markus Goetz
aee20e0ed3 1.8 Migration: Fix password overwrite #3539 2015-08-06 12:49:18 +02:00
Daniel Molkentin
72b2c52e15 Merge branch 'master' into linux_restart_on_new_version
Conflicts:
	src/gui/application.cpp
	src/gui/owncloudsetupwizard.cpp
2015-08-06 11:11:52 +02:00
Markus Goetz
7985c0d7f1 Merge pull request #3531 from jturcotte/master
Remove need for UPDATE_VIEW to refetch the status #2340
2015-08-06 11:03:28 +02:00
Olivier Goffart
dc299b0bf9 Account settings: Fix a label
The feature is for all folder, not only shared folder
2015-08-05 16:12:58 +02:00
Olivier Goffart
952c249039 Selective sync: on the first sync, do not ask confirmation for every folders
Since we already confirmed a previous selective sync dialog
2015-08-05 16:11:59 +02:00
Olivier Goffart
ba896eabfb FolderStatusModel: do not expand the unconfimred folder themselfs 2015-08-05 15:33:51 +02:00
Olivier Goffart
646890abb3 SettingsDialog: use the same short display name on Win/Linux than on Mac
Issue #3516
2015-08-05 15:33:51 +02:00
Markus Goetz
9a9cefbcc5 SslButton: Improve reliability and usefulness #3534 #3536 2015-08-05 13:04:30 +02:00
Olivier Goffart
38da1b7de1 AccountSettings: automatically refresh and expands the undecided folders #3541 2015-08-05 12:51:49 +02:00
Olivier Goffart
b470d0f7b8 Folderman: make the backup number starts with 2: #3512 2015-08-05 10:46:33 +02:00
Aputsiaĸ Niels Janussen
cd19ee5020 Minor typo: Ingored -> Ignored
Issue raised by user 'kant' in Transifex on the 1st of August.
2015-08-03 17:35:58 +02:00
Markus Goetz
7da4a081d3 Startup: Don't notify other instance when session restored #3070 2015-08-03 17:32:41 +02:00
Jocelyn Turcotte
26d137cac6 SocketApi: Remove an unneeded emit syncItemDiscovered
The signal is emitted in this case if the instruction is NONE
but in the only ultimately connected slot to this signal,
SocketApi::slotSyncItemDiscovered, we return early according
to the same condition.

The emission of the same signal at the end of treewalkFile remains
and take care of the normal cases.
2015-07-31 21:59:58 +02:00
Markus Goetz
d51bd94447 FolderMan: Fix up previous commit #3528 2015-07-31 18:31:54 +02:00
Markus Goetz
a501bf5b83 FolderMan: Use sync() on config after migration #3528 2015-07-31 17:10:12 +02:00
Markus Goetz
0a93dc5e63 OS X Settings Dialog: Two-lined account name #3516 2015-07-31 14:56:14 +02:00
Klaas Freitag
6992631c4c cmake: rather use SHAREDIR than DATADIR define.
DATADIR is a reserved structure name in win32, using it like us here
leads to very nifty compile problems. SHAREDIR is clean.
2015-07-30 16:38:30 +02:00
Markus Goetz
48dac23b0f Folder: Version debug at end
Often users send us parts of logs with this information missing.
2015-07-30 14:40:24 +02:00
Markus Goetz
7f8e9a0e70 Sparkleupdater: Use qDebug not qWarning
Else QT_FATAL_WARNINGS triggers.
2015-07-30 14:40:24 +02:00
Olivier Goffart
795922e2a0 Fix compilation with old GCC
that does not understand nullptr

Note that we can't just replace nullptr by 0 in createIndex otherwise
it would be ambiguious.
So leave it commented to show that your intention is to create it with
a null pointer  (which is the default because of the default parameter)
2015-07-30 10:44:07 +02:00
Olivier Goffart
3b261bc612 Wizard: Make the name of the backup folder more user friendly
Issue #3512
2015-07-29 12:23:33 +02:00
Olivier Goffart
07ddf18b3b Account Capabilities: style fixup
- Remove the copy constructor. The default constructor is fine. Having
   a user defined copy constructor inhibit the move constructor.
 - Pass QVariantMap arguments via const references
 - Do not return a pointer to Capabilities from the account. It is a
   value type and should not be used by pointer.
2015-07-29 12:07:57 +02:00
Jürgen Weigert
0642e63246 Merge pull request #3232 from flocke/master
[Unix] Install architecture-independent files to DATADIR.

DATADIR is already used elsewhere. So this even adds consistency!

Thanks!
2015-07-29 12:00:48 +02:00
Markus Goetz
dccaba98af Merge pull request #3439 from rullzer/use_caps
Use server capabilities for share dialog
2015-07-29 11:50:35 +02:00
Klaas Freitag
b07ab14c31 Merge pull request #3470 from rullzer/use_ocs_url
If the OCS Share API returns an url use that
2015-07-28 14:26:23 +02:00
Klaas Freitag
c95bbe27e7 Merge pull request #3495 from rullzer/dont_share_root
Don't allow sharing of the root folder
2015-07-28 14:00:38 +02:00
Olivier Goffart
ec86d1a151 Wizards: allow adding a folder in a non-existing directory and create that folder
The owncloud wizard already created the directory, but the recent addition
of FolderMan::checkPathValidityForNewFolder stopped allowing unexisting directories.

So change FolderMan::checkPathValidityForNewFolder to allow non existing directory
and whange the FolderWizard to create the directory if it does not exist.

Issue #3492
2015-07-28 12:14:52 +02:00
Roeland Jago Douma
6c8ff7c61a Added capabilities class 2015-07-28 12:04:24 +02:00
Olivier Goffart
4016e0863f Fix warning 2015-07-28 11:20:22 +02:00
Olivier Goffart
ff6c11f126 Confirm feature: tray noticiation message when a new folder need to be confirmed
Issue #3148
2015-07-27 10:33:05 +02:00
Olivier Goffart
0ccaae9a22 Confirm feature: Confirm for any folder, not only shared ones
issue #3148
2015-07-27 09:54:20 +02:00
Roeland Jago Douma
6f498aea3b Do not open the share dialog if the user tries to share the root folder 2015-07-24 10:10:41 +02:00
Roeland Jago Douma
a2f9ba47fb If the OCS Share API returns an url use that
To avoid us having to construct the URL for public shares just rely on the
server to do it.

This makes it easier to maintain. For example if (in the not do distat future)
the index.php part is removed the server would just server this new url.
2015-07-23 21:10:53 +02:00
Markus Goetz
fea997c84a Bandwidth Limit: Fix new "Automatic Download" setting #1485 2015-07-23 13:46:42 +02:00
Klaas Freitag
316427c801 Merge branch 'regular_update_check'
Conflicts:
	src/gui/application.cpp
	src/gui/application.h
	src/gui/updater/ocupdater.h
2015-07-23 11:34:12 +02:00
Klaas Freitag
c34641f4f7 Updater: Added a class UpdaterSchedule.
It schedules the regular update checks. Keeps Application and
other classes easy.
2015-07-22 13:44:19 +02:00
Markus Goetz
59a7ae56d4 UI: Add more tooltips #3385 2015-07-20 19:06:40 +02:00
Markus Goetz
a58cb049b2 OS X: Fix layout of quota info in SettingsDialog 2015-07-20 18:43:18 +02:00
Markus Goetz
a6f493ff94 OS X Overlay Icons: Use waitForFinished() with timeout 2015-07-20 18:32:02 +02:00
Markus Goetz
afed400ac6 SettingsDialog: Make bigger and more native on OS X
On OS X, the width of the dialog must not change, only its height.
2015-07-20 18:16:33 +02:00
Klaas Freitag
89b8555aa7 PassiveUpdateNotifier: Fix condition on when to show the update. 2015-07-20 15:33:44 +02:00
Klaas Freitag
320cc1c7dd Updater: Avoid to show the update notification to often.
If the update is only available through the system, the notification
is only shown once.
2015-07-20 15:33:17 +02:00
Klaas Freitag
0a08a51a41 Updater: really do not forget to start the updater timer. 2015-07-20 15:32:27 +02:00
Klaas Freitag
b22e284191 Application: Remove unused connection to updater. 2015-07-20 15:32:00 +02:00
Klaas Freitag
adc239c9d0 UpdateCheck: Clean up Application class and move most to updater.
Add the update timer also to the update class and remove all the
proxy slots from the Application class.
2015-07-20 12:17:31 +02:00
Olivier Goffart
a9dfcdd463 FolderDefinition: fix uninitialized variable 2015-07-19 11:33:17 +02:00
Christian Kamm
5d9e752c71 HttpCreds: Add keychain failure hint. #3268 2015-07-17 14:39:43 +02:00
Christian Kamm
44870fae9f Proxy auth: Fix cred invalidation on Windows. 2015-07-17 13:00:16 +02:00
Klaas Freitag
92513207eb Application: On Linux, restart the app if a different version is on HD.
Together with the updater timer, check on linux, if the version on the
disk has still the same version string as the one that is running. If
not, restart if nothing is currently syncing.
2015-07-17 12:12:00 +02:00
Klaas Freitag
2cebd8bc2e SetupWizard: remove unused variable defintion. 2015-07-17 12:09:16 +02:00
Christian Kamm
9acc9d2d44 Fix Qt4 build.
QMap::first is new in Qt 5.2
2015-07-17 12:07:48 +02:00
Christian Kamm
2124098f84 System proxy: Ask for credentials if needed.
The proxyAuthenticationRequired() signal now goes to the
ProxyAuthHandler class. That class will try to read the proxy settings
from the keychain or ask the user about them.

We won't ask the user for credentials for explicitly configured proxies.
It also does not change how the credentials for explicitly configured
proxies are stored. (see #261)
2015-07-17 11:54:46 +02:00
Olivier Goffart
0a6aa88d72 Merge remote-tracking branch 'origin/hidden_file_handling' 2015-07-17 09:32:29 +02:00
Roeland Douma
bc542a4b80 Merge pull request #3426 from rullzer/thumbnail
Sharedialog show thumbnail of file (if available)
2015-07-17 08:58:06 +02:00
Roeland Jago Douma
7e79a78901 Use already available password field 2015-07-16 20:55:54 +02:00
Klaas Freitag
d284b48db4 Application: Add a new command line switch --version.
It simply prints the version of the client and exists.
2015-07-16 18:12:45 +02:00
Daniel Molkentin
724c0c2953 Win32: Do not silent-update if the application is already up-to-date
Fixes #3368
2015-07-16 17:26:53 +02:00
Klaas Freitag
4ad9b7d72d Change default check frequency to every ten hours. 2015-07-16 14:19:02 +02:00
Markus Goetz
3d55191573 OS X: Fix settings dialog after multi-account introduction
For #3459 #3386 #3401
2015-07-16 14:11:06 +02:00
Markus Goetz
55e1f8a060 OS X Overlay Icons: Don't use waitForReadyRead()
Somehow this sometimes glitched for me and hanged.
2015-07-16 14:08:45 +02:00
Christian Kamm
031d35de03 Network: Fix enabling of proxy auth text fields. 2015-07-16 10:27:15 +02:00
Klaas Freitag
a5528b7cd4 AccountSettings: When adding a new folder, set ignore hidden flag.
The value is taken from existing folder definitions, or defaults to true.
2015-07-15 15:54:41 +02:00
Klaas Freitag
cfe5150037 IgnoreListEditor: handle the ignore hidden files checkbox.
Write the setting of the checkbox to all folder definitions.
2015-07-15 15:54:41 +02:00
Klaas Freitag
7195e40ffa FolderMan: Set ignore hidden files in the folder watcher.
The flag is read from the folder configuration and passed on to
the folder watcher so that it ignores events to hidden files
accordingly.
2015-07-15 15:54:41 +02:00
Klaas Freitag
3ba6e20f66 Folder: Getter and Setter for ignore hidden files for folder config.
With these, the ignore hidden files flag can be set and get from the
folder configuration file.
2015-07-15 15:54:41 +02:00
Klaas Freitag
711ae1d347 FolderWatcher: Add flag to ignore hidden files (or not). 2015-07-15 15:54:41 +02:00
Klaas Freitag
a4336092f6 Hidden Files: Add a setting to ignore hidden files or not.
This setting goes to the folder definition. By default, no hidden
files are synced.
2015-07-15 15:54:41 +02:00
Christian Kamm
65a3847a35 Tray menu: Make sign in/out actions more consistent.
In particular:
* It's always possible to sign out, even if there's currently a
  network problem or the service is unavailable.
* You can only sign in when you explicitly signed out before.
2015-07-15 15:07:23 +02:00
Roeland Douma
3344249297 Merge pull request #3425 from rullzer/sharedialog_wait_for_con
Wait until we retrieved shares before showing checkbox
2015-07-15 14:38:38 +02:00
Roeland Jago Douma
b686a3dbdb Sharedialog show thumbnail of file (if available) 2015-07-15 14:33:04 +02:00
Roeland Jago Douma
454e9d9906 Wait until we retrieved shares before showing checkbox
If we have a slow connection we do now want to show the share checkbox until we
have retrieved the shares (so we know the state). Else we might try to enable
sharing on an already shared file.
2015-07-15 14:20:35 +02:00
Christian Kamm
908881cbf7 AccountSettings: Fix label for ServiceUnavailable state. 2015-07-15 14:02:45 +02:00
Christian Kamm
2ac8646320 AccountSettings: Improve error reporting. #3084
Previously the errors were only visible in the tray icon tooltip!
2015-07-15 12:04:44 +02:00
Olivier Goffart
92dc3047d0 Qt4 SelectiveSyncDialog: Give a better size to the column by default
Issue #3239
The feature to dynamically resize the column only came with Qt5,
But give a better default size of the name column so we can read the
contents.
2015-07-14 15:18:55 +02:00
Olivier Goffart
cdb88d621c Qt4 build: Qt::ItemNeverHasChildren was added in Qt 5.1 2015-07-14 15:01:33 +02:00
Olivier Goffart
b485e8f97f AccountSettings: disable the add folder button when syncing the entire owncloud #3438 2015-07-14 11:03:25 +02:00
Olivier Goffart
ab23368764 FolderStatusModel: init all private members 2015-07-14 10:15:19 +02:00
Olivier Goffart
6030b4416d Account Settings: hide the [add folder] button when syncing the entire owncloud #3438 2015-07-13 16:29:01 +02:00
Olivier Goffart
aabad22cef Wizard: show an error if the folder already exists
Issue #3444
2015-07-13 15:37:01 +02:00
Olivier Goffart
247771fbba Wizard: remove the configExists state
The wizard is now only used to create new account, not update existing ones
2015-07-13 15:21:18 +02:00
Olivier Goffart
e5568b5d13 Wizard: remove the check for mutliple folders
It does not make sens now that we have multi account
2015-07-13 14:52:24 +02:00
Olivier Goffart
4dbe0693df FolderMan::checkPathValidityForNewFolder
factorize the function to check the validity of a new folder out of
the folder wizard to the FolderMan.

There is even a test for it now.

That way we can also use it in the normal wizard
2015-07-13 14:35:19 +02:00
Roeland Jago Douma
c052f6d4c9 Use capabilities to not allow removing of expiredate and password
If the server admin has enforced the expiration date and the password our UI
should not give the user the option to remove those.
2015-07-10 15:50:01 +02:00
Roeland Jago Douma
7f893aa676 Fore password request if required by capabilities 2015-07-10 15:26:26 +02:00
Olivier Goffart
992d375e90 owncloudGui: Do not reset folders when login in or out.
This made no sens. Folders are setup when the account is setup.

Also this had the bad side effect to shut the sync engine too early,
leaving the SyncEngine::_syncRunning to true, and leading to ASSERT later

Issue #3427
2015-07-09 13:25:27 +02:00
Olivier Goffart
644486871b owncloudGui: Fix crash when sign in
The sign in action from within that menu might change the account state
and call setupContextMenu. We must not delete the menu from there

Issue #3427
2015-07-09 12:17:27 +02:00
Olivier Goffart
08fcf650eb Fix Qt4 build 2015-07-08 19:48:57 +02:00
Klaas Freitag
e28fab0c61 Folder: let path() always end on "/" rather than on platform spec. delim. 2015-07-08 18:13:41 +02:00
Klaas Freitag
bb1b1ab7e3 FolderWatcher Win: Use proper lang path handling in folder watcher. 2015-07-08 18:13:40 +02:00
Olivier Goffart
68668e25bd FolderStatusModel: uses int64 for the sizes to prevent overflow
Issue #3420

(The change in Utility just make sure never to use the scientific notation,
even if it should never happen)
2015-07-08 14:52:58 +02:00
Olivier Goffart
d1bfc7a636 Settings: fix broken signal/slot connection:
No such slot OCC::GeneralSettings::slotForceRemoteDiscoveryOnFolders()
      (sender name:   'OCC__IgnoreListEditor')
      (receiver name: 'OCC__GeneralSettings')

The slot was in another settings page (because the button 'edit ignored files'
was moved.

Move the actual code to IgnoreListEditor where it logically belong.
Add a comment on the why this code is there.
2015-07-07 20:46:39 +02:00
Olivier Goffart
41111541c5 Confirm feature: Add an option for it 2015-07-07 16:28:48 +02:00
Olivier Goffart
f87d0139e1 AccountState: fix Sing-in of a connected account
Issue #3413

There was two problem:
 - First, when singing in we were setting an account that was connected
   to disconnected  (AccountState::State)
 - Second, while getting the result from the ConnectionValidator, we would
   not set the state to connected if the previous call to ConnectionValidator
   was ConnectionValidator::Connected, regardless of the old state of the account
2015-07-07 14:44:16 +02:00
Olivier Goffart
ceddbe248e FolderStatusDelegate: style the Add Folder button 2015-07-06 16:04:06 +02:00
Olivier Goffart
ef1f2d2b79 FolderStatusDelegate: Fix identation and remove empty functions 2015-07-06 14:44:53 +02:00
Olivier Goffart
9c9ff886c9 Fix qt4 build
Qt5 automatically declares many types as QMetaType.
Qt4 needs them manually declared
2015-07-06 11:04:17 +02:00
Markus Goetz
ed0fb76cd7 Merge pull request #3404 from owncloud/fix-2702
Command Line: clear error hint with wrong command line options
2015-07-04 12:56:06 +02:00
Arthur Schiwon
263fa5882b clear error hint went wrongly use command line options 2015-07-03 16:01:24 +02:00
Christian Kamm
ae69ff032b Folders: Show as disconnected when account is disconnected.
Previously you could get a green folder icon even when the account
was signed out or disconnected for another reason.
2015-07-03 15:03:18 +02:00
Christian Kamm
1a58e6606c TrayMenu: Show submenus per account.
This addresses the inability to sign out from one account while
keeping the other active. See #3399, #3400, #3379
2015-07-03 14:54:20 +02:00
Christian Kamm
e390c22f96 FolderStatusModel: Minor cleanup. 2015-07-03 14:28:04 +02:00
Christian Kamm
7053f76d1e Password dialog: Include account name.
Users with accounts on multiple servers could easily use the same
username on both servers. The password dialog did not tell users
what server the password is for. I added the account name to the
dialog.
2015-07-03 11:39:44 +02:00
Christian Kamm
030d1e636b Progress UI: Properly reset bar after a sync. 2015-07-03 11:26:03 +02:00
Christian Kamm
9ad79cfc52 TrayMenu: Ensure it updates when accounts are added or removed. 2015-07-03 11:13:19 +02:00
Olivier Goffart
76903fb55a Settings: Aling the non-accounts button on the right 2015-07-03 11:04:03 +02:00
Olivier Goffart
0b8163fae1 Folder: the limit for the confirm featur is 100MB, not 100kB 2015-07-03 10:42:20 +02:00
Daniel Molkentin
0fb43dbc3a Merge pull request #3397 from owncloud/uselibcpp
OS X: Force linkage against libc++
2015-07-02 14:26:55 +02:00
Daniel Molkentin
0610d3ea8d Merge pull request #3347 from jturcotte/shell_integration_findersync
shell_i: Add a FinderSync-based implementation #2340
2015-07-02 14:20:24 +02:00
Christian Kamm
ba613a152a FolderStatusModel: Always update on sync state change.
Previously the icon and progress report could easily get
somewhat stale and go out of sync with the tray icon.
2015-07-02 14:17:38 +02:00
Daniel Molkentin
a1b6571d53 Revert "Do not use std::unique_ptr"
This reverts commit 2db7ab5c46.
2015-07-02 13:31:42 +02:00
Olivier Goffart
2db7ab5c46 Do not use std::unique_ptr
The class is not existing on all platform we support
(namely macos 10.7)
2015-07-02 12:55:54 +02:00
Christian Kamm
bf183f425d SslConfig: Reset when QNAM is reset. #3394
It seems running a CheckServerJob with the existing ssl config after
resetting QNAM will produce a ssl config without a cert chain.
2015-07-02 11:28:40 +02:00
Christian Kamm
1b31f45435 SslButton: Only show menu when info is available.
For unencrypted connections there used to be a small arrow indicating
that more information was available, but clicking the button had no
effect. That indicator is now gone because we unset the SslButton's
menu for these cases.
2015-07-02 10:49:18 +02:00
Christian Kamm
4420d52919 QuotaInfo: Ensure label fits into progress bar. #3393 2015-07-02 10:28:33 +02:00
Christian Kamm
8aeb3cc8d2 Improve account connectivity tooltips. #3200
* Show connection errors for all failing accounts in the tooltip.
* Don't hide the 'service unavailable' state. We don't want intrusive
  pop ups, but we don't want to pretend we're syncing when we aren't.
* Show sync-running icon also for SyncPrepare state. In my tests I
  very rarely saw the sync-running icon before.
2015-07-01 14:53:07 +02:00
Christian Kamm
2fa00168cf Sync scheduling: fix per-account scheduling. #3379
application.cpp still had a global folder syncing on/off switch
when an account connected or disconnected. That couldn't work with
multiaccount.

Instead FolderMan listens to accountStateChanged messages and
schedules or de-schedules the folders for accounts that change state.
2015-07-01 14:53:07 +02:00
Olivier Goffart
4a541a9ab4 Merge remote-tracking branch 'origin/maser' 2015-06-30 13:52:38 +02:00
Daniel Molkentin
66e8aaeabc Use doxygen style everywhere 2015-06-29 18:56:09 +02:00
Daniel Molkentin
eff4daa00b Merge remote-tracking branch 'origin/master' into doxygenify
Conflicts:
	src/gui/quotainfo.h
2015-06-29 18:45:55 +02:00
Daniel Molkentin
0735aa1fbd Structure developer documentation
- rename target "doc-dev"
- group into modules
- move to doc/dev
2015-06-29 18:43:21 +02:00
Olivier Goffart
076f8ea105 Merge pull request #3097 from owncloud/translatable-remaining-time
make the remaining time string translatable and support plural forms
2015-06-29 18:30:44 +02:00
Markus Goetz
ef1e6add4f Settings: Auto download bandwidth limit #1485 2015-06-29 17:43:25 +02:00
Olivier Goffart
ec3fc50e0e FolderMan: store folders in a QMap instead of a QHash so they are kept in order
Issue #1529
2015-06-29 15:49:47 +02:00
Olivier Goffart
7a324ff25b Utility: improve the function to conver a duration to string
- Make it translatable
 - Make use of the %n so that it supports plurals (but this will only
   take effect if we have an english translation)
 - Only put two units.  eg:  "5 years 7 months" instead of
   "5 years 7 months 12 days 34 minutes 23 seconds"
   Even when it is "2 hours 23 minutes" the amount of second does not
   matter, especially since the estimation is likely to be boggus anyway

Issues #2672 and #3097
2015-06-29 14:59:28 +02:00
Olivier Goffart
23ccaa2821 QuotaInfo: add a comment about long running job
To document the change made two commits ago
2015-06-29 10:57:32 +02:00
Olivier Goffart
51c10de672 QuotaInfo: make sure that we always check the quota every 30 seconds 2015-06-26 18:04:27 +02:00
Olivier Goffart
236951d9b3 QuotaInfo: allow only one job at the same time 2015-06-26 16:58:34 +02:00
Olivier Goffart
e7d7646151 QuotaInfo: only request the quota when the UI is visible 2015-06-26 15:43:19 +02:00
Olivier Goffart
7757886ebc SystemTray menu: remove the quota information
It makes no sens anymore with multi account and users will see it
from the dialog anyway.
2015-06-26 13:32:02 +02:00
Christian Kamm
77941b5ba7 IgnoreEditor: Make UI more explicit. #3172
People were mistaking the checkbox for something that enables
and disables specific ignore patterns. Now it's much more
explicit.
2015-06-26 10:46:13 +02:00
Christian Kamm
10aaf18129 FolderMan: Make folderSyncStateChange() signal reliable. #3354 2015-06-26 10:09:03 +02:00
Olivier Goffart
db87d2a18e QuotaJob: remove and use a PropfindJob instead
This remove code duplication because the QuotaJob was just a duplication
of the propfind jobs with the properties hardcoded.
2015-06-25 14:39:48 +02:00
Olivier Goffart
29fecb029e Merge remote-tracking branch 'origin/1.8'
Conflicts:
	VERSION.cmake
        src/gui/accountsettings.cpp
	src/gui/accountsettings.h
2015-06-25 12:30:52 +02:00
Jocelyn Turcotte
9797782682 shell_i: Build the extension with the '-' identity by default
This allows developers to build and run the extension by default.
Official packages bundles will be re-signed after the build, we

The SocketApi prefix can be set at configure time through cmake and
should match the key that will be used to sign the whole .app bundle
(including the embedded FindexSync .appex bundle).
2015-06-22 13:55:19 +02:00
Christian Kamm
deb5e68e15 Ignores: Force a remote discovery after ignore list change #3172
The problem was that the modified ignore pattern was not applied
to the parts of the remote tree we simply retrieve from the db
because the folder etag didn't change.

Even worse, if one removed an ignore pattern, the un-ignored
files would not be synced correctly.

With this change, a modification to the ignore list always results
in a full remote discovery. This guarantees that we find un-ignored
files.
2015-06-19 14:58:47 +02:00
Olivier Goffart
bb85db6cc5 Fix windows build 2015-06-18 10:24:40 +02:00
Jocelyn Turcotte
85938ab1f1 shell_i: Remove the ICON_PATH socket API message #2340
It was only used on OS X and couldn't be used by the FinderSync
extension since that one runs in a sandbox. So use the same system
to load images in the legacy extension by shipping them in the
extension bundle instead of the owncloud.app bundle.

This is also given that the legacy extension needs padded icons
while the FinderSync one needs unpadded icons.
2015-06-17 17:15:50 +02:00
Klaas Freitag
79cc902673 FolderMan: Save migratated folder definitions to Configfile. 2015-06-17 14:54:51 +02:00
Klaas Freitag
214bc6b29b Folder: Simplify Folder constructor: No need for AccountState.
Do not pass AccountState in constructor of Folder, set with a
new method called setAccountState after creation. Thus the
parameter does not need to be passed through all over.
2015-06-17 14:54:51 +02:00
Christian Kamm
84bae92264 AccountSettings: Fix initial visibility of sel sync panel #3355 2015-06-17 14:43:38 +02:00
Jocelyn Turcotte
c98bcc8e9e OS X: Fix a few warnings 2015-06-17 14:32:34 +02:00
Jocelyn Turcotte
a4f519eaeb Reduce the amount of rebuild needed after a git commit
Since GIT_SHA1 would need to be updated in config.h, all files
including it would be rebuilt by make.

Reduce the number of files to rebuild by moving this variable
to version.h instead.
2015-06-17 14:32:34 +02:00
Olivier Goffart
c11358219a FolderStatusModel: fix a coverity warning 2015-06-17 12:46:49 +02:00
Jocelyn Turcotte
977b1464b5 shell_i: Don't load the old extension in >= 10.10 #2340 2015-06-16 15:30:43 +02:00
Olivier Goffart
d902a37dfd Fix Qt4 compilation
This header is not included in Qt4's QAbstractItemModel header
2015-06-16 12:14:04 +02:00
Olivier Goffart
0cfc518c33 Fix coverity build which does not support nsdmi 2015-06-16 09:30:29 +02:00
Olivier Goffart
f8cbed34c2 Should fix coverity build
Issue #3346
2015-06-15 17:59:08 +02:00
Olivier Goffart
ce0a0e3f0d Credential: move the implementation to the gui 2015-06-15 17:39:28 +02:00
Olivier Goffart
6e337ad242 Move Account::settings to AccountState::settings
It is only used by the GUI. Also return a unique_ptr to make the ownership clearer
2015-06-15 17:39:28 +02:00
Jocelyn Turcotte
bfcfdeec64 shell_i: Use an NSConnection instead of a local socket #2340
This prepares the switch to the official FinderSync API on Yosemite
which requires the extension to run in a sandbox. This complicates
the usage of a local socket to communicate with a non-sandboxed GUI
client. An NSConnection is easier to use in this case, which we can
use as long as the server name (i.e. Mach port registered name) is
prefixed with the code signing Team Identifier.

A placeholder server implementation is also added to the client's
SocketApi which basically reproduces the interface of a QLocalSocket.
Most of the references to individual sockets we're only using
QIODevice methods so the type was simply reduced. A typedef to
replace the QLocalServer was the only other part needed.
2015-06-15 15:28:17 +02:00
Olivier Goffart
e321280eae AccountManager: remove export macro 2015-06-15 14:53:36 +02:00
Olivier Goffart
a3c543a627 Move FolderStatusDelegate to its own file 2015-06-15 14:16:21 +02:00
Klaas Freitag
fa0faee8ba Frequent update check: read check frequency from config file. 2015-06-15 12:24:18 +02:00
Olivier Goffart
bea8896012 Merge remote-tracking branch 'origin/master' into new-ui 2015-06-14 10:39:30 +02:00
Olivier Goffart
81c10da8dc Accountsettings: Show a notification when there are new unconfirmed folders 2015-06-12 12:19:24 +02:00
Olivier Goffart
2296f6a4a5 Fix Qt4 build
QSharedPointer::create with arguments is new in Qt5
2015-06-12 08:13:08 +02:00
Olivier Goffart
53f2468430 Confirm: Set the limit to 100MB
TODO: make this configurable
2015-06-11 15:54:39 +02:00
Olivier Goffart
cc3543dbd2 Confirm feature: The UI part in the selective sync view
Folder that are over the threshold will appear in red in the
selective sync view and will be deselected by default
2015-06-11 15:46:01 +02:00
Olivier Goffart
05ed126bfd Account config: add the size in the selective sync part 2015-06-11 14:13:09 +02:00
Olivier Goffart
5ab20e64bf AccountSettings: fix selective sync checking
We need to set the root item to partially checked in case there
is some folders in the blacklist

The root item do not have checkmark so it is good
2015-06-10 17:00:08 +02:00
Olivier Goffart
e9e11d251f Fix compilation after merge of the confirm and the new-ui branch 2015-06-10 16:22:14 +02:00
Olivier Goffart
139b28b471 Merge branch 'master' into new-ui
Conflicts:
	src/gui/folder.cpp
        src/gui/folder.h
	src/gui/folderman.cpp
2015-06-10 15:57:55 +02:00
Olivier Goffart
16786eed54 Merge pull request #3281 from owncloud/confirm
Confirm feature (sync engine part only)
2015-06-10 13:39:52 +02:00
Olivier Goffart
e135d4cccf Merge remote-tracking branch 'origin/1.8' 2015-06-10 13:42:02 +02:00
Klaas Freitag
c8cb604c18 Updater: Do a tray notification if a new update is available. 2015-06-09 08:35:15 +02:00
Klaas Freitag
5b65bbf8e5 App: Do a regular check for updates, currently hardcoded every two hours. 2015-06-09 08:35:15 +02:00
Olivier Goffart
67f7892958 SocketAPI: Do not leak open DB or query
We could leak it in case of errors. Or when the folder is removed.
Make use of QSharedPointer to avoid leaks
2015-06-08 15:49:37 +02:00
Olivier Goffart
2c6c21d753 AccountState: do not change the state when we stay connected
This would cause a full sync every 30 seconds.
2015-06-08 12:14:37 +02:00
Volkan Gezer
03eb11b927 from translators on transifex 2015-06-07 14:19:59 +02:00
Christian Kamm
2ed329e025 Improve reporting of server error messages. #3220
In particular the 'unsupported client version' error message
is now visible to the user when trying to connect to a
server that no longer supports the current client version.
2015-06-04 10:07:24 +02:00
Christian Kamm
4c10f1e40c Wizard: Show server error message if possible. #3220 2015-06-03 16:33:09 +02:00
Olivier Goffart
12f760535d Fix folder concatenation with Qt4
QUrl in Qt4 do not simplify double slashes like Qt5 does, so we have
to take in account different slashes possibilities
2015-06-02 20:47:06 +02:00
Olivier Goffart
e1f94cea4f FolderStatusModel: handle network error in the LSCol 2015-06-02 20:47:06 +02:00
Olivier Goffart
fc23e810fd folderstatusmodel: clean includes 2015-06-02 20:01:13 +02:00
Olivier Goffart
e587c8e2dc multi-account: compile with Qt4 2015-06-02 19:57:41 +02:00
Olivier Goffart
984434c728 AccountSettings: move the progress handling in FolderStatusModel
This is required to compile with Qt4 because signals were protected.
And the logic anyway belongs to the model
2015-06-02 19:45:23 +02:00
Olivier Goffart
28a66cb393 SettingsDialogMac: adapt to multi-account 2015-05-26 17:37:15 +02:00
Olivier Goffart
507206367f Merge branch 'master' into new-ui 2015-05-26 14:56:08 +02:00
Olivier Goffart
10d9e53159 Confirm feature: Use selective sync in the database 2015-05-26 12:34:07 +02:00
Olivier Goffart
6b27d2e703 Merge remote-tracking branch 'origin/1.8' 2015-05-26 12:28:31 +02:00
Christian Kamm
0af2f7e5ed ConValidator: Always run with new credentials. #3266 2015-05-22 09:38:44 +02:00
Olivier Goffart
aebadfcda2 FolderWizard: Add missing Q_OBJECT which prevent translations from working 2015-05-21 12:53:55 +02:00
Olivier Goffart
f595fc2f9c Fix opening external links for some labels
Issue #3135
2015-05-15 18:44:19 +02:00
Markus Goetz
06c889630c AccountState: Run only a single validator, allow error message overriding #3236 #3153 2015-05-15 12:27:35 +02:00
Olivier Goffart
d7fa03cf2e Systray menu: consider multiple account to choose the status 2015-05-13 13:10:14 +02:00
Olivier Goffart
af94e8943d Systray menu: show one entry per account to open in a browser 2015-05-13 12:54:31 +02:00
Jakob Nixdorf
a0e3858a7c Install architecture-independent files to DATADIR.
Change the installation target for the translations and the .desktop
file to the architecture-independent DATADIR.
2015-05-13 09:54:01 +02:00
Markus Goetz
08184d07cf Merge branch '1.9' 2015-05-12 23:03:45 +02:00
Olivier Goffart
dd5a49bc78 Application: Disable to workaround of QLockFile bug for Qt versions that are fixed 2015-05-12 17:26:32 +02:00
Olivier Goffart
299fa2dee6 FolderMan: fix a #warning in the migration path 2015-05-12 16:49:37 +02:00
Olivier Goffart
de9770f52a FolderMan: fix some signal-slot broken connection
In many cases the alias was changed to a Folder pointer
2015-05-12 15:50:38 +02:00
Olivier Goffart
389c4f8ef9 AccountManager: remove unused variable 2015-05-12 15:38:16 +02:00
Olivier Goffart
3a7bd3f95c AccountManager: save the config after removing an account 2015-05-12 15:37:16 +02:00
Olivier Goffart
1136b969b2 Folder: fix compilation after merge 2015-05-12 15:27:20 +02:00
Olivier Goffart
716b0c68da Merge remote-tracking branch 'origin/master' into new-ui 2015-05-12 15:20:40 +02:00
Olivier Goffart
1edd46b995 Multi-Account: add possibility to delete an account 2015-05-12 15:16:32 +02:00
Daniel Molkentin
b54f2b3b31 Merge remote-tracking branch 'origin/1.9'
Conflicts:
	VERSION.cmake
	src/libsync/propagatedownload.cpp
	src/libsync/propagateupload.cpp
2015-05-12 10:03:38 +02:00
Klaas Freitag
41614ec851 Application: ifdef lock file issue as it only happens on Qt>5.1
However, the fix breaks Qt4 compile, so it needs to be ifdefed.
Not viel hilft viel.
2015-05-11 13:35:04 +02:00
Christian Kamm
9507bb4be6 ShareDialog: Password ui fixes. #3189
* Change the textedit-empty text to be just "Password"
* Hide the 'Copy link' button when the share isn't created yet
* Show the checked and disabled 'Password required' checkbox
  when a password is required.
2015-05-08 14:53:38 +02:00
Christian Kamm
e1c370a9a2 Fix startup hang by removing QSettings lock file. #3175
In some situations the .lock file would stay around and
cause subsequent starts of the client to get stuck before
showing the ui.
2015-05-08 14:02:44 +02:00
Christian Kamm
b9eafaaf24 Wizard: Allow SSL cert dialog to show twice. #3168
Normally we never ask twice for the same url, but in the setup wizard
it makes sense to do so.
2015-05-08 12:32:14 +02:00
Christian Kamm
909368025f ProtocolWidget: Fix rename message. #3210
For remote renames that are replicated locally the _file member is
overwritten by the target file name when the new entry is added to
the metadata table. Using _originalFile here guarantees that
the affected local file is mentioned.
2015-05-08 11:33:34 +02:00
Christian Kamm
441eca86c4 ShareDialog: Improve error reporting for share API fails.
This would have made debugging #3204 and #3136 easier.
2015-05-07 14:16:13 +02:00
Markus Goetz
f07d3d069e Updater on OS X: Only allow if in /Applications #2931 2015-05-07 13:04:25 +02:00
Markus Goetz
e300e3c744 Wizard: Fix lock icon #1447 2015-05-07 13:04:25 +02:00
Christian Kamm
73e2254a80 AccountState: Treat *any* 503 as a temporary error. #3113 2015-05-07 09:21:52 +02:00
Jocelyn Turcotte
58867baf33 Merge pull request #3183 from christian-burger/fix-for-windows-explorer-extension-when-syncing-whole-drive
Windows Explorer: fix issues when syncing whole drive.
2015-05-06 14:54:19 +02:00
Daniel Molkentin
f315423811 Merge remote-tracking branch 'origin/1.8'
Conflicts:
	VERSION.cmake
2015-05-06 10:04:22 +02:00
Christian Kamm
9e3c3353bd IgnoreListEditor: Remove invalid connect. #3201
This has been around ever since the ignore editor was
added and the slot never existed.
2015-05-06 09:34:45 +02:00
Christian Burger
79f7ea0965 refactoring as requested in pull request 2015-05-05 16:34:01 +01:00
Daniel Molkentin
bfba6f752c Remove dead code 2015-05-05 10:23:59 +02:00
Christian Burger
018cc54a94 Windows Explorer: fix issues when syncing whole drive.
When the local sync target is just a drive letter (e.g. "X:\"), neither
the display of the sync status via file icon overlay, nor the creation of a
share link works. In the latter case no pop-up comes up and no server
request is done.

QDir::cleanPath() usually removes trailing slashes, but not if the path to
be cleaned is just "X:\". In that case the trailing slash is kept. This
commit accounts for that exception.
2015-05-04 10:29:25 +01:00
Olivier Goffart
e02f1a222e FolderMan: refactor some function to take a Folder* instead of an alias
I want to remove this dependency of alias in the code because we might get
rid of it entierly later
2015-04-28 17:49:05 +02:00
Olivier Goffart
e4694a6db8 Setup wizard: Do not remove all the folders of all theother acocunts when adding an account
Also we need the alias to be unique
2015-04-28 17:46:45 +02:00
Olivier Goffart
e5ad1b27b4 Settings dialog: show the first account page at start 2015-04-28 11:39:27 +02:00
Olivier Goffart
92e259c276 Add folder: Do not add at other accounts folder to know if you can add a folder 2015-04-28 11:29:35 +02:00
Olivier Goffart
f81918173b Account settings: show the folder of the right account 2015-04-27 19:09:48 +02:00
Olivier Goffart
4006bcdaed Wizard: Setup the folder in the right account 2015-04-27 17:43:07 +02:00
Olivier Goffart
3e4886725a Folder: remove the member references to the FolderDefinition members 2015-04-27 17:33:59 +02:00
Olivier Goffart
f688bda759 Wizard: Save the settings after adding an account
So the account persist even if the client is not properly closed
2015-04-27 17:19:46 +02:00
Olivier Goffart
ac855858de owncloud gui: move a comment where it belongs
The code was moved long time ago in commit ea1c95100 but the comment
stayed.  I have no idea if the comment is still accurate
2015-04-27 17:14:25 +02:00
Olivier Goffart
23dc464ea2 Folderman: Fix crash when adding an account
Clang is picky if we forget to return a value
2015-04-27 14:34:39 +02:00
Olivier Goffart
04382c467b Progress: Fix broken signal connection 2015-04-27 12:34:15 +02:00
Olivier Goffart
be1b39067d Merge branch 'master' into new-ui 2015-04-27 12:32:12 +02:00
Olivier Goffart
ddfb7f3b7a Merge remote-tracking branch 'origin/1.8' 2015-04-27 12:20:11 +02:00
Christian Kamm
78e82eb920 AccountWizard: Fix auth error handling. #3155
The problem was that on network error the networkError() and
finishedWithError() signals both fired. To fix it, I collapse all
error handing into a slot triggered by finishedWithError().

I tested the redirection case and the invalid credentials case.
2015-04-24 16:03:28 +02:00
Christian Kamm
27159104a9 Folders: Store inside account config. 2015-04-24 13:42:35 +02:00
Christian Kamm
a13a974e2d Account: Generate shorter account ids. 2015-04-24 09:54:42 +02:00
Christian Kamm
f184d66ea2 Save and restore multiple accounts. 2015-04-23 16:08:20 +02:00
Christian Kamm
11927d625d Fix crash on exit by not making Account parent of AccountState. 2015-04-23 16:08:20 +02:00
Christian Kamm
d64373c610 Never use 'new Account' directly, prefer Account::create() 2015-04-23 15:47:49 +02:00
Christian Kamm
28306e5dfb Move AccountState::displayName to Account. 2015-04-23 15:47:49 +02:00
Christian Kamm
89bb58ac30 Ensure 'user' is available early enough for ui in httpcreds 2015-04-23 15:47:49 +02:00
Christian Kamm
3cc2e1a968 Fix bad connect/disconnects. 2015-04-23 14:24:54 +02:00
Christian Kamm
8390b0b930 Determine right account in ownCloudGui::slotShowShareDialog 2015-04-23 14:14:28 +02:00
Christian Kamm
dbddabfcd7 Remove SelectiveSyncText
It is unused and there were compiler warnings about it not
appearing it various switch() statements.
2015-04-23 14:13:33 +02:00
Christian Kamm
0d30e01e98 Add explanations to fixmes 2015-04-23 14:13:13 +02:00
Markus Goetz
137bce6dd0 Folder: Clear _syncResult better
I had a situation here where we were showing stale desktop notifications when a remote folder
errored out and then sync finished with _syncResult data from previous sync.
2015-04-23 13:30:30 +02:00
Christian Kamm
68bf22f469 Revert "AccountSettings: Update progress only twice per second. #3014"
This reverts commit 0f33e266ce.

The change was not meant to be merged, see discussion in #3014.
2015-04-22 11:46:00 +02:00
Christian Kamm
96ecdb866d Time estimate: Refactor remaining time guess. #2328 2015-04-22 11:20:31 +02:00
Christian Kamm
7d68c628db Time estimation: Use a consistent check for size dependence. #2328 2015-04-22 10:45:41 +02:00
Christian Kamm
0f33e266ce AccountSettings: Update progress only twice per second. #3014 2015-04-22 10:45:41 +02:00
Markus Goetz
6c5ca055c4 ShareDialog: Unused/invalid forward declaration 2015-04-21 10:33:38 +02:00
Olivier Goffart
cf5100a20b Merge remote-tracking branch 'origin/1.8' 2015-04-20 14:58:45 +02:00
Olivier Goffart
b039c2ce86 More change to compile with 5.5
The problem is again that QStringList no longer include QDataStream
2015-04-20 09:47:25 +02:00
Jocelyn Turcotte
12d7484b85 Pass SyncFileItems by pointer instead of by value
Use a QSharedPointer to keep the same ownership and
continue passing the SyncFileItems as a const& when
ownership isn't taken. This allows sharing the same
allocations between the jobs and the result vectors.

This saves about 20MB of memory (off 120MB) once all
jobs are created.
2015-04-18 14:26:40 +02:00
Olivier Goffart
a932eac832 Multi-account WIP 2015-04-17 17:56:17 +02:00
Jocelyn Turcotte
155c965866 Prevent another crash in ~SocketApi #3118
Since the QLocalServer parent of the QLocalSockets gets destroyed
after the _listeners QList, onLostConnection might try to update
an already destroyed list.

Fix the issue by simply making sure that _localServer is destroyed
first.
2015-04-17 12:42:40 +02:00