summaryrefslogtreecommitdiffstats
path: root/gtk/src/callbacks.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/src/callbacks.c')
-rw-r--r--gtk/src/callbacks.c57
1 files changed, 36 insertions, 21 deletions
diff --git a/gtk/src/callbacks.c b/gtk/src/callbacks.c
index 0f99948b9..42fd3fa03 100644
--- a/gtk/src/callbacks.c
+++ b/gtk/src/callbacks.c
@@ -217,7 +217,7 @@ ghb_check_dependency(
if (widget != NULL)
{
type = G_OBJECT_TYPE(widget);
- if (type == GTK_TYPE_COMBO_BOX || type == GTK_TYPE_COMBO_BOX_ENTRY)
+ if (type == GTK_TYPE_COMBO_BOX)
if (gtk_combo_box_get_active(GTK_COMBO_BOX(widget)) < 0) return;
name = ghb_get_setting_key(widget);
}
@@ -410,7 +410,10 @@ get_dvd_device_name(GDrive *gd)
#endif
static GHashTable *volname_hash = NULL;
-static GMutex *volname_mutex = NULL;
+#if GTK_CHECK_VERSION(2, 32, 0)
+static GMutex volname_mutex_static;
+#endif
+static GMutex *volname_mutex;
static void
free_volname_key(gpointer data)
@@ -485,7 +488,12 @@ get_dvd_volume_name(gpointer gd)
void
ghb_volname_cache_init(void)
{
+#if GTK_CHECK_VERSION(2, 32, 0)
+ g_mutex_init(&volname_mutex_static);
+ volname_mutex = &volname_mutex_static;
+#else
volname_mutex = g_mutex_new();
+#endif
volname_hash = g_hash_table_new_full(g_str_hash, g_str_equal,
free_volname_key, free_volname_value);
}
@@ -812,20 +820,20 @@ chooser_file_selected_cb(GtkFileChooser *dialog, signal_user_data_t *ud)
}
G_MODULE_EXPORT void
-dvd_device_changed_cb(GtkComboBox *combo, signal_user_data_t *ud)
+dvd_device_changed_cb(GtkComboBoxText *combo, signal_user_data_t *ud)
{
GtkWidget *dialog;
gint ii;
g_debug("dvd_device_changed_cb ()");
- ii = gtk_combo_box_get_active (combo);
+ ii = gtk_combo_box_get_active (GTK_COMBO_BOX(combo));
if (ii > 0)
{
const gchar *device;
gchar *name;
dialog = GHB_WIDGET(ud->builder, "source_dialog");
- device = gtk_combo_box_get_active_text (combo);
+ device = gtk_combo_box_text_get_active_text (combo);
name = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER(dialog));
if (name == NULL || strcmp(name, device) != 0)
gtk_file_chooser_select_filename (GTK_FILE_CHOOSER(dialog), device);
@@ -839,25 +847,26 @@ source_dialog_extra_widgets(
signal_user_data_t *ud,
GtkWidget *dialog)
{
- GtkComboBox *combo;
+ GtkComboBoxText *combo;
GList *drives, *link;
g_debug("source_dialog_extra_widgets ()");
- combo = GTK_COMBO_BOX(GHB_WIDGET(ud->builder, "source_device"));
- gtk_list_store_clear(GTK_LIST_STORE(gtk_combo_box_get_model(combo)));
+ combo = GTK_COMBO_BOX_TEXT(GHB_WIDGET(ud->builder, "source_device"));
+ gtk_list_store_clear(GTK_LIST_STORE(
+ gtk_combo_box_get_model(GTK_COMBO_BOX(combo))));
link = drives = dvd_device_list();
- gtk_combo_box_append_text (combo, "Not Selected");
+ gtk_combo_box_text_append_text (combo, "Not Selected");
while (link != NULL)
{
gchar *name = get_dvd_device_name(link->data);
- gtk_combo_box_append_text(combo, name);
+ gtk_combo_box_text_append_text(combo, name);
g_free(name);
free_drive(link->data);
link = link->next;
}
g_list_free(drives);
- gtk_combo_box_set_active (combo, 0);
+ gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 0);
}
extern GValue *ghb_queue_edit_settings;
@@ -3182,8 +3191,7 @@ ghb_timer_cb(gpointer data)
ghb_settings_set_int64(ud->settings,
"last_update_check", tt);
ghb_pref_save(ud->settings, "last_update_check");
- g_thread_create((GThreadFunc)ghb_check_update, ud,
- FALSE, NULL);
+ GHB_THREAD_NEW("Update Check", (GThreadFunc)ghb_check_update, ud);
}
}
}
@@ -3227,7 +3235,8 @@ ghb_log_cb(GIOChannel *source, GIOCondition cond, gpointer data)
window = gtk_text_view_get_window(textview, GTK_TEXT_WINDOW_TEXT);
if (window != NULL)
{
- gdk_drawable_get_size(GDK_DRAWABLE(window), &width, &height);
+ width = gdk_window_get_width(window);
+ height = gdk_window_get_height(window);
gtk_text_view_window_to_buffer_coords(textview,
GTK_TEXT_WINDOW_TEXT, width, height, &x, &y);
gtk_text_view_get_iter_at_location(textview, &iter, x, y);
@@ -3389,11 +3398,14 @@ browse_url(const gchar *url)
#endif
}
+#if 0
+ JJJ
void
about_web_hook(GtkAboutDialog *about, const gchar *link, gpointer data)
{
browse_url(link);
}
+#endif
G_MODULE_EXPORT void
about_activate_cb(GtkWidget *xwidget, signal_user_data_t *ud)
@@ -3402,7 +3414,10 @@ about_activate_cb(GtkWidget *xwidget, signal_user_data_t *ud)
gchar *ver;
ver = g_strdup_printf("%s (%s)", HB_PROJECT_VERSION, HB_PROJECT_BUILD_ARCH);
+#if 0
+ JJJ
gtk_about_dialog_set_url_hook(about_web_hook, NULL, NULL);
+#endif
gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(widget), ver);
g_free(ver);
gtk_about_dialog_set_website(GTK_ABOUT_DIALOG(widget),
@@ -4090,7 +4105,8 @@ handle_media_change(const gchar *device, gboolean insert, signal_user_data_t *ud
ins_count++;
if (ins_count == 2)
{
- g_thread_create((GThreadFunc)ghb_cache_volnames, ud, FALSE, NULL);
+ GHB_THREAD_NEW("Cache Volume Names",
+ (GThreadFunc)ghb_cache_volnames, ud);
if (ghb_settings_get_boolean(ud->settings, "AutoScan") &&
ud->current_dvd_device != NULL &&
strcmp(device, ud->current_dvd_device) == 0)
@@ -4110,7 +4126,8 @@ handle_media_change(const gchar *device, gboolean insert, signal_user_data_t *ud
rem_count++;
if (rem_count == 2)
{
- g_thread_create((GThreadFunc)ghb_cache_volnames, ud, FALSE, NULL);
+ GHB_THREAD_NEW("Cache Volume Names",
+ (GThreadFunc)ghb_cache_volnames, ud);
if (ud->current_dvd_device != NULL &&
strcmp(device, ud->current_dvd_device) == 0)
{
@@ -4185,7 +4202,7 @@ drive_changed_cb(GVolumeMonitor *gvm, GDrive *gd, signal_user_data_t *ud)
gint state;
g_debug("drive_changed_cb()");
- g_thread_create((GThreadFunc)ghb_cache_volnames, ud, FALSE, NULL);
+ GHB_THREAD_NEW("Cache Volume Names", (GThreadFunc)ghb_cache_volnames, ud);
state = ghb_get_scan_state();
device = g_drive_get_identifier(gd, G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE);
@@ -4871,7 +4888,7 @@ static void
process_appcast(signal_user_data_t *ud)
{
gchar *description = NULL, *build = NULL, *version = NULL, *msg;
-#if !defined(_WIN32)
+#if !defined(_WIN32) && !defined(_NO_UPDATE_CHECK)
GtkWidget *window;
static GtkWidget *html = NULL;
#endif
@@ -4897,8 +4914,7 @@ process_appcast(signal_user_data_t *ud)
label = GHB_WIDGET(ud->builder, "update_message");
gtk_label_set_text(GTK_LABEL(label), msg);
-#if !defined(_WIN32)
-#if !defined(_NO_UPDATE_CHECK)
+#if !defined(_WIN32) && !defined(_NO_UPDATE_CHECK)
if (html == NULL)
{
html = webkit_web_view_new();
@@ -4910,7 +4926,6 @@ process_appcast(signal_user_data_t *ud)
}
webkit_web_view_open(WEBKIT_WEB_VIEW(html), description);
#endif
-#endif
dialog = GHB_WIDGET(ud->builder, "update_dialog");
response = gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_hide(dialog);