Commit Graph

4278 Commits

Author SHA1 Message Date
Lukáš Tinkl 8e4d3c3fa9 hotfix: unbreak "pointing hand" cursor
turns out we can indeed have only one MouseArea to handle both the cursor
and intercepting the event in the "loading" state
2022-09-21 18:20:15 +02:00
Alexandra Betouni 4fcbce3949 feat(StatusBaseButton)!: Converting to QQC2 Button
Closes #782
2022-09-21 18:20:15 +02:00
Patryk Osmaczko 2c0f8c8e94 feat(StatusChatListItem): add online badge 2022-09-21 18:20:15 +02:00
Igor Sirotin 4a0b65b1d4 fix(StatusMessageEmojiReactions): Fixed emoji reactions appearance (#889) 2022-09-21 18:20:15 +02:00
Khushboo-dev-cpp 840d4bc14a fix(StatusExpandableItem): Added new padding for Tertitary type expandable item, a flag to set separator to visible true or false (#896) 2022-09-21 18:20:15 +02:00
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
Patryk Osmaczko e0d24628a4 fix(StatusToolTip): remove contentItem by id usage
Otherwise contentItem can't be safely overriden by the clients
2022-09-21 18:20:13 +02:00
Patryk Osmaczko 77d32efa4b feat: add social link icons 2022-09-21 18:20:13 +02:00
PavelS 0c522d393a fix(StatusImageCropPanel) add margins to crop area (#848)
Needed for status-im/status-desktop#6835

Required by status-im/status-desktop#6872
2022-09-21 18:20:13 +02:00
MishkaRogachev bc0db0a632 fix(StatusCommunityTags): fix width calculation 2022-09-21 18:20:13 +02:00
PavelS 7071a29700 fix(StatusTabButton) adjust tab button height (#842)
Needed by https://github.com/status-im/status-desktop/issues/6786
2022-09-21 18:20:13 +02:00
Lukáš Tinkl 6dd90ae3a2 feat/(Status[Base]Button): add a new Primary variant
we were missing this variant, needed for status-im/status-desktop#6081
2022-09-21 18:20:13 +02:00
Lukáš Tinkl 66a1b24274 chore(Palette): do not define font properties twice
sue a shared impl, they are common to both light/dark palettes
2022-09-21 18:20:13 +02:00
PavelS 53be0784a8 fix(StatusImageCropPanel) adjust Image Crop component (#839)
- update StatusSlider handle and background positioning

Needed for https://github.com/status-im/status-desktop/issues/6835
2022-09-21 18:20:13 +02:00
Stefan 0f40f5bb0d fix(tests): fix building tests 2022-09-21 18:20:13 +02:00
Stefan 0a6c1bfcac fix(StatusImageCrop): fix artefacts due to offscreen caching
Fix by disabling layering, leftover from the previous approach of not
using Canvas.

Also investigate TODO regarding artefacts workaround and implement
a proper approach

Fixes: #6640
2022-09-21 18:20:13 +02:00
Lukáš Tinkl fc7c0a07a5 hotfix(StatusDatePicker): fix some UI issues
- make selectedDate read/write for preselecting the date
- minor toolbar spacing/sizing fixes
2022-09-21 18:20:13 +02:00
Michał 82707a0d48 fix(StatusSeedPhraseInput): fix notifying inserting word done (#841) 2022-09-21 18:20:13 +02:00
Lukáš Tinkl 2d22b4260e feat(StatusDatePicker): introduce StatusDatePicker component
nothing fancy, just a combo box with a calendar popup; needed for the
discord import tool UI

Related to status-im/status-desktop#6081
2022-09-21 18:20:13 +02:00
MishkaRogachev f5bcbb93de fix(StatusInput): Add labelPadding customization and improve height calculation 2022-09-21 18:20:13 +02:00
MishkaRogachev 22308abfcd fix(StatusBaseInput): placeholder text is also can be multiline 2022-09-21 18:20:13 +02:00
MishkaRogachev eccf3ba811 fix(StatusStackView): Use availableWidth for content 2022-09-21 18:20:13 +02:00
Michal Iskierko 4646ccaa1f feat(StatusColorRadioButton): expose radio button diameter property
Issue #5982
2022-09-21 18:20:13 +02:00
Jonathan Rainville b2ed066a5d fix(StatusChatList): fix wrong id used 2022-09-21 18:20:13 +02:00
Stefan 603d8e7ee9 feature(StatusAddressPanel): Implement generic address display control
Provides frame, prefix icon and copy operation int addition to StatusAddress

Updates: #6798
2022-09-21 18:20:13 +02:00
PavelS 524f941401 fix(StatusImageCropPanel) vertically align slider in ImageCropPanel (#829)
- change StatusSlider to be vertically centered

Needed for https://github.com/status-im/status-desktop/issues/6725
2022-09-21 18:20:13 +02:00
Boris Melnik a82d07db7a fix(handler): Remove handler include from sandbox (#834) 2022-09-21 18:20:13 +02:00
Michał abd8ea2195 chore(StatusChatList): Keep sync with underlying model after reordering (#825) 2022-09-21 18:20:13 +02:00
Alexandra Betouni b64f2394cd fix(StatusBaseInput): added left margin between text and left component (#830)
Needed for https://github.com/status-im/status-desktop/issues/6730
2022-09-21 18:20:13 +02:00
Michał 0440df796b chore(StatusChatList)!: Use SortFilterProxyModel instead of filtering functions (#823)
BREAKING CHANGE: StatusChatList has no longer filterFn, model is
intended to be already filtered externally
2022-09-21 18:20:13 +02:00
Boris Melnik f5c75562b2 feat(hot reloading): Add first version of hot reloading (#674)
Version for: https://github.com/status-im/status-desktop/issues/5690
2022-09-21 18:20:13 +02:00
Anthony Laibe 6ca24d33cb feat(@StatusAppNavBar): Add qr scan button 2022-09-21 18:20:13 +02:00
Jonathan Rainville c5b121399e test(StatusSmartIdenticon): add objectName for tests 2022-09-21 18:20:13 +02:00
Alexandra Betouni de6ac27fc7 feat(StatusQ/Controls): introducing StatusBackButton
Closes: https://github.com/status-im/status-desktop/issues/6727
2022-09-21 18:20:13 +02:00
Boris Melnik d999cb5d88 fix(StatusSearchPopup): Fix `forceActiveFocus` method (#818) 2022-09-21 18:20:13 +02:00
Alexandra Betouni bac36176bd fix(StatusInput): setting default 44px in min/max height (#817) 2022-09-21 18:20:13 +02:00
Igor Sirotin 5b31926939 Reimplemented components using `StatusComboBox` (#815)
* fix(StatusAccountSelector): Refactored and reimplemented using `StatusComboBox`
* fix(StatusAssetSelector): Refactored and reimplemented using `StatusComboBox`
* fix(StatusColorSelector): Reimplemented using `StatusComboBox`
* fix(StatusCardPage): Replaced `StatusSelect` with `StatusComboBox`
2022-09-21 18:20:13 +02:00
Mikhail Rogachev cb13839f95 fix(StatusCommunityTag): Polish text and icon sizings (#824) 2022-09-21 18:20:13 +02:00
Alexandra Betouni 8210e06292 fix(Utils): moved emojilists.js instance inside Emoji singleton (#816)
Needed for: https://github.com/status-im/status-desktop/issues/6729
2022-09-21 18:20:13 +02:00
Khushboo-dev-cpp ae75afb67a feat(StatusDialog): Add DIalog Background componentto make the dialog background customizable (#809) 2022-09-21 18:20:13 +02:00
Khushboo-dev-cpp ac8f8cbca9 chore: Remove StatusAssetSelector from StatusQ (#806)
* fix(StatusSelect): Expose a property to make arrow in the select item visible/invisible

* chore: Remove StatusAssetSelector from StatusQ as its base component StatusSelect is enough to build this further on desktop side.

This component also has dependecy on BE and hence should be moved out.

BREAKING CHANGE:
2022-09-21 18:20:13 +02:00
Anthony Laibe 6ad6a38369 feat(@StatusFloatingButtonsSelector): expose repeater (#795) 2022-09-21 18:20:13 +02:00
Patryk Osmaczko 444981723c chore(StatusListPicker): enable picker to work with incompatible models 2022-09-21 18:20:13 +02:00
Jonathan Rainville 5e40f2e4d4 test(StatusListItem): add objectName 2022-09-21 18:20:13 +02:00
Lukáš Tinkl 2529392569 fix(StatusSeedPhraseInput): Back up seed phrase inputs are missing spacing
Closes: #6720
2022-09-21 18:20:13 +02:00
Lukáš Tinkl ab817c862c feat(StatusTextArea): Implement StatusTextArea
Implements a standard QQC2 TextArea control with Status styling

Closes #236
2022-09-21 18:20:13 +02:00
Jonathan Rainville a05a35939a feat(StatusInput): add force argument to validate to force validation 2022-09-21 18:20:13 +02:00
Igor Sirotin b3dfa02297 feat(StatusComboBox): Introduced new component to replace `StatusSelect` (#790) 2022-09-21 18:20:13 +02:00
Noelia 29fbe51e8f test(StatusTagSelector): Added `objectName` property needed for automation 2022-09-21 18:20:13 +02:00
Noelia c42f7d42fa test(StatusChatList): Added `objectName` property needed for automation 2022-09-21 18:20:13 +02:00
Noelia b42b347374 test(StatusChatInfoButton): Added `objectName` property needed for automation 2022-09-21 18:20:13 +02:00