Commit Graph

3926 Commits

Author SHA1 Message Date
Alexandra Betouni 13d5c24a27 fix(sandbox): Fix results popup component position
Fixed alignment when results are being filtered.
If the x position that the popup should be aligned
goes off the screen, the popup appears back on
position 0. Also fixed result list item was not
vertically centered.
2022-09-21 18:20:06 +02:00
Alexandra Betouni 422eb741d4 fix(StatusQ.Popups): removed overlay setting (#557)
A MouseArea was set as an Overlay to the PopupMenu
consuming all clicks outside the component until it
was closed. Removed it as it's not necessary anymore.

Closes https://github.com/status-im/status-desktop/issues/3599
2022-09-21 18:20:06 +02:00
Pascal Precht 55248565dc chore: release v0.24.0 2022-09-21 18:20:06 +02:00
Alexandra Betouni 93b414229b feat(StatusQ) Adding qdoc related files (#555)
Added qdoc conf & source files for each
StatusQ module. Documented StatusBaseText
from StatusQ.Core as an example

To generate docs, from sandbox/docs run
/path/to/Qt/installation/bin/qdoc statusq.qdocconf

A folder named "html" will be generated under sandbox/doc,
open the statusq-index.html to get to the home page.

Closes #550
2022-09-21 18:20:06 +02:00
Patryk Osmaczko f68a70d07a feat(StatusListItem): add highlighted property 2022-09-21 18:20:06 +02:00
Alexandra Betouni 632b5b7267 feat(StatusQ.Components): Adding StatusWizardSteper component
Added StatusWizardStepper component

Also added corresponding page in API documentation

Closes #522
2022-09-21 18:20:06 +02:00
Pascal Precht ac303e1e6f chore: cut 0.23.0 release 2022-09-21 18:20:06 +02:00
Alexandra Betouni f024831c9b feat(StatusQ.Components): Adding StatusToastMessage
Added StatusToastMessage component, an example page
as well as a demonstration in chat view

Closes #521
2022-09-21 18:20:06 +02:00
Alexandra Betouni 08aced147f feat(StatusQ.Components): Adding StatusTagSelector component
Added StatusTagSelector component needed for
creating new chat channels, either ono on
one or group based on updated designs on
Figma

Also added corresponding page in API Documentation

Closes #526
2022-09-21 18:20:06 +02:00
Noelia 4cb28fee12 chore(demoApp): restore DemoApp to have the latest changes from both master and base_bc
Updated DemoApp, main and Models to have the
latest changes from both master and base_bc
2022-09-21 18:20:06 +02:00
Richard Ramos 6de288570c refactor: fix empty categories handling (#544)
* feat(StatusChatListCategory): display item if the model is a category
* fix(StatusChatListAndCategories): do not display categories in StatusChatList
2022-09-21 18:20:06 +02:00
Sale Djenic ad7b5a9ff9 refactor(StatusAppNavBar): `triggerUpdate` function added 2022-09-21 18:20:06 +02:00
Sale Djenic ab835857fb refactor(StatusChatToolBar): open/close handlers get called if they are set for `popupMenu` of `StatusChatToolBar` component 2022-09-21 18:20:06 +02:00
Sale Djenic ce8603b0e1 fix(StatusChatList): unexisting property name for chat item fixed
`StatusChatList` component is able to display:
- chats for Chat section
- channels for Community section
- channels from a category from Community section

in cases 1. and 2. displayed items do not have `parentItemId` property and
it's not used in these cases.
This commit fixes that console error.
2022-09-21 18:20:06 +02:00
Sale Djenic 0f15cb6d5f refactor(StatusChatList): `categoryId` parameter added to `chatItemSelected` signal 2022-09-21 18:20:06 +02:00
Sale Djenic 1529070e24 refactor(StatusChatList): updates due to chat & communities models refactored
Updated Models.qml for chats and communities models to reflect changes due to
refactor in the actual backend.`StatusChatList` and `StatusChatListAndCategories`
components updated accordingly.
2022-09-21 18:20:06 +02:00
Alexandra Betouni 0f3d6fccde refactor(sandbox): remove obsolete timeline demo code
This feature is deprecated and shall be removed

Relates to #4177
2022-09-21 18:20:06 +02:00
Sale Djenic 909b183b12 refactor(StatusAppNavBar): profile nav bar button added
Profile button of type `StatusNavBarTabButton` added to `StatusAppNavBar`
and exposed so it can be optionally set from outside of the component.
2022-09-21 18:20:06 +02:00
Sale Djenic 4ade947921 refactor(StatusAppNavBar): navigation bar displays buttons based on set model
`StatusAppNavBar` component is refactored in order to meet new changes we
have on the backend in the desktop app.
2022-09-21 18:20:06 +02:00
Alexandra Betouni dc9cb8a08a fix: Icon components had wrong color in sandbox app
Icon color in Icons page was broken as setting it
in main.qml was mistakenly removed. Set it back to
Theme.palette.primaryColor1

Closes #538
2022-09-21 18:20:06 +02:00
Pascal Precht 8e4b6c3dca chore: cut 0.22.0 release 2022-09-21 18:20:06 +02:00
Noelia 2e11b7f203 feat(StatusMemberListItem): Implement `StatusMemberListItem` (#539)
Create component StatusMemberListItem.

Add StatusMemberListItem component in sandbox\controls\ListItems for testing all its variants and demo app.

Add new properties in StatusListItem.

Reorganize StatusListItem.qml following Qt conventions.

Add badge in StatusSmartIndenticon component that allows configure a colored state.

Closes #515
2022-09-21 18:20:06 +02:00
Pascal Precht a400a4c6a3 chore: cut 0.21.0 release 2022-09-21 18:20:06 +02:00
Noelia d1525b0b53 feat(StatusQ.Controls): Introduce `StatusPasswordStrengthIndicator`
Create a password strength indicator component with the corresponding variation.

Create a base StatusProgressBar component.

Add new miscColor12.

Closes #528
2022-09-21 18:20:06 +02:00
Khushboo Mehta bd41957c80 feat(StatusMessage): Introducing a new StatusQ Component for Chat Messages
The below mentioned features have been implemented in this component
1. Profile Picture of sender
2. Sender details - name, secondaryName, chatID
3. Text content
4. Image Content
5. Sticker Content
6. Audio Content
7. Reply Component with all the details for the message beinf replied to
8. Pinned component for Pinned message
9. Edit Component to edit the message
10. Loades to load the below -
    a. Link content loader
    b. transaction content
    c. invitation bubble
    d. footer - in this case to show emoji reactions to a message
    e. quick actions loader to show the related quick actions
2022-09-21 18:20:06 +02:00
Alexandra Betouni e7b9462c84 refactor: refactored/cleaned up sandbox app
Grouped QML files by pages, controls and demo app
related stuff
2022-09-21 18:20:06 +02:00
Alexandra Betouni 774b7e44f4 fix(build): broken MacOS build (#533)
moved DESTDIR in sandbox.pro above
copydata command as it was breaking
the build process on MacOS
2022-09-21 18:20:06 +02:00
Pascal Precht 18b763b006 chore: cut 0.20.0 release 2022-09-21 18:20:06 +02:00
Noelia 60638305aa feat(StatusBanner): introduce type variants for different banner styles
* feat(sandbox/controls): Added StatusBanner component in controls view

In order to test StatusBanner.qml ui component it has been added into the Sandbox app as another Control.

* chore(sandbox/controls): Refactor `StatusBanner' component

Create enum to allow selecting StatusBanner type (`Info`, `Danger`, `Success`, `Warning`).

Add new success color with some opacity in ThemePalette.

* chore(Controls/StatusBanner): Use states instead of function

To have a cleaner code, it has been added states to manage type property changes.

* chore(Controls/StatusBanner): Remove unnecessary stuff

Remove unnecessary name property.
Remove successColor3 property.
2022-09-21 18:20:06 +02:00
Boris Melnik 05d0705664 fix(build): Windows build 2022-09-21 18:20:06 +02:00
Noelia 10af4c5433 Created new UI component StatusBanner and added into StatusQ/Controls 2022-09-21 18:20:06 +02:00
Khushboo Mehta 7dfd8260a9 fix(StatusBaseInput): Corrects allignment of the placeholder text in the StatusBaseInput. 2022-09-21 18:20:06 +02:00
Pascal Precht b637cc532e chore: cut 0.19.0 release 2022-09-21 18:20:06 +02:00
Khushboo Mehta 5a00101169 fix(StatusChatListItem): This change fixes the issue of the chat list items getting a highlight even when they are not really hovered
The issue is caused by the fact that the MouseArea returns containsMouse as true even when the item is not hovered.
The issue is reproduced when the model changes dynamically in the StatusChatList, thus causing the StatusChatListItem to be recreated and
this is when the containsMouse remains true even though the item is not hovered.
I see a bunch of issues in the QT bug list with regards to the containsMouse property but are still open.
A solution to this is to use HoverHandler which is a more reliable way getting hovered events for an item.
2022-09-21 18:20:06 +02:00
Pascal Precht 337779f9a6 feat(StatusModal): introduce `hasCloseButton` property
This property can be used to hide the close button, as there are some
modals that shouldn't allow users to "x" modals away.
2022-09-21 18:20:06 +02:00
Pascal Precht 04ba89db97 chore: cut 0.18.0 release 2022-09-21 18:20:06 +02:00
Pascal Precht b2da194809 fix(StatusListItem): ensure title is elided 2022-09-21 18:20:06 +02:00
Khushboo Mehta e83ad058c8 fix(StatusImageWithTitle): Fix position of the edit title button 2022-09-21 18:20:06 +02:00
Khushboo Mehta 5f6f311d8d feat(StatusListItem): Expose the Aside text so that it can be modified from the outside 2022-09-21 18:20:06 +02:00
Khushboo Mehta 083d648b05 fix(StatusAppNavBar): Fixed position of profile button on the NavBar 2022-09-21 18:20:06 +02:00
Pascal Precht fb2a93b549 chore: cut 0.17.1 release 2022-09-21 18:20:06 +02:00
Anthony Laibe d18dfdec03 fix(StatusAccountSelector): Adapt ui to data model changed 2022-09-21 18:20:06 +02:00
Khushboo Mehta 375c76ca1d fix(StatusAssetSelector): Fixed error of crypto balance not updated correctly
Also added error handling in case in case that crypto symbol image is not available
Added a way to display the balance in currently selected currency on the widget
To do this the consumer of this widget needs to implement "getCurrencyBalanceString" based on the currently selected currency

fixes #4079
2022-09-21 18:20:06 +02:00
Pascal Precht 285641b434 chore: cut 0.17.0 release 2022-09-21 18:20:06 +02:00
Khushboo Mehta 7fd7c8a947 fix(StatusListItem): This solves the issue of channel list overlpaing when a category is collapsed.
The issue is not reproducible a 100% of time. In order to solve this bug, we have turned on the preventStealing flag for the mousseArea.
Checked for any sideimpacts but didnt find any.
Tried several times and this change seems to solve the bug. Feel free to repoen if you are still able to reproduce this behaviour.

fixes #4047
2022-09-21 18:20:06 +02:00
Jonathan Rainville 876c6e99f8 fix(StatusAccountSelector): adapt AccountSelector to new model (#482) 2022-09-21 18:20:06 +02:00
Pascal Precht 5fa646d2eb fix(StatusExpandibleItem): add missing hover indicator in `Secondary` type
Fixes #478
2022-09-21 18:20:06 +02:00
Anastasiya S 817a900fd6 fix(StatusSearchPopup): disable enter and return keys to avoid UI breakage 2022-09-21 18:20:06 +02:00
Alexandra Betouni 77e210fa87 fix(StatusSlider): slider background and handle should not depend on root's height
Made slider background and handle to not depend
to root's height so that it covers cases where a
legend is needed thus all should be clickable for
better user experience.

Relates to status-im/status-desktop#3984
2022-09-21 18:20:06 +02:00
Pascal Precht d1be7973c9 feat(StatusQ.Controls.Validators): introduce `StatusUrlValidator` 2022-09-21 18:20:06 +02:00
Pascal Precht 09e0d8a8b9 feat(StatusBaseButton): introduce `Tiny` size 2022-09-21 18:20:06 +02:00
Pascal Precht b4e2730f3d fix(StatusInput): ensure validator messages are rendered when validators return boolean values
There's two ways to signal that a validator emits invalidity on a control:

1. Its `validate()` method returns `false`
2. Its `validate()` method returns an object

Option 2) allows validators to supply the `errors` object with additional data.

Due to latest changes to `errorMessage` handling in validators, those messages
would not be rendered anymore if a validator returns simply `false` instead of an object.
The reason for that is because the code assumed that only option 2) is gonna happen.

This commit ensures that error messages a displayed in both options.
2022-09-21 18:20:06 +02:00
Pascal Precht 9859e33cc0 chore: cut 0.16.0 release 2022-09-21 18:20:06 +02:00
Pascal Precht 2ea3c76bf5 fix(StatusModal): render footer correctly based on `showFooter` flag 2022-09-21 18:20:06 +02:00
Pascal Precht 617ca649b3 feat(StatusQ.Platform): introduce StatusMacNotification component 2022-09-21 18:20:06 +02:00
Pascal Precht 61760e8e54 feat(StatusQ.Controls): introduce `StatusWalletColorSelect` control
Usage:

```qml
StatusWalletColorSelect {
    model: Theme.palette.accountColors
}

```

Closes #467
2022-09-21 18:20:06 +02:00
Pascal Precht 6959ec54aa fix(StatusRoundButton): ensure disabled state uses correct background color 2022-09-21 18:20:06 +02:00
Pascal Precht d8745049da feat(StatusQ.Controls): introduce `StatusWalletColorButton` component
Usage:

```qml
StatusWalletColorButton {
    icon.color: Theme.palette.miscColor1
    selected: true
}
```

Closes #466
2022-09-21 18:20:06 +02:00
Pascal Precht 1708f7aa58 chore: release 0.15.0 2022-09-21 18:20:06 +02:00
Pascal Precht bb3fb252d0 feat(StatusQ.Controls): introduce StatusChatCommandButton
Usage:

```qml
StatusChatCommandButton {
    icon.name: "send"
    icon.color: Theme.palette.miscColor2
    text: "Send transaction"
}
```

Closes #429
2022-09-21 18:20:06 +02:00
Pascal Precht b61a8c45da feat(StatusQ.Controls): introduce `StatusTabBarIconButton` component
Usage:

```qml
StatusTabBarIconButton {
    icon.name: "travel-and-places"
}
```

Closes #428
2022-09-21 18:20:06 +02:00
Pascal Precht d05eb44d4b chore: cut 0.14.0 release 2022-09-21 18:20:06 +02:00
B.Melnik 75d0382e97 fix(Spellchecking): Add check for hunspell existence 2022-09-21 18:20:06 +02:00
Alexandra Betouni 3c7b498e74 fix(Popups/StatusMenuItemDelegate) adding checks to avoid undefined errors 2022-09-21 18:20:06 +02:00
Khushboo Mehta 32e69e6a8e feat(StatusSmartIdenticon): Created a new StatusQ componnent to accomodate:
1. A StatusRoundedImage
2. StatusRoundIcon
3. LetterIdenticon

Fallback in case of an error in loading Image to the LetterIdenticon
2022-09-21 18:20:06 +02:00
Pascal Precht c1021977d6 fix(StatusModal): ensure `onEditButtonClicked` signal is emitted
Closes #454
2022-09-21 18:20:06 +02:00
Pascal Precht b85ccbfc23 fix(StatusModal): expose `header.editable` property
Fixes #452
2022-09-21 18:20:06 +02:00
Anastasiya S cec89ef605 chore(StatusChatInfoButton): add object name for pin counter for testing purposes 2022-09-21 18:20:06 +02:00
Anastasiya S ffc4598bc5 chore(StatusChatInfoButton): add object name for testing purposes 2022-09-21 18:20:06 +02:00
Pascal Precht 66a8b5c87e chore: cut 0.13.0 release 2022-09-21 18:20:06 +02:00
B.Melnik f6bbd95f13 chore(ForTests): Add ojectName's for modals 2022-09-21 18:20:06 +02:00
Khushboo Mehta 5ab7c91b44 feat(StatusFlatRoundButton): Update the StatusFlatRoundButton to take over button behaviour from StatusIconButton under ui/shared/status
1. Added icon disabledColor property under StatusIconSettings
2. Added Tertiary and Quaternary type to accomodate hovered behavior needed in many buttons
3. Added a missing gif icon.
2022-09-21 18:20:06 +02:00
Pascal Precht d27e067e1d fix: use proper double checkmark icon 2022-09-21 18:20:06 +02:00
Pascal Precht 312800ccb9 fix(StatusBaseButton): introduce missing `highlighted` property 2022-09-21 18:20:06 +02:00
Pascal Precht 10a7718011 chore: cut 0.12.0 release 2022-09-21 18:20:06 +02:00
Pascal Precht 19ada77172 chore: ignore cache files 2022-09-21 18:20:06 +02:00
B.Melnik 3f9f3d5b15 feat: Resolve StatusQ modules highlighting and add qml compiler for detecting coompile time errors 2022-09-21 18:20:06 +02:00
Pascal Precht e2c178ad43 feat(StatusQ.Controls): introduce StatusColorSelector component
This is a select component to pick from various supplied colors.

Usage:

```qml
import StatusQ.Controls 0.1

StatusColorSelector {
    model: ["red", "blue", "green"]
}

```

Closes #444
2022-09-21 18:20:06 +02:00
Pascal Precht b194a1d869 feat(StatusQ.Controls): introduce `StatusAssetSelector` component
This is used for a more complex amount and asset selector component.

Usage:

```qml
import StatusQ.Controls 0.1

StatusAssetSelector {
    assets: ListModel {
        ListElement {
            address: "0x1234"
            name: "Status Network Token"
            value: "20"
            symbol: "SNT"
            fiatBalance: "9992.01"
            fiatBalanceDisplay: "9992.01"
        }
        ListElement {
            address: "0x1234"
            name: "DAI Token"
            value: "20"
            symbol: "DAI"
            fiatBalance: "20"
            fiatBalanceDisplay: "20"
        }
    }
}
```

Closes #442
2022-09-21 18:20:06 +02:00
Pascal Precht 368ede5645 feat(StatusQ.Components): introduce `StatusAddress` component
This introduces a `StatusAddress` component which renders an address
and can be made `expandable` by applying a `width`:

```qml
import StatusQ.Components 0.1

// Simple case
StatusAddress {
    text: "0x9ce0056c5fc6bb9459a4dcfa35eaad8c1fee5ce9"
}

// Expandable case
Item {
    width: 200
    height: childrenRect.height
    StatusAddress {
        text: "0x9ce0056c5fc6bb9459a4dcfa35eaad8c1fee5ce9"
        expandable: true
        width: parent.width
    }
}

```

Closes #430
2022-09-21 18:20:06 +02:00
Pascal Precht 9389ee256e feat(StatusQ.Controls): introduce `StatusAccountSelector` component
This commit moves the original `AccountSelector` into StatusQ and makes it
a `StatusAccountSelector`. The API has been preserved. The only difference is
that it's internally relying completely on `StatusQ.Core.Theme` and `StatusQ.Controls`
components instead.

Usage:

```qml
import StatusQ.Controls 0.1

StatusAccountSelector {
    accounts: ListModel {
        ListElement {
            name: "Pascal"
            address: "0x1234567891011"
            iconColor: "red"
            balance: "0"
            walletType: "generated"
            assets: []
            fiatBalance: "1199.02"
        }
        ListElement {
            name: "Boris"
            address: "0x123"
            iconColor: "red"
            balance: "0"
            walletType: "generated"
            assets: []
            fiatBalance: "0"
        }
        ListElement {
            name: "Alexandra"
            address: "0x123"
            iconColor: "yellow"
            balance: "0"
            walletType: "generated"
            assets: []
            fiatBalance: "0"
        }
        ListElement {
            name: "Khushboo"
            address: "0x123"
            iconColor: "blue"
            balance: "0"
            walletType: "generated"
            assets: []
            fiatBalance: "0"
        }
    }
}
```

Closes #435
2022-09-21 18:20:06 +02:00
Pascal Precht 03c6da6e9f feat(StatusQ.Controls): introduce `StatusSelect`
This introduces a new `StatusSelect` component which is a select form control.
The `model` property can be used to apply a `ListModel` for dynamic data.
To give users full control over what the menu items look like, `StatusSelect`
exposes a `selectMenu.delegate` property.

Most of the time this should be a `StatusMenuItemDelegate` to get access to the
comple `MenuItem` component (remember that `StatusMenuItem` is merely an `Action`
type).

`StatusMenuItemDelegate` derives most of its behaviour by its applied `action`,
so the easiest way to construct a dynamic select with StatusQ menu item look and feel
is a combination of `StatusMenuItemDelegate` and `StatusMenuItem` as shown below.

Further more, because `StatusSelect` can't know what the `delegate` is going to look like
it also can't decide what data goes into a `selectedItem`. Therefore, it offers another API,
the `selectedItemComponent` which can be any component. This component can then be accessed
by menu item actions to set corresponding properties.

Usage:

```qml
import StatusQ.Controls 0.1

StatusSelect {
    label: "Some label"
    model: ListModel {
        ListElement {
            name: "Pascal"
        }
        ListElement {
            name: "Khushboo"
        }
        ListElement {
            name: "Alexandra"
        }
        ListElement {
            name: "Eric"
        }
    }

    selectMenu.delegate: StatusMenuItemDelegate {
        statusPopupMenu: select
        action: StatusMenuItem {
            iconSettings.name: "filled-account"
            text: name
            onTriggered: {
                selectedItem.text = name
            }
        }
    }

    selectedItemComponent: Item {
        id: selectedItem
        anchors.fill: parent
        property string text: ""

        StatusBaseText {
            text: selectedItem.text
            anchors.centerIn: parent
            color: Theme.palette.directColor1
        }
    }
}
```

Closes #436
2022-09-21 18:20:06 +02:00
Pascal Precht ec2aeffc55 feat(StatusQ.Popups): introduce `StatusMenuItemDelegate`
This extracts the `MenuItem` delegate used in `StatusPopupMenu` into its
own component so it can be easily reused for cases where simply supplying the
popup menu with `StatusMenuItem` (which is of type `Action`) isn't enough.

Ideally, the `StatusMenuItemDelegate` would be called `StatusMenuItem` but that
would be a breaking change.

Usage:

```qml

StatusPopupMenu {
    delegate: StatusMenuItemDelegate {
        ...
    }
}
2022-09-21 18:20:06 +02:00
B.Melnik a0d97fb464 feat(StatusModal): Add edit avatar button
Part of https://github.com/status-im/status-desktop/issues/3734
2022-09-21 18:20:06 +02:00
Pascal Precht a065abf01b chore: cut 0.11.1 release 2022-09-21 18:20:06 +02:00
Khushboo Mehta fb290392b4 fix(StatusChatInfoButton): StatusChatInfoButton takes up entire available width
fixes #432
2022-09-21 18:20:05 +02:00
Khushboo Mehta c86d1d63df fix: Sandbox doesn't build on Linux machines
fixes #423
2022-09-21 18:20:05 +02:00
Khushboo-dev-cpp 315f91d737 feature(StatusSelectableText): Added a selectable text component (#431)
Features:
1. Select text and copy it
2. Custom highlight on selection
3. Highlight on links
4. Support for multiline text
2022-09-21 18:20:05 +02:00
Pascal Precht 0ca798c891 chore: cut v0.11.0 release 2022-09-21 18:20:05 +02:00
B.Melnik f0004ffc4c fix(StatusSpellcheckingMenuItems): Exact menu items order 2022-09-21 18:20:05 +02:00
Pascal Precht a30cd474d9 fix(StatusSearchPopup): use correct theme color for search result text
This used `Theme.palette.black` before which doesn't work across differen themes.
`Theme.palette.directColor1` is the correct one to use here.
2022-09-21 18:20:05 +02:00
Pascal Precht 86c1f69723 fix(StatusChatList): ensure right click popup opens in correct position
This broke because the emitted `mouse` coordinates where no longer correct
after we've moved the chat list item into a delegate model.
2022-09-21 18:20:05 +02:00
Eric Mastro fd92ad5e28 feat: add star icons (#422) 2022-09-21 18:20:05 +02:00
Eric Mastro 567983b7d8 fix: track category opened state
Category `opened` state is tracked and restored on model change.

Previously, when the model data for categories and channels was changed, all unexpanded, or collapsed categories would automatically expand. This was due to the default state of the category `opened` property being restored (which was set to true) when the model data changed.

With this change in place, the opened state of each category is tracked in the parent component (`StatusChatListAndCategories`), and on each model change, the opened state is restored.

NOTE: it was tempting to the put the changes inside of the `StatusChatListCategory` component, however this would not work as the component is used as a delegate, and all state is wiped on each model change.
2022-09-21 18:20:05 +02:00
Pascal Precht 3bdc2a4c34 chore: cut 0.10.0 release 2022-09-21 18:20:05 +02:00
B.Melnik 79769c165e feat(StatusSpellcheckingMenuItems): Add spellchecking menu
Closes: #398
2022-09-21 18:20:05 +02:00
Pascal Precht 48bd006d05 feat(StatusChatList): expose `statusChatListItems` Repeater
Ever since we've moved to `DelegateModel` which is passed to the `Repeater`
which was previously aliased as `chatListItems`, we no longer get access to the
`model.itemAt` method. This is because `DelegateModel` doesn't have such a method.

So in order to restore that access, we have to expose `Repeater` additionally.

The reason this method is needed, is so that apps like Status Desktop can update
individual chat list items based on `Connection` events
2022-09-21 18:20:05 +02:00
Pascal Precht 581dd15f14 feat(StatusInput): add support for asynchronous validators
Allows asynchronous validation, with the ability to track the validated value for use in the StatusInput as a value that is separate from the entered text.

Async operations are debounced internally to the StatusAsyncValidator.

- `validate`: the input value to this function is the value sent to `asyncComplete`, which must be called by the validator. Return true when the value from the async operation is valid.
- `asyncComplete`: signal to be called by the validator after the async operation has completed. It should contain the value returned by the async operation that should be validated in `validate`.
- `validatedValue`: This is the valid value returned from the async operation. It it tracked separately so that the input text on the `StatusInput` can remain as entered by the user. Use this property and the `onValidatedValueChanged` signal handler for the “real” value to be used by other components.

Closes #395
2022-09-21 18:20:05 +02:00
B.Melnik 540cd79618 feat(Spellchecking): Add dictionaries
Closes: #400
2022-09-21 18:20:05 +02:00
Pascal Precht 8e4b5e2c09 feat(StatusInput): introduce `leftPadding` and `rightPadding` properties 2022-09-21 18:20:04 +02:00