예제 #1
0
파일: print.c 프로젝트: gdt/viking
static void page_setup_cb (GtkWidget *widget, CustomWidgetInfo *info)
{
  PrintData *data = info->data;
  GtkPrintOperation *operation = data->operation;
  GtkPrintSettings  *settings;
  GtkPageSetup      *page_setup;
  GtkWidget         *toplevel;

  toplevel = gtk_widget_get_toplevel (widget);
#if GTK_CHECK_VERSION (2,18,0)
  if (! gtk_widget_is_toplevel (toplevel))
#else
  if (! GTK_WIDGET_TOPLEVEL (toplevel))
#endif
    toplevel = NULL;

  settings = gtk_print_operation_get_print_settings (operation);
  if (! settings)
    settings = gtk_print_settings_new ();

  page_setup = gtk_print_operation_get_default_page_setup (operation);

  page_setup = gtk_print_run_page_setup_dialog (GTK_WINDOW (toplevel),
                                                page_setup, settings);

  gtk_print_operation_set_default_page_setup (operation, page_setup);

  vik_print_preview_set_page_setup (VIK_PRINT_PREVIEW (info->preview),
                                     page_setup);

  update_page_setup (info);

}
예제 #2
0
void
e_print_run_page_setup_dialog (GtkWindow *parent)
{
	GtkPageSetup *new_page_setup;
	GtkPageSetup *old_page_setup;
	GtkPrintSettings *settings;
	GKeyFile *key_file;

	key_file = g_key_file_new ();
	load_key_file (key_file);

	settings = load_settings (key_file);
	old_page_setup = load_page_setup (key_file);
	new_page_setup = gtk_print_run_page_setup_dialog (
		parent, old_page_setup, settings);
	save_page_setup (new_page_setup, key_file);
	save_settings (settings, key_file);

	g_object_unref (new_page_setup);
	g_object_unref (old_page_setup);
	g_object_unref (settings);

	save_key_file (key_file);
	g_key_file_free (key_file);
}
예제 #3
0
/* File->Page Setup... */
void
action_page_setup(GtkAction *action, I7Document *document)
{
	I7App *theapp = i7_app_get();
	GtkPrintSettings *settings = i7_app_get_print_settings(theapp);

	if(!settings)
		settings = gtk_print_settings_new();

	GtkPageSetup *new_page_setup = gtk_print_run_page_setup_dialog(GTK_WINDOW(document), i7_app_get_page_setup(theapp), settings);

	i7_app_set_page_setup(theapp, new_page_setup);
}
예제 #4
0
파일: print-editor.c 프로젝트: Aridna/gtk2
static void
do_page_setup (GtkAction *action)
{
  GtkPageSetup *new_page_setup;

  new_page_setup = gtk_print_run_page_setup_dialog (GTK_WINDOW (main_window),
						    page_setup, settings);

  if (page_setup)
    g_object_unref (page_setup);
  
  page_setup = new_page_setup;
}
예제 #5
0
파일: printing.c 프로젝트: Hamakor/geany
void printing_page_setup_gtk(void)
{
	GtkPageSetup *new_page_setup;

	if (settings == NULL)
		settings = gtk_print_settings_new();

	new_page_setup = gtk_print_run_page_setup_dialog(
		GTK_WINDOW(main_widgets.window), page_setup, settings);

	if (page_setup != NULL)
		g_object_unref(page_setup);

	page_setup = new_page_setup;
}
예제 #6
0
파일: print-editor.c 프로젝트: GYGit/gtk
static void
activate_page_setup (GSimpleAction *action,
                     GVariant      *parameter,
                     gpointer       user_data)
{
  GtkPageSetup *new_page_setup;

  new_page_setup = gtk_print_run_page_setup_dialog (GTK_WINDOW (main_window),
                                                    page_setup, settings);

  if (page_setup)
    g_object_unref (page_setup);

  page_setup = new_page_setup;
}
예제 #7
0
void
print_page_setup_dialog (GtkPrintOperation *operation)
{
  GtkPrintSettings *settings;
  GtkPageSetup     *setup;

  g_return_if_fail (GTK_IS_PRINT_OPERATION (operation));

  setup = gtk_print_operation_get_default_page_setup (operation);

  settings = gtk_print_settings_new ();
  setup = gtk_print_run_page_setup_dialog (NULL, setup, settings);
  g_object_unref (settings);

  gtk_print_operation_set_default_page_setup (operation, setup);
}
예제 #8
0
static VALUE
po_run_page_setup_dialog(int argc, VALUE *argv, VALUE self)
{
    VALUE parent, page_setup, settings;
    rb_scan_args(argc, argv, "03", &parent, &page_setup, &settings);

    if (rb_block_given_p()) {
        volatile VALUE func = rb_block_proc();
        G_CHILD_SET(gPrintOperation, rb_intern("setup_done_cb"), func);
        gtk_print_run_page_setup_dialog_async(RVAL2GOBJ(parent),
                                              RVAL2GOBJ(page_setup),
                                              RVAL2GOBJ(settings),
                                              page_setup_done_cb,
                                              (gpointer)func);
        return Qnil;
    } else {
        return GOBJ2RVALU(gtk_print_run_page_setup_dialog(RVAL2GOBJ(parent),
                                                          RVAL2GOBJ(page_setup),
                                                          RVAL2GOBJ(settings)));
    }
}
예제 #9
0
void
gnc_ui_page_setup(GtkWindow *parent)
{
    GtkPrintSettings *settings = NULL;
    GtkPageSetup *old_page_setup, *new_page_setup;

    /* Get a reference to the current print settings */
    G_LOCK(print_settings);
    settings = print_settings;
    if (settings)
        g_object_ref(settings);
    G_UNLOCK(print_settings);

    /* Get a reference to the current page setup */
    G_LOCK(page_setup);
    old_page_setup = page_setup;
    if (old_page_setup)
        g_object_ref(old_page_setup);
    G_UNLOCK(page_setup);

    /* Run dialog */
    new_page_setup = gtk_print_run_page_setup_dialog(parent, old_page_setup,
                     settings);

    /* Save new page setup */
    G_LOCK(page_setup);
    if (page_setup)
        g_object_unref(page_setup);
    page_setup = new_page_setup;
    G_UNLOCK(page_setup);

    /* Release references */
    if (settings)
        g_object_unref(settings);
    if (old_page_setup)
        g_object_unref(old_page_setup);
}