bugfix: ui fixes after merge with android tab navigation branch (#1339)
* bugfix: ui fixes after merge with android tab navigation branch * bugfix: fix crash on quit * chore: fix typos * chore: remove useless comment * bugfix: fix trigger behavior for `ListViewWithRadioButtonType` * bugfix: fixed dropdown listview scrolling * bugfix: fixed amfree availability display * chore: remove item existence check in triggerCurrentItem function --------- Co-authored-by: Cyril Anisimov <CyAn84@gmail.com>
This commit is contained in:
parent
767b14b37a
commit
62f3a339b7
16 changed files with 63 additions and 112 deletions
|
@ -10,16 +10,15 @@ FocusController::FocusController(QQmlApplicationEngine *engine, QObject *parent)
|
|||
m_focusChain {},
|
||||
m_focusedItem { nullptr },
|
||||
m_rootObjects {},
|
||||
m_defaultFocusItem { QSharedPointer<QQuickItem>() },
|
||||
m_defaultFocusItem { nullptr },
|
||||
m_lvfc { nullptr }
|
||||
{
|
||||
QObject::connect(m_engine.get(), &QQmlApplicationEngine::objectCreated, this,
|
||||
[this](QObject *object, const QUrl &url) {
|
||||
QQuickItem *newDefaultFocusItem = object->findChild<QQuickItem *>("defaultFocusItem");
|
||||
if (newDefaultFocusItem && m_defaultFocusItem != newDefaultFocusItem) {
|
||||
m_defaultFocusItem.reset(newDefaultFocusItem);
|
||||
}
|
||||
});
|
||||
QObject::connect(m_engine, &QQmlApplicationEngine::objectCreated, this, [this](QObject *object, const QUrl &url) {
|
||||
QQuickItem *newDefaultFocusItem = object->findChild<QQuickItem *>("defaultFocusItem");
|
||||
if (newDefaultFocusItem && m_defaultFocusItem != newDefaultFocusItem) {
|
||||
m_defaultFocusItem = newDefaultFocusItem;
|
||||
}
|
||||
});
|
||||
|
||||
QObject::connect(this, &FocusController::focusedItemChanged, this,
|
||||
[this]() { m_focusedItem->forceActiveFocus(Qt::TabFocusReason); });
|
||||
|
@ -65,7 +64,7 @@ void FocusController::setFocusItem(QQuickItem *item)
|
|||
|
||||
void FocusController::setFocusOnDefaultItem()
|
||||
{
|
||||
setFocusItem(m_defaultFocusItem.get());
|
||||
setFocusItem(m_defaultFocusItem);
|
||||
}
|
||||
|
||||
void FocusController::pushRootObject(QObject *object)
|
||||
|
|
|
@ -42,11 +42,11 @@ private:
|
|||
void focusPreviousListViewItem();
|
||||
void dropListView();
|
||||
|
||||
QSharedPointer<QQmlApplicationEngine> m_engine; // Pointer to engine to get root object
|
||||
QList<QObject *> m_focusChain; // List of current objects to be focused
|
||||
QQuickItem *m_focusedItem; // Pointer to the active focus item
|
||||
QStack<QObject *> m_rootObjects;
|
||||
QSharedPointer<QQuickItem> m_defaultFocusItem;
|
||||
QQmlApplicationEngine *m_engine; // Pointer to engine to get root object
|
||||
QList<QObject *> m_focusChain; // List of current objects to be focused
|
||||
QQuickItem *m_focusedItem; // Pointer to the active focus item
|
||||
QStack<QObject *> m_rootObjects; // Pointer to stack of roots for focus chain
|
||||
QQuickItem *m_defaultFocusItem;
|
||||
|
||||
ListViewFocusController *m_lvfc; // ListView focus manager
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue