{
auto dw = static_cast<DupeWindow *>(data);
DupeSearchMatch *search_match_list_item;
+ gchar *progress_text;
if (!dw->idle_id)
{
{
if( dw->thread_count < dw->queue_count)
{
- dupe_window_update_progress(dw, _("Comparing..."), 0.0, FALSE);
+ progress_text = g_strdup_printf("%s %d%s%d", _("Comparing"), dw->thread_count, "/", dw->queue_count);
+
+ dupe_window_update_progress(dw, progress_text, (gdouble)dw->thread_count / dw->queue_count, TRUE);
+
+ g_free(progress_text);
return G_SOURCE_CONTINUE;
}
if (dw->second_set)
{
dupe_second_update_status(dw);
- gtk_table_set_col_spacings(GTK_TABLE(dw->table), PREF_PAD_GAP);
+ gtk_grid_set_column_spacing(GTK_GRID(dw->table), PREF_PAD_GAP);
gtk_widget_show(dw->second_vbox);
}
else
{
- gtk_table_set_col_spacings(GTK_TABLE(dw->table), 0);
+ gtk_grid_set_column_spacing(GTK_GRID(dw->table), 0);
gtk_widget_hide(dw->second_vbox);
dupe_second_clear(dw);
}
gtk_tree_model_get(tree_model, iter, DUPE_COLUMN_COLOR, &set, -1);
g_object_set(G_OBJECT(cell),
- "cell-background-gdk", dupe_listview_color_shifted(dw->listview),
+ "cell-background-rgba", dupe_listview_color_shifted(dw->listview),
"cell-background-set", set, NULL);
}
dupe_window_get_geometry(dw);
dupe_window_list = g_list_remove(dupe_window_list, dw);
- gtk_widget_destroy(dw->window);
+ gq_gtk_widget_destroy(dw->window);
g_list_free(dw->dupes);
g_list_free_full(dw->list, reinterpret_cast<GDestroyNotify>(dupe_item_free));
if (options->duplicates_match == DUPE_MATCH_NAME_CI_CONTENT) dw->match_mask = DUPE_MATCH_NAME_CI_CONTENT;
if (options->duplicates_match == DUPE_MATCH_ALL) dw->match_mask = DUPE_MATCH_ALL;
- dw->window = window_new(GTK_WINDOW_TOPLEVEL, "dupe", nullptr, nullptr, _("Find duplicates"));
+ dw->window = window_new("dupe", nullptr, nullptr, _("Find duplicates"));
DEBUG_NAME(dw->window);
geometry.min_width = DEFAULT_MINIMAL_WINDOW_SIZE;
if (lw && options->save_window_positions)
{
gtk_window_set_default_size(GTK_WINDOW(dw->window), lw->options.dupe_window.w, lw->options.dupe_window.h);
- gtk_window_move(GTK_WINDOW(dw->window), lw->options.dupe_window.x, lw->options.dupe_window.y);
+ gq_gtk_window_move(GTK_WINDOW(dw->window), lw->options.dupe_window.x, lw->options.dupe_window.y);
}
else
{
G_CALLBACK(dupe_window_keypress_cb), dw);
vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
- gtk_container_add(GTK_CONTAINER(dw->window), vbox);
+ gq_gtk_container_add(GTK_WIDGET(dw->window), vbox);
gtk_widget_show(vbox);
- dw->table = gtk_table_new(1, 3, FALSE);
+ dw->table = gtk_grid_new();
gq_gtk_box_pack_start(GTK_BOX(vbox), dw->table, TRUE, TRUE, 0);
+ gtk_grid_set_row_homogeneous(GTK_GRID(dw->table), TRUE);
+ gtk_grid_set_column_homogeneous(GTK_GRID(dw->table), TRUE);
gtk_widget_show(dw->table);
scrolled = gq_gtk_scrolled_window_new(nullptr, nullptr);
gq_gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), GTK_SHADOW_IN);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
- gtk_table_attach_defaults(GTK_TABLE(dw->table), scrolled, 0, 2, 0, 1);
+ gtk_grid_attach(GTK_GRID(dw->table), scrolled, 0, 0, 2, 1);
gtk_widget_show(scrolled);
store = gtk_list_store_new(DUPE_COLUMN_COUNT, G_TYPE_POINTER, G_TYPE_STRING, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_INT, G_TYPE_INT);
g_signal_connect(gtk_tree_view_get_column(GTK_TREE_VIEW(dw->listview), DUPE_COLUMN_DIMENSIONS - 1), "clicked", (GCallback)column_clicked_cb, dw);
g_signal_connect(gtk_tree_view_get_column(GTK_TREE_VIEW(dw->listview), DUPE_COLUMN_PATH - 1), "clicked", (GCallback)column_clicked_cb, dw);
- gtk_container_add(GTK_CONTAINER(scrolled), dw->listview);
+ gq_gtk_container_add(GTK_WIDGET(scrolled), dw->listview);
gtk_widget_show(dw->listview);
dw->second_vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
- gtk_table_attach_defaults(GTK_TABLE(dw->table), dw->second_vbox, 2, 3, 0, 1);
+ gtk_grid_attach(GTK_GRID(dw->table), dw->second_vbox, 2, 0, 3, 1);
if (dw->second_set)
{
- gtk_table_set_col_spacings(GTK_TABLE(dw->table), PREF_PAD_GAP);
+ gtk_grid_set_column_spacing(GTK_GRID(dw->table), PREF_PAD_GAP);
gtk_widget_show(dw->second_vbox);
}
else
{
- gtk_table_set_col_spacings(GTK_TABLE(dw->table), 0);
+ gtk_grid_set_column_spacing(GTK_GRID(dw->table), 0);
}
scrolled = gq_gtk_scrolled_window_new(nullptr, nullptr);
dupe_listview_add_column(dw, dw->second_listview, 1, _("Compare to:"), FALSE, FALSE);
- gtk_container_add(GTK_CONTAINER(scrolled), dw->second_listview);
+ gq_gtk_container_add(GTK_WIDGET(scrolled), dw->second_listview);
gtk_widget_show(dw->second_listview);
dw->second_status_label = gtk_label_new("");
gtk_widget_show(frame);
dw->status_label = gtk_label_new("");
- gtk_container_add(GTK_CONTAINER(frame), dw->status_label);
+ gq_gtk_container_add(GTK_WIDGET(frame), dw->status_label);
gtk_widget_show(dw->status_label);
dw->extra_label = gtk_progress_bar_new();
button = pref_button_new(nullptr, GQ_ICON_HELP, _("Help"), G_CALLBACK(dupe_help_cb), nullptr);
gtk_widget_set_tooltip_text(GTK_WIDGET(button), "F1");
- gtk_container_add(GTK_CONTAINER(hbox), button);
+ gq_gtk_container_add(GTK_WIDGET(hbox), button);
gtk_widget_set_can_default(button, TRUE);
gtk_widget_show(button);
button = pref_button_new(nullptr, GQ_ICON_STOP, _("Stop"), G_CALLBACK(dupe_check_stop_cb), dw);
- gtk_container_add(GTK_CONTAINER(hbox), button);
+ gq_gtk_container_add(GTK_WIDGET(hbox), button);
gtk_widget_set_can_default(button, TRUE);
gtk_widget_show(button);
button = pref_button_new(nullptr, GQ_ICON_CLOSE, _("Close"), G_CALLBACK(dupe_window_close_cb), dw);
gtk_widget_set_tooltip_text(GTK_WIDGET(button), "Ctrl-W");
- gtk_container_add(GTK_CONTAINER(hbox), button);
+ gq_gtk_container_add(GTK_WIDGET(hbox), button);
gtk_widget_set_can_default(button, TRUE);
gtk_widget_grab_default(button);
gtk_widget_show(button);