Enabling the community archive protocol could fail when another app is
using the same port that is specified as torrent client port.
This would cause the app to crash.
With these changes we:
1. No longer crash the app but output an error in the logs
2. We popup a dialog telling the user that the specified pord is in use
Closes#7328
similar to the profile dialog, we need to add an opacity mask in front of
the contentItem to ensure the rounded corners at the bottom are preserved
when we have no margins/padding inside the popup
Fixes#7759
- Added specific `bdd_hooks.py` for `tst_passwordStrength`.
- Updated `tst_passwordStrength` screenshots (now taken when input is focused).
- Restored `tst_statusLoginPassword` scenarios.
- `tst_statusSignUp` will only contain positive signup test case.
- Created new test case tst_signUpSeedPhraseNegativeCases`.
- Created new test case `tst_signUpNegativeCases` with specific `bdd_hooks.py`.
Closes#8013
The profile fetching view is part of the onboarding process. This view should be displayed on existing user onboarding flow, while the profile is being fetched in the backend.
It has 3 states:
1. Fetching in progress
2. Fetching completed
3. Fetching error
Prior to this commit we were merely checking if the message in question
was the last one.
With this commit we now check whether there's a reply in the first place
and whether the reply-to-message is the correct one.
We also distinguish whether the message we're replying to is the one
from the loggedin user (and not someone else's)
Adds a networks proxy model to be used with the original source model
for visualization and independent selection of isEnabled (as isActive) for a custom
purpose.
Use the proxy in the receive modal dialog for selection of networks
to be included in the address. This way the view follows the original
model but allows independent selection of networks.
Closes: #8180
Quick integration of fetching balance in the current chart view.
The proper implementation requires refactoring the QML views to separate
price chart, that depends only on the token and chain, from balance that
depends on token, chain and address.
Closes: #7662
Applied the following solution agreed with design team: When a user types their message, hitting enter, or pressing send, should automatically create the chat and send the message, removing the 'To' input field and Confirm/Reject buttons (that means, directly navigating to the new created chat).
Fixes#7706
- do not restrict NicknamePopup's regexp to ASCII characters
- a similar thing could be done to the user's DisplayName but currently
that's blocked on status-go side
- uses RXValidator from dotherside
Needs status-im/dotherside/pull/74
Fixes#8115
Since tertiary action for the keycard popup module is always used to cancel/invalidate
the current flow, it's renamed now to cancel action (avoids confusion this way and it
seems more intuitive. It doesn't set any state. It should be defined if it's possible to cancel
the flow from the current state.
This commit fixes a scrolling on macOS using trackpad in the context
of Add Wallet Account using seed-phrase.
Considerations:
The scrolling of advanced input with seed-phrase selected was failing
when mouse pointer was moving over a word phrase.
Scrolling of the popup content in AddAccountModal would not work
when the mouse pointer was over a StatusSeedPhraseInput form
the ImportSeedPhrasePanel
The identified root cause is StatusBaseInput's flicker which captures
the mouse wheel event. It seems the trackpad wheel events are handled
differently on macOS by the flicker and not propagated to the parent.
Fixes#5355
When typing at non-end position (in channel name filed) cursor
is no longer jumping to the end. Additionally binding loop
on "contentWidth" is fixed.
Closes: #7805
closed
Otherwise, the loader stays active, which requires users to hit CTRL-F
twice to reopen it again (because it'll first deactivate, then activate
again).
Fixes#7989
There was a requested design change where no longer wanted to have
checkboxes to decide which files will be included for a discord import,
but rather have an "X" button that enables users to remove items.
This commit implements this refactor.
In addition, it ensures that the already loaded discord categories and
channels that have been extracted from validation, are kept in sync as
well.
Meaning, if a user removes a file from the file list, the corresponding
channel will be removed as well.
If there's not channel in a given category, the category will be removed
as well.
Closes#8125#8126
- Created `bdd_hooks` that contain the sing up steps just only once in the feature start and the needed start steps depending on the test case.
- Updated feature files removing sign up steps and given/when/then reorganization.
Closes#8026
An issue with adding wallet account was happening only for a new user,
the reason for that was incorrectly set keystore path and keystore file couldn't
be found on the statusgo side because of that.
Setting `visible` or `enabled` to `false` stops mouse events from being
propagated -> hide the original message using `opacity` instead
Fixes links being unclickable when the gradient/mask is in effect
Closes#8116
Property bindings were added for showMessageLinksSwitch in order for it to change the checked state whenever previewableSites model has any item checked or displayChatImages setting is true.
There are two main changes in the model -> view relationship:
1. The model coming from the store becomes the only source of truth and the UI will only change when the model changes. This means that when another UI component from settings menu wants to change some setting it needs to update the model, not UI components directly.
2. When the store will provide a new model we will update only rows that are different in the current model.
Those have been changed in status-go, resulting in wrong visualization
of import warnings and errors.
This commit adjusts them so they match the correct codes again.
so that we always have a higher version than the latest stable release
(0.7.x at the moment), giving us a buffer to further bump it to 0.8.9x as
we approach the 0.9.x series
- fill the senderId just like other messages
- add some checks in Utils since the "publicKey" (ID) coming Discord
isn't in the format we'd normally expect
Closes#6678
due to the refactor, StatusMessage is no longer the toplevel item inside
the delegate, so adjust the functions
some minor cleanups and dead code removals; striving for keeping the
number of properties and bindings inside a ListView delegate at a minimum
chore(@storybook): add language & currency settings view to storybook
chore(@storybook): add language & currency settings view to storybook
fix storybook menu
remove qsTr
This adds the ProfileDialogView to storybook pages
For now, there's just one control to switch between own profile and
another profile; more to come in later PRs.
The mocked global objects (mainModuleInst and globalUtilsInst) are
injected via QML
Fixes: #7820
Prior to this commit we would reset the file list (and categories and
channels) whenever the `CreateCommunityPopup` was closed.
This made sense because at that point we could assume that the user has
decided to somehow stop the process of an import, so the next time the
modal is opened again, we want that data to be reset.
However, it turned out that this introduced a bug in the scenario where
and import is running, and while it's running, when the user decides to
hide the progress modal, it would reset the warnings count, resulting in
the progress banner to show an invalid state until the next progress
signal was emitted.
We don't want to reset this data every time we close the modal. We only
want to reset it when we know there's no import in progress.
Fixes#7787
- wrap everything we can in AppMain with a (async) Loader
- do not access globals w/o a proper store
- drop some dead code
Although I wasn't able to completely fix the bug, the ~50% improvement in
startup time is still worth trying imho. On my machine, the startup time
went down from ~7s to under 4s.
Related: #7292
- qml_base.ts is created as a reference point for translators
- qml_en.ts is a minimal overlay translation, providing just the needed
plural forms
- adjust the script to generate the above TS files
- fixup some leftover qsTrId() calls and the qmake file
Remove the workaround, to the approach of using the complete last word event,
for three letters seed-words. The three letters condition introduced
another side effect when completing the "sentence" and made the
_internal.mnemonicInput contain an extra duplicate word.
Unify the event `doneInsertingWord` generation for the internal purpose
with the external. This will trigger a secondary for some usage but
I see no problem with even in other usages.
Fix corner case when user enters a correct seed word that is not singular
and uses the mouse to jump. In that case the doneInsertingWord is not triggered
Fixes: #7715
Keycard settings view - UI - developed in a way that list of keycards is displayed
if there is at least one keycard set up. If the a keycard is locked or gets locked it
will be correctly marked in red. Selecting keycard from the list, its details may be
seen and additional flows may be run for it (so far only unlock flow is developed).
Fixes: #7025
Updated `Create` and `Confirm` password views according to new design decisions taken to give consistency to the onboarding screens (related to font-size).
Updated related squish test cases: Screenshots updated with new font-size and refactored some objectNames and objects that where using `text` property instead of `objectName`.
Updated `Input` components to `StatusPasswordInput` ones.
Fixes#7447
This workflow doesn't save the keystore files which are required in order
to create new wallet accounts. It is not yet clear how to proceed with
saving the keystore files without an accountId.
See `setupAccountKeycard` which is missing `storeAccount*` calls vs
working workflow done in `setupAccount`
Closes: #7867
Enabled restart info popup after language is changed --> Workaround to temporary resolve the crash we have when language is changed (`startupModule` is null and some qml bindings are still calling this dead pointer) so, change language will not retranslate and instead, also on mac and win, the app will need a restart to apply the new language.
Disabled retranslations for all os on the corresponding service.
Will temporary fix#7709
- user is able to see community without being a member
- invitation bubble always display "Go to Community"
- join community buttons are displayed in community view
main part of: #7072
This broke with the introduction of discord messages because we were
setting the `assetSettings.isImage = true` when `isDiscordMessage`.
This has overriden the default config for all non discord messages which
check for whether the asset source includes `("data")`.
There was an issue where imported messages from third-party services
would cause super laggy scroll behaviour in the chat view.
The reason for that is that on scroll, the app keeps calling
`getVerificationRequestFrom()` on the chatkey of the community.
Typically the results of these requests are cached so that it should
perform the call only once, but because there's no actual verification
request/contact for the community chat key (all third-party messages are
signed by the community), the call keeps on happening over and over.
This commit adds a flag to `getContactDetailsAsJson` and `isEnsVerified`
to control whether or not the call to `getVerificationRequestFrom`
should in fact be made (which should not be the case for imported
messages).
The result of this is a smoother scrolling experience.
Fixes#7767
- 'Settings' title removed and it is shown instead the Community name and number of members
- Overview icon updated according to the design
- Icon of members size updated according to the design
- The spaces between edges of the Secondary Nav tab and items updated according to the design
Fixes#6785
This adds the UI plus all necessary models and signal handling to render
discord import progress in the desktop application.
It also introduces message handling for discord chat message types.
Requires status-im/status-go#2826 to function
Co-authored with @caybro
- remove the extra spinner (ok'ed by John and Benj)
- use the more modern StatusIcon, w/o the unconditional ColorOverlay
- some minor cleanup
Closes: #7645
Direct binding was causing problems with height calculation in some
environments (qt 5.15) and lack of binding in other (5.14). This is
a solution which seems to work in both cases.
Closes: #7703
Created new `suite_messaging` where all related chat tests will be migrated to.
- `tst_ChatFlow` has been moved to new `suite_messaging`. It still contains some broken tests.
- `tst_groupChat` has been moved to new `suite_messaging`. It is now working (but it relies on the mailserver so could fail sometimes).
- `tst_statusLoginPassword` has been moved to new `suite_onboarding`.
- It has been needed to move some object definitions from `chat_names.py` to `global_names.py` since they are shared between different suites.
- Some other minor object and steps definitions have been moved to fit with the new structure.
Closes#7624
The create a group chat related objects have been updated according to new qml changes.
Now these tests are working (if they don't work it is bc of mailserver reliability).
"the user lands on the signed in app" step incorporates the following verifications (main screen is ready):
- Splash screen animation is loaded and ended.
- Banners that appear in the main screen are closed before starting other actions (secure seed phrase, connection information and update app information banners).
Additionally:
- communities grid made scrollable
- filtering done using SortFilterProxyModel
- various adjustments to the design
- clear input button added to the search input
Closes: #6360
Actually this is not a signing transaction, but rather authenticating logged in
user when he wants to send a transaction. An authentication is done by entering
password(regular user) or pin(keycard user).
A real signing transaction feature will be (hopefully) added in a near future where
we're going to sign a transaction on a keycard which corresponds to a certain
account, a user wants to send a transaction from.
To sum up... this change just removes password from the send modal and introduces
`Authenticate` flow instead.
Fixes: #7510
The RootStore was calling checkRecentHistory on the wallet section View
instead of the transaction View.
Still the workflow is broken due to the 20 minutes timer that calls
the checkRecentHistory and hangs the the main thread (UI) for a long time
Fixes: #7266
- don't display identicon rings for contacts with an ENS name
- prefer the at-form (@foo-user) whenever possible, and don't display their
username or pubkey unless they are locally given a nickname
- show compressed keys everywhere instead of the regular ones
Fixes: #7319Fixes: #7515
Two new props exposed so we can sed an extra spacing for every N-th item.
- `additionalSpacingOnEveryNItems` - determines for which item to add an extra space
- `additionalSpacing` - determines the value of extra space which will be added
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.
- 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
`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.
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.
- 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
- 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
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
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.
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
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
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
* 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`
* 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:
New `resetSearchLocationClicked` signal introduced.
Click on `X` button is emitting `resetSearchLocationClicked` signal and
lets a component which is using this one to decide what to do instead just
reseting search selection locally to this component.
Needed for https://github.com/status-im/status-desktop/issues/6551
* 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:
* fix(StatusSelect): Expose a property to make arrow in the select item visible/invisible
- Resolved binding loops in StatusInput
- Replaced all instances of StatusBaseinput
with StatusInput
- Cleaned up min/max height properties
- Fixed total height calculation
Needed for https://github.com/status-im/status-desktop/issues/6358
- cmake is superior to qmake (e.g. linking custom libraries)
- maintaining two build system generators is costly
iterates: status-im/status-desktop#6510
Component refactor to have a clean and easy-to-read code.
Unnecessary stuff removed.
BREAKING CHANGES: Removed unnecessary properties since the parent already has them.
Needed for status-im/status-desktop#6428
- set the default icon background color to "transparent"; otherwise it
would be black when unset
- set the popup default size to 560x122 (as designed)
- add placeholder for the search field
- correct the font and icon sizes, spacing and margins according to
design
- fix some warnings
add a possibility to override the font size for the contentItem's
StatusBaseText
otherwise it's impossible to do stuff like:
```
StatusCheckBox {
font.pixelSize: 15
}
```¨
1. Fix the issue of floating buttons having incorrect color in Dark theme
2. Added balances param in StatusAssetSelector. ideally should be removed in another task as it is not the correct place for business logic
* Include auto generated object names for all Icons.
This will help Squish tests easily identify Icons. Which is used in test case https://github.com/status-im/status-desktop/issues/6274
* Include auto generated object names for all Icons.
This will help Squish tests easily identify Icons. Which is used in test case https://github.com/status-im/status-desktop/issues/6274
* Include auto generated object names for all Icons.
This will help Squish tests easily identify Icons. Which is used in test case https://github.com/status-im/status-desktop/issues/6274
* refactor(isContact): rename isMutualContact to isContact
BREAKING CHANGE: isMutualContact is replaced by isContact anywhere it was used
* fix(StatusStackModal): init the next/finish buttons
call `updateRightButtons()` also on creation to correctly initialize the
Next and Finish buttons in derived classes, when one overrrides these
can be seen in the Backup Seed dialog where the Next button is not
enabled even though all 3 boxes are checked
* feat(StatusFontSettings): Add StatusFontSettings component to change StatusMenuItems font attributes (#749)
Required by #6090
* fix(StatusPinInput): `forceFocus` function exposed
* fix(StatusTagSelector): corrected font size in to label
Needed for https://github.com/status-im/status-desktop/issues/6349
* fix(StatusActivityCenterButton): fixed actvity icon position (#763)
Closes https://github.com/status-im/status-desktop/issues/6350
* Include auto generated object names for all Icons.
This will help Squish tests easily identify Icons. Which is used in test case https://github.com/status-im/status-desktop/issues/6274
* Include auto generated object names for all Icons.
This will help Squish tests easily identify Icons. Which is used in test case https://github.com/status-im/status-desktop/issues/6274
* Include auto generated object names for all Icons.
This will help Squish tests easily identify Icons. Which is used in test case https://github.com/status-im/status-desktop/issues/6274
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
Co-authored-by: Lukáš Tinkl <lukast@status.im>
Co-authored-by: Michał Iskierko <61889657+endulab@users.noreply.github.com>
Co-authored-by: Sale Djenic <aleksandardjenic@status.im>
Co-authored-by: Alexandra Betouni <31625338+alexandraB99@users.noreply.github.com>
call `updateRightButtons()` also on creation to correctly initialize the
Next and Finish buttons in derived classes, when one overrrides these
can be seen in the Backup Seed dialog where the Next button is not
enabled even though all 3 boxes are checked
both StatusChatList and StatusChatListItem have the same hardcoded width
of 288, so if we want to make the former smaller, StatusChatListItem has
to obey that, otherwise it's cut on its right side in status-desktop
Status Desktop's new designs have a smaller width (272), this fix is
needed for status-im/status-desktop#6343
- set the Image's sourceSize only if it's an SVG, otherwise it is
rendered blurry
- remove antialiasing/mipmap; it's not the correct fix, doesn't really
improve the visual quality for smallish items like icons and just causes
memory/GPU overhead
Similar to what we did in status desktop under
d0a26a326e
- since Qt 5.xy, hover is not enabled by default for QQC2, so enable it
unconditionally as we are a desktop app anyway
- this fixes several hover effects being broken, mostly for builtin
components like MenuItem and some buttons (eg. the leftmost NavBar)
where we haven't enabled those with `hoverEnabled: true` explicitely
since most of the compilation time is spent on creating the QRC bundle
and the resulting binary is quite huge, advice the `rcc` compiler to add
support for "big resources"
(cf https://doc.qt.io/qt-6/resources.html#embedding-large-files)
Also pass the env $LDFLAGS to qmake (to be able to link e.g. with mold,
which again greatly reduces the time to link the binary)
this leads to 6-10x faster time when recompiling
(Linux, gcc 12.1.1, mold 1.3.0)
BEFORE:
Clean build:
real 0m57,256s
user 1m25,869s
sys 0m40,963s
Incremental build, one file touched:
real 0m54,323s
user 0m54,012s
sys 0m2,934s
AFTER:
Clean build:
real 0m7,276s
user 0m21,001s
sys 0m37,256s
Incremental build, one file touched:
real 0m5,569s
user 0m4,850s
sys 0m0,840s
- Added community banner.
- Added community restrictions / private.
- Modified card background shape.
- Modified logo shape and position.
- Modified text position and size.
- Modified `loading state` card.
- Added `DropShadow` effect.
- Added new icons.
- Added new community images and updated model.
- Added numbers format function.
- Added following new properties: `banner`,`activeUsers` `communityColor`, `isPrivate` and `tokenLogo`.
Closes#692
- Different tag color depending if the entry `isReadonly` or not.
- Tag disabled if the entry `isReadonly`.
- Possibility to show icon if entry contains the proper info.
- Added property `orderByReadonly` to position `isReadonly` entries in the left.
Updated sandbox project examples according to new tag updates.
Closes#694
- Added loader in right component position and removed `StatusChatInfoButton` specific.
- Updated sandbox and added new example in Layouts with another different component than the `StatusChatInfoButton`.
BREAKING CHANGES:
The toolbar now expects a component to be loaded. The previous `StatusChatInfoButton` component has been removed and needs to be passed as a component from outside whenever needed.
Breaking changes in `desktop` will be addressed in: https://github.com/status-im/status-desktop/pull/5823
It includes logo, title, community members, description, loaded, community id, popularity, tags row (that must be replaced to a new StatusQ component `StatusListItemTagRow`.
It also contains `locale` property used to decide the member's number format.
Added loading card.
Added Community Card page (components test) and view (demo app) in sandbox.
Added component documentation.
Part of task: https://github.com/status-im/status-desktop/issues/4936
In case you're dynamically change source image and image width and height
are way bigger than the rounded image component width and height, resizing
was not done correctly.
update
update
The click handler used inside the component broke in one of the latest
changes done in `StatusListItem` where it expects two arguments being
passed to its click handler.
This commit fixes it by supplying all needed arguments (where `itemId`
is always `''` unless set differently)
The problem was that if the clicked word (or tabbed) was not alone in the suggestion list, the done signal was not called. Now it is always called when clicking on using tab or enter.
Issues
- The slider only handle mouse events in its own control space.
- In oder to use the entire area it needs to be centered.
Fixes
- Center the content vertically (handle and slider bar)
- Height and implicitHeight defaults to heigh of the handle
- Add note to create awareness about the mouse handling requirements
Currently only fit image is supported as minimum limit
This change sdds option to fill crop window with image as
minimum zoom which is required by status-go crop function
When button changed from loading to their normal shape it kept the width of the loader as it was visible in the row component.
It has been added a binding between loader `visible` property and root `loading` property that fixes the issue with the width.
Also, removed some `break` leftovers.
Fixes#5606 --> https://github.com/status-im/status-desktop/issues/5606
- `open` property set to `true` by default
- `duration` property added (if set to anything greater than 0, will trigger
close toast signal after `duration` milliseconds)
- `close` signal is now emitted once animation gets completed
New QML component StatusQ.Components.StatusImageCropPanel
that extends on StatusImageCrop with simper interface and extra features
Features:
- Minimizes drawing with Canvas to the crop window
- Adds user interactions: pan, zoom
- Zoom slider for zooming, beside the mouse scroll action
- Optional checker pattern for background for the user to have a visual feedback on the transparent areas or image margins
fixes: #5401
updates: #5118
New QML control StatusQ.Controls.StatusImageCrop allows user to crop an image for avatar/banner purpuses
Features:
- Support rectangular and elliptical crop windows
- Transparency for the wall
- Controlling the crop window in image coordinates using cropRect
- The image support is based on `Image`
- Limits the
fixes: #5401
Disabled uncheck option if component is configured as single selection mode.
Added binding to reset searcher input text when picker is closed.
BREAKING CHANGE: Renamed `searchText` property for `placeholderSearchText` to control placeholder text in searcher and added / used existing `searchText` property to control searcher input text.
Added property `textPixelSize` to be configurable in `StatusPickerButton`.
Added signal `itemPickerChanged` to be directly notified when an item changes its selected property value.
Updated `selected` property properly in `StatusListPicker`.
Added new property `enableSelectableItem` to highlight an item when hovering.
Some documentation improvements.
It adds the `StatusItemPicker` control and `StatusListPicker` component and its corresponding documentation.
The new selector component is composed by a `StatusButtonPicker` and a drop-down list.
It adds sections in `ListView` by using `category` model property.
It incorporates a searcher in header.
The selector type can be customised as a `StatusRadioButton` or a `StatusCheckbox`.
It adds dynamic selection mechanism.
It adds a dynamic text fit between `name` and `shortName` text components.
It adds a specific page in `sandbox` and some models to play with that.
It extends `StatusPickerButton` to allow more than one type.
Closes#563