[Player-cvs] app/gtk Umakefil, 1.64.2.6, 1.64.2.7 commonapp.cpp, 1.35.2.10, 1.35.2.11 commonapp.h, 1.15.2.5, 1.15.2.6 main_callbacks.h, 1.24.2.2, 1.24.2.3 main_interface.c, 1.34.2.3, 1.34.2.4 mainapp.cpp, 1.55.2.10, 1.55.2.11 mimetypes.cpp, 1.10.2.3, 1.10.2.4 setup.cpp, 1.11.6.3, 1.11.6.4 upgrade.cpp, 1.5.2.3, 1.5.2.4 upgrade_callbacks.h, 1.3, 1.3.6.1 upgrade_interface.c, 1.10.2.1, 1.10.2.2
rggammon at helixcommunity.org rggammon at helixcommunity.orgUpdate of /cvsroot/player/app/gtk
In directory cvs-new:/tmp/cvs-serv22417/app/gtk
Modified Files:
Tag: bingo-beta
Umakefil commonapp.cpp commonapp.h main_callbacks.h
main_interface.c mainapp.cpp mimetypes.cpp setup.cpp
upgrade.cpp upgrade_callbacks.h upgrade_interface.c
Log Message:
Backporting bug fixes
Index: upgrade_callbacks.h
===================================================================
RCS file: /cvsroot/player/app/gtk/upgrade_callbacks.h,v
retrieving revision 1.3
retrieving revision 1.3.6.1
diff -u -d -r1.3 -r1.3.6.1
--- upgrade_callbacks.h 7 May 2004 22:31:03 -0000 1.3
+++ upgrade_callbacks.h 15 Jul 2004 02:02:45 -0000 1.3.6.1
@@ -14,3 +14,11 @@
hxcommon_launch_upgrade_with_widget_name
(GtkButton *button,
gpointer user_data);
+
+void
+hud_check_for_updates (GtkButton *button,
+ gpointer user_data);
+
+void
+hud_check_for_updates (GtkButton *button,
+ gpointer user_data);
Index: upgrade.cpp
===================================================================
RCS file: /cvsroot/player/app/gtk/upgrade.cpp,v
retrieving revision 1.5.2.3
retrieving revision 1.5.2.4
diff -u -d -r1.5.2.3 -r1.5.2.4
--- upgrade.cpp 9 Jul 2004 01:48:55 -0000 1.5.2.3
+++ upgrade.cpp 15 Jul 2004 02:02:45 -0000 1.5.2.4
@@ -65,6 +65,7 @@
extern "C"
{
void hud_show_details(GtkWidget* widget);
+ void hud_check_for_updates(GtkWidget* widget);
}
@@ -88,6 +89,13 @@
}
}
+void
+hud_check_for_updates(GtkWidget* widget)
+{
+ hxcommon_launch_upgrade_with_widget_name(widget);
+}
+
+
static void
hxplay_request_upgrade_dialog_destroy(GtkWidget* /* widget */,
HXUpgradeRequestDialog* dialog)
@@ -97,6 +105,75 @@
g_free(dialog);
}
+#ifndef HELIX_FEATURE_REAL_BRANDING
+static gboolean
+has_real_player_only_components(GList* components_list)
+{
+ static const gchar* realplayer_only_components[] =
+ {
+ "audio/x-pn-realaudio",
+ "mp3",
+ "swf",
+ "aac",
+ "mp4",
+
+ /* XXXRGG: These will be in a future version of the Helix Player */
+ "wav",
+ "aiff",
+ "au",
+ "protocol_rtsp_rdt" // synthesized by the player.
+ };
+
+ gboolean rp_only = FALSE;
+ guint i;
+ GList* iter;
+
+ iter = components_list;
+ while(iter && !rp_only)
+ {
+ gchar* component = (gchar*)iter->data;
+ for(i = 0; i < sizeof(realplayer_only_components) / sizeof(*realplayer_only_components); i++)
+ {
+ if(strcasecmp(realplayer_only_components[i], component) == 0)
+ {
+ rp_only = TRUE;
+ break;
+ }
+ }
+ iter = g_list_next(iter);
+ }
+
+ return rp_only;
+}
+#endif
+
+static gboolean
+has_obsolete_components(GList* components_list)
+{
+ static const gchar* obsolete_components[] = { "DNET" };
+ gboolean obsolete = FALSE;
+ GList* iter = NULL;
+ guint i;
+
+ iter = components_list;
+ while(iter && !obsolete)
+ {
+ gchar* component = (gchar*)iter->data;
+ for(i = 0; i < sizeof(obsolete_components) / sizeof(*obsolete_components); i++)
+ {
+ if(strcasecmp(obsolete_components[i], component) == 0)
+ {
+ obsolete = TRUE;
+ break;
+ }
+ }
+ iter = g_list_next(iter);
+ }
+
+ return obsolete;
+}
+
+
GtkDialog*
hxplay_request_upgrade_dialog_new (const gchar* url,
GList* components_list,
@@ -112,28 +189,11 @@
GList* iter;
gboolean first_component = TRUE;
HXUpgradeRequestDialog* info = NULL;
- gchar* obsolete_codecs[] = { "DNET" };
- guint i;
- gboolean is_obsolete_codec = FALSE;
+ gboolean is_obsolete = FALSE;
- str = g_string_new("");
- uri_str = g_string_new("");
-
- iter = components_list;
- while(iter)
- {
- gchar* component = (gchar*)iter->data;
- for(i = 0; i < sizeof(obsolete_codecs) / sizeof(*obsolete_codecs); i++)
- {
- if(strcasecmp(obsolete_codecs[i], component) == 0)
- {
- is_obsolete_codec = TRUE;
- }
- }
- iter = g_list_next(iter);
- }
-
- if(is_obsolete_codec)
+ is_obsolete = has_obsolete_components(components_list);
+
+ if(is_obsolete)
{
dialog = gtk_message_dialog_new(NULL,
GTK_DIALOG_MODAL,
@@ -143,6 +203,9 @@
return GTK_DIALOG(dialog);
}
+
+ str = g_string_new("");
+ uri_str = g_string_new("");
iter = components_list;
while(iter)
@@ -199,6 +262,39 @@
info = g_new0(HXUpgradeRequestDialog, 1);
info->xml = xml;
+#ifndef HELIX_FEATURE_REAL_BRANDING
+ gboolean is_rp_only = FALSE;
+ GtkWidget* upgrade_description_label;
+ GtkWidget* check_for_updates_button;
+
+ is_rp_only = has_real_player_only_components(components_list);
+
+ if(is_rp_only)
+ {
+ /* Switch the "Check for updates..." button to "Get RealPlayer...",
+ and the description to emphasize that this functionality is RealPlayer
+ only. */
+ check_for_updates_button = glade_xml_get_widget(xml, "hud_check_for_updates_button");
+ upgrade_description_label = glade_xml_get_widget(xml, "hud_upgrade_description_label");
+
+ if(upgrade_description_label)
+ {
+ gtk_label_set_markup(GTK_LABEL(upgrade_description_label),
+ _("<b>"
+ "The player does not have the\n"
+ "capabilities to play back this content\n"
+ "\n"
+ "This content is supported by RealPlayer.\n"
+ "</b>"));
+ }
+
+ if(check_for_updates_button)
+ {
+ gtk_button_set_label(GTK_BUTTON(check_for_updates_button), _("Get RealPlayer..."));
+ }
+ }
+#endif
+
g_signal_connect (G_OBJECT (dialog), "destroy",
G_CALLBACK (hxplay_request_upgrade_dialog_destroy),
info);
Index: main_interface.c
===================================================================
RCS file: /cvsroot/player/app/gtk/main_interface.c,v
retrieving revision 1.34.2.3
retrieving revision 1.34.2.4
diff -u -d -r1.34.2.3 -r1.34.2.4
--- main_interface.c 7 Jul 2004 18:52:35 -0000 1.34.2.3
+++ main_interface.c 15 Jul 2004 02:02:45 -0000 1.34.2.4
@@ -36,9 +36,9 @@
GtkWidget *hmw_file_menu;
GtkWidget *hmw_file_menu_menu;
GtkWidget *hmw_open_file_menu_item;
- GtkWidget *image1324;
+ GtkWidget *image1392;
GtkWidget *hmw_open_location_menu_item;
- GtkWidget *image1325;
+ GtkWidget *image1393;
GtkWidget *separator14;
GtkWidget *hmw_clip_properties_menu_item;
GtkWidget *hmw_clip_properties_menu_item_menu;
@@ -47,33 +47,33 @@
GtkWidget *hmw_mru_separator;
GtkWidget *hmw_close_menu_item;
GtkWidget *hmw_quit_menu_item;
- GtkWidget *image1326;
+ GtkWidget *image1394;
GtkWidget *hmw_play_menu;
GtkWidget *hmw_play_menu_menu;
GtkWidget *hmw_play_menu_item;
- GtkWidget *image1327;
+ GtkWidget *image1395;
GtkWidget *hmw_pause_menu_item;
- GtkWidget *image1328;
+ GtkWidget *image1396;
GtkWidget *hmw_stop_menu_item;
- GtkWidget *image1329;
+ GtkWidget *image1397;
GtkWidget *separator4;
GtkWidget *hmw_clip_list_menu_item;
GtkWidget *separator12;
GtkWidget *hmw_previous_menu_item;
- GtkWidget *image1330;
+ GtkWidget *image1398;
GtkWidget *hmw_next_menu_item;
- GtkWidget *image1331;
+ GtkWidget *image1399;
GtkWidget *separator5;
GtkWidget *hmw_volume_up_menu_item;
- GtkWidget *image1332;
+ GtkWidget *image1400;
GtkWidget *hmw_volume_down_menu_item;
- GtkWidget *image1333;
+ GtkWidget *image1401;
GtkWidget *hmw_mute_menu_item;
GtkWidget *hmw_view_menu;
GtkWidget *hmw_view_menu_menu;
GtkWidget *hmw_fullscreen_menu_item;
GtkWidget *hmw_zoom_menu_item;
- GtkWidget *image1334;
+ GtkWidget *image1402;
GtkWidget *hmw_zoom_menu_item_menu;
GtkWidget *hmw_normal_size_menu_item;
GtkWidget *hmw_double_size_menu_item;
@@ -88,7 +88,7 @@
GtkWidget *hmw_tools_menu_menu;
GtkWidget *hmw_plugins_menu_item;
GtkWidget *hmw_preferences_menu_item;
- GtkWidget *image1335;
+ GtkWidget *image1403;
GtkWidget *hmw_statistics_menu_item;
GtkWidget *hmw_favorites_menu;
GtkWidget *hmw_favorites_menu_menu;
@@ -100,18 +100,20 @@
GtkWidget *hmw_help_menu;
GtkWidget *hmw_help_menu_menu;
GtkWidget *hmw_intro_menu_item;
- GtkWidget *image1336;
+ GtkWidget *image1404;
GtkWidget *hmw_release_notes_menu_item;
- GtkWidget *image1337;
+ GtkWidget *image1405;
GtkWidget *hmw_faq_menu_item;
- GtkWidget *image1338;
+ GtkWidget *image1406;
GtkWidget *hmw_report_issue_item;
- GtkWidget *image1339;
+ GtkWidget *image1407;
GtkWidget *hmw_nightly_build_menu_item;
- GtkWidget *image1340;
+ GtkWidget *image1408;
GtkWidget *separator6;
+ GtkWidget *hmw_check_for_updates_menu_item;
+ GtkWidget *separator15;
GtkWidget *hmw_player_reset_menu_item;
- GtkWidget *image1341;
+ GtkWidget *image1409;
GtkWidget *separator13;
GtkWidget *hmw_about_menu_item;
GtkWidget *hmw_hxbin;
@@ -179,10 +181,10 @@
GDK_o, GDK_CONTROL_MASK,
GTK_ACCEL_VISIBLE);
- image1324 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU);
- gtk_widget_set_name (image1324, "image1324");
- gtk_widget_show (image1324);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_open_file_menu_item), image1324);
+ image1392 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU);
+ gtk_widget_set_name (image1392, "image1392");
+ gtk_widget_show (image1392);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_open_file_menu_item), image1392);
hmw_open_location_menu_item = gtk_image_menu_item_new_with_mnemonic (_("Open _Location..."));
gtk_widget_set_name (hmw_open_location_menu_item, "hmw_open_location_menu_item");
@@ -192,10 +194,10 @@
GDK_l, GDK_CONTROL_MASK,
GTK_ACCEL_VISIBLE);
- image1325 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU);
- gtk_widget_set_name (image1325, "image1325");
- gtk_widget_show (image1325);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_open_location_menu_item), image1325);
+ image1393 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU);
+ gtk_widget_set_name (image1393, "image1393");
+ gtk_widget_show (image1393);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_open_location_menu_item), image1393);
separator14 = gtk_separator_menu_item_new ();
gtk_widget_set_name (separator14, "separator14");
@@ -244,10 +246,10 @@
GDK_q, GDK_CONTROL_MASK,
GTK_ACCEL_VISIBLE);
- image1326 = gtk_image_new_from_stock ("gtk-quit", GTK_ICON_SIZE_MENU);
- gtk_widget_set_name (image1326, "image1326");
- gtk_widget_show (image1326);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_quit_menu_item), image1326);
+ image1394 = gtk_image_new_from_stock ("gtk-quit", GTK_ICON_SIZE_MENU);
+ gtk_widget_set_name (image1394, "image1394");
+ gtk_widget_show (image1394);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_quit_menu_item), image1394);
hmw_play_menu = gtk_menu_item_new_with_mnemonic (_("_Play"));
gtk_widget_set_name (hmw_play_menu, "hmw_play_menu");
@@ -266,10 +268,10 @@
GDK_p, GDK_CONTROL_MASK,
GTK_ACCEL_VISIBLE);
- image1327 = create_pixmap (hxplayer_main_window, "play.png");
- gtk_widget_set_name (image1327, "image1327");
- gtk_widget_show (image1327);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_play_menu_item), image1327);
+ image1395 = create_pixmap (hxplayer_main_window, "play.png");
+ gtk_widget_set_name (image1395, "image1395");
+ gtk_widget_show (image1395);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_play_menu_item), image1395);
hmw_pause_menu_item = gtk_image_menu_item_new_with_mnemonic (_("P_ause"));
gtk_widget_set_name (hmw_pause_menu_item, "hmw_pause_menu_item");
@@ -279,10 +281,10 @@
GDK_a, GDK_CONTROL_MASK,
GTK_ACCEL_VISIBLE);
- image1328 = create_pixmap (hxplayer_main_window, "pause.png");
- gtk_widget_set_name (image1328, "image1328");
- gtk_widget_show (image1328);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_pause_menu_item), image1328);
+ image1396 = create_pixmap (hxplayer_main_window, "pause.png");
+ gtk_widget_set_name (image1396, "image1396");
+ gtk_widget_show (image1396);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_pause_menu_item), image1396);
hmw_stop_menu_item = gtk_image_menu_item_new_with_mnemonic (_("_Stop"));
gtk_widget_set_name (hmw_stop_menu_item, "hmw_stop_menu_item");
@@ -292,10 +294,10 @@
GDK_s, GDK_CONTROL_MASK,
GTK_ACCEL_VISIBLE);
- image1329 = create_pixmap (hxplayer_main_window, "stop.png");
- gtk_widget_set_name (image1329, "image1329");
- gtk_widget_show (image1329);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_stop_menu_item), image1329);
+ image1397 = create_pixmap (hxplayer_main_window, "stop.png");
+ gtk_widget_set_name (image1397, "image1397");
+ gtk_widget_show (image1397);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_stop_menu_item), image1397);
separator4 = gtk_separator_menu_item_new ();
gtk_widget_set_name (separator4, "separator4");
@@ -322,10 +324,10 @@
GDK_r, GDK_CONTROL_MASK,
GTK_ACCEL_VISIBLE);
- image1330 = gtk_image_new_from_stock ("gtk-go-back", GTK_ICON_SIZE_MENU);
- gtk_widget_set_name (image1330, "image1330");
- gtk_widget_show (image1330);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_previous_menu_item), image1330);
+ image1398 = gtk_image_new_from_stock ("gtk-go-back", GTK_ICON_SIZE_MENU);
+ gtk_widget_set_name (image1398, "image1398");
+ gtk_widget_show (image1398);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_previous_menu_item), image1398);
hmw_next_menu_item = gtk_image_menu_item_new_with_mnemonic (_("_Next Clip"));
gtk_widget_set_name (hmw_next_menu_item, "hmw_next_menu_item");
@@ -335,10 +337,10 @@
GDK_n, GDK_CONTROL_MASK,
GTK_ACCEL_VISIBLE);
- image1331 = gtk_image_new_from_stock ("gtk-go-forward", GTK_ICON_SIZE_MENU);
- gtk_widget_set_name (image1331, "image1331");
- gtk_widget_show (image1331);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_next_menu_item), image1331);
+ image1399 = gtk_image_new_from_stock ("gtk-go-forward", GTK_ICON_SIZE_MENU);
+ gtk_widget_set_name (image1399, "image1399");
+ gtk_widget_show (image1399);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_next_menu_item), image1399);
separator5 = gtk_separator_menu_item_new ();
gtk_widget_set_name (separator5, "separator5");
@@ -354,10 +356,10 @@
GDK_Up, GDK_CONTROL_MASK,
GTK_ACCEL_VISIBLE);
- image1332 = gtk_image_new_from_stock ("gtk-go-up", GTK_ICON_SIZE_MENU);
- gtk_widget_set_name (image1332, "image1332");
- gtk_widget_show (image1332);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_volume_up_menu_item), image1332);
+ image1400 = gtk_image_new_from_stock ("gtk-go-up", GTK_ICON_SIZE_MENU);
+ gtk_widget_set_name (image1400, "image1400");
+ gtk_widget_show (image1400);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_volume_up_menu_item), image1400);
hmw_volume_down_menu_item = gtk_image_menu_item_new_with_mnemonic (_("Volume _Down"));
gtk_widget_set_name (hmw_volume_down_menu_item, "hmw_volume_down_menu_item");
@@ -367,10 +369,10 @@
GDK_Down, GDK_CONTROL_MASK,
GTK_ACCEL_VISIBLE);
- image1333 = gtk_image_new_from_stock ("gtk-go-down", GTK_ICON_SIZE_MENU);
- gtk_widget_set_name (image1333, "image1333");
- gtk_widget_show (image1333);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_volume_down_menu_item), image1333);
+ image1401 = gtk_image_new_from_stock ("gtk-go-down", GTK_ICON_SIZE_MENU);
+ gtk_widget_set_name (image1401, "image1401");
+ gtk_widget_show (image1401);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_volume_down_menu_item), image1401);
hmw_mute_menu_item = gtk_check_menu_item_new_with_mnemonic (_("_Mute"));
gtk_widget_set_name (hmw_mute_menu_item, "hmw_mute_menu_item");
@@ -402,10 +404,10 @@
gtk_widget_show (hmw_zoom_menu_item);
gtk_container_add (GTK_CONTAINER (hmw_view_menu_menu), hmw_zoom_menu_item);
- image1334 = gtk_image_new_from_stock ("gtk-zoom-in", GTK_ICON_SIZE_MENU);
- gtk_widget_set_name (image1334, "image1334");
- gtk_widget_show (image1334);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_zoom_menu_item), image1334);
+ image1402 = gtk_image_new_from_stock ("gtk-zoom-in", GTK_ICON_SIZE_MENU);
+ gtk_widget_set_name (image1402, "image1402");
+ gtk_widget_show (image1402);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_zoom_menu_item), image1402);
hmw_zoom_menu_item_menu = gtk_menu_new ();
gtk_widget_set_name (hmw_zoom_menu_item_menu, "hmw_zoom_menu_item_menu");
@@ -487,10 +489,10 @@
gtk_widget_show (hmw_preferences_menu_item);
gtk_container_add (GTK_CONTAINER (hmw_tools_menu_menu), hmw_preferences_menu_item);
- image1335 = gtk_image_new_from_stock ("gtk-preferences", GTK_ICON_SIZE_MENU);
- gtk_widget_set_name (image1335, "image1335");
- gtk_widget_show (image1335);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_preferences_menu_item), image1335);
+ image1403 = gtk_image_new_from_stock ("gtk-preferences", GTK_ICON_SIZE_MENU);
+ gtk_widget_set_name (image1403, "image1403");
+ gtk_widget_show (image1403);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_preferences_menu_item), image1403);
hmw_statistics_menu_item = gtk_menu_item_new_with_mnemonic (_("Playback _Statistics..."));
gtk_widget_set_name (hmw_statistics_menu_item, "hmw_statistics_menu_item");
@@ -546,50 +548,50 @@
gtk_widget_show (hmw_intro_menu_item);
gtk_container_add (GTK_CONTAINER (hmw_help_menu_menu), hmw_intro_menu_item);
- image1336 = gtk_image_new_from_stock ("gtk-help", GTK_ICON_SIZE_MENU);
- gtk_widget_set_name (image1336, "image1336");
- gtk_widget_show (image1336);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_intro_menu_item), image1336);
+ image1404 = gtk_image_new_from_stock ("gtk-help", GTK_ICON_SIZE_MENU);
+ gtk_widget_set_name (image1404, "image1404");
+ gtk_widget_show (image1404);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_intro_menu_item), image1404);
hmw_release_notes_menu_item = gtk_image_menu_item_new_with_mnemonic (_("_Release Notes..."));
gtk_widget_set_name (hmw_release_notes_menu_item, "hmw_release_notes_menu_item");
gtk_widget_show (hmw_release_notes_menu_item);
gtk_container_add (GTK_CONTAINER (hmw_help_menu_menu), hmw_release_notes_menu_item);
- image1337 = gtk_image_new_from_stock ("gtk-help", GTK_ICON_SIZE_MENU);
- gtk_widget_set_name (image1337, "image1337");
- gtk_widget_show (image1337);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_release_notes_menu_item), image1337);
+ image1405 = gtk_image_new_from_stock ("gtk-help", GTK_ICON_SIZE_MENU);
+ gtk_widget_set_name (image1405, "image1405");
+ gtk_widget_show (image1405);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_release_notes_menu_item), image1405);
hmw_faq_menu_item = gtk_image_menu_item_new_with_mnemonic (_("_FAQ..."));
gtk_widget_set_name (hmw_faq_menu_item, "hmw_faq_menu_item");
gtk_widget_show (hmw_faq_menu_item);
gtk_container_add (GTK_CONTAINER (hmw_help_menu_menu), hmw_faq_menu_item);
- image1338 = gtk_image_new_from_stock ("gtk-help", GTK_ICON_SIZE_MENU);
- gtk_widget_set_name (image1338, "image1338");
- gtk_widget_show (image1338);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_faq_menu_item), image1338);
+ image1406 = gtk_image_new_from_stock ("gtk-help", GTK_ICON_SIZE_MENU);
+ gtk_widget_set_name (image1406, "image1406");
+ gtk_widget_show (image1406);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_faq_menu_item), image1406);
hmw_report_issue_item = gtk_image_menu_item_new_with_mnemonic (_("R_eport an Issue..."));
gtk_widget_set_name (hmw_report_issue_item, "hmw_report_issue_item");
gtk_widget_show (hmw_report_issue_item);
gtk_container_add (GTK_CONTAINER (hmw_help_menu_menu), hmw_report_issue_item);
- image1339 = gtk_image_new_from_stock ("gtk-help", GTK_ICON_SIZE_MENU);
- gtk_widget_set_name (image1339, "image1339");
- gtk_widget_show (image1339);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_report_issue_item), image1339);
+ image1407 = gtk_image_new_from_stock ("gtk-help", GTK_ICON_SIZE_MENU);
+ gtk_widget_set_name (image1407, "image1407");
+ gtk_widget_show (image1407);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_report_issue_item), image1407);
hmw_nightly_build_menu_item = gtk_image_menu_item_new_with_mnemonic (_("Get _Nightly Build..."));
gtk_widget_set_name (hmw_nightly_build_menu_item, "hmw_nightly_build_menu_item");
gtk_widget_show (hmw_nightly_build_menu_item);
gtk_container_add (GTK_CONTAINER (hmw_help_menu_menu), hmw_nightly_build_menu_item);
- image1340 = gtk_image_new_from_stock ("gtk-help", GTK_ICON_SIZE_MENU);
- gtk_widget_set_name (image1340, "image1340");
- gtk_widget_show (image1340);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_nightly_build_menu_item), image1340);
+ image1408 = gtk_image_new_from_stock ("gtk-help", GTK_ICON_SIZE_MENU);
+ gtk_widget_set_name (image1408, "image1408");
+ gtk_widget_show (image1408);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_nightly_build_menu_item), image1408);
separator6 = gtk_separator_menu_item_new ();
gtk_widget_set_name (separator6, "separator6");
@@ -597,15 +599,26 @@
gtk_container_add (GTK_CONTAINER (hmw_help_menu_menu), separator6);
gtk_widget_set_sensitive (separator6, FALSE);
+ hmw_check_for_updates_menu_item = gtk_menu_item_new_with_mnemonic (_("_Check for Updates..."));
+ gtk_widget_set_name (hmw_check_for_updates_menu_item, "hmw_check_for_updates_menu_item");
+ gtk_widget_show (hmw_check_for_updates_menu_item);
+ gtk_container_add (GTK_CONTAINER (hmw_help_menu_menu), hmw_check_for_updates_menu_item);
+
+ separator15 = gtk_separator_menu_item_new ();
+ gtk_widget_set_name (separator15, "separator15");
+ gtk_widget_show (separator15);
+ gtk_container_add (GTK_CONTAINER (hmw_help_menu_menu), separator15);
+ gtk_widget_set_sensitive (separator15, FALSE);
+
hmw_player_reset_menu_item = gtk_image_menu_item_new_with_mnemonic (_("_Player Reset..."));
gtk_widget_set_name (hmw_player_reset_menu_item, "hmw_player_reset_menu_item");
gtk_widget_show (hmw_player_reset_menu_item);
gtk_container_add (GTK_CONTAINER (hmw_help_menu_menu), hmw_player_reset_menu_item);
- image1341 = gtk_image_new_from_stock ("gtk-refresh", GTK_ICON_SIZE_MENU);
- gtk_widget_set_name (image1341, "image1341");
- gtk_widget_show (image1341);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_player_reset_menu_item), image1341);
+ image1409 = gtk_image_new_from_stock ("gtk-refresh", GTK_ICON_SIZE_MENU);
+ gtk_widget_set_name (image1409, "image1409");
+ gtk_widget_show (image1409);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (hmw_player_reset_menu_item), image1409);
separator13 = gtk_separator_menu_item_new ();
gtk_widget_set_name (separator13, "separator13");
@@ -870,6 +883,9 @@
g_signal_connect ((gpointer) hmw_nightly_build_menu_item, "activate",
G_CALLBACK (hmw_nightly_build),
NULL);
+ g_signal_connect ((gpointer) hmw_check_for_updates_menu_item, "activate",
+ G_CALLBACK (hmw_check_for_updates),
+ NULL);
g_signal_connect ((gpointer) hmw_player_reset_menu_item, "activate",
G_CALLBACK (hmw_player_reset),
NULL);
@@ -902,9 +918,9 @@
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_file_menu, "hmw_file_menu");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_file_menu_menu, "hmw_file_menu_menu");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_open_file_menu_item, "hmw_open_file_menu_item");
- GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1324, "image1324");
+ GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1392, "image1392");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_open_location_menu_item, "hmw_open_location_menu_item");
- GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1325, "image1325");
+ GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1393, "image1393");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, separator14, "separator14");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_clip_properties_menu_item, "hmw_clip_properties_menu_item");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_clip_properties_menu_item_menu, "hmw_clip_properties_menu_item_menu");
@@ -913,33 +929,33 @@
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_mru_separator, "hmw_mru_separator");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_close_menu_item, "hmw_close_menu_item");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_quit_menu_item, "hmw_quit_menu_item");
- GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1326, "image1326");
+ GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1394, "image1394");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_play_menu, "hmw_play_menu");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_play_menu_menu, "hmw_play_menu_menu");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_play_menu_item, "hmw_play_menu_item");
- GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1327, "image1327");
+ GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1395, "image1395");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_pause_menu_item, "hmw_pause_menu_item");
- GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1328, "image1328");
+ GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1396, "image1396");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_stop_menu_item, "hmw_stop_menu_item");
- GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1329, "image1329");
+ GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1397, "image1397");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, separator4, "separator4");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_clip_list_menu_item, "hmw_clip_list_menu_item");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, separator12, "separator12");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_previous_menu_item, "hmw_previous_menu_item");
- GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1330, "image1330");
+ GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1398, "image1398");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_next_menu_item, "hmw_next_menu_item");
- GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1331, "image1331");
+ GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1399, "image1399");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, separator5, "separator5");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_volume_up_menu_item, "hmw_volume_up_menu_item");
- GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1332, "image1332");
+ GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1400, "image1400");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_volume_down_menu_item, "hmw_volume_down_menu_item");
- GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1333, "image1333");
+ GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1401, "image1401");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_mute_menu_item, "hmw_mute_menu_item");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_view_menu, "hmw_view_menu");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_view_menu_menu, "hmw_view_menu_menu");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_fullscreen_menu_item, "hmw_fullscreen_menu_item");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_zoom_menu_item, "hmw_zoom_menu_item");
- GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1334, "image1334");
+ GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1402, "image1402");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_zoom_menu_item_menu, "hmw_zoom_menu_item_menu");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_normal_size_menu_item, "hmw_normal_size_menu_item");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_double_size_menu_item, "hmw_double_size_menu_item");
@@ -953,7 +969,7 @@
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_tools_menu_menu, "hmw_tools_menu_menu");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_plugins_menu_item, "hmw_plugins_menu_item");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_preferences_menu_item, "hmw_preferences_menu_item");
- GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1335, "image1335");
+ GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1403, "image1403");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_statistics_menu_item, "hmw_statistics_menu_item");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_favorites_menu, "hmw_favorites_menu");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_favorites_menu_menu, "hmw_favorites_menu_menu");
@@ -965,18 +981,20 @@
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_help_menu, "hmw_help_menu");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_help_menu_menu, "hmw_help_menu_menu");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_intro_menu_item, "hmw_intro_menu_item");
- GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1336, "image1336");
+ GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1404, "image1404");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_release_notes_menu_item, "hmw_release_notes_menu_item");
- GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1337, "image1337");
+ GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1405, "image1405");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_faq_menu_item, "hmw_faq_menu_item");
- GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1338, "image1338");
+ GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1406, "image1406");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_report_issue_item, "hmw_report_issue_item");
- GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1339, "image1339");
+ GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1407, "image1407");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_nightly_build_menu_item, "hmw_nightly_build_menu_item");
- GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1340, "image1340");
+ GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1408, "image1408");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, separator6, "separator6");
+ GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_check_for_updates_menu_item, "hmw_check_for_updates_menu_item");
+ GLADE_HOOKUP_OBJECT (hxplayer_main_window, separator15, "separator15");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_player_reset_menu_item, "hmw_player_reset_menu_item");
- GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1341, "image1341");
+ GLADE_HOOKUP_OBJECT (hxplayer_main_window, image1409, "image1409");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, separator13, "separator13");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_about_menu_item, "hmw_about_menu_item");
GLADE_HOOKUP_OBJECT (hxplayer_main_window, hmw_hxbin, "hmw_hxbin");
Index: commonapp.h
===================================================================
RCS file: /cvsroot/player/app/gtk/commonapp.h,v
retrieving revision 1.15.2.5
retrieving revision 1.15.2.6
diff -u -d -r1.15.2.5 -r1.15.2.6
--- commonapp.h 9 Jul 2004 01:48:54 -0000 1.15.2.5
+++ commonapp.h 15 Jul 2004 02:02:45 -0000 1.15.2.6
@@ -157,7 +157,10 @@
void hxcommon_launch_error_help_with_widget_name (GtkWidget* widget);
void hxcommon_launch_context_help_with_widget_name(GtkWidget* widget);
void hxcommon_launch_upgrade_with_widget_name (GtkWidget* widget);
-void hxcommon_reset_player (void);
+void hxcommon_reset_player (void);
+
+/* Also see gnome_vfs_escape_string && gnome_vfs_unescape_string */
+gchar* hxcommon_strdup_and_escape_url (const gchar* src_str);
/* This is a handler for realize. Normally, we'd set the transient's parent
with gtk_window_set_transient_for, which requires
Index: setup.cpp
===================================================================
RCS file: /cvsroot/player/app/gtk/setup.cpp,v
retrieving revision 1.11.6.3
retrieving revision 1.11.6.4
diff -u -d -r1.11.6.3 -r1.11.6.4
--- setup.cpp 9 Jul 2004 01:48:55 -0000 1.11.6.3
+++ setup.cpp 15 Jul 2004 02:02:45 -0000 1.11.6.4
@@ -71,6 +71,7 @@
#include "commonapp.h"
#include "mainapp.h"
#include "mimetypes.h"
+#include "switchboard.h"
#include "hxplayer-i18n.h"
@@ -275,7 +276,10 @@
G_OBJECT(gtk_widget_get_toplevel(GTK_WIDGET(widget))),
"privacy-clicked"))
{
- hxcommon_url_show(PRIVACY_URL);
+ gchar* url = hx_switchboard_get_privacy_url();
+ hxcommon_url_show(url);
+ g_free(url);
+
g_object_set_data(
G_OBJECT(gtk_widget_get_toplevel(GTK_WIDGET(widget))),
"privacy-clicked", NULL);
Index: commonapp.cpp
===================================================================
RCS file: /cvsroot/player/app/gtk/commonapp.cpp,v
retrieving revision 1.35.2.10
retrieving revision 1.35.2.11
diff -u -d -r1.35.2.10 -r1.35.2.11
--- commonapp.cpp 14 Jul 2004 22:45:25 -0000 1.35.2.10
+++ commonapp.cpp 15 Jul 2004 02:02:45 -0000 1.35.2.11
@@ -47,12 +47,19 @@
*
* ***** END LICENSE BLOCK ***** */
+/* Helix includes */
+#include "hxcom.h"
+#include "hxwintyp.h"
+#include "hxstring.h"
+#include "hxurl.h"
+
#include "commonapp.h"
#include "mainapp.h"
#include "auth.h"
#include "error.h"
#include "upgrade.h"
#include "remote.h"
+#include "switchboard.h"
#include "appver.h"
@@ -85,7 +92,6 @@
#include <locale.h>
#include "hxplayer-i18n.h"
-
#define EXIT_RESTART_PLAYER 10
#define MAX_TITLE_LENGTH 60
@@ -458,18 +464,12 @@
gchar* url;
GtkWidget* toplevel;
guint error_code;
- gint is_realplayer = 0;
-
-#ifdef HELIX_FEATURE_REAL_BRANDING
- is_realplayer = 1;
-#endif
toplevel = hxcommon_get_toplevel_widget_no_menus(widget);
error_code = (guint)g_object_get_data(G_OBJECT(toplevel), "error_code");
- url = g_strdup_printf("https://player.helixcommunity.org/sitecode/redirect/?action=ErrorHelp&error=0x%08x&playerVersion=%s&isRealPlayer=%d",
- error_code, TARVER_STRING_VERSION, is_realplayer);
+ url = hx_switchboard_get_error_help_url(error_code);
hxcommon_url_show(url);
g_free(url);
@@ -481,23 +481,12 @@
gchar* url;
GtkWidget* toplevel;
gchar* components;
- gint is_realplayer = 0;
-
-#ifdef HELIX_FEATURE_REAL_BRANDING
- is_realplayer = 1;
-#endif
toplevel = hxcommon_get_toplevel_widget_no_menus(widget);
components = (gchar*)g_object_get_data(G_OBJECT(toplevel), "components");
- if(!components)
- {
- components = "";
- }
-
- url = g_strdup_printf("https://player.helixcommunity.org/sitecode/redirect/?action=CheckUpdate&components=%s&playerVersion=%s&isRealPlayer=%d",
- components, TARVER_STRING_VERSION, is_realplayer);
+ url = hx_switchboard_get_upgrade_url (components);
hxcommon_url_show(url);
g_free(url);
@@ -508,14 +497,7 @@
hxcommon_launch_context_help(const gchar* context)
{
gchar* url;
- gint is_realplayer = 0;
-
-#ifdef HELIX_FEATURE_REAL_BRANDING
- is_realplayer = 1;
-#endif
-
- url = g_strdup_printf("https://player.helixcommunity.org/sitecode/redirect/?action=ContextHelp&context=%s&playerVersion=%s&isRealPlayer=%d",
- context, TARVER_STRING_VERSION, is_realplayer);
+ url = hx_switchboard_get_context_help_url(context);
hxcommon_url_show(url);
g_free(url);
}
@@ -561,7 +543,7 @@
}
gboolean
-hxcommon_player_has_feature (GtkWidget* player,
+hxcommon_player_has_feature (GtkWidget* /* player */,
const gchar* feature)
{
gboolean has_feature = FALSE;
@@ -868,7 +850,6 @@
return TRUE;
}
-
static gchar*
strdup_and_unescape(const gchar* src_str)
{
@@ -922,6 +903,16 @@
return dest_str;
}
+static gboolean
+is_special_character(gchar c)
+{
+ gboolean is_special = FALSE;
+
+ is_special = (c == '%' || c == '\n' || c == '=');
+
+ return is_special;
+}
+
static gchar*
strdup_and_escape(const gchar* src_str)
{
@@ -940,7 +931,7 @@
src_pos = src_str;
while(*src_pos)
{
- if(*src_pos == '%' || *src_pos == '\n' || *src_pos == '=')
+ if(is_special_character(*src_pos))
{
buffer_length += 3;
}
@@ -958,7 +949,7 @@
dest_pos = dest_str;
while(*src_pos)
{
- if(*src_pos == '%' || *src_pos == '\n' || *src_pos == '=')
+ if(is_special_character(*src_pos))
{
/* These characters are also escaped by the real prefs code
in common/util/platform/unix/unix_pref.cpp */
@@ -977,6 +968,20 @@
return dest_str;
}
+gchar*
+hxcommon_strdup_and_escape_url(const gchar* url)
+{
+ CHXString strEncodedUrl;
+ const char* encoded_url;
+ HX_RESULT result;
+
+ result = CHXURL::encodeURL(url, strEncodedUrl);
+ g_return_val_if_fail(SUCCEEDED(result), NULL);
+
+ encoded_url = (const char*) strEncodedUrl;
+
+ return g_strdup(encoded_url);
+}
void
hxcommon_save_preferences(HXMainWindow* window)
@@ -1038,7 +1043,7 @@
entry = (HXEntry*)prefs_iter->data;
value = hx_entry_get_value(entry);
- escaped_value_str = strdup_and_escape(hx_value_get_string(value));
+ escaped_value_str = strdup_and_escape(hx_value_get_string(value));
line = g_strdup_printf("%s=%s\n", hx_entry_get_key(entry), escaped_value_str);
g_free(escaped_value_str);
@@ -1645,8 +1650,8 @@
}
else
{
- text = g_strdup_printf("Buffering (%d%%)", percent);
- hx_player_set_status_text(player, text);
+ text = g_strdup_printf("Buffering (%d%%)", percent);
+ hx_player_set_status_text(player, text);
}
}
Index: mainapp.cpp
===================================================================
RCS file: /cvsroot/player/app/gtk/mainapp.cpp,v
retrieving revision 1.55.2.10
retrieving revision 1.55.2.11
diff -u -d -r1.55.2.10 -r1.55.2.11
--- mainapp.cpp 13 Jul 2004 02:18:16 -0000 1.55.2.10
+++ mainapp.cpp 15 Jul 2004 02:02:45 -0000 1.55.2.11
@@ -108,6 +108,7 @@
#include "plugins.h"
#include "open.h"
#include "contextmenu.h"
+#include "switchboard.h"
/* Helix includes (currently for viewsrc) */
#include "hxcom.h"
@@ -332,6 +333,7 @@
void hmw_faq (GtkWidget* widget);
void hmw_report_issue (GtkWidget* widget);
void hmw_nightly_build (GtkWidget* widget);
+void hmw_check_for_updates (GtkWidget* widget);
void hmw_about (GtkWidget* widget);
void hmw_view_source (GtkWidget* widget);
void hmw_file_menu_update (GtkWidget* widget);
@@ -532,8 +534,6 @@
{
recent_urls_menu_populate(window);
}
-
- hxcommon_save_preferences(window);
}
static void
@@ -710,8 +710,8 @@
HXValue* value = hx_value_new(HX_VALUE_STRING);
hx_value_set_string(value, "1");
hx_prefs_set_entry(REGISTERED_PREF, value);
- hxcommon_save_preferences(window);
- }
+ hxcommon_save_preferences(window);
+ }
}
return nResult;
}
@@ -858,8 +858,6 @@
{
favorites_menu_unpopulate(window);
favorites_menu_populate(window);
-
- hxcommon_save_preferences(window);
}
void
@@ -2716,10 +2714,15 @@
gtk_window_set_transient_for(GTK_WINDOW(window->manage_favorites_dialog),
GTK_WINDOW(window->window));
- g_signal_connect_swapped(G_OBJECT(window->manage_favorites_dialog),
- "destroy",
- G_CALLBACK(favorites_menu_refresh),
- window);
+ g_signal_connect_swapped (G_OBJECT(window->manage_favorites_dialog),
+ "response",
+ G_CALLBACK(favorites_menu_refresh),
+ window);
+
+ g_signal_connect_swapped (G_OBJECT(window->preferences_dialog),
+ "response",
+ G_CALLBACK(hxcommon_save_preferences),
+ window);
g_signal_connect_after (G_OBJECT(window->manage_favorites_dialog),
"response",
@@ -2755,6 +2758,9 @@
}
hxwindow_favorite_add(window, title, url);
+
+ hxcommon_save_preferences(window);
+
g_free(str);
}
@@ -2798,10 +2804,15 @@
gtk_window_set_transient_for(GTK_WINDOW(window->import_favorites_dialog),
GTK_WINDOW(window->window));
- g_signal_connect_swapped(G_OBJECT(window->import_favorites_dialog),
- "destroy",
- G_CALLBACK(favorites_menu_refresh),
- window);
+ g_signal_connect_swapped (G_OBJECT(window->import_favorites_dialog),
+ "response",
+ G_CALLBACK(favorites_menu_refresh),
+ window);
+
+ g_signal_connect_swapped (G_OBJECT(window->preferences_dialog),
+ "response",
+ G_CALLBACK(hxcommon_save_preferences),
+ window);
g_signal_connect_after (G_OBJECT(window->import_favorites_dialog),
"response",
@@ -3100,31 +3111,49 @@
void
hmw_intro(GtkWidget* /* widget */)
{
- hxcommon_url_show("https://player.helixcommunity.org/sitecode/redirect/?action=ContextHelp&context=Introduction&playerVersion=" TARVER_STRING_VERSION);
+ gchar* url = hx_switchboard_get_context_help_url("Introduction");
+ hxcommon_url_show(url);
+ g_free(url);
}
void
hmw_release_notes(GtkWidget* /* widget */)
{
- hxcommon_url_show("https://player.helixcommunity.org/sitecode/redirect/?action=ContextHelp&context=ReleaseNotes&playerVersion=" TARVER_STRING_VERSION);
+ gchar* url = hx_switchboard_get_context_help_url("ReleaseNotes");
+ hxcommon_url_show(url);
+ g_free(url);
}
void
hmw_faq(GtkWidget* /* widget */)
{
- hxcommon_url_show("https://player.helixcommunity.org/sitecode/redirect/?action=ContextHelp&context=FAQ&playerVersion=" TARVER_STRING_VERSION);
+ gchar* url = hx_switchboard_get_context_help_url("FAQ");
+ hxcommon_url_show(url);
+ g_free(url);
}
void
hmw_report_issue(GtkWidget* /* widget */)
{
- hxcommon_url_show("https://player.helixcommunity.org/sitecode/redirect/?action=ContextHelp&context=ReportIssue&playerVersion=" TARVER_STRING_VERSION);
+ gchar* url = hx_switchboard_get_context_help_url("ReportIssue");
+ hxcommon_url_show(url);
+ g_free(url);
}
void
hmw_nightly_build(GtkWidget* /* widget */)
{
- hxcommon_url_show("https://player.helixcommunity.org/sitecode/redirect/?action=ContextHelp&context=NightlyBuild&playerVersion=" TARVER_STRING_VERSION);
+ gchar* url = hx_switchboard_get_context_help_url("NightlyBuild");
+ hxcommon_url_show(url);
+ g_free(url);
+}
+
+void
+hmw_check_for_updates(GtkWidget* /* widget */)
+{
+ gchar* url = hx_switchboard_get_upgrade_url(NULL);
+ hxcommon_url_show(url);
+ g_free(url);
}
void
@@ -3640,6 +3669,7 @@
if(url)
{
hxwindow_recent_urls_prepend(window, url);
+ hxcommon_save_preferences(window);
}
}
@@ -3994,12 +4024,36 @@
void
hpw_hxerror(HXMainWindow* window,
- guint hxcode,
- guint user_code,
+ gint hxcode,
+ gint user_code,
const gchar* error_string,
const gchar* user_string,
const gchar* more_info_url)
{
+#ifndef HELIX_FEATURE_REAL_BRANDING
+ /* Bad protocol errors are (hopefully) the result of the Helix Player
+ trying to play an rtsp stream that uses RDT, which is a RP-only
+ feature. Forward these errors to the AU system */
+
+ if(hxcode == HXR_BAD_TRANSPORT)
+ {
+ const gchar* url = hx_player_get_url(HX_PLAYER(window->player));
+ gchar rtsp_component[] = "protocol_rtsp_rdt";
+
+ GList* component_list = NULL;
+ component_list = g_list_append(component_list, rtsp_component);
+
+ hxcommon_run_request_upgrade_dialog(GTK_WINDOW(window->window),
+ NULL,
+ url,
+ component_list,
+ TRUE);
+ g_list_free(component_list);
+
+ return;
+ }
+#endif
+
hxcommon_run_error_dialog(GTK_WINDOW(window->window),
NULL,
hxcode,
Index: main_callbacks.h
===================================================================
RCS file: /cvsroot/player/app/gtk/main_callbacks.h,v
retrieving revision 1.24.2.2
retrieving revision 1.24.2.3
diff -u -d -r1.24.2.2 -r1.24.2.3
--- main_callbacks.h 29 Jun 2004 22:45:50 -0000 1.24.2.2
+++ main_callbacks.h 15 Jul 2004 02:02:45 -0000 1.24.2.3
@@ -246,3 +246,7 @@
void
hmw_export_favorites (GtkMenuItem *menuitem,
gpointer user_data);
+
+void
+hmw_check_for_updates (GtkMenuItem *menuitem,
+ gpointer user_data);
Index: Umakefil
===================================================================
RCS file: /cvsroot/player/app/gtk/Umakefil,v
retrieving revision 1.64.2.6
retrieving revision 1.64.2.7
diff -u -d -r1.64.2.6 -r1.64.2.7
--- Umakefil 12 Jul 2004 20:41:40 -0000 1.64.2.6
+++ Umakefil 15 Jul 2004 02:02:45 -0000 1.64.2.7
@@ -116,6 +116,7 @@
"common/container[contlib]",
"common/runtime[runtlib]",
"common/dbgtool[debuglib]",
+ "common/util[utillib]",
"player/hxclientkit[hxclientlib]",
"player/mime/util[mimelib]")
@@ -126,12 +127,10 @@
project.AddModuleLibraries("common_rn/r1signin[r1signin]",
"common_rn/r1misc[r1misc]",
"common/fileio[fileiolib]",
- "common/util[utillib]",
"common/lang/xml[xmllib]",
"client/common/container[contclntlib]")
project.AddModuleIncludes ("common_rn/r1signin/pub",
"common_rn/r1misc/pub",
- "common/util/pub",
"common/lang/xml/pub")
project.AddSources("signin.cpp")
@@ -148,6 +147,7 @@
project.AddModuleIncludes("client/include",
"common/dbgtool/pub",
"common/runtime/pub",
+ "common/util/pub",
"client/include",
"filesystem/memory/pub",
"filesystem/http",
@@ -196,7 +196,9 @@
"plugins.cpp",
"open.cpp",
"guids.cpp",
- "contextmenu.cpp")
+ "contextmenu.cpp",
+ "sysinfo.cpp",
+ "switchboard.cpp")
if project.IsDefined('HELIX_FEATURE_REAL_BRANDING'):
project.AddDefines('APP_NAME_SHORT="realplay"')
@@ -205,7 +207,6 @@
project.AddDefines('APP_PREFIX_LC="rp"')
project.AddDefines('APP_URL="http://www.real.com"')
project.AddDefines('APP_FG_COLOR="#336699"')
- project.AddDefines('PRIVACY_URL="http://www.realnetworks.com/company/privacy"')
ProgramTarget("realplay.bin")
project.AddCopyTargets("realplay")
@@ -218,7 +219,6 @@
project.AddDefines('APP_PREFIX_LC="hx"')
project.AddDefines('APP_URL="https://player.helixcommunity.org"')
project.AddDefines('APP_FG_COLOR="#003300"')
- project.AddDefines('PRIVACY_URL="https://helixcommunity.org/2002/intro/privacy.php"')
ProgramTarget("hxplay.bin")
project.AddCopyTargets("hxplay")
Index: upgrade_interface.c
===================================================================
RCS file: /cvsroot/player/app/gtk/upgrade_interface.c,v
retrieving revision 1.10.2.1
retrieving revision 1.10.2.2
diff -u -d -r1.10.2.1 -r1.10.2.2
--- upgrade_interface.c 29 Jun 2004 22:09:48 -0000 1.10.2.1
+++ upgrade_interface.c 15 Jul 2004 02:02:45 -0000 1.10.2.2
@@ -35,8 +35,9 @@
GtkWidget *hbox1;
GtkWidget *image1;
GtkWidget *vbox1;
- GtkWidget *label1;
- GtkWidget *alignment2;
+ GtkWidget *hud_upgrade_description_label;
+ GtkWidget *hbox2;
+ GtkWidget *hud_check_for_updates_button;
GtkWidget *button1;
GtkWidget *hud_details_vbox;
GtkWidget *label2;
@@ -56,6 +57,7 @@
gtk_window_set_icon (GTK_WINDOW (hxplayer_upgrade_dialog), hxplayer_upgrade_dialog_icon_pixbuf);
gdk_pixbuf_unref (hxplayer_upgrade_dialog_icon_pixbuf);
}
+ gtk_window_set_type_hint (GTK_WINDOW (hxplayer_upgrade_dialog), GDK_WINDOW_TYPE_HINT_DIALOG);
dialog_vbox3 = GTK_DIALOG (hxplayer_upgrade_dialog)->vbox;
gtk_widget_set_name (dialog_vbox3, "dialog_vbox3");
@@ -77,23 +79,28 @@
gtk_widget_show (vbox1);
gtk_box_pack_start (GTK_BOX (hbox1), vbox1, TRUE, TRUE, 0);
- label1 = gtk_label_new (_("<b>The player does not have the capabilities to play back this content.</b>"));
- gtk_widget_set_name (label1, "label1");
- gtk_widget_show (label1);
- gtk_box_pack_start (GTK_BOX (vbox1), label1, FALSE, FALSE, 0);
- gtk_label_set_use_markup (GTK_LABEL (label1), TRUE);
- gtk_label_set_line_wrap (GTK_LABEL (label1), TRUE);
- gtk_misc_set_alignment (GTK_MISC (label1), 0, 0.5);
+ hud_upgrade_description_label = gtk_label_new (_("<b>The player does not have the capabilities to play back this content.</b>"));
+ gtk_widget_set_name (hud_upgrade_description_label, "hud_upgrade_description_label");
+ gtk_widget_show (hud_upgrade_description_label);
+ gtk_box_pack_start (GTK_BOX (vbox1), hud_upgrade_description_label, FALSE, FALSE, 0);
+ gtk_label_set_use_markup (GTK_LABEL (hud_upgrade_description_label), TRUE);
+ gtk_label_set_line_wrap (GTK_LABEL (hud_upgrade_description_label), TRUE);
+ gtk_misc_set_alignment (GTK_MISC (hud_upgrade_description_label), 0, 0.5);
- alignment2 = gtk_alignment_new (1, 0.5, 0, 0);
- gtk_widget_set_name (alignment2, "alignment2");
- gtk_widget_show (alignment2);
- gtk_box_pack_start (GTK_BOX (vbox1), alignment2, FALSE, FALSE, 0);
+ hbox2 = gtk_hbox_new (TRUE, 12);
+ gtk_widget_set_name (hbox2, "hbox2");
+ gtk_widget_show (hbox2);
+ gtk_box_pack_start (GTK_BOX (vbox1), hbox2, TRUE, TRUE, 0);
+
+ hud_check_for_updates_button = gtk_button_new_with_mnemonic (_("Check for Updates..."));
+ gtk_widget_set_name (hud_check_for_updates_button, "hud_check_for_updates_button");
+ gtk_widget_show (hud_check_for_updates_button);
+ gtk_box_pack_start (GTK_BOX (hbox2), hud_check_for_updates_button, TRUE, TRUE, 0);
button1 = gtk_button_new_with_mnemonic (_("Details..."));
gtk_widget_set_name (button1, "button1");
gtk_widget_show (button1);
- gtk_container_add (GTK_CONTAINER (alignment2), button1);
+ gtk_box_pack_start (GTK_BOX (hbox2), button1, TRUE, TRUE, 0);
hud_details_vbox = gtk_vbox_new (FALSE, 6);
gtk_widget_set_name (hud_details_vbox, "hud_details_vbox");
@@ -144,6 +151,9 @@
gtk_dialog_add_action_widget (GTK_DIALOG (hxplayer_upgrade_dialog), okbutton3, GTK_RESPONSE_OK);
GTK_WIDGET_SET_FLAGS (okbutton3, GTK_CAN_DEFAULT);
+ g_signal_connect ((gpointer) hud_check_for_updates_button, "clicked",
+ G_CALLBACK (hud_check_for_updates),
+ NULL);
g_signal_connect ((gpointer) button1, "clicked",
G_CALLBACK (hud_show_details),
NULL);
@@ -157,8 +167,9 @@
GLADE_HOOKUP_OBJECT (hxplayer_upgrade_dialog, hbox1, "hbox1");
GLADE_HOOKUP_OBJECT (hxplayer_upgrade_dialog, image1, "image1");
GLADE_HOOKUP_OBJECT (hxplayer_upgrade_dialog, vbox1, "vbox1");
- GLADE_HOOKUP_OBJECT (hxplayer_upgrade_dialog, label1, "label1");
- GLADE_HOOKUP_OBJECT (hxplayer_upgrade_dialog, alignment2, "alignment2");
+ GLADE_HOOKUP_OBJECT (hxplayer_upgrade_dialog, hud_upgrade_description_label, "hud_upgrade_description_label");
+ GLADE_HOOKUP_OBJECT (hxplayer_upgrade_dialog, hbox2, "hbox2");
+ GLADE_HOOKUP_OBJECT (hxplayer_upgrade_dialog, hud_check_for_updates_button, "hud_check_for_updates_button");
GLADE_HOOKUP_OBJECT (hxplayer_upgrade_dialog, button1, "button1");
GLADE_HOOKUP_OBJECT (hxplayer_upgrade_dialog, hud_details_vbox, "hud_details_vbox");
GLADE_HOOKUP_OBJECT (hxplayer_upgrade_dialog, label2, "label2");
Index: mimetypes.cpp
===================================================================
RCS file: /cvsroot/player/app/gtk/mimetypes.cpp,v
retrieving revision 1.10.2.3
retrieving revision 1.10.2.4
diff -u -d -r1.10.2.3 -r1.10.2.4
--- mimetypes.cpp 9 Jul 2004 01:48:55 -0000 1.10.2.3
+++ mimetypes.cpp 15 Jul 2004 02:02:45 -0000 1.10.2.4
@@ -520,9 +520,9 @@
nPlugins = pPluginEnumerator->GetNumOfPlugins();
for(i = 0; i < nPlugins; i++)
- {
- pPluginEnumerator->GetPlugin(i, pUnk);
-
+ {
+ retVal = pPluginEnumerator->GetPlugin(i, pUnk);
+
pMimeAssocMgr = NULL;
retVal = pUnk->QueryInterface(IID_IHXMimeAssocManager,
(void**)&pMimeAssocMgr);