Working on the preferences window

This commit is contained in:
Pierre Pronchery 2009-04-12 22:11:23 +00:00
parent c86e3e03d3
commit 7fc36675c9
3 changed files with 41 additions and 3 deletions

View File

@ -103,6 +103,7 @@ void on_edit_preferences(GtkWidget * widget, gpointer data)
Surfer * surfer = data; Surfer * surfer = data;
GtkWidget * vbox; GtkWidget * vbox;
GtkWidget * notebook; GtkWidget * notebook;
GtkWidget * page;
GtkWidget * hbox; GtkWidget * hbox;
if(surfer->pr_window != NULL) if(surfer->pr_window != NULL)
@ -122,7 +123,17 @@ void on_edit_preferences(GtkWidget * widget, gpointer data)
vbox = gtk_vbox_new(FALSE, 0); vbox = gtk_vbox_new(FALSE, 0);
/* notebook */ /* notebook */
notebook = gtk_notebook_new(); notebook = gtk_notebook_new();
gtk_box_pack_start(GTK_BOX(vbox), notebook, TRUE, TRUE, 4); /* general */
page = gtk_vbox_new(FALSE, 0);
hbox = gtk_hbox_new(FALSE, 4);
widget = gtk_label_new("Homepage:");
gtk_box_pack_start(GTK_BOX(hbox), widget, TRUE, TRUE, 0);
surfer->pr_homepage = gtk_entry_new();
gtk_box_pack_start(GTK_BOX(hbox), surfer->pr_homepage, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(page), hbox, TRUE, TRUE, 0);
gtk_notebook_append_page(GTK_NOTEBOOK(notebook), page,
gtk_label_new("General"));
gtk_box_pack_start(GTK_BOX(vbox), notebook, TRUE, TRUE, 0);
/* separator */ /* separator */
hbox = gtk_hbox_new(FALSE, 0); hbox = gtk_hbox_new(FALSE, 0);
widget = gtk_hseparator_new(); widget = gtk_hseparator_new();
@ -172,6 +183,7 @@ static void _preferences_on_ok(GtkWidget * widget, gpointer data)
gtk_widget_hide(surfer->pr_window); gtk_widget_hide(surfer->pr_window);
/* FIXME implement */ /* FIXME implement */
surfer_config_save(surfer);
} }

View File

@ -132,9 +132,13 @@ Surfer * surfer_new(char const * url)
if((surfer = malloc(sizeof(*surfer))) == NULL) if((surfer = malloc(sizeof(*surfer))) == NULL)
return NULL; return NULL;
surfer->config = config_new();
surfer->url = NULL; surfer->url = NULL;
if(url != NULL && (surfer->url = strdup(url)) == NULL) if(surfer->config == NULL
|| (url != NULL && (surfer->url = strdup(url)) == NULL))
{ {
if(surfer->config != NULL)
config_delete(surfer->config);
free(surfer); free(surfer);
return NULL; return NULL;
} }
@ -333,7 +337,7 @@ Surfer * surfer_new_copy(Surfer * surfer)
/* surfer_delete */ /* surfer_delete */
void surfer_delete(Surfer * surfer) void surfer_delete(Surfer * surfer)
{ {
/* config_delete(surfer->config); */ config_delete(surfer->config);
free(surfer->url); free(surfer->url);
free(surfer); free(surfer);
surfer_cnt--; surfer_cnt--;
@ -427,6 +431,22 @@ void surfer_set_title(Surfer * surfer, char const * title)
/* useful */ /* useful */
/* surfer_config_load */
int surfer_config_load(Surfer * surfer)
{
/* FIXME implement */
return 0;
}
/* surfer_config_save */
int surfer_config_save(Surfer * surfer)
{
/* FIXME implement */
return 0;
}
/* surfer_confirm */ /* surfer_confirm */
int surfer_confirm(Surfer * surfer, char const * message) int surfer_confirm(Surfer * surfer, char const * message)
{ {

View File

@ -18,6 +18,7 @@
#ifndef SURFER_SURFER_H #ifndef SURFER_SURFER_H
# define SURFER_SURFER_H # define SURFER_SURFER_H
# include <System.h>
# include <gtk/gtk.h> # include <gtk/gtk.h>
@ -41,6 +42,7 @@
/* types */ /* types */
typedef struct _Surfer typedef struct _Surfer
{ {
Config * config;
char * url; char * url;
/* widgets */ /* widgets */
@ -63,6 +65,7 @@ typedef struct _Surfer
/* preferences */ /* preferences */
GtkWidget * pr_window; GtkWidget * pr_window;
GtkWidget * pr_homepage;
} Surfer; } Surfer;
@ -85,6 +88,9 @@ void surfer_set_title(Surfer * surfer, char const * title);
/* useful */ /* useful */
int surfer_config_load(Surfer * surfer);
int surfer_config_save(Surfer * surfer);
int surfer_confirm(Surfer * surfer, char const * message); int surfer_confirm(Surfer * surfer, char const * message);
int surfer_error(Surfer * surfer, char const * message, int ret); int surfer_error(Surfer * surfer, char const * message, int ret);
void surfer_warning(Surfer * surfer, char const * message); void surfer_warning(Surfer * surfer, char const * message);