[Android-development] Native menubar and modal dialogs
maitai at virtual-winds.org
maitai at virtual-winds.org
Wed Sep 3 10:42:11 CEST 2014
Hello,
This is related to QTBUG-38777
I am trying to disable the menu each time a QDialog pops up but I am
facing another problem if I do that:
void MenuBar::blockMenu(const bool &block)
{
if(block){
qWarning()<<"disabling menu..."<<actions().size();
while(!actions().isEmpty()){
qWarning()<<"removing"<<actions().first()->text();
this->removeAction(actions().first());
}
qWarning()<<"disabling menu ok";
} else {
if(actions().isEmpty()){
qWarning()<<"enabling menu...";
for(int n=0; n<currentMenu.size(); ++n)
this->addMenu(currentMenu.at(n));
qWarning()<<"enabling menu ok";
}
}
}
This is working fine when the action menu that triggered the dialog is
at first or second level in the menu. If it's a third level menu, I get
a crash on the qWarning()<<...<<actions().size();
It seems that actions() is out of scope and that I cannot even access to
QMenuBar::actions().size().
If I add a tempo of 1 second before calling this routine, then it works
and I don't get a crash anymore, so it really seems that Qt is doing
something tricky with the menubar that I should not disturb ;) But I
cannot really put this bad tempo trick in production... I am not even
sure 1 sec will be enough on all devices...
I have also tried to use QWidget::setAttribue(Qt::QA_disabled) and
QA_ForceDisabled but this has no effect on the native menubar...
Any clue? Or maybe I just have to wait for 5.4 because QTBUG-38777 will
be fixed?
Thanks
Philippe Lelong
Le 05-05-2014 13:07, BogDan a écrit :
> Hi,
>
> The android menu bar should reflect the active window, e.g. if the
> active window has a QMenubar if should display it, if not it should be
> empty/disabled.
> Please use https://bugreports.qt-project.org to open an issue and
> assigne it to me.
>
> BogDan.
>
>
>
> ----- Original Message -----
> From: "maitai at virtual-winds.org" <maitai at virtual-winds.org>
> To: Android Development <Android-development at qt-project.org>
> Cc:
> Sent: Monday, May 5, 2014 10:05 AM
> Subject: [Android-development] Native menubar and modal dialogs
>
> Hello,
>
> In my opinion, the native android menu (QMenubar) should be inactive
> when a modal dialog is executing (like it is on other platforms). Is
> there a way to achieve that without emptying/refiling it each time a
> modal qdialog pops up?
>
> Thanks
> Philippe LELONG
> _______________________________________________
> Android-development mailing list
> Android-development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/android-development
More information about the Android-development
mailing list