Added button image data transmission from
[irreco.git] / irreco / src / core / irreco_theme_manager_dlg.h
blob7a8603f8ad91ed8a9a178c0726f50e949238f1ba
1 /*
2 * irreco - Ir Remote Control
3 * Copyright (C) 2008 Pekka Gehör (pegu6@msn.com)
4 * Joni Kokko (t5kojo01@students.oamk.fi),
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version 2
9 * of the License, or (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21 /**
22 * @addtogroup IrrecoThemeManagerDlg
23 * @{
26 /**
27 * @file
28 * Header file of @ref IrrecoThemeManagerDlg.
31 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
32 /* Typedef */
33 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
35 * Make sure that typedefs are available before we include anything elese.
37 * This makes sure that whatever other structures that depend on structures
38 * defined in this file will compile OK recardles of header inclusion order.
41 #ifndef __IRRECO_THEME_MANAGER_DLG_H_TYPEDEF__
42 #define __IRRECO_THEME_MANAGER_DLG_H_TYPEDEF__
46 #define IRRECO_TYPE_THEME_MANAGER_DLG irreco_theme_manager_dlg_get_type()
47 #define IRRECO_THEME_MANAGER_DLG(obj) \
48 (G_TYPE_CHECK_INSTANCE_CAST ((obj), IRRECO_TYPE_THEME_MANAGER_DLG,\ IrrecoThemeManagerDlg))
49 #define IRRECO_THEME_MANAGER_DLG_CLASS(klass) \
50 (G_TYPE_CHECK_CLASS_CAST ((klass), IRRECO_TYPE_THEME_MANAGER_DLG,\ IrrecoThemeManagerDlgClass))
51 #define IRRECO_IS_THEME_MANAGER_DLG(obj) \
52 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IRRECO_TYPE_THEME_MANAGER_DLG))
53 #define IRRECO_IS_THEME_MANAGER_DLG_CLASS(klass) \
54 (G_TYPE_CHECK_CLASS_TYPE ((klass), IRRECO_TYPE_THEME_MANAGER_DLG))
55 #define IRRECO_THEME_MANAGER_DLG_GET_CLASS(obj) \
56 (G_TYPE_INSTANCE_GET_CLASS ((obj), IRRECO_TYPE_THEME_MANAGER_DLG, \ IrrecoThemeManagerDlgClass))
60 #define IRRECO_TYPE_THEME_MANAGER_DLG (irreco_theme_manager_dlg_get_type ())
61 #define IRRECO_THEME_MANAGER_DLG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
62 IRRECO_TYPE_THEME_MANAGER_DLG, IrrecoThemeManagerDlg))
63 #define IRRECO_THEME_MANAGER_DLG_CLASS(klass) \
64 (G_TYPE_CHECK_CLASS_CAST ((klass), IRRECO_TYPE_THEME_MANAGER_DLG, \
65 IrrecoThemeManagerDlgClass))
66 #define IRRECO_IS_THEME_MANAGER_DLG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
67 IRRECO_TYPE_THEME_MANAGER_DLG))
68 #define IRRECO_IS_THEME_MANAGER_DLG_CLASS(klass) \
69 (G_TYPE_CHECK_CLASS_TYPE ((klass), IRRECO_TYPE_THEME_MANAGER_DLG))
70 #define IRRECO_THEME_MANAGER_DLG_GET_CLASS(obj) \
71 (G_TYPE_INSTANCE_GET_CLASS ((obj), IRRECO_TYPE_THEME_MANAGER_DLG, \
72 IrrecoThemeManagerDlgClass))
78 typedef struct _IrrecoThemeManagerDlg IrrecoThemeManagerDlg;
79 typedef struct _IrrecoThemeManagerDlgClass IrrecoThemeManagerDlgClass;
81 #endif /* __IRRECO_THEME_MANAGER_DLG_H_TYPEDEF__ */
85 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
86 /* Include */
87 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
88 #ifndef __IRRECO_THEME_MANAGER_DLG_H__
89 #define __IRRECO_THEME_MANAGER_DLG_H__
90 #include "irreco.h"
91 /*#include "irreco_dlg.h"*/
92 #include "irreco_data.h"
93 #include "irreco_internal_dlg.h"
94 #include "irreco_internal_widget.h"
95 #include "irreco_theme_upload_dlg.h"
96 #include "irreco_webdb_cache.h"
97 #include "irreco_theme_creator_dlg.h"
98 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
99 /* Datatypes */
100 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
102 struct _IrrecoThemeManagerDlg {
105 IrrecoInternalDlg parent;
106 IrrecoTheme *theme;
107 IrrecoData *irreco_data;
108 GtkWidget *theme_image;
109 GtkWidget *banner;
110 GtkTreeStore *tree_store;
111 GtkTreeView *tree_view;
112 GtkWidget *preview;
113 GdkPixbuf *preview_button;
115 /* For WebdbTheme */
116 IrrecoWebdbTheme *webdb_theme;
117 GtkTreeStore *version_store;
118 gint selected_theme_id;
119 gchar* theme_folder;
120 GtkWidget *download_dialog;
121 gint theme_loader_index;
123 /* For ThemeManager UI*/
124 GtkWidget *theme_comment;
125 GtkWidget *theme_creator;
126 GtkWidget *theme_downloaded;
127 GtkWidget *theme_info_alignment;
128 GtkWidget *theme_name;
129 GtkWidget *theme_version;
130 GtkWidget *label_creator;
131 GtkWidget *label_download;
132 GtkWidget *combobox;
133 /*Buttons*/
134 GtkWidget *refresh_button;
135 GtkWidget *upload_button;
136 GtkWidget *download_button;
137 GtkWidget *clear_button;
138 GtkWidget *new_button;
139 GtkWidget *edit_button;
141 GtkWidget *select_label;
142 GtkWidget *label_combobox;
143 GtkWidget *config_uploaded;
144 GtkWidget *config_download_count;
145 gint loader_func_id;
146 gint loader_state;
147 gint loader_pos;
148 gchar *preview_add;
149 gchar *delete_theme_name;
151 /** The loaded items are childern of this iter.*/
152 GtkTreeIter *loader_parent_iter;
153 GtkTreeIter *loader_iter;
158 struct _IrrecoThemeManagerDlgClass {
159 IrrecoInternalDlgClass parent_class;
162 struct _IrrecoThemeManagerDlgClass {
163 IrrecoInternalDlgClass parent_class;
164 };*/
166 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
167 /* Macro */
168 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
172 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
173 /* Prototypes */
174 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
175 GType irreco_theme_manager_dlg_get_type(void);
176 GtkWidget *irreco_theme_manager_dlg_new(IrrecoData *irreco_data,
177 GtkWindow *parent);
178 void irreco_theme_manager_dlg_set_irreco_data(IrrecoThemeManagerDlg *self,
179 IrrecoData *irreco_data);
180 void irreco_show_theme_manager_dlg(IrrecoData *irreco_data, GtkWindow *parent);
182 #endif /* __IRRECO_THEME_MANAGER_DLG_H__ */
184 /** @} */