[Libreoffice] [EasyHack][Print current page] How to get the last active page number?

Jeroen van Rijn jvrnix at gmail.com
Mon Mar 28 00:43:21 PDT 2011

On Mon, Mar 28, 2011 at 05:33, Skyler Hawthorne
<skylerhawthorne at gmail.com> wrote:
> Hello all,
> I am working on the EasyHack "Print current page" (
> http://wiki.documentfoundation.org/Easy_Hacks#Print_current_page ), and I
> need a little help. I believe I've found out how to change the default
> value:
> In PrintDialog::setupOptionalUI, it appears the default text for the page
> range edit box is set on line 1507 (
> http://opengrok.libreoffice.org/xref/libs-gui/vcl/source/window/printdlg.cxx#1507
> ). As a test, I commented out line #1516, where it actually sets the string
> value for the edit box, and added:
> rtl::OUString curActivePageNum( RTL_CONSTASCII_USTRINGPARAM("2") );
> pField->SetText( curActivePageNum );
> maPController->setValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(
> "PageRange" ) ), makeAny( curActivePageNum ) );
> And that sets the PrinterController's PageRange property to 2, and sets it
> as the default value for the edit box.
> Now, I just need to be able to access the current document's page number.
> However, I've been digging through this code all weekend, and I cannot find
> anything that stores that value. Is it some other PropertyValue stored in
> maPController? If so, what is the name? Is there some static function that
> can access information about the current document?
> Any help is much appreciated.

I haven't looked at the code in question, but here's a question that
might lead you to the answer you need: Where does the current page
number on the statusbar get its information from?

That amount of awesome cannot be from concentrate.

More information about the LibreOffice mailing list