1 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ 2 /* 3 * brasero 4 * Copyright (C) Philippe Rouquier 2009 <bonfire-app@wanadoo.fr> 5 * 6 * brasero is free software: you can redistribute it and/or modify it 7 * under the terms of the GNU Lesser General Public License as published 8 * by the Free Software Foundation, either version 3 of the License, or 9 * (at your option) any later version. 10 * 11 * brasero is distributed in the hope that it will be useful, but 12 * WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 * See the GNU Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public License 17 * along with this program. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 20 #ifndef _BRASERO_SETTING_H_ 21 #define _BRASERO_SETTING_H_ 22 23 #include <glib-object.h> 24 25 G_BEGIN_DECLS 26 27 typedef enum { 28 BRASERO_SETTING_VALUE_NONE, 29 30 /** gint value **/ 31 BRASERO_SETTING_WIN_WIDTH, 32 BRASERO_SETTING_WIN_HEIGHT, 33 BRASERO_SETTING_STOCK_FILE_CHOOSER_PERCENT, 34 BRASERO_SETTING_BRASERO_FILE_CHOOSER_PERCENT, 35 BRASERO_SETTING_PLAYER_VOLUME, 36 BRASERO_SETTING_DISPLAY_PROPORTION, 37 BRASERO_SETTING_DISPLAY_LAYOUT, 38 BRASERO_SETTING_DATA_DISC_COLUMN, 39 BRASERO_SETTING_DATA_DISC_COLUMN_ORDER, 40 BRASERO_SETTING_IMAGE_SIZE_WIDTH, 41 BRASERO_SETTING_IMAGE_SIZE_HEIGHT, 42 BRASERO_SETTING_VIDEO_SIZE_HEIGHT, 43 BRASERO_SETTING_VIDEO_SIZE_WIDTH, 44 45 /** gboolean **/ 46 BRASERO_SETTING_WIN_MAXIMIZED, 47 BRASERO_SETTING_SHOW_SIDEPANE, 48 BRASERO_SETTING_SHOW_PREVIEW, 49 50 /** gchar * **/ 51 BRASERO_SETTING_DISPLAY_LAYOUT_AUDIO, 52 BRASERO_SETTING_DISPLAY_LAYOUT_DATA, 53 BRASERO_SETTING_DISPLAY_LAYOUT_VIDEO, 54 55 /** gchar ** **/ 56 BRASERO_SETTING_SEARCH_ENTRY_HISTORY, 57 58 } BraseroSettingValue; 59 60 #define BRASERO_TYPE_SETTING (brasero_setting_get_type ()) 61 #define BRASERO_SETTING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BRASERO_TYPE_SETTING, BraseroSetting)) 62 #define BRASERO_SETTING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BRASERO_TYPE_SETTING, BraseroSettingClass)) 63 #define BRASERO_IS_SETTING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BRASERO_TYPE_SETTING)) 64 #define BRASERO_IS_SETTING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BRASERO_TYPE_SETTING)) 65 #define BRASERO_SETTING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BRASERO_TYPE_SETTING, BraseroSettingClass)) 66 67 typedef struct _BraseroSettingClass BraseroSettingClass; 68 typedef struct _BraseroSetting BraseroSetting; 69 70 struct _BraseroSettingClass 71 { 72 GObjectClass parent_class; 73 74 /* Signals */ 75 void(* value_changed) (BraseroSetting *self, gint value); 76 }; 77 78 struct _BraseroSetting 79 { 80 GObject parent_instance; 81 }; 82 83 GType brasero_setting_get_type (void) G_GNUC_CONST; 84 85 BraseroSetting * 86 brasero_setting_get_default (void); 87 88 gboolean 89 brasero_setting_get_value (BraseroSetting *setting, 90 BraseroSettingValue setting_value, 91 gpointer *value); 92 93 gboolean 94 brasero_setting_set_value (BraseroSetting *setting, 95 BraseroSettingValue setting_value, 96 gconstpointer value); 97 98 gboolean 99 brasero_setting_load (BraseroSetting *setting); 100 101 gboolean 102 brasero_setting_save (BraseroSetting *setting); 103 104 G_END_DECLS 105 106 #endif /* _BRASERO_SETTING_H_ */ 107