Commit Graph

47 Commits

Author SHA1 Message Date
Claas Augner
116c5b361f Displays FileIgnored activities with an info icon
See: https://github.com/nextcloud/desktop/issues/965
Signed-off-by: Claas Augner <git@caugner.de>
2019-07-21 22:02:15 +02:00
Camila San
bb7d330516
Add error category for http file lock error status 423.
It filters the error out of the list of blocking errors. It now shows up
in the Activities and Notificattions list as a warning.

Signed-off-by: Camila San <hello@camila.codes>
2019-06-11 23:32:10 +02:00
Roeland Jago Douma
86251ff2e3
Do not display dismissed notifications
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-01 14:39:59 +01:00
Roeland Jago Douma
b93c762205
Fix the activity loop
We should stop fetching the moment the activity stream is empty when
fetched. It doesn't matter if the current list is empty.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-22 10:40:00 +01:00
Roeland Jago Douma
1d0bf08a1c
Do not fetch activities if they are not enabled
Fixes #788
Fixes #834

If the activity app is not enabled we should not try to fetch the
activities at all.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-19 14:13:51 +01:00
Óscar Nájera
0f80ecbb39 Drop the ToolTipRole from the activity list
Fix #515
2018-08-30 00:37:59 +02:00
Camila San
64e21d5083
Fixes #538: correctly checks for local sync actitivities.
- Local sync activities are now listed with the sync icon and included
in the correct list: once a file is synced, activityWidget checks for
its status to know if it is an error or if the file was successfully synced.

Signed-off-by: Camila San <hello@camila.codes>
2018-08-24 09:24:32 +02:00
Camila San
524a3d4c6a
Returns default icon when no status matches any of the check for SyncFileItem::Status.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:11:04 +02:00
Camila San
ee612bda3a
Fixes crash when folder it is not set in the activity list.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:11:03 +02:00
Camila San
f294cf1b93
Changes icons for errors and warnings in the activity list.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:02 +02:00
Camila San
b2834e047d
Refactores ActivityListModel::removeFromActivityList.
- Fixes crash when dismissing notification - notification was being
removed from the wrong list.
- Minor changes: removes AccountStatePtr where it was needed anymore now
that ActivityListModel has an _accountState, it doesn't need to be
checked for each activity/notification.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San
7bc9275a8c
Separates types of errors: SyncErrorType and SyncFileItemType.
- This follows what the enums already being used SynResult::Status and
SyncFileItem::Status.
- Do not display buttons for FileErrorTypes - since they are errors on
local syncing, there is nothing to do in the server.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San
4a6b7854f5
Adds 'Join' string for call notifications.
- Stores object_type from the api response to check if notification is a
call so the primary button text and action is 'Join'.
- Puts strings into consts.
- Minor change: Improves comments on ActivityListModel.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San
00effb0e2f
Adds 'accept' button for remote share notifications.
- Stores object_type form the api response to check if notification is
remote_share, so the primary button text is 'accept' instead of 'more
information'.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San
11484d5588
Removes Protocol and Issues widget files and references.
- Minor changes:
 - Improves comments and qCWarning  messages
 - Removes commented out code.
 - adds TODO's.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San
ec51428e4d
Fixes the url for the button 'more information'.
- The url for the browser was not full path to the file.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San
a9cd3b3a6d
Merges errors and protocols into notifications/activities.
- Errors will always be on top, then Notifications comes next and then Activities for last.
- Adds 2 new types of Activity: NotificationType and ErrorType.
- ActivityListModel and ActivityWidget stores AccountState to connect user and widget.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San
918ccb1ed3
Removes row when notification is dismissed.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San
e3c7a5a2ff
Changes Activity list view icons, buttons and drawing.
- Displays the notification icon when available.
- Adds dismiss button with an icon.
- Handles buttons actions in the list view.
- Changes what is painted first (activityitemdelegate) for each row in
the activity list.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San
49377976db
Removes notification row from the view when clicking on Dismiss.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San
9ad01f0819
Fixes order of the notifications: latest on top.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San
4e4a0da3b7
Returns the activity type to the list view.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:05:59 +02:00
Camila San
2350b41dc3
List model returns the list of actions for each activity.
- The list of possible actions (server requests( was not being used in
the activityitemdelegate. This is needed to be able to draw the primary
action buttons and other options for each notification in the view.)
- Minor changes:
  - Uses different icons for activities and notifications in the list view.
  - Align elements in the list view of notifications/activities properly.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:05:59 +02:00
Camila San
1b1468a9c6
Each user has its own list of activities.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:05:59 +02:00
Camila San
75c2613b1b
Displays activity and notification messages in the list view.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:05:59 +02:00
Camila San
908870ccde
Adds notifications to the Activities list.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:05:57 +02:00
Tomaz Canabrava
7432d6a814 Merge branch 'master' into clientSideEncryptionV4 2018-04-10 16:18:58 +02:00
Camila San
44f299eba2
Removes debug messages.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-26 00:00:42 +01:00
Camila San
32e29fb849
Doesn't open the file manager when there isn't a file associated with the Activity.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-16 19:17:22 +01:00
Camila San
a7dd3a7da1
Displays the actual notification subject in the system tray messages.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-12 22:16:46 +01:00
Daniel Nicoletti
a63d34f870 Prepend "nextcloud" for all logging categories
Thus making easier to exclude logging from kio, qt
and only enable "nextcloud.*"
2017-12-28 17:33:10 -02:00
Olivier Goffart
74672d493d Utility: use QUrlQuery
For QUrl::setQuery is deprecated in Qt5
2017-12-08 16:15:17 +01:00
Olivier Goffart
ff4213b59f Use the Qt5 connection syntax (automated with clazy)
This is motivated by the fact that QMetaObject::noralizeSignature takes 7.35%
CPU of the LargeSyncBench. (Mostly from ABstractNetworkJob::setupConnections and
PropagateUploadFileV1::startNextChunk). It could be fixed by using normalized
signature in the connection statement, but i tought it was a good oportunity
to modernize the code.

This commit only contains calls that were automatically converted with clazy.
2017-09-21 14:05:39 +02:00
Helmut K. C. Tessarek
709aa27031 remove qt4 code 2017-09-15 07:11:05 +02:00
Christian Kamm
c8d0f788e0 Apply clang-format 2017-05-17 12:26:27 +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
Christian Kamm
881641f0b7 Remove stray debug output 2017-05-09 10:37:40 +02:00
Christian Kamm
2598579d84 Switch JsonApiJob to Qt5's QJson #5710 2017-05-08 11:50:33 +02: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
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
Christian Kamm
db24f60ae3 License: Adjust license of GPLv2 source files to GPLv2+
See #5180
2016-10-25 11:06:54 +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
69e8e15884 Remove explicit time spec specification as it is not needed. 2016-03-29 13:59:08 +02:00
Klaas Freitag
9d219a18f3 ActivityListModel: Code cleanups
based on review feedback.
2016-03-14 15:40:39 +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