X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=src%2Fgrip.c;h=fb680b24f72623fa75caf30da18fc739db84e798;hb=6a598323ca8b9a25dfffe6a76dbeb695d644288b;hp=4d817af0421a000e13a8ca23c99737e4a8916659;hpb=1045f72c78b41cc886a49e6c822581c124c0459d;p=hvgrip.git diff --git a/src/grip.c b/src/grip.c index 4d817af..fb680b2 100644 --- a/src/grip.c +++ b/src/grip.c @@ -30,7 +30,6 @@ #include #include #include "grip.h" -#include #include "discdb.h" #include "cdplay.h" #include "discedit.h" @@ -42,7 +41,7 @@ #include "parsecfg.h" #include "tray.h" -static void ReallyDie(gint reply,gpointer data); +static void ReallyDie(gpointer data); static void MakeStatusPage(GripInfo *ginfo); static void DoHelp(GtkWidget *widget,gpointer data); static void MakeHelpPage(GripInfo *ginfo); @@ -53,6 +52,8 @@ static void LoadImages(GripGUI *uinfo); static void DoLoadConfig(GripInfo *ginfo); void DoSaveConfig(GripInfo *ginfo); +#define GRIP_URL "http://www.hugovil.com/hvgrip" + #define BASE_CFG_ENTRIES \ {"grip_version",CFG_ENTRY_STRING,256,ginfo->version},\ {"cd_device",CFG_ENTRY_STRING,256,ginfo->cd_device},\ @@ -129,6 +130,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},\ @@ -176,10 +179,8 @@ GtkWidget *GripNew(const gchar* geometry,char *device,char *scsi_device, int major,minor,point; char buf[256]; - gnome_window_icon_set_default_from_file(GNOME_ICONDIR"/gripicon.png"); + app = gtk_window_new(GTK_WINDOW_TOPLEVEL); - app=gnome_app_new(PACKAGE,_("Grip")); - ginfo=g_new0(GripInfo,1); gtk_object_set_user_data(GTK_OBJECT(app),(gpointer)ginfo); @@ -268,6 +269,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); @@ -299,17 +303,19 @@ GtkWidget *GripNew(const gchar* geometry,char *device,char *scsi_device, uinfo->playopts=MakePlayOpts(ginfo); gtk_box_pack_start(GTK_BOX(uinfo->winbox),uinfo->playopts,FALSE,FALSE,0); if(uinfo->track_prog_visible) gtk_widget_show(uinfo->playopts); - + uinfo->controls=MakeControls(ginfo); if(uinfo->minimized) gtk_box_pack_start(GTK_BOX(uinfo->winbox),uinfo->controls,TRUE,TRUE,0); else gtk_box_pack_start(GTK_BOX(uinfo->winbox),uinfo->controls,FALSE,FALSE,0); gtk_widget_show(uinfo->controls); - - gnome_app_set_contents(GNOME_APP(app),uinfo->winbox); + + 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); + CheckNewDisc(ginfo,FALSE); /* Check if we're running this version for the first time */ @@ -320,7 +326,7 @@ GtkWidget *GripNew(const gchar* geometry,char *device,char *scsi_device, /* Check if we have a dev release */ if(minor%2) { - gnome_app_warning((GnomeApp *)ginfo->gui_info.app, + DisplayWarningMsg(GTK_WINDOW(ginfo->gui_info.app), _("This is a development version of Grip. If you encounter problems, you are encouraged to revert to the latest stable version.")); } } @@ -340,22 +346,22 @@ void GripDie(GtkWidget *widget,gpointer data) #ifndef GRIPCD if(ginfo->ripping_a_disc || ginfo->encoding) - gnome_app_ok_cancel_modal((GnomeApp *)ginfo->gui_info.app, + DisplayOkCancelDialog(GTK_WINDOW(ginfo->gui_info.app), _("Work is in progress.\nReally shut down?"), ReallyDie,(gpointer)ginfo); - else ReallyDie(0,ginfo); + else ReallyDie(ginfo); #else - ReallyDie(0,ginfo); + ReallyDie(ginfo); #endif } -static void ReallyDie(gint reply,gpointer data) +static void ReallyDie(gpointer data) { GripInfo *ginfo; - - if(reply) return; + GripGUI *uinfo; ginfo=(GripInfo *)data; + uinfo = &(ginfo->gui_info); #ifndef GRIPCD if(ginfo->ripping_a_disc) KillRip(NULL,ginfo); @@ -365,6 +371,9 @@ static void ReallyDie(gint reply,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(); @@ -473,7 +482,9 @@ static void DoHelp(GtkWidget *widget,gpointer data) section=(char *)data; +#ifdef CONVERSION_GNOME_TO_GTK gnome_help_display("grip.xml",section,NULL); +#endif } static void MakeHelpPage(GripInfo *ginfo) @@ -582,7 +593,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); @@ -625,7 +636,7 @@ static void MakeStyles(GripGUI *uinfo) static void Homepage(void) { - system("gnome-moz-remote http://www.nostatic.org/grip"); + g_app_info_launch_default_for_uri(GRIP_URL, NULL, NULL); } static void LoadImages(GripGUI *uinfo) @@ -918,7 +929,7 @@ static void DoLoadConfig(GripInfo *ginfo) if(confret<0) { /* Check if the config is out of date */ if(confret==-2) { - gnome_app_warning((GnomeApp *)ginfo->gui_info.app, + DisplayWarningMsg(GTK_WINDOW(ginfo->gui_info.app), _("Your config file is out of date -- " "resetting to defaults.\n" "You will need to re-configure Grip.\n" @@ -1012,7 +1023,7 @@ void DoSaveConfig(GripInfo *ginfo) g_snprintf(filename,256,"%s/%s",getenv("HOME"),ginfo->config_filename); if(!SaveConfig(filename,"GRIP",2,cfg_entries)) - gnome_app_warning((GnomeApp *)ginfo->gui_info.app, + DisplayWarningMsg(GTK_WINDOW(ginfo->gui_info.app), _("Error: Unable to save config file.")); SaveRipperConfig(ginfo,ginfo->selected_ripper);