diff options
-rw-r--r-- | gtk/src/callbacks.c | 57 | ||||
-rw-r--r-- | gtk/src/ghb.ui | 1 | ||||
-rw-r--r-- | gtk/src/hb-backend.c | 1 | ||||
-rw-r--r-- | gtk/src/resource_data.h | 2 | ||||
-rw-r--r-- | gtk/src/resources.plist | 1 |
5 files changed, 61 insertions, 1 deletions
diff --git a/gtk/src/callbacks.c b/gtk/src/callbacks.c index f93cd13b5..eb0e42861 100644 --- a/gtk/src/callbacks.c +++ b/gtk/src/callbacks.c @@ -4453,3 +4453,60 @@ ghb_reload_queue(signal_user_data_t *ud) return FALSE; } +gboolean queue_key_press_cb( + GtkWidget *widget, + GdkEventKey *event, + signal_user_data_t *ud) +{ + GtkTreeView *treeview; + GtkTreeSelection *selection; + GtkTreeModel *store; + GtkTreeIter iter; + gint row; + gint *indices; + gint unique_id; + GValue *settings; + gint status; + + g_message("queue_key_press_cb ()"); + treeview = GTK_TREE_VIEW(GHB_WIDGET(ud->builder, "queue_list")); + store = gtk_tree_view_get_model(treeview); + + selection = gtk_tree_view_get_selection (treeview); + if (gtk_tree_selection_get_selected(selection, &store, &iter)) + { + GtkTreePath *treepath; + + treepath = gtk_tree_model_get_path (store, &iter); + // Find the entry in the queue + indices = gtk_tree_path_get_indices (treepath); + row = indices[0]; + // Can only free the treepath After getting what I need from + // indices since this points into treepath somewhere. + gtk_tree_path_free (treepath); + if (row < 0) return FALSE; + if (row >= ghb_array_len(ud->queue)) + return FALSE; + settings = ghb_array_get_nth(ud->queue, row); + status = ghb_settings_get_int(settings, "job_status"); + if (status == GHB_QUEUE_RUNNING) + { + // Ask if wants to stop encode. + if (!cancel_encode(NULL)) + { + return FALSE; + } + unique_id = ghb_settings_get_int(settings, "job_unique_id"); + ghb_remove_job(unique_id); + } + // Remove the selected item + gtk_tree_store_remove(GTK_TREE_STORE(store), &iter); + // Remove the corresponding item from the queue list + GValue *old = ghb_array_get_nth(ud->queue, row); + ghb_value_free(old); + ghb_array_remove(ud->queue, row); + ghb_save_queue(ud->queue); + } + return FALSE; +} + diff --git a/gtk/src/ghb.ui b/gtk/src/ghb.ui index c28d2e13f..473b2a122 100644 --- a/gtk/src/ghb.ui +++ b/gtk/src/ghb.ui @@ -3965,6 +3965,7 @@ this setting.</property> <property name="headers_visible">False</property> <property name="headers_clickable">False</property> <property name="hover_expand">False</property> + <signal handler="queue_key_press_cb" name="key-press-event"/> </object> </child> </object> diff --git a/gtk/src/hb-backend.c b/gtk/src/hb-backend.c index c25f02839..b05c249cc 100644 --- a/gtk/src/hb-backend.c +++ b/gtk/src/hb-backend.c @@ -3652,7 +3652,6 @@ ghb_get_preview_image( gboolean anamorphic = ghb_settings_get_boolean(settings, "anamorphic"); if (anamorphic) { - title->job->modulus = 1; hb_set_anamorphic_size( title->job, &width, &height, &par_width, &par_height ); if (par_width > par_height) dstWidth = dstWidth * par_width / par_height; diff --git a/gtk/src/resource_data.h b/gtk/src/resource_data.h index 19a7d4759..3a793fd5e 100644 --- a/gtk/src/resource_data.h +++ b/gtk/src/resource_data.h @@ -6514,6 +6514,8 @@ "e</property>\n" " <property name="hover_expand">False<" "/property>\n" +" <signal handler="queue_key_press_cb" name=" +""key-press-event"/>\n" " </object>\n" " </child>\n" " </object>\n" diff --git a/gtk/src/resources.plist b/gtk/src/resources.plist index 8710bb6d1..671bb9f77 100644 --- a/gtk/src/resources.plist +++ b/gtk/src/resources.plist @@ -3970,6 +3970,7 @@ this setting.</property> <property name="headers_visible">False</property> <property name="headers_clickable">False</property> <property name="hover_expand">False</property> + <signal handler="queue_key_press_cb" name="key-press-event"/> </object> </child> </object> |