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;
GtkWidget * vbox;
GtkWidget * notebook;
GtkWidget * page;
GtkWidget * hbox;
if(surfer->pr_window != NULL)
@ -122,7 +123,17 @@ void on_edit_preferences(GtkWidget * widget, gpointer data)
vbox = gtk_vbox_new(FALSE, 0);
/* notebook */
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 */
hbox = gtk_hbox_new(FALSE, 0);
widget = gtk_hseparator_new();
@ -172,6 +183,7 @@ static void _preferences_on_ok(GtkWidget * widget, gpointer data)
gtk_widget_hide(surfer->pr_window);
/* FIXME implement */
surfer_config_save(surfer);
}

View File

@ -132,9 +132,13 @@ Surfer * surfer_new(char const * url)
if((surfer = malloc(sizeof(*surfer))) == NULL)
return NULL;
surfer->config = config_new();
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);
return NULL;
}
@ -333,7 +337,7 @@ Surfer * surfer_new_copy(Surfer * surfer)
/* surfer_delete */
void surfer_delete(Surfer * surfer)
{
/* config_delete(surfer->config); */
config_delete(surfer->config);
free(surfer->url);
free(surfer);
surfer_cnt--;
@ -427,6 +431,22 @@ void surfer_set_title(Surfer * surfer, char const * title)
/* 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 */
int surfer_confirm(Surfer * surfer, char const * message)
{

View File

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