changeset 50:dae6d3c2268d

Minor fixes, updated to support default XMMS configfile
author Matti Hamalainen <ccr@tnsp.org>
date Sat, 21 Jun 2003 21:11:02 +0000
parents 3518ca5c8b0f
children ccab75d0dacc
files src/xmms-sid.h src/xs_config.c src/xs_config.h src/xs_fileinfo.cc
diffstat 4 files changed, 44 insertions(+), 258 deletions(-) [+]
line wrap: on
line diff
--- a/src/xmms-sid.h	Sat Jun 21 20:51:01 2003 +0000
+++ b/src/xmms-sid.h	Sat Jun 21 21:11:02 2003 +0000
@@ -39,6 +39,9 @@
  */
 #define XS_BUFSIZE		(4096)		/* Size for some buffers */
 
+#define XS_CONFIG_IDENT		"XMMS-SID"	/* Configuration file identifier */
+#define XS_CONFIG_FILE		"/.xmms/config"
+
 #define XS_MIN_OVERSAMPLE	(2)
 #define XS_MAX_OVERSAMPLE	(8)
 
--- a/src/xs_config.c	Sat Jun 21 20:51:01 2003 +0000
+++ b/src/xs_config.c	Sat Jun 21 21:11:02 2003 +0000
@@ -139,10 +139,14 @@
 
  /* Try to open the XMMS configuration file */
  XSDEBUG("loading from config-file ...\n");
-
+#ifdef HAVE_NODEFAULTCFG
  cfgFilename = g_strconcat(g_get_home_dir(), XS_CONFIG_FILE, NULL);
  cfgFile = xmms_cfg_open_file(cfgFilename);
  g_free(cfgFilename);
+#else
+ cfgFile = xmms_cfg_open_default_file();
+#endif
+
  if (cfgFile == NULL)
 	{
 	XSDEBUG("could not open configuration file, trying to write defaults...\n");
@@ -150,7 +154,6 @@
 	return;
 	}
 
-
  /* Read the new settings from XMMS configuration file */
  for (i = 0; i < XS_CFGTABLE_MAX; i++)
  	{
@@ -205,8 +208,12 @@
  /*
   * Try to open the XMMS configuration file
   */
+#ifdef HAVE_NODEFAULTCFG
  cfgFilename = g_strconcat(g_get_home_dir(), XS_CONFIG_FILE, NULL);
  cfgFile = xmms_cfg_open_file(cfgFilename);
+#else
+ cfgFile = xmms_cfg_open_default_file();
+#endif
 
  if (!cfgFile)
 	cfgFile = xmms_cfg_new();
@@ -239,11 +246,15 @@
 	}
 
  /* Flush the file */
+#ifdef HAVE_NODEFAULTCFG
  xmms_cfg_write_file(cfgFile, cfgFilename);
+ g_free(cfgFilename);
+#else
+ xmms_cfg_write_default_file(cfgFile);
+#endif
 
  /* Free the memory areas */
  xmms_cfg_free(cfgFile);
- g_free(cfgFilename);
 
  return 0;
 }
--- a/src/xs_config.h	Sat Jun 21 20:51:01 2003 +0000
+++ b/src/xs_config.h	Sat Jun 21 21:11:02 2003 +0000
@@ -5,14 +5,7 @@
 extern "C" {
 #endif
 
-#include <xmms-sid.h>
-
-/*
- * Constants
- */
-#define XS_CONFIG_IDENT		"XMMS-SID"	/* Configuration file identifier */
-#define XS_CONFIG_FILE		"/.xmms/config"
-
+#include "xmms-sid.h"
 
 /*
  * Configuration structure
--- a/src/xs_fileinfo.cc	Sat Jun 21 20:51:01 2003 +0000
+++ b/src/xs_fileinfo.cc	Sat Jun 21 21:11:02 2003 +0000
@@ -28,9 +28,6 @@
 #include <string.h>
 
 static GtkWidget *xs_fileinfowin = NULL;
-static GtkWidget *fileinfo_filename, *fileinfo_songname, *fileinfo_composer;
-static GtkWidget *fileinfo_copyright, *fileinfo_ok, *fileinfo_sub_comment;
-static GtkWidget *fileinfo_sub_tune, *fileinfo_sub_tune_menu, *fileinfo_sub_artist, *fileinfo_sub_title;
 
 
 /*
@@ -38,7 +35,8 @@
  */
 void xs_fileinfo_ok(void)
 {
-  gtk_widget_destroy(xs_fileinfowin);
+ gtk_widget_destroy(xs_fileinfowin);
+ xs_fileinfowin = NULL;
 }
 
 
@@ -61,19 +59,18 @@
 
  /* Get and set subtune information */
  if (a_tune->artist != NULL)
- gtk_entry_set_text (GTK_ENTRY (fileinfo_sub_artist), a_tune->artist);
+	gtk_entry_set_text (GTK_ENTRY (fileinfo_sub_artist), a_tune->artist);
 
  if (a_tune->title != NULL)
- gtk_entry_set_text (GTK_ENTRY (fileinfo_sub_title), a_tune->title);
+	gtk_entry_set_text (GTK_ENTRY (fileinfo_sub_title), a_tune->title);
 
- if (a_tune->comment != NULL) {
-
+ if (a_tune->comment != NULL)
+	{
 	/* Freeze the widget for update */
 	gtk_text_freeze(GTK_TEXT(fileinfo_sub_comment));
 
 	/* Delete the old comment */
 	gtk_text_set_point(GTK_TEXT(fileinfo_sub_comment), 0);
-
 	gtk_text_forward_delete(GTK_TEXT(fileinfo_sub_comment),
 	gtk_text_get_length(GTK_TEXT(fileinfo_sub_comment)));
 
@@ -90,11 +87,8 @@
 /*
  * Execute the file-info dialog
  */
-void xs_file_info_box(char *filename)
+void xs_fileinfo(gchar *pcFilename)
 {
-  GtkWidget *vbox14, *table1, *label16, *label17, *label18, *label19;
-  GtkWidget *frame14, *vbox15, *glade_menuitem, *frame15, *alignment5;
-  GtkWidget *table2, *label21, *label22, *scrolledwindow2;
   gint n;
   gchar tempstr[128];
 
@@ -104,251 +98,41 @@
   struct sidTuneInfo sidInf;
   t.getInfo(sidInf);
 
-  /* Check if therea already is an open fileinfo window */
-  if (xs_fileinfowin != NULL) {
-	gdk_window_raise (xs_fileinfowin->window);
+  /* Check if there already is an open fileinfo window */
+  if (xs_fileinfowin != NULL)
+	{
+	gdk_window_raise(xs_fileinfowin->window);
 	return;
 	}
 
   /* If not, create a new one */
   xs_fileinfowin = gtk_window_new (GTK_WINDOW_DIALOG);
-  gtk_signal_connect(GTK_OBJECT(xs_fileinfowin),"destroy", GTK_SIGNAL_FUNC(gtk_widget_destroyed), &xs_fileinfowin);
-  gtk_object_set_data (GTK_OBJECT (xs_fileinfowin), "xs_fileinfowin", xs_fileinfowin);
-  gtk_widget_set_usize (xs_fileinfowin, 400, 350);
-  gtk_window_set_title (GTK_WINDOW (xs_fileinfowin), "xmms-sid fileinfo");
-  gtk_window_set_position (GTK_WINDOW (xs_fileinfowin), GTK_WIN_POS_MOUSE);
-
-  /* Start creating the widgets ! */
-  vbox14 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_ref (vbox14);
-  gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "vbox14", vbox14, (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (vbox14);
-  gtk_container_add (GTK_CONTAINER (xs_fileinfowin), vbox14);
-
-
-  /* Song information */
-  frame14 = gtk_frame_new ("Song Information:");
-  gtk_widget_ref (frame14);
-  gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "frame14", frame14, (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (frame14);
-  gtk_box_pack_start (GTK_BOX (vbox14), frame14, FALSE, TRUE, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (frame14), 4);
-
-  table1 = gtk_table_new (4, 2, FALSE);
-  gtk_widget_ref (table1);
-  gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "table1", table1, (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (table1);
-  gtk_container_add (GTK_CONTAINER (frame14), table1);
-  gtk_container_set_border_width (GTK_CONTAINER (table1), 4);
-  gtk_table_set_row_spacings (GTK_TABLE (table1), 2);
-  gtk_table_set_col_spacings (GTK_TABLE (table1), 4);
-
-  label16 = gtk_label_new ("Filename:");
-  gtk_widget_ref (label16);
-  gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "label16", label16, (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label16);
-  gtk_table_attach (GTK_TABLE (table1), label16, 0, 1, 0, 1,
-                    (GtkAttachOptions) (0),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  label17 = gtk_label_new ("Songname:");
-  gtk_widget_ref (label17);
-  gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "label17", label17,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label17);
-  gtk_table_attach (GTK_TABLE (table1), label17, 0, 1, 1, 2,
-                    (GtkAttachOptions) (0),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  label18 = gtk_label_new ("Composer:");
-  gtk_widget_ref (label18);
-  gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "label18", label18,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label18);
-  gtk_table_attach (GTK_TABLE (table1), label18, 0, 1, 2, 3,
-                    (GtkAttachOptions) (0),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  label19 = gtk_label_new ("Copyright:");
-  gtk_widget_ref (label19);
-  gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "label19", label19,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label19);
-  gtk_table_attach (GTK_TABLE (table1), label19, 0, 1, 3, 4,
-                    (GtkAttachOptions) (0),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  fileinfo_filename = gtk_entry_new ();
-  gtk_widget_ref (fileinfo_filename);
-  gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "fileinfo_filename", fileinfo_filename,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (fileinfo_filename);
-  gtk_table_attach (GTK_TABLE (table1), fileinfo_filename, 1, 2, 0, 1,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_entry_set_editable (GTK_ENTRY (fileinfo_filename), FALSE);
-
-  fileinfo_songname = gtk_entry_new ();
-  gtk_widget_ref (fileinfo_songname);
-  gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "fileinfo_songname", fileinfo_songname,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (fileinfo_songname);
-  gtk_table_attach (GTK_TABLE (table1), fileinfo_songname, 1, 2, 1, 2,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_entry_set_editable (GTK_ENTRY (fileinfo_songname), FALSE);
-
-  fileinfo_composer = gtk_entry_new ();
-  gtk_widget_ref (fileinfo_composer);
-  gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "fileinfo_composer", fileinfo_composer,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (fileinfo_composer);
-  gtk_table_attach (GTK_TABLE (table1), fileinfo_composer, 1, 2, 2, 3,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_entry_set_editable (GTK_ENTRY (fileinfo_composer), FALSE);
-
-  fileinfo_copyright = gtk_entry_new ();
-  gtk_widget_ref (fileinfo_copyright);
-  gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "fileinfo_copyright", fileinfo_copyright,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (fileinfo_copyright);
-  gtk_table_attach (GTK_TABLE (table1), fileinfo_copyright, 1, 2, 3, 4,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_entry_set_editable (GTK_ENTRY (fileinfo_copyright), FALSE);
-
-
-  /* Tune information */
-  frame15 = gtk_frame_new ("Tune Information:");
-  gtk_widget_ref (frame15);
-  gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "frame15", frame15,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (frame15);
-  gtk_box_pack_start (GTK_BOX (vbox14), frame15, TRUE, TRUE, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (frame15), 4);
-
-  vbox15 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_ref (vbox15);
-  gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "vbox15", vbox15, (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (vbox15);
-  gtk_container_add (GTK_CONTAINER (frame15), vbox15);
-
-  /* Sub-tune selection menu */
-  fileinfo_sub_tune = gtk_option_menu_new ();
-  gtk_widget_ref (fileinfo_sub_tune);
-  gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "fileinfo_sub_tune", fileinfo_sub_tune, (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (fileinfo_sub_tune);
-//  gtk_box_pack_start (GTK_BOX (vbox15), fileinfo_sub_tune, FALSE, TRUE, 2);
-  gtk_box_pack_start (GTK_BOX (vbox15), fileinfo_sub_tune, FALSE, FALSE, 2);
-
-  /* -------------- */
-  table2 = gtk_table_new (2, 2, FALSE);
-  gtk_widget_ref (table2);
-  gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "table2", table2,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (table2);
-  gtk_box_pack_start (GTK_BOX (vbox15), table2, FALSE, FALSE, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (table2), 4);
-
-  label21 = gtk_label_new ("Title:");
-  gtk_widget_ref (label21);
-  gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "label21", label21,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label21);
-  gtk_table_attach (GTK_TABLE (table2), label21, 0, 1, 0, 1,
-                    (GtkAttachOptions) (0),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  label22 = gtk_label_new ("Artist:");
-  gtk_widget_ref (label22);
-  gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "label22", label22,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label22);
-  gtk_table_attach (GTK_TABLE (table2), label22, 0, 1, 1, 2,
-                    (GtkAttachOptions) (0),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  fileinfo_sub_artist = gtk_entry_new ();
-  gtk_widget_ref (fileinfo_sub_artist);
-  gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "fileinfo_sub_artist", fileinfo_sub_artist,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (fileinfo_sub_artist);
-  gtk_table_attach (GTK_TABLE (table2), fileinfo_sub_artist, 1, 2, 1, 2,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_entry_set_editable (GTK_ENTRY (fileinfo_sub_artist), FALSE);
-
-  fileinfo_sub_title = gtk_entry_new ();
-  gtk_widget_ref (fileinfo_sub_title);
-  gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "fileinfo_sub_title", fileinfo_sub_title,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (fileinfo_sub_title);
-  gtk_table_attach (GTK_TABLE (table2), fileinfo_sub_title, 1, 2, 0, 1,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_entry_set_editable (GTK_ENTRY (fileinfo_sub_title), FALSE);
-
-  scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL);
-  gtk_widget_ref (scrolledwindow2);
-  gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "scrolledwindow2", scrolledwindow2,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (scrolledwindow2);
-  gtk_box_pack_start (GTK_BOX (vbox15), scrolledwindow2, TRUE, TRUE, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow2), 4);
-  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
-
-  fileinfo_sub_comment = gtk_text_new (NULL, NULL);
-  gtk_widget_ref (fileinfo_sub_comment);
-  gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "fileinfo_sub_comment", fileinfo_sub_comment,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (fileinfo_sub_comment);
-  gtk_container_add (GTK_CONTAINER (scrolledwindow2), fileinfo_sub_comment);
-
-  alignment5 = gtk_alignment_new (0.5, 0.5, 0.1, 1);
-  gtk_widget_ref (alignment5);
-  gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "alignment5", alignment5,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (alignment5);
-  gtk_box_pack_start (GTK_BOX (vbox14), alignment5, FALSE, FALSE, 0);
-
-  fileinfo_ok = gtk_button_new_with_label ("Close");
-  gtk_widget_ref (fileinfo_ok);
-  gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "fileinfo_ok", fileinfo_ok,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (fileinfo_ok);
-  gtk_container_add (GTK_CONTAINER (alignment5), fileinfo_ok);
-  GTK_WIDGET_SET_FLAGS (fileinfo_ok, GTK_CAN_DEFAULT);
-
-  gtk_widget_grab_default (fileinfo_ok);
 
 
   /* Set the song informations */
-  gtk_entry_set_text (GTK_ENTRY (fileinfo_filename), filename);
-  gtk_entry_set_text (GTK_ENTRY (fileinfo_songname), sidInf.infoString[0]);
-  gtk_entry_set_text (GTK_ENTRY (fileinfo_composer), sidInf.infoString[1]);
-  gtk_entry_set_text (GTK_ENTRY (fileinfo_copyright), sidInf.infoString[2]);
+  gtk_entry_set_text (GTK_ENTRY (LUW("fileinfo_filename")), pcFilename);
+  gtk_entry_set_text (GTK_ENTRY (LUW("fileinfo_songname")), sidInf.infoString[0]);
+  gtk_entry_set_text (GTK_ENTRY (LUW("fileinfo_composer")), sidInf.infoString[1]);
+  gtk_entry_set_text (GTK_ENTRY (LUW("fileinfo_copyright")), sidInf.infoString[2]);
 
 
-  /* Sub-tune menu items */
-  fileinfo_sub_tune_menu = gtk_menu_new ();
-
   /* "main tune" - the pseudo tune */
-  glade_menuitem = gtk_menu_item_new_with_label ("General info");
-  gtk_widget_show (glade_menuitem);
-  gtk_menu_append (GTK_MENU (fileinfo_sub_tune_menu), glade_menuitem);
-  gtk_signal_connect (GTK_OBJECT (glade_menuitem), "activate",
+  tmpMenuItem = gtk_menu_item_new_with_label ("General info");
+  gtk_widget_show (tmpMenuItem);
+  gtk_menu_append (GTK_MENU (fileinfo_sub_tune_menu), tmpMenuItem);
+  gtk_signal_connect (GTK_OBJECT (tmpMenuItem), "activate",
 			GTK_SIGNAL_FUNC (xs_fileinfo_sub_tune), fileinfo_sub_tune_menu);
 
   /* Other menu items */
-  for (n = 1; n <= sidInf.songs; n++) {
+  for (n = 1; n <= sidInf.songs; n++)
+	{
+	snprintf(tmpStr, sizeof(tmpStr), "Tune #%i", n);
 
-	snprintf(tempstr, sizeof(tempstr), "Tune #%i", n);
-	glade_menuitem = gtk_menu_item_new_with_label (tempstr);
-	gtk_widget_show (glade_menuitem);
-	gtk_menu_append (GTK_MENU (fileinfo_sub_tune_menu), glade_menuitem);
+	tmpMenuItem = gtk_menu_item_new_with_label (tmpStr);
+	gtk_widget_show (tmpMenuItem);
+	gtk_menu_append (GTK_MENU (fileinfo_sub_tune_menu), tmpMenuItem);
 
-	gtk_signal_connect (GTK_OBJECT (glade_menuitem), "activate",
+	gtk_signal_connect (GTK_OBJECT (tmpMenuItem), "activate",
 			GTK_SIGNAL_FUNC (xs_fileinfo_sub_tune), fileinfo_sub_tune_menu);
 	}
 
@@ -361,11 +145,6 @@
   /* Set the sub-tune information */
   xs_fileinfo_sub_tune(NULL, fileinfo_sub_tune_menu);
 
-  /* Connect the signals */
-  gtk_signal_connect (GTK_OBJECT (fileinfo_ok), "clicked",
-                      GTK_SIGNAL_FUNC (xs_fileinfo_ok),
-                      NULL);
-
   /* Show the window */
   gtk_widget_show(xs_fileinfowin);
 }