43 Commits

Author SHA1 Message Date
Pascal Precht
b1e5a15e2a refactor(ChannelContextMenu): remove dependency on active channel
This commit does a bunch of things:

- First and foremost, it removes the active channel dependency.
  This is needed to have it operate on the correct channel object,
  without forcing us to change the active channel (e.g. right-clicking
  on a channel item that's not active, will make it active eventually)
- To make that work, this commit changes the `ChannelContextMenu`
  to receive a `ChatItemView`, so it can be used for things like determining
  what menu options are shown, what members are in a group, whether
  someone is admin of a group etc.
- This also required a new `QtProperty` called `contextChannel`.
  The reason this is required, is because in some cases, like receiving
  members count of groups, we need a complete `ChatItemView` object
  as we don't have access to certain APIs otherwise.
- Unfortunately, we can't pass down `activeChannel` every where for that
  because sometimes the context menu should not actually operate on
  the active channel.

Fixes: #1755
2021-02-01 11:53:06 -05:00
Pascal Precht
f5bcaa5ac5 refactor: introduce ChannelContextMenu component
This commit introduces a new `ChannelContextMenu` component that can be reused
in different places, such as the channel list, as well as the chat bar.

At the moment we use two different pop up menus that also show two different
set of menu options. By using `ChanelContextMenu` in both of these places,
we get the same menu and same experience.

Closes #1711
2021-01-21 12:02:41 -05:00
staked-smart-ace
086c868bdc
uiux(StatusButton): introduce warn type
Fixes #1603
2021-01-19 12:45:03 +01:00
Jonathan Rainville
76688733f5 feat: add muted states for channel
Fixes #1615
2021-01-15 13:52:50 -05:00
Jonathan Rainville
317a183b8b fix: toggle top bar menu on button click 2021-01-12 16:35:44 -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
hydrogen
2baa55b5c4 feat: add fetch more menu item in the chat drop down menu
fix import

fix extra spaces
2020-11-26 11:20:25 -05:00
Jonathan Rainville
23b8c6ab57 feat: add styled browser settings menu 2020-10-21 12:06:50 -04:00
Richard Ramos
2da4abf8eb fix: "Contact / Not a contact" indicator was not being updated when an user was added/removed as contact 2020-10-05 10:56:38 -04:00
Richard Ramos
2fb9d569f7 refactor: open profile popup 2020-10-02 12:48:58 -04:00
Pascal Precht
599f788e67
feat: introduce StatusChatInfo and StatusChatInfoButton components
These components are used to render the chat info in the top bar of the chat view.
`StatusChatInfoButton` is an clickable button that will open chat info dialogs.

Closes #923
2020-09-23 08:53:23 +02:00
Pascal Precht
fac0e50e37 feat: introduce StatusIdenticon components
This component introduces `StatusLetterIdenticon`, `StatusImageIdenticon`
and `StatusIdenticon`.

- `StatusLetterIdenticon` renders an identicon with a single letter based on a
name.
- `StatusImageIdenticon` renders an actual image based on an identicon URL
- `StatusIdenticon` is a composition of the former both, but with a loading mechanism
  to decide which should be rendered

The commit also ensures all of these components are used respectively throughout
the application.
2020-09-23 08:52:30 +02:00
Jonathan Rainville
0c686c3fcf chore: run qstrConverter script 2020-08-27 17:09:37 -04:00
Richard Ramos
f6cf197983 fix: pixelated icons on the menu 2020-08-17 11:57:32 +02:00
Pascal Precht
4f7486afbe refactor: Introduce more generic confirmation dialog for simpel cases 2020-08-13 14:40:03 -04:00
Richard Ramos
e96f3ed47f
fix: display ens names with correct format in all screens 2020-08-11 08:39:07 -04:00
Pascal Precht
17396c85cb feat(GroupInfo): allow user to visit group member profile page
Closes #638
2020-08-10 09:42:47 -04:00
Jonathan Rainville
b829acb3c4 chore: re-run qstr converter 2020-07-17 11:55:01 -04:00
Jonathan Rainville
851eb82026 feat: make channel list compact in compact mode 2020-07-16 10:32:27 -04:00
Jonathan Rainville
92f5a9ca5c feat: add dark theme colors and new properties for it 2020-07-14 12:37:17 -04:00
Jonathan Rainville
cbcab82e5d fix: fix PopupMenu icon size to be back to 25 but customizable 2020-07-10 15:39:56 -04:00
Jonathan Rainville
dd6454f55c fix: fix PopupMenu style 2020-07-10 15:39:56 -04:00
Jonathan Rainville
9462beaa3f fix: fix chat menu button 2020-07-10 15:39:56 -04:00
Jonathan Rainville
b5619dadaf fix: close chat menu when re-clicking the button 2020-07-10 15:39:56 -04:00
Jonathan Rainville
1eb1d3d41c chore: run transform script to change qstr to qstrid 2020-07-08 12:37:41 -04:00
Jonathan Rainville
a529d729ea feat: change Theme to Style to enable changing Theme 2020-07-03 09:59:14 -04:00
Iuri Matias
d84c16bc63 fix radius 2020-06-25 16:13:17 -04:00
Iuri Matias
578277452a display if user is contact or not in the topbar 2020-06-23 13:43:39 -04:00
Jonathan Rainville
7e96a17f3b fix: add StyledTextEdit and TextField to use the font 2020-06-19 14:53:45 -04:00
Jonathan Rainville
8755c901de fix: fix font loading issue and create a text component to use that font 2020-06-19 14:53:45 -04:00
Pascal Precht
7d5ea12095 feat(chat): implement clearing chat history
Closes #148
2020-06-18 13:46:05 -04:00
Iuri Matias
0ad64cc5de update qml imports 2020-06-18 11:02:11 -04:00
Richard Ramos
95de3b4267 feat: group information 2020-06-15 08:19:37 -04:00
Richard Ramos
f52ae4f994 fix: qml warnings 2020-06-13 10:01:05 -04:00
Richard Ramos
e38f1b0268 fix: code review 2020-06-13 09:56:58 -04:00
Richard Ramos
78e8e6be93 feat: group information 2020-06-13 09:56:58 -04:00
Richard Ramos
9a2144fe75 feat: leave private chat groups 2020-06-11 10:29:15 -04:00
Richard Ramos
39c494f9d5 refactor: Remove ChatItem object 2020-06-10 15:08:55 -04:00
Richard Ramos
afc247be23 Various fixes
- Make the topbar channel identifier color match the channel list color
- Display private groups on the channel list
- Reduce chat identifier height
2020-06-09 18:13:53 -04:00
Pascal Precht
dc6793a0f0 refactor(chat): make activeChannel a ChatItem to expose relevant information to the view 2020-06-02 16:57:59 -04:00
Pascal Precht
366d50bb74 feat(ui): introduce ChannelIcon component
This component renders channel identicons based on the chat type
and channel name and will render a user identicon in case of a one-on-one
chat.
2020-06-02 16:14:49 -04:00
Iuri Matias
c1ec5de949 extract TopBar into its own file 2020-05-28 06:28:18 -04:00