I have two macros which allow me to assign PgUp and PgDn to the page up and page down functions in the navigator window (which function is nowhere listed in the Customization dialog). Below is the code for my PgUp macro: REM ***** BASIC ***** Sub Main End Sub sub PgDn rem ---------------------------------------------------------------------- rem define variables dim document as object dim dispatcher as object rem ---------------------------------------------------------------------- rem get access to the document document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") rem ---------------------------------------------------------------------- dim args1(0) as new com.sun.star.beans.PropertyValue args1(0).Name = "Navigator" args1(0).Value = true dispatcher.executeDispatch(document, ".uno:Navigator", "", 0, args1()) rem ---------------------------------------------------------------------- dim args2(0) as new com.sun.star.beans.PropertyValue args2(0).Name = "ScrollNextPrev" args2(0).Value = true dispatcher.executeDispatch(document, ".uno:ScrollNextPrev", "", 0, args2()) rem ---------------------------------------------------------------------- dim args3(0) as new com.sun.star.beans.PropertyValue args3(0).Name = "Navigator" args3(0).Value = false dispatcher.executeDispatch(document, ".uno:Navigator", "", 0, args3()) end sub sub PgUp rem ---------------------------------------------------------------------- rem define variables dim document as object dim dispatcher as object rem ---------------------------------------------------------------------- rem get access to the document document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") rem ---------------------------------------------------------------------- dim args1(0) as new com.sun.star.beans.PropertyValue args1(0).Name = "Navigator" args1(0).Value = true dispatcher.executeDispatch(document, ".uno:Navigator", "", 0, args1()) rem ---------------------------------------------------------------------- dim args2(0) as new com.sun.star.beans.PropertyValue args2(0).Name = "ScrollNextPrev" args2(0).Value = false dispatcher.executeDispatch(document, ".uno:ScrollNextPrev", "", 0, args2()) rem ---------------------------------------------------------------------- dim args3(0) as new com.sun.star.beans.PropertyValue args3(0).Name = "Navigator" args3(0).Value = false dispatcher.executeDispatch(document, ".uno:Navigator", "", 0, args3()) end sub My problem could be easily fixed if you would simply add the action in question (which puts the top of the previous page at the top of the viewport for PgUp, and similarly puts the top of the next page at the top of the viewport for PgDn) in the Function window of the Keyboard tab of the Customize dialog. I've reported that this function is missing from that list several times over a period of years with no result.
(In reply to James A. Schulz from comment #0) > I have two macros which allow me to assign PgUp and PgDn to the page up and > page down functions in the navigator window > ... > My problem could be easily fixed if you would simply add the action ... > I've > reported that this function is missing from that list several times over a > period of years with no result. So did this code work for you in the past with a previous version of LibreOffice, or are you just asking for an enhancement request? Status -> NEEDINFO (please change status back to UNCONFIRMED after you reply. Thanks!)
Yes, I included the code from the macro that worked in 4.2. > > The problem is that the various actions under Navigator need to be > regularized. > > I tried remaking the macro, given the Navigator in 4.4. There are two sets > actions that do what I want, i.e. put the top of the next (or previous) page > at the top of the viewport, but only one of these sets works in a macro. > The first set is visible in the Navigator in the sidebar. Their hints are > "Next page" and "Previous page" I really don't know how to describe their > icons, but they're located between the top (horizontal) row between the > little navigator star and the increment/decrement textbox. They do what I > want when I click on them, but they do not work in a macro. However, if > instead of using these two buttons, I click on the little navigator icon > (four pointed star) just to their left (not the larger one on the far right > of the sidebar), that pops up a small dialog showing two rows of icons. > Those on the far right of each row (an up arrow and a down arrow) have the > same hints as previously, and they do the same actions (i.e. the ones I > want) and they are recorded in a macro. So that's good, but it was a > needless nuisance to work out. > > That's why I have recommended in the past and I do so again that if you > would simply add the kind of pgdn and pgup actions I prefer (again, those > that put the top of the next or previous page at the top of the view port) > in the list of Navigator functions in the Customize window so that I could > assign them to the appropriate keys without using a macro. > > Thanks, > > JAS
(In reply to James A. Schulz from comment #2) > Yes, I included the code from the macro that worked in 4.2. > > Okay, so there's some regression/functionality change going on here. > > The problem is that the various actions under Navigator need to be > > regularized. > > > > I tried remaking the macro, given the Navigator in 4.4. There are two sets > > actions that do what I want, i.e. put the top of the next (or previous) page > > at the top of the viewport, but only one of these sets works in a macro. > > The first set is visible in the Navigator in the sidebar. Their hints are > > "Next page" and "Previous page" I really don't know how to describe their > > icons, but they're located between the top (horizontal) row between the > > little navigator star and the increment/decrement textbox. They do what I > > want when I click on them, but they do not work in a macro. However, if > > instead of using these two buttons, I click on the little navigator icon > > (four pointed star) just to their left (not the larger one on the far right > > of the sidebar), that pops up a small dialog showing two rows of icons. > > Those on the far right of each row (an up arrow and a down arrow) have the > > same hints as previously, and they do the same actions (i.e. the ones I > > want) and they are recorded in a macro. So that's good, but it was a > > needless nuisance to work out. Okay, it sounds like 1) Functionality changed but wasn't clearly documented (?) 2) You did find a workaround, but it took a bit of digging > > That's why I have recommended in the past and I do so again that if you > > would simply add the kind of pgdn and pgup actions I prefer (again, those > > that put the top of the next or previous page at the top of the view port) > > in the list of Navigator functions in the Customize window so that I could > > assign them to the appropriate keys without using a macro. Hmmm, so this part sounds like an enhancement request. As the other part sounds like you've mostly resolved it, I'm going to hand this bug over to ux-advise and see if they have thoughts re: adding this capability. Component -> ux-advise Status -> NEW severity -> enhancement
Hi James Thanks for the report. If I understand you correctly, let me know if I don't. It seems to me that the commands you've been asking about is present in LibreOffice 4.4. I do not know when the were added but suspect that it was at the same time as you macro stopped working. ;) Go to Tools -> Customize... Select the Keyboard tab You'll find the commands in the category Navigate The functions are called - To Begin of Next Page - To Begin of Previous Page Isn't that what you actually ask for at the end of your first comment?
Niklas, No, neither of those functions (To Begin of Next/Previous Page) puts the top of the page in question at the top of the viewport. They just move the insertion point. The thing that is frustrating (to me) about this is that the code for the functions I want to use already exists (else the buttons I describe wouldn't do what they do). All that is need is to give those functions a name and add them to the Navigator Functions list in the Customize dialog.
Sorry for not paying attention to the details. Personally I'd prefer to see that the commands I mentioned in Comment 4 would act the way that you prefer. I mean if I want to go to the start of the next/previous page I want it to be shown at the top of the viewport and not at the center as the case is now. About your code snippet, you should get the same results using the following. Sub PgDn doDispatch ".uno:ScrollToNext", Array() End Sub Sub PgUp doDispatch ".uno:ScrollToPrevious", Array() End Sub Function doDispatch(sUnoCmd As String, Args As Variant) Dim oFrame As Object Dim oDispatcher As Object oFrame = ThisComponent.CurrentController.Frame oDispatcher = createUnoService("com.sun.star.frame.DispatchHelper") oDispatcher.executeDispatch(oFrame, sUnoCmd, "", 0, Args) End Function Note however that the function you are using is depending on what type of navigation object that is selected in the navigator so, you cannot be 100% sure that the next object is the next page, it could just as well be the next table. I'm sorry to say that I do not know how to select the object to navigate by through basic.
We're replacing our use of the 'ux-advise' component with a keyword: Component -> LibreOffice Add Keyword: needsUXEval [NinjaEdit]
Would say the question has been answered, and it's rather not a UX question too. Where next page should land at is in discussion at bug 101211.