X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=src%2Fgrip.c;h=41699e89061fbb1559b44a40121e8980d4cf91c4;hb=5e23c9545f28ee836152b8eff4e3bb1b29eec430;hp=80e859a9fe2a26a6c7b71ddbdb9b9847d4d218c4;hpb=e1e84159f84c6f0164ecd7064304947a0efcea8d;p=hvgrip.git diff --git a/src/grip.c b/src/grip.c index 80e859a..41699e8 100644 --- a/src/grip.c +++ b/src/grip.c @@ -29,6 +29,8 @@ #include #include #include + +#include "config.h" #include "grip.h" #include "discdb.h" #include "cdplay.h" @@ -52,7 +54,8 @@ static void LoadImages(GripGUI *uinfo); static void DoLoadConfig(GripInfo *ginfo); void DoSaveConfig(GripInfo *ginfo); -#define GRIP_URL "http://www.nostatic.org/grip" +#define GRIP_URL "http://www.hugovil.com/hvgrip" +#define GRIP_HTML_DOC_URL "file://"DOCDIR"/grip.html" #define BASE_CFG_ENTRIES \ {"grip_version",CFG_ENTRY_STRING,256,ginfo->version},\ @@ -130,6 +133,8 @@ void DoSaveConfig(GripInfo *ginfo); {"win_height_edit",CFG_ENTRY_INT,0,&uinfo->win_height_edit},\ {"win_width_min",CFG_ENTRY_INT,0,&uinfo->win_width_min},\ {"win_height_min",CFG_ENTRY_INT,0,&uinfo->win_height_min},\ +{"win_pos_x",CFG_ENTRY_INT,0,&uinfo->x},\ +{"win_pos_y",CFG_ENTRY_INT,0,&uinfo->y},\ {"vol_vis",CFG_ENTRY_BOOL,0,&uinfo->volvis},\ {"track_edit_vis",CFG_ENTRY_BOOL,0,&uinfo->track_edit_visible},\ {"track_prog_vis",CFG_ENTRY_BOOL,0,&uinfo->track_prog_visible},\ @@ -267,6 +272,9 @@ GtkWidget *GripNew(const gchar* geometry,char *device,char *scsi_device, } } + /* Position window from values in config file. */ + gtk_window_move(GTK_WINDOW(app),uinfo->x, uinfo->y); + gtk_widget_realize(app); uinfo->winbox=gtk_vbox_new(FALSE,3); @@ -309,15 +317,15 @@ GtkWidget *GripNew(const gchar* geometry,char *device,char *scsi_device, gtk_container_add(GTK_CONTAINER(app), uinfo->winbox); gtk_widget_show(uinfo->winbox); - gtk_window_set_icon_from_file(GTK_WINDOW(app), GNOME_ICONDIR"/gripicon.png", NULL); + gtk_window_set_icon_from_file(GTK_WINDOW(app), ICONDIR"/gripicon.png", NULL); CheckNewDisc(ginfo,FALSE); /* Check if we're running this version for the first time */ - if(strcmp(VERSION,ginfo->version)!=0) { - strcpy(ginfo->version,VERSION); + if (strcmp(PACKAGE_VERSION, ginfo->version) != 0) { + strcpy(ginfo->version, PACKAGE_VERSION); - sscanf(VERSION,"%d.%d.%d",&major,&minor,&point); + sscanf(PACKAGE_VERSION, "%d.%d.%d", &major, &minor, &point); /* Check if we have a dev release */ if(minor%2) { @@ -353,8 +361,10 @@ void GripDie(GtkWidget *widget,gpointer data) static void ReallyDie(gpointer data) { GripInfo *ginfo; + GripGUI *uinfo; ginfo=(GripInfo *)data; + uinfo = &(ginfo->gui_info); #ifndef GRIPCD if(ginfo->ripping_a_disc) KillRip(NULL,ginfo); @@ -364,6 +374,9 @@ static void ReallyDie(gpointer data) if(!ginfo->no_interrupt) CDStop(&(ginfo->disc)); + /* For saving the window position */ + gtk_window_get_position(GTK_WINDOW(uinfo->app), &uinfo->x, &uinfo->y); + DoSaveConfig(ginfo); gtk_main_quit(); @@ -469,12 +482,23 @@ void LogStatus(GripInfo *ginfo,char *fmt,...) static void DoHelp(GtkWidget *widget,gpointer data) { char *section; + char *uri; section=(char *)data; -#ifdef CONVERSION_GNOME_TO_GTK - gnome_help_display("grip.xml",section,NULL); -#endif + if (section) { + /* + * This doesn't work for the moment: the "#section" seems to be + * ignored by g_app_info_launch_default_for_uri(). + */ + uri = g_strdup_printf("%s#%s", GRIP_HTML_DOC_URL, section); + } + else { + uri = g_strdup_printf("%s", GRIP_HTML_DOC_URL); + } + + g_app_info_launch_default_for_uri(uri, NULL, NULL); + g_free (uri); } static void MakeHelpPage(GripInfo *ginfo) @@ -563,7 +587,7 @@ void MakeAboutPage(GripGUI *uinfo) vbox2=gtk_vbox_new(TRUE,0); - sprintf(versionbuf,_("Version %s"),VERSION); + sprintf(versionbuf, _("Version %s"), PACKAGE_VERSION); label=gtk_label_new(versionbuf); gtk_widget_set_style(label,uinfo->style_wb); gtk_box_pack_start(GTK_BOX(vbox2),label,FALSE,FALSE,0); @@ -583,7 +607,7 @@ void MakeAboutPage(GripGUI *uinfo) hbox=gtk_hbox_new(TRUE,0); - button=gtk_button_new_with_label("http://www.nostatic.org/grip"); + button=gtk_button_new_with_label(GRIP_URL); gtk_widget_set_style(button,uinfo->style_dark_grey); gtk_widget_set_style(GTK_BIN(button)->child, uinfo->style_dark_grey); @@ -626,18 +650,7 @@ static void MakeStyles(GripGUI *uinfo) static void Homepage(void) { - int status; - - status = system("firefox " GRIP_URL); - if (status != 0) { - status = system("opera " GRIP_URL); - if (status != 0) { - status = system("chromium-browser " GRIP_URL); - if (status != 0) { - status = system("gnome-moz-remote " GRIP_URL); - } - } - } + g_app_info_launch_default_for_uri(GRIP_URL, NULL, NULL); } static void LoadImages(GripGUI *uinfo)