Outliner keyboard navigation fails on MacOS

Scott Kostyshak skostysh at lyx.org
Sat Dec 28 02:39:40 UTC 2019


On Sat, Jun 29, 2019 at 05:33:04PM -0400, Jason Sun wrote:
> Let me check again. I have been working on another larger extension these
> days.
> 
> On Sat, Jun 29, 2019 at 1:22 PM Stephan Witt <st.witt at gmx.net> wrote:
> 
> > Am 25.06.2019 um 18:33 schrieb Richard Kimberly Heck <rikiheck at lyx.org>:
> > >
> > > Can we get this tested on MacOS?
> >
> > I’ve tried to paste the snippet into the TocWidget.cpp …
> > I had to change the TocWidget.h too, then it compiles.
> >
> > But I cannot see the improvement in behavior. I’m on master.
> >
> > Stephan
> >
> > >
> > > On 6/19/19 4:52 PM, Jason Sun wrote:
> > >> This problem is resolved by inserting the  following code to the
> > TocWidget.cpp file
> > >>
> > >> void TocWidget::keyPressEvent(QKeyEvent *event)
> > >> {
> > >>     if(event->key() == Qt::Key_Return)
> > >>     {
> > >>         QModelIndex const & curIdx = tocTV->currentIndex();
> > >>         goTo(curIdx);
> > >>         gui_view_.setFocus();
> > >>         gui_view_.activateWindow();
> > >>     }
> > >> }
> > >> Will be pushing a fix to the branch soon.
> > >>
> > >> On Wed, Jun 19, 2019 at 3:21 PM Jason Sun <ds653 at cornell.edu> wrote:
> > >> I use MacOX High Sierra 10.13.6 and LyX 2.3.2.
> > >>
> > >> The problem is the outline items(sections in the document) can only be
> > selected by mouse click. However, the same LyX 2.3.2 on RollApp(cloud
> > version of LyX) doesn’t not have this problem.
> > >>
> > >> After looking at the source code, I thought of two solutions but none
> > of them worked.
> > >>
> > >> Solution 1. I added the following function to the TocWidget.cpp file to
> > specifically handle the keyPressEvent:
> > >>
> > >>
> > >>
> > ---------------------------------------------------------------------------------------------------------------
> > >> void TocWidget::keyPressEvent(QKeyEvent *event)
> > >> {
> > >>      if(event->key() == Qt::Key_Enter)
> > >>      {
> > >>              QModelIndex const & curIdx = tocTV->currentIndex();
> > >>              goTo(curIdx);
> > >>              gui_view_.setFocus();
> > >>              gui_view_.activateWindow();
> > >>      }
> > >> }
> > >>
> > ---------------------------------------------------------------------------------------------------------------
> > >>
> > >> But it doesn’t work after compiling against Qt5
> > >>
> > >>
> > >>
> > >> Solution 2. I tried to hack the original function on_tocTV_pressed by
> > adding a keyboardModifier flag check:
> > >>
> > >> ___________________________________________________________________
> > >> void TocWidget::on_tocTV_pressed(QModelIndex const & index)
> > >> {
> > >>
> > >>      Qt::MouseButtons const button = QApplication::mouseButtons();
> > >>      Qt::KeyboardModifiers const modifier =
> > QApplication::keyboardModifiers();
> > >>      if ((button & Qt::LeftButton) ||
> > modifier.testFlag(Qt::ShiftModifier)) {
> > >>              goTo(index);
> > >>              gui_view_.setFocus();
> > >>              gui_view_.activateWindow();
> > >>      }
> > >> }
> > >> ___________________________________________________________________
> > >>
> > >> But still to no avail. I am not sure what is the problem here. I need
> > some help/guidance in making this work on MacOS since this is the only
> > place that requires mouse input. If this could be solved, I can 100% write
> > my document mouse free which is a huge improvement considering the going
> > back and forth in a large document using a mouse causes some inconvenience.
> > >>
> > >> I also tried the same thing on 2.4 development build and the problem
> > persists. I don’t even know how to debug the program. It would be very
> > helpful if someone can tell me how to see(or print to status bar) all the
> > variables or at least the QtIndices when navigating through the tocTV
> > variable on GUI.
> > >>
> > >>
> > >>
> > >> Jason Sun
> > >> Ph.D Candidate
> > >> Department of Statistical Science
> > >> Cornell University
> > >> 105 Malott Hall
> > >> Ithaca, NY 14853-3201
> > >>
> > >>
> > >>
> > >>
> > >> --
> > >> Daqian Sun
> > >> Tel:607-379-5149
> > >> Department of Mathematics
> > >> Department of Economics
> > >> Cornell University
> > >>
> > >
> > >
> >
> >

Is this issue still pending?

Scott
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.lyx.org/pipermail/lyx-devel/attachments/20191227/a15ba2d0/attachment.asc>


More information about the lyx-devel mailing list