+ double ml,mr,mt,mb,pw,ph;
+ gnome_print_config_get_length (config,
+ (const guchar*) GNOME_PRINT_KEY_PAGE_MARGIN_LEFT, &ml, NULL);
+ gnome_print_config_get_length (config,
+ (const guchar*) GNOME_PRINT_KEY_PAGE_MARGIN_RIGHT, &mr, NULL);
+ gnome_print_config_get_length (config,
+ (const guchar*) GNOME_PRINT_KEY_PAGE_MARGIN_TOP, &mt, NULL);
+ gnome_print_config_get_length (config,
+ (const guchar*) GNOME_PRINT_KEY_PAGE_MARGIN_BOTTOM, &mb, NULL);
+ gnome_print_config_get_length (config,
+ (const guchar*) GNOME_PRINT_KEY_PAPER_WIDTH, &pw, NULL);
+ gnome_print_config_get_length (config,
+ (const guchar*) GNOME_PRINT_KEY_PAPER_HEIGHT, &ph, NULL);
+
+ gnome_print_convert_distance( &ml, margin_unit, mm_unit );
+ gnome_print_convert_distance( &mr, margin_unit, mm_unit );
+ gnome_print_convert_distance( &mt, margin_unit, mm_unit );
+ gnome_print_convert_distance( &mb, margin_unit, mm_unit );
+ gnome_print_convert_distance( &pw, paper_unit, mm_unit );
+ gnome_print_convert_distance( &ph, paper_unit, mm_unit );
+
+ m_pageDialogData.SetMarginTopLeft( wxPoint( (int)(ml*72.0/25.4+0.5), (int)(mt+0.5)) );
+ m_pageDialogData.SetMarginBottomRight( wxPoint( (int)(mr+0.5), (int)(mb+0.5)) );
+
+ m_pageDialogData.SetPaperSize( wxSize( (int)(pw+0.5), (int)(ph+0.5) ) );
+
+ wxPrintf( wxT("paper %d %d, top margin %d\n"),
+ m_pageDialogData.GetPaperSize().x,
+ m_pageDialogData.GetPaperSize().y,
+ m_pageDialogData.GetMarginTopLeft().x );
+#endif
+