#include <gdk/gdkx.h>
#include <X11/Xlib.h>
#include <time.h>
+
+#include "config.h"
#include "grip.h"
#include "discdb.h"
#include "cdplay.h"
static void DoLoadConfig(GripInfo *ginfo);
void DoSaveConfig(GripInfo *ginfo);
+#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},\
{"cd_device",CFG_ENTRY_STRING,256,ginfo->cd_device},\
{"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},\
int major,minor,point;
char buf[256];
-#ifdef CONVERSION_GNOME_TO_GTK
- gnome_window_icon_set_default_from_file(GNOME_ICONDIR"/gripicon.png");
-#endif
-
app = gtk_window_new(GTK_WINDOW_TOPLEVEL);
-
+
ginfo=g_new0(GripInfo,1);
gtk_object_set_user_data(GTK_OBJECT(app),(gpointer)ginfo);
}
}
+ /* 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);
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);
-
+
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 */
- 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) {
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);
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();
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)
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);
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);
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)