Revision: 1871
http://gtkpod.svn.sourceforge.net/gtkpod/?rev=1871&view=rev
Author: Sikon
Date: 2007-12-29 08:20:52 -0800 (Sat, 29 Dec 2007)
Log Message:
-----------
mserv preferences
Modified Paths:
--------------
gtkpod/trunk/ChangeLog
gtkpod/trunk/data/gtkpod.glade
gtkpod/trunk/src/prefsdlg.c
Modified: gtkpod/trunk/ChangeLog
===================================================================
--- gtkpod/trunk/ChangeLog 2007-12-29 14:38:50 UTC (rev 1870)
+++ gtkpod/trunk/ChangeLog 2007-12-29 16:20:52 UTC (rev 1871)
@@ -6,6 +6,7 @@
Filename parse preferences
Cover art search preferences
File mask exclusion preferences
+ mserv preferences
* data/default-cover.png:
@@ -14,6 +15,10 @@
* src/display_coverart.c:
Set resize algorithm to GDK_INTERP_BILINEAR - yields nicer-looking images
+
+ * src/charset.c:
+
+ Added missing call to g_free
2007-12-28 Matvey Kozhev <sikon at users.sourceforge.net>
Modified: gtkpod/trunk/data/gtkpod.glade
===================================================================
--- gtkpod/trunk/data/gtkpod.glade 2007-12-29 14:38:50 UTC (rev 1870)
+++ gtkpod/trunk/data/gtkpod.glade 2007-12-29 16:20:52 UTC (rev 1871)
@@ -14622,12 +14622,12 @@
<child>
<widget class="GtkButton"
id="mserv_settings">
<property name="visible">True</property>
- <property name="sensitive">False</property>
<property name="can_focus">True</property>
<property
name="receives_default">True</property>
<property
name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK |
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label"
translatable="yes">Settings...</property>
<property name="response_id">0</property>
+ <signal name="clicked"
handler="on_mserv_settings_clicked"/>
</widget>
<packing>
<property name="expand">False</property>
@@ -15141,6 +15141,7 @@
<property name="border_width">5</property>
<property name="title" translatable="yes">Encoding Preferences</property>
<property name="resizable">False</property>
+ <property name="modal">True</property>
<property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
<property name="has_separator">False</property>
@@ -15275,6 +15276,7 @@
<property name="border_width">5</property>
<property name="title" translatable="yes">Filename Parse
Preferences</property>
<property name="resizable">False</property>
+ <property name="modal">True</property>
<property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
<property name="has_separator">False</property>
@@ -15393,6 +15395,7 @@
<property name="border_width">5</property>
<property name="title" translatable="yes">Cover Art Search
Preferences</property>
<property name="resizable">False</property>
+ <property name="modal">True</property>
<property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
<property name="has_separator">False</property>
@@ -15501,6 +15504,7 @@
<property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
<property name="border_width">5</property>
<property name="title" translatable="yes">Exclusions List</property>
+ <property name="modal">True</property>
<property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
<property name="default_height">350</property>
<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
@@ -15643,4 +15647,236 @@
</widget>
</child>
</widget>
+ <widget class="GtkDialog" id="prefs_mserv_dialog">
+ <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
+ <property name="border_width">5</property>
+ <property name="title" translatable="yes">mserv Preferences</property>
+ <property name="modal">True</property>
+ <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+ <property name="default_width">400</property>
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+ <property name="has_separator">False</property>
+ <child internal-child="vbox">
+ <widget class="GtkVBox" id="dialog-vbox12">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
+ <property name="spacing">2</property>
+ <child>
+ <widget class="GtkVBox" id="vbox26">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
+ <property name="border_width">7</property>
+ <property name="spacing">18</property>
+ <child>
+ <widget class="GtkCheckButton" id="use_mserv">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">Use mserv database
to fill track information</property>
+ <property name="response_id">0</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="on_simple_checkbox_toggled"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkFrame" id="mserv_settings_frame">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">GTK_SHADOW_NONE</property>
+ <child>
+ <widget class="GtkAlignment" id="alignment31">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
+ <property name="top_padding">6</property>
+ <property name="left_padding">12</property>
+ <child>
+ <widget class="GtkVBox" id="vbox27">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
+ <property name="spacing">6</property>
+ <child>
+ <widget class="GtkTable" id="table2">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
+ <property name="n_rows">3</property>
+ <property name="n_columns">2</property>
+ <property name="column_spacing">12</property>
+ <property name="row_spacing">6</property>
+ <child>
+ <widget class="GtkEntry" id="mserv_username">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property
name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK |
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <signal name="changed"
handler="on_mserv_username_changed"/>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkFileChooserButton"
id="mserv_root">
+ <property name="visible">True</property>
+ <property
name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK |
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property
name="action">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</property>
+ <signal name="current_folder_changed"
handler="on_mserv_root_current_folder_changed"/>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkFileChooserButton"
id="music_root">
+ <property name="visible">True</property>
+ <property
name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK |
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property
name="action">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</property>
+ <signal name="current_folder_changed"
handler="on_music_root_current_folder_changed"/>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox26">
+ <property name="visible">True</property>
+ <property
name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK |
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <child>
+ <widget class="GtkLabel" id="label31">
+ <property name="visible">True</property>
+ <property
name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK |
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label"
translatable="yes">Music root:</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox27">
+ <property name="visible">True</property>
+ <property
name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK |
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <child>
+ <widget class="GtkLabel" id="label32">
+ <property name="visible">True</property>
+ <property
name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK |
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label"
translatable="yes">mserv root:</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox28">
+ <property name="visible">True</property>
+ <property
name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK |
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <child>
+ <widget class="GtkLabel" id="label33">
+ <property name="visible">True</property>
+ <property
name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK |
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label"
translatable="yes">Username:</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkCheckButton"
id="report_mserv_problems">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">Report
problems when accessing mserv</property>
+ <property name="response_id">0</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled"
handler="on_simple_checkbox_toggled"/>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label28">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes"><b>mserv
Settings</b></property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child internal-child="action_area">
+ <widget class="GtkHButtonBox" id="dialog-action_area12">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
+ <child>
+ <widget class="GtkButton" id="close_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">gtk-close</property>
+ <property name="use_stock">True</property>
+ <property name="response_id">0</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
</glade-interface>
Modified: gtkpod/trunk/src/prefsdlg.c
===================================================================
--- gtkpod/trunk/src/prefsdlg.c 2007-12-29 14:38:50 UTC (rev 1870)
+++ gtkpod/trunk/src/prefsdlg.c 2007-12-29 16:20:52 UTC (rev 1871)
@@ -146,28 +146,30 @@
void update_checkbox_deps (GtkToggleButton *checkbox, const gchar *deps)
{
/* Enable or disable dependent checkboxes */
+ GladeXML *xml = GLADE_XML (g_object_get_data (G_OBJECT (checkbox),
"xml"));
gboolean active = gtk_toggle_button_get_active (checkbox);
gchar **deparray;
int i;
- if(!deps)
+ if(!xml || !deps)
return;
deparray = g_strsplit (deps, ",", 0);
for(i = 0; deparray[i]; i++)
{
- GtkWidget *dep = gtkpod_xml_get_widget (prefs_xml, deparray[i]);
+ GtkWidget *dep = gtkpod_xml_get_widget (xml, deparray[i]);
gtk_widget_set_sensitive (dep, active);
}
g_strfreev (deparray);
}
-void init_checkbox (GtkToggleButton *checkbox, const gchar *pref, const gchar
*deps)
+void init_checkbox (GtkToggleButton *checkbox, GladeXML *xml, const gchar
*pref, const gchar *deps)
{
g_object_set_data(G_OBJECT(checkbox), "pref", (gchar *) pref);
g_object_set_data(G_OBJECT(checkbox), "deps", (gchar *) deps);
+ g_object_set_data(G_OBJECT(checkbox), "xml", xml);
if(pref)
{
@@ -299,7 +301,7 @@
for (i = 0; i < COUNTOF(checkbox_map); i++)
{
init_checkbox (GTK_TOGGLE_BUTTON (gtkpod_xml_get_widget (xml,
checkbox_map[i][0])),
- checkbox_map[i][1],
checkbox_map[i][2]);
+ xml, checkbox_map[i][1],
checkbox_map[i][2]);
}
for (i = 0; i < COUNTOF(tag_checkbox_map); i++)
@@ -553,10 +555,10 @@
GtkWidget *combo = gtkpod_xml_get_widget (xml, "encoding_combo");
init_checkbox (GTK_TOGGLE_BUTTON (gtkpod_xml_get_widget (xml,
"use_encoding_for_update")),
-
"update_charset", NULL);
+ xml, "update_charset", NULL);
init_checkbox (GTK_TOGGLE_BUTTON (gtkpod_xml_get_widget (xml,
"use_encoding_for_writing")),
-
"write_charset", NULL);
+ xml, "write_charset", NULL);
charset_init_combo_box (GTK_COMBO_BOX (combo));
glade_xml_signal_autoconnect (xml);
@@ -595,7 +597,7 @@
}
init_checkbox (GTK_TOGGLE_BUTTON (gtkpod_xml_get_widget (xml,
"overwrite_tags")),
-
"parsetags_overwrite", NULL);
+ xml, "parsetags_overwrite", NULL);
glade_xml_signal_autoconnect (xml);
gtk_dialog_run (GTK_DIALOG (dlg));
@@ -752,3 +754,79 @@
update_exclusions (store);
}
}
+
+/*
+ glade callback
+*/
+G_MODULE_EXPORT void on_mserv_settings_clicked (GtkButton *sender, gpointer e)
+{
+ GladeXML *xml = gtkpod_xml_new (xml_file, "prefs_mserv_dialog");
+ GtkWidget *dlg = gtkpod_xml_get_widget (xml, "prefs_mserv_dialog");
+ gchar *temp = prefs_get_string ("mserv_username");
+
+ if(temp)
+ {
+ gtk_entry_set_text (GTK_ENTRY (gtkpod_xml_get_widget (xml,
"mserv_username")),
+ temp);
+
+ g_free (temp);
+ }
+
+ temp = prefs_get_string ("path_mserv_music_root");
+
+ if(temp)
+ {
+ gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER
(gtkpod_xml_get_widget (xml, "music_root")),
+
temp);
+
+ g_free (temp);
+ }
+
+ temp = prefs_get_string ("path_mserv_trackinfo_root");
+
+ if(temp)
+ {
+ gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER
(gtkpod_xml_get_widget (xml, "mserv_root")),
+
temp);
+
+ g_free (temp);
+ }
+
+ init_checkbox (GTK_TOGGLE_BUTTON (gtkpod_xml_get_widget (xml,
"use_mserv")),
+ xml, "mserv_use", "mserv_settings_frame");
+
+ init_checkbox (GTK_TOGGLE_BUTTON (gtkpod_xml_get_widget (xml,
"report_mserv_problems")),
+ xml, "mserv_report_probs", NULL);
+
+ glade_xml_signal_autoconnect (xml);
+ gtk_dialog_run (GTK_DIALOG (dlg));
+ gtk_widget_destroy (dlg);
+ g_object_unref (xml);
+}
+
+/*
+ glade callback
+*/
+G_MODULE_EXPORT void on_mserv_username_changed (GtkEditable *sender, gpointer
e)
+{
+ prefs_set_string ("mserv_username", gtk_entry_get_text (GTK_ENTRY
(sender)));
+}
+
+/*
+ glade callback
+*/
+G_MODULE_EXPORT void on_music_root_current_folder_changed (GtkFileChooser
*sender, gpointer e)
+{
+ printf ("Got here!\n");
+ prefs_set_string ("path_mserv_music_root",
+ gtk_file_chooser_get_current_folder
(GTK_FILE_CHOOSER (sender)));
+}
+
+/*
+ glade callback
+*/
+G_MODULE_EXPORT void on_mserv_root_current_folder_changed (GtkFileChooser
*sender, gpointer e)
+{
+ prefs_set_string ("path_mserv_trackinfo_root",
+ gtk_file_chooser_get_current_folder
(GTK_FILE_CHOOSER (sender)));
+}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
gtkpod-cvs2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2