Fixes#4061
Most of the contact request code was already moved, but it wasn't hooked to the QML yet and also there were missing events and some code to improve.
Parts which are not refactored yet are moved to `AppController` and
marked there (a comment is added for a sake of clarification) that those
parts will be removed once we complete refactor phase.
`AppService` is renamed to `StatusFoundation` cause it doesn't contain
any more anything related to services. And it is moved to other location
`/src/app/core`. It contains a foundation for the app.
This part will rarely change
Signals which were part of the `status-lib` are now part of the desktop app.
New class `SignalsManager` is introduced which is a main point for receiving
signals from `status-go`.
- os notification doesn't belong to core features so it's moved from there
- os notification service updated and read to be used as other service
- leftovers moved from `status-lib` that's its version is updated
- using os notification service is commented out in the old code
Async task for fetching crypto services is temporary moved because of other
changes we need to apply during the refactor phase. It will be moved to
appropriate service at the end.
Within this commit local name for a contact is added to `ContactsDto` which will
be used across the app.
- backend part for changing contact's username is added
- new signal under `SIGNAL_CONTACT_UPDATED` is introduced for the contacts service
- `saveContact` method of the contacts service updated so it saves contact
for a real now
- in order to be consistent across the app `userNameOrAlias` method is updated
so it includes locally set username for a contact
- Selecting `currentIndex` based on the children placed in the `StackLayout`
component with id `appView` is sorted out since we were referring to the wrong
indexes there in case of walletv2, node and community sections.
- Places which call `Utils.getAppSectionIndex` are updated since we don't have
that method any more.
- Some parts which are not refactored yet are commented.
Each `ChatSection` module contains as many `ChatContent` submodules as many chats
the section contains (a chat maybe either from the Chat section or Community section or
from the category of the Community section).
`ChatContent` consists of 3 submodules `InputArea`, `Messages`, `Users`, so far.
Model used for list of chats in case of Chat section and used for
channels/categories/category channels is initially added. With an option for
setting active chat/channel/category (which are an Item type) and setting active
channel within a category (which is a SubItem type).
Qt provides support for various input methods through plugins.
Since the fcitx plugin is not delivered with Qt, it needs to be
built and deployed by us.
Fixes: #4436
Enable ListView clip and modified ColumnLayout heigh to bound its painting to the needed content.
Adjust ListView spacing to allow the visualization of 5 members.
Closes#4386