bool decode(ArgumentDecoder* decoder, GRefPtr<GtkPrintSettings>& printSettings) { GOwnPtr<GKeyFile> keyFile; if (!decodeGKeyFile(decoder, keyFile)) return false; printSettings = adoptGRef(gtk_print_settings_new()); if (!keyFile) return true; if (!gtk_print_settings_load_key_file(printSettings.get(), keyFile.get(), "Print Settings", 0)) printSettings = 0; return printSettings; }
static GtkPrintSettings * load_settings (GKeyFile *key_file) { GtkPrintSettings *settings; GError *error = NULL; settings = gtk_print_settings_new (); if (g_key_file_has_group (key_file, PRINT_SETTINGS_GROUP_NAME)) gtk_print_settings_load_key_file ( settings, key_file, PRINT_SETTINGS_GROUP_NAME, &error); if (error != NULL) { g_warning ("%s", error->message); g_error_free (error); } return settings; }