Commit Graph

5807 Commits

Author SHA1 Message Date
Pascal Precht 5024db4f57 feat(StatusMessage): add support for `messageAttachments`
Prior to this commit, a `StatusMessage` can hold only a single
`messageImage`.

There will be scenarios where messages can have multiple attachments.
This is the case when importing messages from discord.
Hence, this commit introduces a new `messageAttachments` property which
is a whitespace separated list of attachment URLs (very analogous to the
already existing `linkUrls` property).

For now, we can safely assume these URLs will resolve to image content.
In future versions however, we might want to support additional content
types to handle any byte stream.
We will then change `messageAttachments` from `string` to a list model
that holds `attachment`s where we also have access to its `contentType`.
This will allow us to decide at runtime which component should be used
to view/play the attachment.
2022-09-21 18:20:15 +02:00
Khushboo-dev-cpp a298dace74 feat(StatusListItem): Added new properties to handle inline tags needed in the wallet section (#879) 2022-09-21 18:20:15 +02:00
Lukáš Tinkl 19b9c6e164 fix: StatusDateGroupLabel doesn't support i18n and has no year
- fix evaluating "Today" and "Yesterday"; can't just compare the two Date
objects, the timestamp will always differ so need to compare
year/month/day only
- best attempt to have the month translated, and year added if they
differ (until Qt6 at least, left a TODO)

Closes #843
2022-09-21 18:20:15 +02:00
Sale Djenic 938a544330 feat(Controls): introduce `StatusPasswordInput`
`StatusPasswordInput` is a wrapper around  `TextField` with an option
to display signing phrase.
2022-09-21 18:20:14 +02:00
Michał 21f187ad39 feat(StatusItemSelector): improved reusablity, addItem and popup handling removed (#887)
Additionally:
- minor positioning fixes in StatusListItem and StatusListItemTag
- StatusItemSelectorPage updated and added to main.qml
2022-09-21 18:20:14 +02:00
PavelS 97c3b6c7df fix(StatusListItem): adjust placement of title icons (#888)
Needed for https://github.com/status-im/status-desktop/issues/6972
2022-09-21 18:20:14 +02:00
Pascal Precht 85ad799218 fix(StatusBaseButton): fix wrong id usage 2022-09-21 18:20:14 +02:00
Pascal Precht 6e10b57c79 fix(StatusBaseButton): keep `MouseArea` enabled when in `loading` state
`StatusBaseButton` comes with a `MouseArea` that is disabled when the
button is set to being disabled. Prior to this commit it's *also* disabled
when the button is in `loading` state.

This makes sense because a button that is in `loading` state shouldn't
not emit any click signals or trigger hover indications.

There's a scenario though in which we want render a tooltip on top of
the button which is in `loading` state. For the tooltip to show, the
`MouseArea` of the button needs to be enabled.

Hence, this commit adjust `StatusBaseButton`'s behaviour to *not*
disable the `MouseArea` when it's `loading`. Mouse events are already
prevented via the `loading` flag. So the only thing left to do is to
ensure the button doesn't trigger any hover indication when in `loading`
state.
2022-09-21 18:20:14 +02:00
Pascal Precht 25bc2fe566 feat(StatusMessageReply): introduce `profileClickable` property
This is analogue to `profileClickable` available on `StatusMessage`,
preventing users to activate a reply-to-message's profile avatar.

At the time of this commit, this is only the case for imported messages.
So we can derive that, if `StatusMessage.profileClickable` is false, then
`StatusMessageReply.profileClickable` is also false.

Hence, we don't need to expose this property to higher level APIs.
2022-09-21 18:20:14 +02:00
Stefan 4332de11a2 fix(StatusSelect): set implicitWidth to the content size 2022-09-21 18:20:14 +02:00
Patryk Osmaczko 40c90bb19f fix(StatusTagSelector): forbid removing readonly tags 2022-09-21 18:20:14 +02:00
Lukáš Tinkl 20cbd99ae7 fix(StatusRadioButton): StatusRadioButton can't be fully clicked
- fix the control's width (don't have to be explicit, the QQC2 Control
takes care of calculating the implicitWidth/Height automatically based on
contents)
- while at it, fix the metrics to be able to support RTL
languages too (it was off for Arabic)
- some smaller cleanups too
2022-09-21 18:20:14 +02:00
Lukáš Tinkl fb43b9cd7f fix: remove duplicate entries 2022-09-21 18:20:14 +02:00
Alexandra Betouni dff3d95e14 feat(StatusQ): Merging Icon, Background and Image Settings (#788)
Closes #781
2022-09-21 18:20:14 +02:00
Alexandra Betouni 25c8eb7b49 fix(StatusScrollBar): Fixed visibilty when policy always on (#878)
Needed for https://github.com/status-im/status-desktop/issues/6262
2022-09-21 18:20:14 +02:00
PavelS 5c6fe0983d fix(StatusSelectableText): add missing Utils import (#880) 2022-09-21 18:20:14 +02:00
Alexandra Betouni 5d3bd00cd8 feat(StatusQ/Layout)!: Cleaning up Layouts for consistency (#836)
- Created StatusMainLayout to be used as the apps' main
  layout
- Created StatusSectionLayout to be used for all sections as
  their base
  - Created StatusToolBar as part of StatusAppLayout with
    standard component the ActivityButton and posibility to
    add custom implementation components

Needed for https://github.com/status-im/status-desktop/issues/6635
2022-09-21 18:20:14 +02:00
Pascal Precht 4f723b4278 feat(StatusMessage): introduce `profileClickable` property
This property allows for enabling/disabling whether or not the profile
picture and display name of a message is clickable and also dictates the
cursor type accordingly.

The reason this is being introduced is that, with imported messages from
other systems (e.g. discord, telegram etc), we don't want the user to
trigger the popup menu for more profile information because we don't
know any profile information of messages coming from such systems.

Such messages are signed by the community.

Closes https://github.com/status-im/status-desktop/issues/6680
2022-09-21 18:20:14 +02:00
PavelS 9769fdbb00 feat(Icons): add quote icon (#876)
Needed for https://github.com/status-im/status-desktop/issues/6988
2022-09-21 18:20:14 +02:00
Michał d27a655637 fix(StatusImageCropPanel): display SizeAllCursor cursor when over image (#864) 2022-09-21 18:20:14 +02:00
MishkaRogachev 1fc5525f9e fix(StatusChatListCategory): Add alias to category item for squish tests 2022-09-21 18:20:14 +02:00
PavelS 0717f155e8 feat(StatusScrollView): add ensureVisible function to Utils (#868)
Replace local ensureVisible with ensureVisible function from Utils

Required for https://github.com/status-im/status-desktop/issues/7093
2022-09-21 18:20:14 +02:00
Michał e754af13d3 chore(StatusAppNavBar): List views' bounds behavior refined (#866)
- outer list: not draggable
- communities list: not draggable when sufficient space,
  drag and overshot otherwise
2022-09-21 18:20:14 +02:00
Noelia e87b00f1f8 feat(StatusItemPicker): Added `radioButtonSize` property
Added properties `namePixelSize` and `radioButtonSize`.
Some fixes when shortName is undefined.
2022-09-21 18:20:14 +02:00
Noelia c8b880b1a9 feat(StatusRadioButton): Added size variant `Large` and `Small` 2022-09-21 18:20:14 +02:00
Pascal Precht 0b5ac614f9 feat(StatusMessage): add `messageOriginInfo` property
This is a property that allows for adding information about the origin
of a message (e.g. "Imported from discord").

This will most likely be only useful for messages that have been
imported from any other platform.

Because importing from other platforms requires those message to be
signed by a Status Account, it's undesirable to render the public key of
the account that signed imported messages.

Hence, when there's a `messageOriginInfo`, we don't render the elided
public key.
2022-09-21 18:20:14 +02:00
Igor Sirotin 7a94479f37 test(StatusMessage): Added objectName to `StatusTextMessage` (#869) 2022-09-21 18:20:14 +02:00
Jonathan Rainville 98e5d6cc57 test(StatusChatInfoButton): add objectName to pin text for tests 2022-09-21 18:20:14 +02:00
Jonathan Rainville cdf9344943 test(StatusTextMessage): add objectName for test 2022-09-21 18:20:14 +02:00
Michał 508b3f35cf fix(StatusTabButton): display hand cursor on hover when enabled (#859)
Needed for https://github.com/status-im/status-desktop/issues/6787
2022-09-21 18:20:14 +02:00
Michal Iskierko dc45e275f1 fix(Theme): Adding additional green color
Issue #6279
2022-09-21 18:20:14 +02:00
Stefan 15c766a3d6 fix(StatusChatListCategory): Clicking on a category should toggle it
The culprit here is at the very bottom, in StatusListItem: the toplevel
item was a MouseArea handling the clicks and this causes problems as any
extra buttons placed on top of it get their mouseClick events delivered
in wrong order (after StatusListItem). Fix this by having a MouseArea
handling click events behind the actual toplevel item as a last resort,
catch all handler  plus the actual "sensor" being just a MouseArea that
handles merely the hover events

- drop unneeded onPressed/onReleased handlers in StatusChatListCategoryItem
- fix some warnings (typos, unreachable code, shadowed variables)

Fixes: #6733
2022-09-21 18:20:14 +02:00
Stefan 75bdb9217f test(Sandbox): extend sandbox test for StatusChatListCategoryItem
Scope was to validate why StatusChatListCategoryItem miss behaves when
used in StatusChatListCategory.

On its own all the events works fine, as it can be seen by monitoring
the click events for each item (title, item and buttons).
However, inside StatusChatListCategory the mouse events are overlapped and
button events trigger also for the item. Tried obvious fiexes like
disabling steal of mouse events from buttons but this break the hovering
effect.

Updates: #6733
2022-09-21 18:20:14 +02:00
PavelS 33786814b9 fix(CreateChatView): adjust start chat page (#863)
Add fix from https://github.com/status-im/status-desktop/pull/7077 to
demoapp
2022-09-21 18:20:14 +02:00
Igor Sirotin 23e50341d2 fix(StatusMessage): Design update and minor improvements (#752) 2022-09-21 18:20:14 +02:00
Sale Djenic c922bf5adf feat: added missing icons
The following icons added:
- `key_pair_prvate_key.svg`
- `key_pair_seed_phrase.svg`
2022-09-21 18:20:14 +02:00
Sale Djenic 9dca6156f6 feat(StatusListItem): scroll feature added if list of tags exceeds component width 2022-09-21 18:20:14 +02:00
Jonathan Rainville a0a6cd3ae1 test(StatusSearchPopup): add object name for tests 2022-09-21 18:20:14 +02:00
Igor Sirotin 93a709bf36 fix(StatusComboBox): Pointing hand cursor on hover (#862) 2022-09-21 18:20:14 +02:00
PavelS 2d3e7919f1 fix(StatusInput)!: trigger errors bindings (#858)
Change valid to false by default

Fixes https://github.com/status-im/status-desktop/issues/6825

BREAKING CHANGE: StatusInput now emits signal for errors change and is
invalid by default
2022-09-21 18:20:14 +02:00
Anthony Laibe f157229e36 feat(@StatusComboBox): expose inner objectName property (#850) 2022-09-21 18:20:14 +02:00
Jonathan Rainville 82e5f03f5e test(StatusSearchPopup): add object names for tests 2022-09-21 18:20:14 +02:00
Stefan 9d2c05ad48 fix(StatusChatListAndCategories): duplicate objectName
Due to repository automerge.
2022-09-21 18:20:14 +02:00
Stefan e9879aa3ae tests(StatusChatListAndCategories.qml) add object names for testing 2022-09-21 18:20:14 +02:00
MishkaRogachev 6bac2322c2 test(StatusChatListAndCategories): Add object names 2022-09-21 18:20:14 +02:00
PavelS 6da0b9d534 fix(StatusPopupMenu): update popup content to support big margins (#853)
Needed for https://github.com/status-im/status-desktop/issues/6822
2022-09-21 18:20:14 +02:00
PavelS 2f64374bbd fix(StatusMenuItemDelegate): adjust menu item height (#852)
Needed for https://github.com/status-im/status-desktop/issues/6830
2022-09-21 18:20:14 +02:00
Sale Djenic 8c33ad6191 feat(StatusCheckbox): introduced new `leftSide` prop
- `leftSide` determines whether to display check box on the left or right
side, defaulted to left
2022-09-21 18:20:14 +02:00
Khushboo-dev-cpp 0d35fc022f fix(StatusColorSelectorGrid): Expose the Color Repeater for Squish testing (#847) 2022-09-21 18:20:14 +02:00
Patryk Osmaczko 363f60cddb fix(StatusIconTextButton): make icon invisible when no icon is loaded
Otherwise this button has invisible left padding when no icon is set
2022-09-21 18:20:14 +02:00