Commit Graph

69 Commits

Author SHA1 Message Date
Sale Djenic 4f3ca4eb78 login process refactored 2021-11-05 11:02:45 -04:00
Sale Djenic 9f4eeffdea A base structure for new architecture added
Initial structure for MainModule containing ChatSectionModule and
CommunitySectionModule is added, as well as initial structure for
StartupModule containing OnboardingModule and LoginModule.

Order of execution is updated and adapted to the current app state.
Main module gets loaded once a user is successfully logged in.
2021-11-05 11:02:45 -04:00
Alexandra Betouni 426c116bac refactor(desktop) Made shared a QML module
Use it as import shared 1.0, import shared.controls 1.0
etc instead of import "../../../shared"

Closes #3934
2021-10-27 18:05:45 -04:00
Alexandra Betouni 056f84c301 refactor(desktop/chat) Cleaning up popups 2021-10-26 16:22:49 -04:00
Alexandra Betouni 23811dc7e4 refactor(desktop/chat) Cleaning up views 2021-10-26 16:20:31 -04:00
Alexandra Betouni 22429689e3 refactor(desktop/chat) Cleaning up panels 2021-10-26 16:16:37 -04:00
Alexandra Betouni 9cc361c40a refactor(desktop/chat) Moving chat to new architecture
Closes #3710
2021-10-20 15:29:38 -04:00
Pascal Precht ed73651db8 refactor: move `SplitViewHandle` and `StatusTabButton` to ui/shared/panels|controls respectively 2021-10-14 12:51:27 -04:00
Pascal Precht ae31f7e1cb refactor: move `ConfirmationDialog` to ui/shared/popups 2021-10-14 12:51:27 -04:00
Alexandra Betouni 4ee21ada05 feat(desktop) Added image function in Style
Introduced Style.svg() Style.png() Style.emoji() and
Style.icon() in Style.qml. Those should be used to
set the source in Images instead of using relative
paths. Usage:
Image {
   source: Style.svg("check)
   ....

Also moved all Singletons inside a new "utils"
folder and made it a QML module, to use
import utils 1.0 instead of relative paths

Closes #3678
2021-09-28 15:28:00 -04:00
Alexandra Betouni 470144db6a feat(desktop/members) Improvements in members list
* The userlist toggle made persistent between restarts
* Members is enabled by default for communities
* Public channels changed title to "last seen"
  instead of "Members"

Closes #3502
2021-09-16 09:46:40 -04:00
Pascal Precht 33d800fcda refactor(ConfirmationDialog): change dialog to `StatusModal` 2021-09-15 13:31:18 -04:00
Pascal Precht 84a9b873f7 fix(@desktop/chat): force focus on search input when popup is opened
Closes #3392
2021-09-08 16:24:51 -04:00
Khushboo Mehta 9dd35904ea fix(@desktop/chat) Right click on community member list should show member information
fixes #3162
2021-09-02 14:55:20 -04:00
Sale Djenic 4916b8f552 fix(@desktop/chat): no identicon/profile picture shown and wrong timestamp format in search results
Icons added for messages senders in the search result, also community and chat
icons are colorized now.

Fixes: #3259
2021-08-31 14:23:59 -04:00
Sale Djenic 1b6ae41c63 feature(@desktop/chat): popup search added on the left side
As requested by design popup search added for the left side, click on a search
field (above channels list).

Refers to the changes requested by the issue-2934

Fixes: #2934
2021-08-19 16:26:59 -04:00
khushboo-dev-cpp 82718a0e93 fix(@desktop/chat): Right click message actions dont work
Fix the bug introduced by removing MessageContextMenu from Chat column. Added missing logic for edit message via MessageContextMenu

fixes #3223
2021-08-19 10:45:47 -04:00
Khushboo Mehta b80ac8070f fix(@desktop/chat): pin button is blurred
Updated from PopupMenu to StatusPopMenu. Removed buttons not in design.
Also added left and right button functionalXity on memeber list

fixes #2956, #3162
2021-08-11 14:33:21 +02:00
Richard Ramos d1b46c0226 feat: selector for online or invisible state
Fixes #3126
2021-08-06 13:30:05 -04:00
Alexandra Betouni 0a01e84b1c [#2813] Updating chat layout
Switched to StatusAppThreePanelLayout as per new
design for members list

Closes #2813
2021-07-26 14:05:08 -04:00
Alexandra Betouni 03db6a4985 [#2707] Added "My Profile" button in new chat popup
My profile link was not shown when starting 1x1 chat
having someone in contacts as it is currently the case in
mobile app

Closes #2707
2021-07-23 14:19:33 -04:00
Pascal Precht 8d48ebf864 refactor(ChatLayout): use StatusQ layout component to lay out view
These changes don't cause a visual change, but just make use of the
two panel layout component providedby StatusQ.

Closes #2688
2021-06-30 15:08:26 +02:00
Iuri Matias 599bf731fb refactor: extract 'channels' to its own file 2021-06-18 12:12:01 -04:00
Richard Ramos efae828087 fix: code review 2021-06-10 19:33:22 -04:00
Jonathan Rainville c1f6afd799 fixes 2021-05-26 12:12:05 -04:00
Pascal Precht 63bc6f0e53 chore: remove unnecessary splitview props 2021-04-15 10:12:50 +02:00
Pascal Precht 18acef7fd3 fix(ui): visually remove splitview handle 2021-04-14 17:00:37 +02:00
Jonathan Rainville a337b293da feat: show community context menu on Community button 2021-03-30 15:53:32 -04:00
Pascal Precht e1a4a47636 fix(Chat): disable HoverHandler when profile popup or context menu are open
Alright, this is an interesting one:

As described in #1829, when the profile popup is opened within the chat view,
users are still able to click *through* the popup on message, which then puts them in
an active state.

I've done a bunch of debugging as described [here](https://github.com/status-im/status-desktop/issues/1829#issuecomment-804748148) and after doing some
further debugging, I found out that `isMessageActive` isn't really the culprit here.

What causes this effect is the `HoverHandler` that's attached to the `CompactMessage` item.
`HoverHandler` is a standard QML type that emits `hoverChanged` signals so one can do things like
applying hover effects on elements, which is exactly what we do:

```
HoverHandler {
  onHoverChanged: {
    root.isHovered = hovered  // `root` being the message item
  }
}
```

I assume we went with this handler because putting a `MouseArea` in there instead, which fills
the entire message component pretty much eliminates all existing mouse handlers attached to
other child components, such as the profile image or the username of the message, which also
open a message context menu.

It turns out that, having a `HoverHandler` as described above, actually activates it when the
user clicks with the left mouse button as well (not just on hover). That's what causes the "click-through"
effect. This can be verified by setting `acceptedButtons` to `Qt.RightButton`, basically telling
the handler that only right clicks will activate it.

I then tried using `Qt.NoButtons` instead so that no button clicks and only hovers will activate
the handler, but that didn't seem to have any effect at all. It still defaults to `Qt.LeftButton`.

So the last resort was to disable the `HoverHandler` altogether, whenever either the profile popup,
or the message context menu (for emojis etc) is open.

Unfortunately, we don't have access to the profile popup in the compact message component, because it's
detached from the component tree. Therefore, I've introduced a new property `profilePopupOpened` on
the chat layout, which we can read from instead.

Fixes #1829
2021-03-23 10:32:31 -04:00
Richard Ramos 4f4a3f1c30 feat: see stickers details when clicking on a sticker 2021-03-16 15:39:52 -04:00
Jonathan Rainville b38d1df591 refactor: move communities functions to communities view in chat 2021-03-03 16:45:23 -05:00
Richard Ramos 6207c8af53 fix: appSettings were being overwritten due to defaultAppSettings periodically executing sync() 2021-02-18 16:40:21 -05:00
Jonathan Rainville 7dc3bf7e87 fix: fix group info popup warning and don't load popup immediately 2021-02-18 16:38:10 -05:00
Pascal Precht 7102596b3f fix(Timeline): make reactions works
This commit makes reactions in the status timeline work.
There are two things prior to this commit that are broken:

1. The logic that opens the reaction context menu always expects
   and instance of `chatsView` because it tries to calculate a users
   nickname. Such an instance isn't always available in that context, so
   the nickname logic has been moved to `appMain` for now, removing that
   dependency and therefore making it work in both, the chat view as well
   as the status view.
2. While 1) makes the context menu work, it turns out that adding and
   removing reactions inside the status timeline is still not working.
   The reason for that is, that the reactions component maintains its own
   `messageList`, which isn't aware of the fact that reactions for messages
   coming from chats of `ChatType.Profile`, need to go into a dedicated
   message list for `ChatType.Timeline`.

In other words, reactions are sent and removed from message in messagelists
that don't actually exist.

This commit fixes both of these things by ensuring the message lists
maintained by reactions are timeline aware. Also ensuring updates are
done correctly.
2021-01-14 15:33:46 -05:00
Jonathan Rainville 3f63ded1b2 fix: make profile popup look like the design 2021-01-13 13:14:06 -05:00
Jonathan Rainville 4aeeee6d9c feat: hide community stuff by default and add a setting to show it 2021-01-11 13:57:35 -05:00
Jonathan Rainville 7ddb93266b fix: chatLayout getting squished on first login 2021-01-11 13:57:35 -05:00
Jonathan Rainville 29a9ca4ef5 refactor: use getNickname function for nicknames fetches 2021-01-11 13:57:35 -05:00
Jonathan Rainville 2d3a870f60 wip community invitatations and more 2021-01-11 13:57:35 -05:00
Jonathan Rainville ce3252fb8f wip community 2021-01-11 13:57:35 -05:00
Pascal Precht 0767ce2443 feat: introduce timeline
Closes #1489 #1490 #1491
2021-01-04 15:16:37 -05:00
Pascal Precht 90dfa94805 refactor: move getProfileImage API to appMain
Prior to this commit, the function was expected on a `chatView` QML object.
This has worked out so far because the places where the API is used were always
living inside `ChatLayout`.

With the new timeline however, this is no longer the case so we have to make sure
that the API is available to other views as well.
2020-12-21 14:15:08 -05:00
Jonathan Rainville d01c9fef79 feat: add profile pic support 2020-12-17 16:44:25 -05:00
Richard Ramos ae30d04010 refactor: ProfileView 2020-12-08 17:01:22 -05:00
Richard Ramos 8890805a14 fix: scroll to bottom when switching back from any module to chat 2020-11-26 11:43:45 -05:00
Richard Ramos cdcb928a0c refactor: simplify ProfilePopup usage 2020-10-02 12:48:58 -04:00
Richard Ramos 2fb9d569f7 refactor: open profile popup 2020-10-02 12:48:58 -04:00
Pascal Precht bc7b825f55 uiux(Chat): ensure chat input gets focus when changing views and channels
Fixes #804
2020-09-29 13:48:13 -04:00
Jonathan Rainville bcbcd13611 refactor: use profileSettingsFile QtProperty instead of profile directly 2020-09-16 16:58:55 -04:00
Jonathan Rainville db9472bc0b refactor: change settings to use a filename instead 2020-09-16 16:58:55 -04:00