Port GTK client to C++ (#1833)

* Rename GTK client .c files to .cc

* Fix GTK client build errors after C to C++ switch

* Remove `G_{BEGIN,END}_DECLS`

Co-authored-by: Charles Kerr <charles@charleskerr.com>
This commit is contained in:
Mike Gelfand 2021-09-25 13:47:09 +03:00 committed by GitHub
parent b92c609ed9
commit 4ac1c601f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 224 additions and 233 deletions

View File

@ -68,28 +68,28 @@ if(ENABLE_NLS)
endif()
set(${PROJECT_NAME}_SOURCES
actions.c
conf.c
details.c
dialogs.c
favicon.c
file-list.c
filter.c
hig.c
icons.c
main.c
makemeta-ui.c
msgwin.c
notify.c
open-dialog.c
relocate.c
stats.c
torrent-cell-renderer.c
tr-core.c
tr-icon.c
tr-prefs.c
tr-window.c
util.c
actions.cc
conf.cc
details.cc
dialogs.cc
favicon.cc
file-list.cc
filter.cc
hig.cc
icons.cc
main.cc
makemeta-ui.cc
msgwin.cc
notify.cc
open-dialog.cc
relocate.cc
stats.cc
torrent-cell-renderer.cc
tr-core.cc
tr-icon.cc
tr-prefs.cc
tr-window.cc
util.cc
${CMAKE_CURRENT_BINARY_DIR}/transmission-resources.c
)

View File

@ -412,17 +412,17 @@ static void torrent_set_real(struct DetailsImpl* di, tr_quark const key, double
tr_variantFree(&top);
}
static void up_speed_toggled_cb(GtkToggleButton* tb, gpointer d)
static void up_speed_toggled_cb(GtkToggleButton* tb, DetailsImpl* d)
{
torrent_set_bool(d, TR_KEY_uploadLimited, gtk_toggle_button_get_active(tb));
}
static void down_speed_toggled_cb(GtkToggleButton* tb, gpointer d)
static void down_speed_toggled_cb(GtkToggleButton* tb, DetailsImpl* d)
{
torrent_set_bool(d, TR_KEY_downloadLimited, gtk_toggle_button_get_active(tb));
}
static void global_speed_toggled_cb(GtkToggleButton* tb, gpointer d)
static void global_speed_toggled_cb(GtkToggleButton* tb, DetailsImpl* d)
{
torrent_set_bool(d, TR_KEY_honorsSessionLimits, gtk_toggle_button_get_active(tb));
}
@ -1188,7 +1188,7 @@ static GtkWidget* info_page_new(struct DetailsImpl* di)
hig_workarea_add_row(t, &row, _("Last activity:"), l, NULL);
/* error */
l = g_object_new(GTK_TYPE_LABEL, "selectable", TRUE, "ellipsize", PANGO_ELLIPSIZE_END, NULL);
l = static_cast<GtkWidget*>(g_object_new(GTK_TYPE_LABEL, "selectable", TRUE, "ellipsize", PANGO_ELLIPSIZE_END, NULL));
hig_workarea_add_row(t, &row, _("Error:"), l, NULL);
di->error_lb = l;
@ -1196,12 +1196,12 @@ static GtkWidget* info_page_new(struct DetailsImpl* di)
hig_workarea_add_section_title(t, &row, _("Details"));
/* destination */
l = g_object_new(GTK_TYPE_LABEL, "selectable", TRUE, "ellipsize", PANGO_ELLIPSIZE_END, NULL);
l = static_cast<GtkWidget*>(g_object_new(GTK_TYPE_LABEL, "selectable", TRUE, "ellipsize", PANGO_ELLIPSIZE_END, NULL));
hig_workarea_add_row(t, &row, _("Location:"), l, NULL);
di->destination_lb = l;
/* hash */
l = g_object_new(GTK_TYPE_LABEL, "selectable", TRUE, "ellipsize", PANGO_ELLIPSIZE_END, NULL);
l = static_cast<GtkWidget*>(g_object_new(GTK_TYPE_LABEL, "selectable", TRUE, "ellipsize", PANGO_ELLIPSIZE_END, NULL));
hig_workarea_add_row(t, &row, _("Hash:"), l, NULL);
di->hash_lb = l;
@ -1212,7 +1212,7 @@ static GtkWidget* info_page_new(struct DetailsImpl* di)
di->privacy_lb = l;
/* origins */
l = g_object_new(GTK_TYPE_LABEL, "selectable", TRUE, "ellipsize", PANGO_ELLIPSIZE_END, NULL);
l = static_cast<GtkWidget*>(g_object_new(GTK_TYPE_LABEL, "selectable", TRUE, "ellipsize", PANGO_ELLIPSIZE_END, NULL));
hig_workarea_add_row(t, &row, _("Origin:"), l, NULL);
di->origin_lb = l;
@ -1567,11 +1567,10 @@ static void refreshPeerList(struct DetailsImpl* di, tr_torrent** torrents, int n
{
char key[128];
GtkTreePath* p;
GtkTreeRowReference* ref;
tr_peer_stat const* s = &peers[i][j];
g_snprintf(key, sizeof(key), "%d.%s", tr_torrentId(tor), s->addr);
ref = g_hash_table_lookup(hash, key);
auto* ref = static_cast<GtkTreeRowReference*>(g_hash_table_lookup(hash, key));
p = gtk_tree_row_reference_get_path(ref);
gtk_tree_model_get_iter(model, &iter, p);
refreshPeerRow(store, &iter, s);
@ -1670,7 +1669,7 @@ static void refreshWebseedList(struct DetailsImpl* di, tr_torrent** torrents, in
char key[256];
g_snprintf(key, sizeof(key), "%d.%s", tr_torrentId(tor), url);
GtkTreeRowReference* const ref = g_hash_table_lookup(hash, key);
auto* const ref = static_cast<GtkTreeRowReference*>(g_hash_table_lookup(hash, key));
GtkTreePath* const p = gtk_tree_row_reference_get_path(ref);
gtk_tree_model_get_iter(model, &iter, p);
@ -1752,7 +1751,7 @@ static gboolean onPeerViewQueryTooltip(
char* name = NULL;
char* addr = NULL;
char* flagstr = NULL;
struct DetailsImpl* di = gdi;
auto* di = static_cast<DetailsImpl*>(gdi);
GString* gstr = di->gstr;
gtk_tree_model_get(
@ -2288,7 +2287,7 @@ enum
static gboolean trackerVisibleFunc(GtkTreeModel* model, GtkTreeIter* iter, gpointer data)
{
gboolean isBackup;
struct DetailsImpl* di = data;
auto* di = static_cast<DetailsImpl*>(data);
/* show all */
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(di->all_check)))
@ -2336,7 +2335,7 @@ static tr_torrent* tracker_list_get_current_torrent(struct DetailsImpl* di)
static void favicon_ready_cb(gpointer pixbuf, gpointer vreference)
{
GtkTreeIter iter;
GtkTreeRowReference* reference = vreference;
auto* reference = static_cast<GtkTreeRowReference*>(vreference);
if (pixbuf != NULL)
{
@ -2433,7 +2432,7 @@ static void refreshTracker(struct DetailsImpl* di, tr_torrent** torrents, int n)
/* build the key to find the row */
g_string_truncate(gstr, 0);
g_string_append_printf(gstr, "%d\t%d\t%s", tr_torrentId(tor), st->tier, st->announce);
GtkTreeRowReference* const ref = g_hash_table_lookup(hash, gstr->str);
auto* const ref = static_cast<GtkTreeRowReference*>(g_hash_table_lookup(hash, gstr->str));
GtkTreePath* const p = gtk_tree_row_reference_get_path(ref);
gtk_tree_model_get_iter(model, &iter, p);
@ -2510,12 +2509,12 @@ static void onBackupToggled(GtkToggleButton* button, struct DetailsImpl* di)
static void on_edit_trackers_response(GtkDialog* dialog, int response, gpointer data)
{
gboolean do_destroy = TRUE;
struct DetailsImpl* di = data;
auto* di = static_cast<DetailsImpl*>(data);
if (response == GTK_RESPONSE_ACCEPT)
{
int const torrent_id = GPOINTER_TO_INT(g_object_get_qdata(G_OBJECT(dialog), TORRENT_ID_KEY));
GtkTextBuffer* const text_buffer = g_object_get_qdata(G_OBJECT(dialog), TEXT_BUFFER_KEY);
auto* const text_buffer = static_cast<GtkTextBuffer*>(g_object_get_qdata(G_OBJECT(dialog), TEXT_BUFFER_KEY));
tr_torrent* const tor = gtr_core_find_torrent(di->core, torrent_id);
if (tor != NULL)
@ -2610,7 +2609,7 @@ static void get_editable_tracker_list(GString* gstr, tr_torrent const* tor)
static void on_edit_trackers(GtkButton* button, gpointer data)
{
struct DetailsImpl* di = data;
auto* di = static_cast<DetailsImpl*>(data);
tr_torrent const* tor = tracker_list_get_current_torrent(di);
if (tor != NULL)
@ -2631,7 +2630,7 @@ static void on_edit_trackers(GtkButton* button, gpointer data)
d = gtk_dialog_new_with_buttons(
gstr->str,
win,
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
GtkDialogFlags(GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT),
TR_ARG_TUPLE(_("_Cancel"), GTK_RESPONSE_CANCEL),
TR_ARG_TUPLE(_("_Save"), GTK_RESPONSE_ACCEPT),
NULL);
@ -2673,7 +2672,7 @@ static void on_edit_trackers(GtkButton* button, gpointer data)
static void on_tracker_list_selection_changed(GtkTreeSelection* sel, gpointer gdi)
{
struct DetailsImpl* di = gdi;
auto* di = static_cast<DetailsImpl*>(gdi);
int const n = gtk_tree_selection_count_selected_rows(sel);
tr_torrent const* tor = tracker_list_get_current_torrent(di);
@ -2688,7 +2687,7 @@ static void on_add_tracker_response(GtkDialog* dialog, int response, gpointer gd
if (response == GTK_RESPONSE_ACCEPT)
{
struct DetailsImpl* di = gdi;
auto* di = static_cast<DetailsImpl*>(gdi);
GtkWidget* e = GTK_WIDGET(g_object_get_qdata(G_OBJECT(dialog), URL_ENTRY_KEY));
int const torrent_id = GPOINTER_TO_INT(g_object_get_qdata(G_OBJECT(dialog), TORRENT_ID_KEY));
char* url = g_strdup(gtk_entry_get_text(GTK_ENTRY(e)));
@ -2734,7 +2733,7 @@ static void on_tracker_list_add_button_clicked(GtkButton const* button, gpointer
{
TR_UNUSED(button);
struct DetailsImpl* di = gdi;
auto* di = static_cast<DetailsImpl*>(gdi);
tr_torrent const* tor = tracker_list_get_current_torrent(di);
if (tor != NULL)
@ -2776,7 +2775,7 @@ static void on_tracker_list_remove_button_clicked(GtkButton const* button, gpoin
GtkTreeIter iter;
GtkTreeModel* model;
struct DetailsImpl* di = gdi;
auto* di = static_cast<DetailsImpl*>(gdi);
GtkTreeView* v = GTK_TREE_VIEW(di->tracker_view);
GtkTreeSelection* sel = gtk_tree_view_get_selection(v);
@ -2940,7 +2939,7 @@ static void refresh(struct DetailsImpl* di)
static gboolean periodic_refresh(gpointer data)
{
refresh(data);
refresh(static_cast<DetailsImpl*>(data));
return G_SOURCE_CONTINUE;
}
@ -2959,7 +2958,7 @@ static void on_details_window_size_allocated(GtkWidget* gtk_window, GtkAllocatio
static void details_free(gpointer gdata)
{
struct DetailsImpl* data = gdata;
auto* data = static_cast<DetailsImpl*>(gdata);
g_source_remove(data->periodic_refresh_tag);
g_hash_table_destroy(data->tracker_hash);
g_hash_table_destroy(data->webseed_hash);
@ -2991,7 +2990,7 @@ GtkWidget* gtr_torrent_details_dialog_new(GtkWindow* parent, TrCore* core)
/* create the dialog */
di->core = core;
di->gstr = g_string_new(NULL);
d = gtk_dialog_new_with_buttons(NULL, parent, 0, TR_ARG_TUPLE(_("_Close"), GTK_RESPONSE_CLOSE), NULL);
d = gtk_dialog_new_with_buttons(NULL, parent, {}, TR_ARG_TUPLE(_("_Close"), GTK_RESPONSE_CLOSE), NULL);
di->dialog = d;
gtk_window_set_role(GTK_WINDOW(d), "tr-info");
@ -3043,7 +3042,7 @@ void gtr_torrent_details_dialog_set_torrents(GtkWidget* w, GSList* ids)
{
char title[256];
int const len = g_slist_length(ids);
struct DetailsImpl* di = g_object_get_qdata(G_OBJECT(w), DETAILS_KEY);
auto* di = static_cast<DetailsImpl*>(g_object_get_qdata(G_OBJECT(w), DETAILS_KEY));
g_slist_free(di->ids);
di->ids = g_slist_copy(ids);

View File

@ -41,7 +41,7 @@ struct delete_data
static void on_remove_dialog_response(GtkDialog* dialog, gint response, gpointer gdd)
{
struct delete_data* dd = gdd;
auto* dd = static_cast<delete_data*>(gdd);
if (response == GTK_RESPONSE_ACCEPT)
{

View File

@ -55,7 +55,7 @@ static char* favicon_get_cache_filename(char const* host)
static void favicon_save_to_cache(char const* host, void const* data, size_t len)
{
char* filename = favicon_get_cache_filename(host);
g_file_set_contents(filename, data, len, NULL);
g_file_set_contents(filename, static_cast<gchar const*>(data), len, NULL);
g_free(filename);
}
@ -79,7 +79,7 @@ static gboolean favicon_web_done_idle_cb(gpointer vfav)
{
GdkPixbuf* pixbuf = NULL;
gboolean finished = FALSE;
struct favicon_data* fav = vfav;
auto* fav = static_cast<favicon_data*>(vfav);
if (fav->len > 0) /* we got something... try to make a pixbuf from it */
{
@ -132,8 +132,8 @@ static void favicon_web_done_cb(
TR_UNUSED(did_timeout);
TR_UNUSED(code);
struct favicon_data* fav = vfav;
fav->contents = g_memdup(data, len);
auto* fav = static_cast<favicon_data*>(vfav);
fav->contents = static_cast<char*>(g_memdup(data, len));
fav->len = len;
gdk_threads_add_idle(favicon_web_done_idle_cb, fav);

View File

@ -71,7 +71,7 @@ static void clearData(FileData* data)
static void freeData(gpointer data)
{
clearData(data);
clearData(static_cast<FileData*>(data));
g_free(data);
}
@ -94,7 +94,7 @@ static gboolean refreshFilesForeach(GtkTreeModel* model, GtkTreePath* path, GtkT
{
TR_UNUSED(path);
struct RefreshData* refresh_data = gdata;
auto* refresh_data = static_cast<RefreshData*>(gdata);
FileData* data = refresh_data->file_data;
unsigned int index;
uint64_t size;
@ -301,7 +301,7 @@ static void refresh(FileData* data)
static gboolean refreshModel(gpointer file_data)
{
refresh(file_data);
refresh(static_cast<FileData*>(file_data));
return G_SOURCE_CONTINUE;
}
@ -325,7 +325,7 @@ static gboolean getSelectedFilesForeach(GtkTreeModel* model, GtkTreePath* path,
if (is_file)
{
struct ActiveData* data = gdata;
auto* data = static_cast<ActiveData*>(gdata);
/* active means: if it's selected or any ancestor is selected */
gboolean is_active = gtk_tree_selection_iter_is_selected(data->sel, iter);
@ -377,7 +377,7 @@ static gboolean getSubtreeForeach(GtkTreeModel* model, GtkTreePath* path, GtkTre
if (is_file)
{
struct SubtreeForeachData* data = gdata;
auto* data = static_cast<SubtreeForeachData*>(gdata);
if (gtk_tree_path_compare(path, data->path) == 0 || gtk_tree_path_is_descendant(path, data->path))
{
@ -453,8 +453,8 @@ static void buildTree(GNode* node, gpointer gdata)
{
char size_str[64];
GtkTreeIter child_iter;
struct build_data* build = gdata;
struct row_struct* child_data = node->data;
auto* build = static_cast<build_data*>(gdata);
auto* child_data = static_cast<row_struct*>(node->data);
gboolean const isLeaf = node->children == NULL;
char const* mime_type = isLeaf ? gtr_get_mime_type_from_filename(child_data->name) : DIRECTORY_MIME_TYPE;
@ -502,7 +502,7 @@ static GNode* find_child(GNode* parent, char const* name)
while (child != NULL)
{
struct row_struct const* child_data = child->data;
auto const* child_data = static_cast<row_struct const*>(child->data);
if (*child_data->name == *name && g_strcmp0(child_data->name, name) == 0)
{
@ -518,7 +518,7 @@ static GNode* find_child(GNode* parent, char const* name)
void gtr_file_list_set_torrent(GtkWidget* w, int torrentId)
{
/* unset the old fields */
FileData* const data = g_object_get_data(G_OBJECT(w), "file-data");
auto* const data = static_cast<FileData*>(g_object_get_data(G_OBJECT(w), "file-data"));
clearData(data);
/* instantiate the model */
@ -689,7 +689,7 @@ static gboolean onRowActivated(GtkTreeView* view, GtkTreePath* path, GtkTreeView
TR_UNUSED(col);
gboolean handled = FALSE;
FileData* data = gdata;
auto* data = static_cast<FileData*>(gdata);
tr_torrent const* tor = gtr_core_find_torrent(data->core, data->torrentId);
if (tor != NULL)
@ -820,7 +820,7 @@ static gboolean onViewButtonPressed(GtkWidget* w, GdkEventButton const* event, g
GtkTreePath* path = NULL;
gboolean handled = FALSE;
GtkTreeView* treeview = GTK_TREE_VIEW(w);
FileData* data = gdata;
auto* data = static_cast<FileData*>(gdata);
if (event->type == GDK_BUTTON_PRESS && event->button == 1 && (event->state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK)) == 0 &&
getAndSelectEventPath(treeview, event, &col, &path))

View File

@ -92,7 +92,7 @@ static void tracker_model_update_count(GtkTreeStore* store, GtkTreeIter* iter, i
static void favicon_ready_cb(gpointer pixbuf, gpointer vreference)
{
GtkTreeIter iter;
GtkTreeRowReference* reference = vreference;
auto* reference = static_cast<GtkTreeRowReference*>(vreference);
if (pixbuf != NULL)
{
@ -143,7 +143,7 @@ static gboolean tracker_filter_model_update(gpointer gstore)
gtr_get_host_from_url(name, sizeof(name), inf->trackers[i].announce);
char* const key = g_string_chunk_insert_const(strings, name);
int* count = g_hash_table_lookup(hosts_hash, key);
auto* count = static_cast<int*>(g_hash_table_lookup(hosts_hash, key));
if (count == NULL)
{
count = tr_new0(int, 1);
@ -166,7 +166,7 @@ static gboolean tracker_filter_model_update(gpointer gstore)
for (int i = 0; i < keyCount; ++i)
{
int* incrementme = g_hash_table_lookup(hosts_hash, keys[i]);
auto* incrementme = static_cast<int*>(g_hash_table_lookup(hosts_hash, keys[i]));
++*incrementme;
}
@ -213,7 +213,7 @@ static gboolean tracker_filter_model_update(gpointer gstore)
{
char* host;
gtk_tree_model_get(model, &iter, TRACKER_FILTER_COL_HOST, &host, -1);
int const cmp = g_strcmp0(host, hosts->pdata[i]);
int const cmp = g_strcmp0(host, static_cast<char const*>(hosts->pdata[i]));
if (cmp < 0)
{
@ -237,8 +237,8 @@ static gboolean tracker_filter_model_update(gpointer gstore)
GtkTreeIter add;
GtkTreePath* path;
GtkTreeRowReference* reference;
tr_session* session = g_object_get_qdata(G_OBJECT(store), SESSION_KEY);
char const* host = hosts->pdata[i];
auto* session = static_cast<tr_session*>(g_object_get_qdata(G_OBJECT(store), SESSION_KEY));
auto const* host = static_cast<char const*>(hosts->pdata[i]);
char* name = get_name_from_host(host);
int const count = *(int*)g_hash_table_lookup(hosts_hash, host);
gtk_tree_store_insert_with_values(
@ -261,7 +261,7 @@ static gboolean tracker_filter_model_update(gpointer gstore)
}
else // update row
{
char const* const host = hosts->pdata[i];
auto const* const host = static_cast<char const*>(hosts->pdata[i]);
int const count = *(int*)g_hash_table_lookup(hosts_hash, host);
tracker_model_update_count(store, &iter, count);
++store_pos;
@ -408,8 +408,8 @@ static GtkCellRenderer* number_renderer_new(void)
static void disconnect_cat_model_callbacks(gpointer tmodel, GObject* cat_model)
{
g_signal_handlers_disconnect_by_func(tmodel, torrent_model_row_changed, cat_model);
g_signal_handlers_disconnect_by_func(tmodel, torrent_model_row_deleted_cb, cat_model);
g_signal_handlers_disconnect_by_func(tmodel, reinterpret_cast<gpointer>(torrent_model_row_changed), cat_model);
g_signal_handlers_disconnect_by_func(tmodel, reinterpret_cast<gpointer>(torrent_model_row_deleted_cb), cat_model);
}
static GtkWidget* tracker_combo_box_new(GtkTreeModel* tmodel)
@ -692,8 +692,8 @@ static void activity_torrent_model_row_deleted_cb(GtkTreeModel const* tmodel, Gt
static void disconnect_activity_model_callbacks(gpointer tmodel, GObject* cat_model)
{
g_signal_handlers_disconnect_by_func(tmodel, activity_torrent_model_row_changed, cat_model);
g_signal_handlers_disconnect_by_func(tmodel, activity_torrent_model_row_deleted_cb, cat_model);
g_signal_handlers_disconnect_by_func(tmodel, reinterpret_cast<gpointer>(activity_torrent_model_row_changed), cat_model);
g_signal_handlers_disconnect_by_func(tmodel, reinterpret_cast<gpointer>(activity_torrent_model_row_deleted_cb), cat_model);
}
static GtkWidget* activity_combo_box_new(GtkTreeModel* tmodel)
@ -780,7 +780,7 @@ static void filter_entry_changed(GtkEditable* e, gpointer filter_model)
pch = gtk_editable_get_chars(e, 0, -1);
folded = g_utf8_casefold(pch, -1);
g_strstrip(folded);
g_object_set_qdata_full(filter_model, TEXT_KEY, folded, g_free);
g_object_set_qdata_full(static_cast<GObject*>(filter_model), TEXT_KEY, folded, g_free);
g_free(pch);
gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(filter_model));
@ -808,7 +808,7 @@ static gboolean is_row_visible(GtkTreeModel* model, GtkTreeIter* iter, gpointer
{
char const* text;
tr_torrent* tor;
struct filter_data* data = vdata;
auto* data = static_cast<filter_data*>(vdata);
GObject* o = G_OBJECT(data->filter_model);
gtk_tree_model_get(model, iter, MC_TORRENT, &tor, -1);
@ -825,7 +825,7 @@ static void selection_changed_cb(GtkComboBox* combo, gpointer vdata)
char* host;
GtkTreeIter iter;
GtkTreeModel* model;
struct filter_data* data = vdata;
auto* data = static_cast<filter_data*>(vdata);
/* set data->active_activity_type from the activity combobox */
combo = GTK_COMBO_BOX(data->activity);
@ -882,7 +882,7 @@ static gboolean update_count_label(gpointer gdata)
GtkTreeModel* model;
GtkComboBox* combo;
GtkTreeIter iter;
struct filter_data* data = gdata;
auto* data = static_cast<filter_data*>(gdata);
/* get the visible count */
visibleCount = gtk_tree_model_iter_n_children(data->filter_model, NULL);
@ -951,7 +951,7 @@ static void on_filter_model_row_inserted(
TR_UNUSED(path);
TR_UNUSED(iter);
update_count_label_idle(data);
update_count_label_idle(static_cast<filter_data*>(data));
}
static void on_filter_model_row_deleted(GtkTreeModel const* tree_model, GtkTreePath const* path, gpointer data)
@ -959,7 +959,7 @@ static void on_filter_model_row_deleted(GtkTreeModel const* tree_model, GtkTreeP
TR_UNUSED(tree_model);
TR_UNUSED(path);
update_count_label_idle(data);
update_count_label_idle(static_cast<filter_data*>(data));
}
/***

View File

@ -56,7 +56,7 @@ static int get_size_in_pixels(GtkIconSize icon_size)
return MAX(width, height);
}
static IconCache* icon_cache_new(GtkWidget* for_widget, int icon_size)
static IconCache* icon_cache_new(GtkWidget* for_widget, GtkIconSize icon_size)
{
g_return_val_if_fail(for_widget != NULL, NULL);
@ -113,7 +113,7 @@ static GdkPixbuf* get_themed_icon_pixbuf(GThemedIcon* icon, int size, GtkIconThe
g_object_get(icon, "names", &icon_names, NULL);
icon_info = gtk_icon_theme_choose_icon(icon_theme, (char const**)icon_names, size, 0);
icon_info = gtk_icon_theme_choose_icon(icon_theme, (char const**)icon_names, size, {});
if (icon_info == NULL)
{
@ -188,7 +188,7 @@ static GdkPixbuf* icon_cache_get_mime_type_icon(IconCache* icons, char const* mi
}
g_return_val_if_fail(icons != NULL, NULL);
GdkPixbuf* pixbuf = g_hash_table_lookup(icons->cache, key);
auto* pixbuf = static_cast<GdkPixbuf*>(g_hash_table_lookup(icons->cache, key));
if (pixbuf != NULL)
{
g_object_ref(pixbuf);

View File

@ -130,7 +130,7 @@ static void get_selected_torrent_ids_foreach(GtkTreeModel* model, GtkTreePath* p
TR_UNUSED(path);
int id;
GSList** ids = gdata;
auto** ids = static_cast<GSList**>(gdata);
gtk_tree_model_get(model, iter, MC_TORRENT_ID, &id, -1);
*ids = g_slist_append(*ids, GINT_TO_POINTER(id));
}
@ -144,7 +144,7 @@ static GSList* get_selected_torrent_ids(struct cbdata* data)
static void on_details_dialog_closed(gpointer gdata, GObject* dead)
{
struct cbdata* data = gdata;
auto* data = static_cast<cbdata*>(gdata);
data->details = g_slist_remove(data->details, dead);
}
@ -157,9 +157,9 @@ static void show_details_dialog_for_selected_torrents(struct cbdata* data)
for (GSList* l = data->details; dialog == NULL && l != NULL; l = l->next)
{
if (g_strcmp0(key, g_object_get_data(l->data, "key")) == 0)
if (g_strcmp0(key, static_cast<char const*>(g_object_get_data(static_cast<GObject*>(l->data), "key"))) == 0)
{
dialog = l->data;
dialog = static_cast<GtkWidget*>(l->data);
}
}
@ -196,7 +196,7 @@ static void get_selected_torrent_counts_foreach(GtkTreeModel* model, GtkTreePath
TR_UNUSED(path);
int activity = 0;
struct counts_data* counts = user_data;
auto* counts = static_cast<counts_data*>(user_data);
++counts->total_count;
@ -233,7 +233,7 @@ static void count_updatable_foreach(GtkTreeModel* model, GtkTreePath* path, GtkT
static gboolean refresh_actions(gpointer gdata)
{
struct cbdata* data = gdata;
auto* data = static_cast<cbdata*>(gdata);
if (!data->is_closing)
{
@ -278,7 +278,7 @@ static gboolean refresh_actions(gpointer gdata)
static void refresh_actions_soon(gpointer gdata)
{
struct cbdata* data = gdata;
auto* data = static_cast<cbdata*>(gdata);
if (!data->is_closing && data->refresh_actions_tag == 0)
{
@ -371,7 +371,7 @@ struct on_rpc_changed_struct
static gboolean on_rpc_changed_idle(gpointer gdata)
{
tr_torrent* tor;
struct on_rpc_changed_struct* data = gdata;
auto* data = static_cast<on_rpc_changed_struct*>(gdata);
switch (data->type)
{
@ -461,7 +461,7 @@ static tr_rpc_callback_status on_rpc_changed(
struct tr_torrent* tor,
void* gdata)
{
struct cbdata* cbdata = gdata;
auto* cbdata = static_cast<struct cbdata*>(gdata);
struct on_rpc_changed_struct* data;
data = g_new(struct on_rpc_changed_struct, 1);
@ -478,7 +478,7 @@ static tr_rpc_callback_status on_rpc_changed(
***/
static sig_atomic_t global_sigcount = 0;
static struct cbdata* sighandler_cbdata = NULL;
static auto* sighandler_cbdata = static_cast<cbdata*>(nullptr);
static void signal_handler(int sig)
{
@ -508,7 +508,7 @@ static void on_startup(GApplication* application, gpointer user_data)
GtkWindow* win;
GtkUIManager* ui_manager;
tr_session* session;
struct cbdata* cbdata = user_data;
auto* cbdata = static_cast<struct cbdata*>(user_data);
signal(SIGINT, signal_handler);
signal(SIGTERM, signal_handler);
@ -585,7 +585,7 @@ static void on_activate(GApplication* app, struct cbdata* cbdata)
static void open_files(GSList* files, gpointer gdata)
{
struct cbdata* cbdata = gdata;
auto* cbdata = static_cast<struct cbdata*>(gdata);
gboolean const do_start = gtr_pref_flag_get(TR_KEY_start_added_torrents) && !cbdata->start_paused;
gboolean const do_prompt = gtr_pref_flag_get(TR_KEY_show_options_window);
gboolean const do_notify = TRUE;
@ -630,7 +630,7 @@ int main(int argc, char** argv)
{ "paused", 'p', 0, G_OPTION_ARG_NONE, &cbdata.start_paused, _("Start with all torrents paused"), NULL },
{ "minimized", 'm', 0, G_OPTION_ARG_NONE, &cbdata.is_iconified, _("Start minimized in notification area"), NULL },
{ "version", 'v', 0, G_OPTION_ARG_NONE, &show_version, _("Show version number and exit"), NULL },
{ NULL, 0, 0, 0, NULL, NULL, NULL }
{ NULL, 0, 0, {}, NULL, NULL, NULL }
};
/* default settings */
@ -842,7 +842,7 @@ static gboolean winclose(GtkWidget const* w, GdkEvent const* event, gpointer gda
TR_UNUSED(w);
TR_UNUSED(event);
struct cbdata* cbdata = gdata;
auto* cbdata = static_cast<struct cbdata*>(gdata);
if (cbdata->icon != NULL)
{
@ -861,7 +861,7 @@ static void rowChangedCB(GtkTreeModel const* model, GtkTreePath* path, GtkTreeIt
TR_UNUSED(model);
TR_UNUSED(iter);
struct cbdata* data = gdata;
auto* data = static_cast<cbdata*>(gdata);
if (gtk_tree_selection_path_is_selected(data->sel, path))
{
@ -930,7 +930,7 @@ static void main_window_setup(struct cbdata* cbdata, GtkWindow* wind)
static gboolean on_session_closed(gpointer gdata)
{
GSList* tmp;
struct cbdata* cbdata = gdata;
auto* cbdata = static_cast<struct cbdata*>(gdata);
tmp = g_slist_copy(cbdata->details);
g_slist_foreach(tmp, (GFunc)(GCallback)gtk_widget_destroy, NULL);
@ -972,7 +972,7 @@ struct session_close_struct
* punt the GUI teardown back to the GTK+ thread */
static gpointer session_close_threadfunc(gpointer gdata)
{
struct session_close_struct* data = gdata;
auto* data = static_cast<session_close_struct*>(gdata);
tr_sessionClose(data->session);
gdk_threads_add_idle(on_session_closed, data->cbdata);
g_free(data);
@ -989,7 +989,7 @@ static void on_app_exit(gpointer vdata)
GtkWidget* p;
GtkWidget* w;
GtkWidget* c;
struct cbdata* cbdata = vdata;
auto* cbdata = static_cast<struct cbdata*>(vdata);
struct session_close_struct* session_close_data;
if (cbdata->is_closing)
@ -1016,12 +1016,12 @@ static void on_app_exit(gpointer vdata)
c = GTK_WIDGET(cbdata->wind);
gtk_container_remove(GTK_CONTAINER(c), gtk_bin_get_child(GTK_BIN(c)));
p = g_object_new(
p = static_cast<GtkWidget*>(g_object_new(
GTK_TYPE_GRID,
TR_ARG_TUPLE("column-spacing", GUI_PAD_BIG),
TR_ARG_TUPLE("halign", GTK_ALIGN_CENTER),
TR_ARG_TUPLE("valign", GTK_ALIGN_CENTER),
NULL);
NULL));
gtk_container_add(GTK_CONTAINER(c), p);
w = gtk_image_new_from_icon_name("network-workgroup", GTK_ICON_SIZE_DIALOG);
@ -1132,7 +1132,7 @@ static gboolean on_main_window_focus_in(GtkWidget const* widget, GdkEventFocus c
TR_UNUSED(widget);
TR_UNUSED(event);
struct cbdata* cbdata = gdata;
auto* cbdata = static_cast<struct cbdata*>(gdata);
if (cbdata->wind != NULL)
{
@ -1144,7 +1144,7 @@ static gboolean on_main_window_focus_in(GtkWidget const* widget, GdkEventFocus c
static void on_add_torrent(TrCore* core, tr_ctor* ctor, gpointer gdata)
{
struct cbdata* cbdata = gdata;
auto* cbdata = static_cast<struct cbdata*>(gdata);
GtkWidget* w = gtr_torrent_options_dialog_new(cbdata->wind, core, ctor);
g_signal_connect(w, "focus-in-event", G_CALLBACK(on_main_window_focus_in), cbdata);
@ -1161,13 +1161,13 @@ static void on_prefs_changed(TrCore const* core, tr_quark const key, gpointer da
{
TR_UNUSED(core);
struct cbdata* cbdata = data;
auto* cbdata = static_cast<struct cbdata*>(data);
tr_session* tr = gtr_core_session(cbdata->core);
switch (key)
{
case TR_KEY_encryption:
tr_sessionSetEncryption(tr, gtr_pref_int_get(key));
tr_sessionSetEncryption(tr, static_cast<tr_encryption_mode>(gtr_pref_int_get(key)));
break;
case TR_KEY_download_dir:
@ -1175,7 +1175,7 @@ static void on_prefs_changed(TrCore const* core, tr_quark const key, gpointer da
break;
case TR_KEY_message_level:
tr_logSetLevel(gtr_pref_int_get(key));
tr_logSetLevel(static_cast<tr_log_level>(gtr_pref_int_get(key)));
break;
case TR_KEY_peer_port:
@ -1327,7 +1327,7 @@ static void on_prefs_changed(TrCore const* core, tr_quark const key, gpointer da
break;
case TR_KEY_alt_speed_time_day:
tr_sessionSetAltSpeedDay(tr, gtr_pref_int_get(key));
tr_sessionSetAltSpeedDay(tr, static_cast<tr_sched_day>(gtr_pref_int_get(key)));
break;
case TR_KEY_peer_port_random_on_start:
@ -1365,7 +1365,7 @@ static void on_prefs_changed(TrCore const* core, tr_quark const key, gpointer da
static gboolean update_model_once(gpointer gdata)
{
struct cbdata* data = gdata;
auto* data = static_cast<cbdata*>(gdata);
/* update the torrent data in the model */
gtr_core_update(data->core);
@ -1391,7 +1391,7 @@ static gboolean update_model_once(gpointer gdata)
static void update_model_soon(gpointer gdata)
{
struct cbdata* data = gdata;
auto* data = static_cast<cbdata*>(gdata);
if (data->update_model_soon_tag == 0)
{
@ -1448,7 +1448,7 @@ static void append_id_to_benc_list(GtkTreeModel* m, GtkTreePath* path, GtkTreeIt
tr_torrent* tor = NULL;
gtk_tree_model_get(m, iter, MC_TORRENT, &tor, -1);
tr_variantListAddInt(list, tr_torrentId(tor));
tr_variantListAddInt(static_cast<tr_variant*>(list), tr_torrentId(tor));
}
static gboolean call_rpc_for_selected_torrents(struct cbdata* data, char const* method)
@ -1482,7 +1482,7 @@ static void open_folder_foreach(GtkTreeModel* model, GtkTreePath* path, GtkTreeI
int id;
gtk_tree_model_get(model, iter, MC_TORRENT_ID, &id, -1);
gtr_core_open_folder(core, id);
gtr_core_open_folder(static_cast<TrCore*>(core), id);
}
static gboolean on_message_window_closed(void)
@ -1496,7 +1496,7 @@ static void accumulate_selected_torrents(GtkTreeModel* model, GtkTreePath* path,
TR_UNUSED(path);
int id;
GSList** data = gdata;
auto** data = static_cast<GSList**>(gdata);
gtk_tree_model_get(model, iter, MC_TORRENT_ID, &id, -1);
*data = g_slist_append(*data, GINT_TO_POINTER(id));
@ -1544,7 +1544,7 @@ static tr_torrent* get_first_selected_torrent(struct cbdata* data)
if (l != NULL)
{
GtkTreePath* p = l->data;
auto* p = static_cast<GtkTreePath*>(l->data);
GtkTreeIter i;
if (gtk_tree_model_get_iter(m, &i, p))
@ -1582,7 +1582,7 @@ static void copy_magnet_link_to_clipboard(GtkWidget* w, tr_torrent* tor)
void gtr_actions_handler(char const* action_name, gpointer user_data)
{
gboolean changed = FALSE;
struct cbdata* data = user_data;
auto* data = static_cast<cbdata*>(user_data);
if (g_strcmp0(action_name, "open-torrent-from-url") == 0)
{

View File

@ -45,7 +45,7 @@ typedef struct
static void freeMetaUI(gpointer p)
{
MakeMetaUI* ui = p;
auto* ui = static_cast<MakeMetaUI*>(p);
tr_metaInfoBuilderFree(ui->builder);
g_free(ui->target);
@ -56,7 +56,7 @@ static void freeMetaUI(gpointer p)
static gboolean onProgressDialogRefresh(gpointer data)
{
char* str = NULL;
MakeMetaUI* ui = data;
auto* ui = static_cast<MakeMetaUI*>(data);
tr_metainfo_builder const* b = ui->builder;
GtkDialog* d = GTK_DIALOG(ui->progress_dialog);
GtkProgressBar* p = GTK_PROGRESS_BAR(ui->progress_bar);
@ -129,7 +129,7 @@ static void onProgressDialogDestroyed(gpointer data, GObject* dead)
{
TR_UNUSED(dead);
MakeMetaUI const* ui = data;
auto const* ui = static_cast<MakeMetaUI*>(data);
g_source_remove(ui->progress_tag);
}
@ -150,7 +150,7 @@ static void addTorrent(MakeMetaUI* ui)
static void onProgressDialogResponse(GtkDialog* d, int response, gpointer data)
{
MakeMetaUI* ui = data;
auto* ui = static_cast<MakeMetaUI*>(data);
switch (response)
{
@ -184,7 +184,7 @@ static void makeProgressDialog(GtkWidget* parent, MakeMetaUI* ui)
d = gtk_dialog_new_with_buttons(
_("New Torrent"),
GTK_WINDOW(parent),
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
GtkDialogFlags(GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT),
TR_ARG_TUPLE(_("_Cancel"), GTK_RESPONSE_CANCEL),
TR_ARG_TUPLE(_("_Close"), GTK_RESPONSE_CLOSE),
TR_ARG_TUPLE(_("_Add"), GTK_RESPONSE_ACCEPT),
@ -218,7 +218,7 @@ static void makeProgressDialog(GtkWidget* parent, MakeMetaUI* ui)
static void onResponse(GtkDialog* d, int response, gpointer user_data)
{
MakeMetaUI* ui = user_data;
auto* ui = static_cast<MakeMetaUI*>(user_data);
if (response == GTK_RESPONSE_ACCEPT)
{
@ -353,7 +353,7 @@ static void setFilename(MakeMetaUI* ui, char const* filename)
static void onChooserChosen(GtkFileChooser* chooser, gpointer user_data)
{
char* filename;
MakeMetaUI* ui = user_data;
auto* ui = static_cast<MakeMetaUI*>(user_data);
g_object_set_data(G_OBJECT(chooser), FILE_CHOSEN_KEY, GINT_TO_POINTER(TRUE));
@ -379,13 +379,13 @@ static void onSourceToggled2(GtkToggleButton* tb, GtkWidget* chooser, MakeMetaUI
static void onFolderToggled(GtkToggleButton* tb, gpointer data)
{
MakeMetaUI* ui = data;
auto* ui = static_cast<MakeMetaUI*>(data);
onSourceToggled2(tb, ui->folder_chooser, ui);
}
static void onFileToggled(GtkToggleButton* tb, gpointer data)
{
MakeMetaUI* ui = data;
auto* ui = static_cast<MakeMetaUI*>(data);
onSourceToggled2(tb, ui->file_chooser, ui);
}
@ -410,7 +410,7 @@ static void on_drag_data_received(
TR_UNUSED(info);
gboolean success = FALSE;
MakeMetaUI* ui = user_data;
auto* ui = static_cast<MakeMetaUI*>(user_data);
char** uris = gtk_selection_data_get_uris(selection_data);
if (uris != NULL && uris[0] != NULL)

View File

@ -105,8 +105,8 @@ static void scroll_to_bottom(struct MsgData* data)
static void level_combo_changed_cb(GtkComboBox* combo_box, gpointer gdata)
{
struct MsgData* data = gdata;
int const level = gtr_combo_box_get_active_enum(combo_box);
auto* data = static_cast<MsgData*>(gdata);
auto const level = static_cast<tr_log_level>(gtr_combo_box_get_active_enum(combo_box));
gboolean const pinned_to_new = is_pinned_to_new(data);
tr_logSetLevel(level);
@ -136,7 +136,7 @@ static void doSave(GtkWindow* parent, struct MsgData* data, char const* filename
if (fp == NULL)
{
GtkWidget*
w = gtk_message_dialog_new(parent, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, _("Couldn't save \"%s\""), filename);
w = gtk_message_dialog_new(parent, {}, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, _("Couldn't save \"%s\""), filename);
gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(w), "%s", g_strerror(errno));
g_signal_connect_swapped(w, "response", G_CALLBACK(gtk_widget_destroy), w);
gtk_widget_show(w);
@ -191,7 +191,7 @@ static void onSaveDialogResponse(GtkWidget* d, int response, gpointer data)
if (response == GTK_RESPONSE_ACCEPT)
{
char* file = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(d));
doSave(GTK_WINDOW(d), data, file);
doSave(GTK_WINDOW(d), static_cast<MsgData*>(data), file);
g_free(file);
}
@ -217,7 +217,7 @@ static void onClearRequest(GtkWidget* w, gpointer gdata)
{
TR_UNUSED(w);
struct MsgData* data = gdata;
auto* data = static_cast<MsgData*>(gdata);
gtk_list_store_clear(data->store);
tr_logFreeQueue(myHead);
@ -226,7 +226,7 @@ static void onClearRequest(GtkWidget* w, gpointer gdata)
static void onPauseToggled(GtkToggleToolButton* w, gpointer gdata)
{
struct MsgData* data = gdata;
auto* data = static_cast<MsgData*>(gdata);
data->isPaused = gtk_toggle_tool_button_get_active(w);
}
@ -350,7 +350,7 @@ static void appendColumn(GtkTreeView* view, int col)
static gboolean isRowVisible(GtkTreeModel* model, GtkTreeIter* iter, gpointer gdata)
{
struct tr_log_message const* node;
struct MsgData const* data = gdata;
auto const* data = static_cast<MsgData const*>(gdata);
gtk_tree_model_get(model, iter, COL_TR_MSG, &node, -1);
@ -361,7 +361,7 @@ static void onWindowDestroyed(gpointer gdata, GObject* deadWindow)
{
TR_UNUSED(deadWindow);
struct MsgData* data = gdata;
auto* data = static_cast<MsgData*>(gdata);
g_source_remove(data->refresh_tag);
@ -409,7 +409,7 @@ static tr_log_message* addMessages(GtkListStore* store, struct tr_log_message* h
static gboolean onRefresh(gpointer gdata)
{
struct MsgData* data = gdata;
auto* data = static_cast<MsgData*>(gdata);
gboolean const pinned_to_new = is_pinned_to_new(data);
if (!data->isPaused)
@ -557,7 +557,7 @@ GtkWidget* gtr_message_log_window_new(GtkWindow* parent, TrCore* core)
data->sort = gtk_tree_model_sort_new_with_model(data->filter);
g_object_unref(data->filter);
gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(data->sort), COL_SEQUENCE, GTK_SORT_ASCENDING);
data->maxLevel = gtr_pref_int_get(TR_KEY_message_level);
data->maxLevel = static_cast<tr_log_level>(gtr_pref_int_get(TR_KEY_message_level));
gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(data->filter), isRowVisible, data, NULL);
view = gtk_tree_view_new_with_model(data->sort);

View File

@ -30,7 +30,7 @@ typedef struct TrNotification
static void tr_notification_free(gpointer data)
{
TrNotification* n = data;
auto* n = static_cast<TrNotification*>(data);
if (n->core != NULL)
{
@ -85,13 +85,11 @@ static void g_signal_callback(
TR_UNUSED(sender_name);
TR_UNUSED(user_data);
guint id;
TrNotification* n;
g_return_if_fail(g_variant_is_of_type(params, G_VARIANT_TYPE("(u*)")));
guint id;
g_variant_get(params, "(u*)", &id, NULL);
n = g_hash_table_lookup(active_notifications, GUINT_TO_POINTER(id));
auto* n = static_cast<TrNotification*>(g_hash_table_lookup(active_notifications, GUINT_TO_POINTER(id)));
if (n == NULL)
{
@ -171,7 +169,7 @@ void gtr_notify_init(void)
static void notify_callback(GObject* source, GAsyncResult* res, gpointer user_data)
{
GVariant* result;
TrNotification* n = user_data;
auto* n = static_cast<TrNotification*>(user_data);
result = g_dbus_proxy_call_finish(G_DBUS_PROXY(source), res, NULL);

View File

@ -70,7 +70,7 @@ static void save_recent_destination(TrCore* core, char const* dir)
* invalidated by gtr_pref_string_set() */
for (l = list; l != NULL; l = l->next)
{
l->data = g_strdup(l->data);
l->data = g_strdup(static_cast<char const*>(l->data));
}
/* save the first N_RECENT directories */
@ -78,7 +78,7 @@ static void save_recent_destination(TrCore* core, char const* dir)
{
char key[64];
g_snprintf(key, sizeof(key), "recent-download-dir-%d", i + 1);
gtr_pref_string_set(tr_quark_new(key, TR_BAD_SIZE), l->data);
gtr_pref_string_set(tr_quark_new(key, TR_BAD_SIZE), static_cast<char const*>(l->data));
}
gtr_pref_save(gtr_core_session(core));
@ -118,7 +118,7 @@ static void removeOldTorrent(struct OpenData* o)
static void addResponseCB(GtkDialog* dialog, gint response, gpointer gdata)
{
struct OpenData* o = gdata;
auto* o = static_cast<OpenData*>(gdata);
if (o->tor != NULL)
{
@ -181,7 +181,7 @@ static void updateTorrent(struct OpenData* o)
*/
static void sourceChanged(GtkFileChooserButton* b, gpointer gdata)
{
struct OpenData* o = gdata;
auto* o = static_cast<OpenData*>(gdata);
char* filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(b));
/* maybe instantiate a torrent */
@ -233,7 +233,7 @@ static void sourceChanged(GtkFileChooserButton* b, gpointer gdata)
static void downloadDirChanged(GtkFileChooserButton* b, gpointer gdata)
{
struct OpenData* data = gdata;
auto* data = static_cast<OpenData*>(gdata);
char* fname = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(b));
if (fname != NULL && (data->downloadDir == NULL || !tr_sys_path_is_same(fname, data->downloadDir, NULL)))
@ -347,7 +347,7 @@ GtkWidget* gtr_torrent_options_dialog_new(GtkWindow* parent, TrCore* core, tr_ct
for (GSList* walk = list; walk != NULL; walk = walk->next)
{
gtk_file_chooser_add_shortcut_folder(GTK_FILE_CHOOSER(w), walk->data, NULL);
gtk_file_chooser_add_shortcut_folder(GTK_FILE_CHOOSER(w), static_cast<char const*>(walk->data), NULL);
}
g_slist_free(list);
@ -443,7 +443,7 @@ static void onOpenDialogResponse(GtkDialog* dialog, int response, gpointer core)
gboolean const do_notify = FALSE;
GSList* files = gtk_file_chooser_get_files(chooser);
gtr_core_add_files(core, files, do_start, do_prompt, do_notify);
gtr_core_add_files(static_cast<TrCore*>(core), files, do_start, do_prompt, do_notify);
g_slist_foreach(files, (GFunc)(GCallback)g_object_unref, NULL);
g_slist_free(files);
}
@ -497,7 +497,7 @@ static void onOpenURLResponse(GtkDialog* dialog, int response, gpointer user_dat
if (url != NULL)
{
handled = gtr_core_add_from_url(user_data, url);
handled = gtr_core_add_from_url(static_cast<TrCore*>(user_data), url);
if (!handled)
{

View File

@ -33,7 +33,7 @@ struct relocate_dialog_data
static void data_free(gpointer gdata)
{
struct relocate_dialog_data* data = gdata;
auto* data = static_cast<relocate_dialog_data*>(gdata);
g_source_remove(data->timer);
g_slist_free(data->torrent_ids);
g_free(data);
@ -66,12 +66,12 @@ static void startMovingNextTorrent(struct relocate_dialog_data* data)
* if so, delete the dialog */
static gboolean onTimer(gpointer gdata)
{
struct relocate_dialog_data* data = gdata;
auto* data = static_cast<relocate_dialog_data*>(gdata);
int const done = data->done;
if (done == TR_LOC_ERROR)
{
int const flags = GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT;
auto const flags = GtkDialogFlags(GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT);
GtkWidget* w = gtk_message_dialog_new(
GTK_WINDOW(data->message_dialog),
flags,
@ -105,9 +105,9 @@ static void onResponse(GtkDialog* dialog, int response, gconstpointer user_data)
{
GtkWidget* w;
GObject* d = G_OBJECT(dialog);
struct relocate_dialog_data* data = g_object_get_data(d, DATA_KEY);
GtkFileChooser* chooser = g_object_get_data(d, "chooser");
GtkToggleButton* move_tb = g_object_get_data(d, "move_rb");
auto* data = static_cast<relocate_dialog_data*>(g_object_get_data(d, DATA_KEY));
auto* chooser = static_cast<GtkFileChooser*>(g_object_get_data(d, "chooser"));
auto* move_tb = static_cast<GtkToggleButton*>(g_object_get_data(d, "move_rb"));
char* location = gtk_file_chooser_get_filename(chooser);
data->do_move = gtk_toggle_button_get_active(move_tb);
@ -115,7 +115,7 @@ static void onResponse(GtkDialog* dialog, int response, gconstpointer user_data)
/* pop up a dialog saying that the work is in progress */
w = gtk_message_dialog_new(
GTK_WINDOW(dialog),
GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL,
GtkDialogFlags(GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL),
GTK_MESSAGE_INFO,
GTK_BUTTONS_CLOSE,
NULL);
@ -150,7 +150,7 @@ GtkWidget* gtr_relocate_dialog_new(GtkWindow* parent, TrCore* core, GSList* torr
d = gtk_dialog_new_with_buttons(
_("Set Torrent Location"),
parent,
GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL,
GtkDialogFlags(GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL),
TR_ARG_TUPLE(_("_Cancel"), GTK_RESPONSE_CANCEL),
TR_ARG_TUPLE(_("_Apply"), GTK_RESPONSE_APPLY),
NULL);

View File

@ -55,7 +55,7 @@ static gboolean updateStats(gpointer gdata)
tr_session_stats one;
tr_session_stats all;
size_t const buflen = sizeof(buf);
struct stat_ui* ui = gdata;
auto* ui = static_cast<stat_ui*>(gdata);
tr_sessionGetStats(gtr_core_session(ui->core), &one);
tr_sessionGetCumulativeStats(gtr_core_session(ui->core), &all);
@ -85,7 +85,7 @@ static void dialogDestroyed(gpointer p, GObject* dialog)
static void dialogResponse(GtkDialog* dialog, gint response, gpointer gdata)
{
struct stat_ui* ui = gdata;
auto* ui = static_cast<stat_ui*>(gdata);
if (response == TR_RESPONSE_RESET)
{
@ -93,7 +93,7 @@ static void dialogResponse(GtkDialog* dialog, gint response, gpointer gdata)
char const* secondary = _(
"These statistics are for your information only. "
"Resetting them doesn't affect the statistics logged by your BitTorrent trackers.");
int const flags = GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL;
auto const flags = GtkDialogFlags(GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL);
GtkWidget* w = gtk_message_dialog_new(GTK_WINDOW(dialog), flags, GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, "%s", primary);
gtk_dialog_add_buttons(
GTK_DIALOG(w),

View File

@ -888,7 +888,7 @@ static void torrent_cell_renderer_set_property(GObject* object, guint property_i
switch (property_id)
{
case P_TORRENT:
p->tor = g_value_get_pointer(v);
p->tor = static_cast<tr_torrent*>(g_value_get_pointer(v));
break;
case P_UPLOAD_SPEED:
@ -1007,7 +1007,7 @@ static void torrent_cell_renderer_init(TorrentCellRenderer* self)
struct TorrentCellRendererPrivate* p;
#if GLIB_CHECK_VERSION(2, 58, 0)
p = self->priv = torrent_cell_renderer_get_instance_private(self);
p = self->priv = static_cast<TorrentCellRendererPrivate*>(torrent_cell_renderer_get_instance_private(self));
#else
p = self->priv = G_TYPE_INSTANCE_GET_PRIVATE(self, TORRENT_CELL_RENDERER_TYPE, struct TorrentCellRendererPrivate);
#endif

View File

@ -221,7 +221,7 @@ static void tr_core_init(TrCore* core)
};
#if GLIB_CHECK_VERSION(2, 58, 0)
p = core->priv = tr_core_get_instance_private(core);
p = core->priv = static_cast<TrCorePrivate*>(tr_core_get_instance_private(core));
#else
p = core->priv = G_TYPE_INSTANCE_GET_PRIVATE(core, TR_CORE_TYPE, struct TrCorePrivate);
#endif
@ -724,7 +724,7 @@ static time_t get_file_mtime(GFile* file)
GFileInfo* info;
time_t mtime = 0;
info = g_file_query_info(file, G_FILE_ATTRIBUTE_TIME_MODIFIED, 0, NULL, NULL);
info = g_file_query_info(file, G_FILE_ATTRIBUTE_TIME_MODIFIED, {}, NULL, NULL);
if (info != NULL)
{
@ -739,7 +739,7 @@ static void rename_torrent_and_unref_file(GFile* file)
{
GFileInfo* info;
info = g_file_query_info(file, G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME, 0, NULL, NULL);
info = g_file_query_info(file, G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME, {}, NULL, NULL);
if (info != NULL)
{
@ -781,7 +781,7 @@ static gboolean core_watchdir_idle(gpointer gcore)
/* separate the files into two lists: changing and unchanging */
for (GSList* l = p->monitor_files; l != NULL; l = l->next)
{
GFile* file = l->data;
auto* file = static_cast<GFile*>(l->data);
time_t const mtime = get_file_mtime(file);
if (mtime + 2 >= now)
@ -835,7 +835,7 @@ static void core_watchdir_monitor_file(TrCore* core, GFile* file)
/* if we're not already watching this file, start watching it now */
for (GSList* l = p->monitor_files; !found && l != NULL; l = l->next)
{
found = g_file_equal(file, l->data);
found = g_file_equal(file, static_cast<GFile*>(l->data));
}
if (!found)
@ -866,7 +866,7 @@ static void on_file_changed_in_watchdir(
if (event_type == G_FILE_MONITOR_EVENT_CREATED)
{
core_watchdir_monitor_file(core, file);
core_watchdir_monitor_file(static_cast<TrCore*>(core), file);
}
}
@ -913,7 +913,7 @@ static void core_watchdir_update(TrCore* core)
if (is_enabled && p->monitor == NULL)
{
GFileMonitor* m = g_file_monitor_directory(dir, 0, NULL, NULL);
GFileMonitor* m = g_file_monitor_directory(dir, {}, NULL, NULL);
core_watchdir_scan(core);
g_object_ref(dir);
@ -1012,7 +1012,7 @@ struct notify_callback_data
static gboolean on_torrent_completeness_changed_idle(gpointer gdata)
{
struct notify_callback_data* data = gdata;
auto* data = static_cast<notify_callback_data*>(gdata);
gtr_notify_torrent_completed(data->core, data->torrent_id);
g_object_unref(G_OBJECT(data->core));
g_free(data);
@ -1026,7 +1026,7 @@ static void on_torrent_completeness_changed(tr_torrent* tor, tr_completeness com
if (was_running && completeness != TR_LEECH && tr_torrentStat(tor)->sizeWhenDone != 0)
{
struct notify_callback_data* data = g_new(struct notify_callback_data, 1);
data->core = gcore;
data->core = static_cast<TrCore*>(gcore);
data->torrent_id = tr_torrentId(tor);
g_object_ref(G_OBJECT(data->core));
gdk_threads_add_idle(on_torrent_completeness_changed_idle, data);
@ -1079,7 +1079,7 @@ static gboolean find_row_from_torrent_id(GtkTreeModel* model, int id, GtkTreeIte
static gboolean on_torrent_metadata_changed_idle(gpointer gdata)
{
struct notify_callback_data* const data = gdata;
auto* const data = static_cast<notify_callback_data*>(gdata);
tr_session* const session = gtr_core_session(data->core);
tr_torrent const* const tor = tr_torrentFindFromId(session, data->torrent_id);
@ -1108,7 +1108,7 @@ static gboolean on_torrent_metadata_changed_idle(gpointer gdata)
static void on_torrent_metadata_changed(tr_torrent* tor, void* gcore)
{
struct notify_callback_data* data = g_new(struct notify_callback_data, 1);
data->core = gcore;
data->core = static_cast<TrCore*>(gcore);
data->torrent_id = tr_torrentId(tor);
g_object_ref(G_OBJECT(data->core));
gdk_threads_add_idle(on_torrent_metadata_changed_idle, data);
@ -1215,7 +1215,7 @@ static tr_torrent* core_create_new_torrent(TrCore* core, tr_ctor* ctor)
static int core_add_ctor(TrCore* core, tr_ctor* ctor, gboolean do_prompt, gboolean do_notify)
{
tr_info inf;
int err = tr_torrentParse(ctor, &inf);
auto err = tr_torrentParse(ctor, &inf);
switch (err)
{
@ -1228,7 +1228,7 @@ static int core_add_ctor(TrCore* core, tr_ctor* ctor, gboolean do_prompt, gboole
* don't want to be nagging users to clean up their watch dirs */
if (tr_ctorGetSourceFile(ctor) == NULL || !core->priv->adding_from_watch_dir)
{
core_emit_err(core, err, inf.name);
core_emit_err(core, static_cast<tr_core_err>(err), inf.name);
}
tr_metainfoFree(&inf);
@ -1301,7 +1301,7 @@ static void add_file_async_callback(GObject* file, GAsyncResult* result, gpointe
gsize length;
char* contents;
GError* error = NULL;
struct add_from_url_data* data = gdata;
auto* data = static_cast<add_from_url_data*>(gdata);
if (!g_file_load_contents_finish(G_FILE(file), result, &contents, &length, NULL, &error))
{
@ -1427,7 +1427,7 @@ void gtr_core_add_files(TrCore* core, GSList* files, gboolean do_start, gboolean
{
for (GSList* l = files; l != NULL; l = l->next)
{
add_file(core, l->data, do_start, do_prompt, do_notify);
add_file(core, static_cast<GFile*>(l->data), do_start, do_prompt, do_notify);
}
gtr_core_torrents_added(core);
@ -1853,12 +1853,12 @@ static GHashTable* pendingRequests = NULL;
static gboolean core_read_rpc_response_idle(void* vresponse)
{
int64_t intVal;
tr_variant* response = vresponse;
auto* response = static_cast<tr_variant*>(vresponse);
if (tr_variantDictFindInt(response, TR_KEY_tag, &intVal))
{
int const tag = (int)intVal;
struct pending_request_data* data = g_hash_table_lookup(pendingRequests, &tag);
auto* data = static_cast<pending_request_data*>(g_hash_table_lookup(pendingRequests, &tag));
if (data != NULL)
{

View File

@ -27,8 +27,6 @@
#include <libtransmission/transmission.h>
#include <libtransmission/variant.h>
G_BEGIN_DECLS
#define TR_CORE_TYPE (tr_core_get_type())
#define TR_CORE(o) (G_TYPE_CHECK_INSTANCE_CAST((o), TR_CORE_TYPE, TrCore))
@ -182,5 +180,3 @@ enum
/* */
MC_ROW_COUNT
};
G_END_DECLS

View File

@ -66,7 +66,7 @@ void gtr_icon_refresh(gpointer vicon)
char tip[1024];
char const* idle = _("Idle");
GtkStatusIcon* icon = GTK_STATUS_ICON(vicon);
tr_session* session = gtr_core_session(g_object_get_qdata(G_OBJECT(icon), core_quark()));
tr_session* session = gtr_core_session(static_cast<TrCore*>(g_object_get_qdata(G_OBJECT(icon), core_quark())));
/* up */
KBps = tr_sessionGetRawSpeed_KBps(session, TR_UP);

View File

@ -87,7 +87,7 @@ struct spin_idle_data
static void spin_idle_data_free(gpointer gdata)
{
struct spin_idle_data* data = gdata;
auto* data = static_cast<spin_idle_data*>(gdata);
g_timer_destroy(data->last_change);
g_free(data);
@ -97,7 +97,7 @@ static gboolean spun_cb_idle(gpointer spin)
{
gboolean keep_waiting = TRUE;
GObject* o = G_OBJECT(spin);
struct spin_idle_data* data = g_object_get_data(o, IDLE_DATA);
auto* data = static_cast<spin_idle_data*>(g_object_get_data(o, IDLE_DATA));
/* has the user stopped making changes? */
if (g_timer_elapsed(data->last_change, NULL) > 0.33)
@ -130,7 +130,7 @@ static void spun_cb(GtkSpinButton* w, gpointer core, gboolean isDouble)
/* user may be spinning through many values, so let's hold off
for a moment to keep from flooding the core with changes */
GObject* o = G_OBJECT(w);
struct spin_idle_data* data = g_object_get_data(o, IDLE_DATA);
auto* data = static_cast<spin_idle_data*>(g_object_get_data(o, IDLE_DATA));
if (data == NULL)
{
@ -421,7 +421,7 @@ static void privacyPageDestroyed(gpointer gdata, GObject* dead)
{
TR_UNUSED(dead);
struct blocklist_data* data = gdata;
auto* data = static_cast<blocklist_data*>(gdata);
if (data->updateBlocklistTag > 0)
{
@ -436,7 +436,7 @@ static void onBlocklistUpdateResponse(GtkDialog* dialog, gint response, gpointer
{
TR_UNUSED(response);
struct blocklist_data* data = gdata;
auto* data = static_cast<blocklist_data*>(gdata);
gtk_widget_destroy(GTK_WIDGET(dialog));
gtk_widget_set_sensitive(data->updateBlocklistButton, TRUE);
data->updateBlocklistDialog = NULL;
@ -449,7 +449,7 @@ static void onBlocklistUpdated(TrCore* core, int n, gpointer gdata)
{
bool const success = n >= 0;
int const count = n >= 0 ? n : tr_blocklistGetRuleCount(gtr_core_session(core));
struct blocklist_data* data = gdata;
auto* data = static_cast<blocklist_data*>(gdata);
GtkMessageDialog* d = GTK_MESSAGE_DIALOG(data->updateBlocklistDialog);
gtk_widget_set_sensitive(data->updateBlocklistButton, TRUE);
gtk_message_dialog_set_markup(d, success ? _("<b>Update succeeded!</b>") : _("<b>Unable to update.</b>"));
@ -462,7 +462,7 @@ static void onBlocklistUpdated(TrCore* core, int n, gpointer gdata)
static void onBlocklistUpdate(GtkButton* w, gpointer gdata)
{
GtkWidget* d;
struct blocklist_data* data = gdata;
auto* data = static_cast<blocklist_data*>(gdata);
d = gtk_message_dialog_new(
GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(w))),
GTK_DIALOG_DESTROY_WITH_PARENT,
@ -646,7 +646,7 @@ static void onAddressEdited(GtkCellRendererText const* r, gchar const* path_stri
TR_UNUSED(r);
GtkTreeIter iter;
struct remote_page* page = gpage;
auto* page = static_cast<remote_page*>(gpage);
GtkTreeModel* model = GTK_TREE_MODEL(page->store);
GtkTreePath* path = gtk_tree_path_new_from_string(path_string);
@ -665,7 +665,7 @@ static void onAddWhitelistClicked(GtkButton const* b, gpointer gpage)
GtkTreeIter iter;
GtkTreePath* path;
struct remote_page* page = gpage;
auto* page = static_cast<remote_page*>(gpage);
gtk_list_store_append(page->store, &iter);
gtk_list_store_set(page->store, &iter, COL_ADDRESS, "0.0.0.0", -1);
@ -679,7 +679,7 @@ static void onRemoveWhitelistClicked(GtkButton const* b, gpointer gpage)
{
TR_UNUSED(b);
struct remote_page* page = gpage;
auto* page = static_cast<remote_page*>(gpage);
GtkTreeSelection* sel = gtk_tree_view_get_selection(page->view);
GtkTreeIter iter;
@ -721,14 +721,14 @@ static void onRPCToggled(GtkToggleButton* tb, gpointer page)
{
TR_UNUSED(tb);
refreshRPCSensitivity(page);
refreshRPCSensitivity(static_cast<remote_page*>(page));
}
static void onWhitelistSelectionChanged(GtkTreeSelection* sel, gpointer page)
{
TR_UNUSED(sel);
refreshRPCSensitivity(page);
refreshRPCSensitivity(static_cast<remote_page*>(page));
}
static void onLaunchClutchCB(GtkButton* w, gpointer data)
@ -746,7 +746,7 @@ static void onLaunchClutchCB(GtkButton* w, gpointer data)
static void remotePageFree(gpointer gpage)
{
struct remote_page* page = gpage;
auto* page = static_cast<remote_page*>(gpage);
g_slist_free(page->widgets);
g_slist_free(page->auth_widgets);
@ -906,7 +906,7 @@ static void onSchedToggled(GtkToggleButton* tb, gpointer user_data)
{
TR_UNUSED(tb);
refreshSchedSensitivity(user_data);
refreshSchedSensitivity(static_cast<BandwidthPage*>(user_data));
}
static void onTimeComboChanged(GtkComboBox* w, gpointer core)
@ -979,7 +979,7 @@ static GtkWidget* new_week_combo(GObject* core, tr_quark const key)
static void speedPageFree(gpointer gpage)
{
struct BandwidthPage* page = gpage;
auto* page = static_cast<BandwidthPage*>(gpage);
g_slist_free(page->sched_widgets);
g_free(page);
@ -1090,7 +1090,7 @@ static void onCorePrefsChanged(TrCore* core, tr_quark const key, gpointer gdata)
if (key == TR_KEY_peer_port)
{
struct network_page_data* data = gdata;
auto* data = static_cast<network_page_data*>(gdata);
gtr_label_set_text(GTK_LABEL(data->portLabel), _("Status unknown"));
gtk_widget_set_sensitive(data->portButton, TRUE);
gtk_widget_set_sensitive(data->portSpin, TRUE);
@ -1101,7 +1101,7 @@ static void networkPageDestroyed(gpointer gdata, GObject* dead)
{
TR_UNUSED(dead);
struct network_page_data* data = gdata;
auto* data = static_cast<network_page_data*>(gdata);
if (data->prefsTag > 0)
{
@ -1120,7 +1120,7 @@ static void onPortTested(TrCore* core, gboolean isOpen, gpointer vdata)
{
TR_UNUSED(core);
struct network_page_data* data = vdata;
auto* data = static_cast<network_page_data*>(vdata);
char const* markup = isOpen ? _("Port is <b>open</b>") : _("Port is <b>closed</b>");
gtk_label_set_markup(GTK_LABEL(data->portLabel), markup);
@ -1132,7 +1132,7 @@ static void onPortTest(GtkButton* button, gpointer vdata)
{
TR_UNUSED(button);
struct network_page_data* data = vdata;
auto* data = static_cast<network_page_data*>(vdata);
gtk_widget_set_sensitive(data->portButton, FALSE);
gtk_widget_set_sensitive(data->portSpin, FALSE);
gtk_label_set_markup(GTK_LABEL(data->portLabel), _("<i>Testing TCP port…</i>"));
@ -1232,7 +1232,7 @@ static GtkWidget* networkPage(GObject* core)
static void on_prefs_dialog_destroyed(gpointer gdata, GObject* dead_dialog G_GNUC_UNUSED)
{
struct prefs_dialog_data* data = gdata;
auto* data = static_cast<prefs_dialog_data*>(gdata);
if (data->core_prefs_tag > 0)
{
@ -1244,7 +1244,7 @@ static void on_prefs_dialog_destroyed(gpointer gdata, GObject* dead_dialog G_GNU
static void on_core_prefs_changed(TrCore* core, tr_quark const key, gpointer gdata)
{
struct prefs_dialog_data* data = gdata;
auto* data = static_cast<prefs_dialog_data*>(gdata);
#if 0

View File

@ -67,7 +67,7 @@ static TR_DEFINE_QUARK(private_data, private_data)
static PrivateData* get_private_data(GtkWindow* w)
{
return g_object_get_qdata(G_OBJECT(w), private_data_quark());
return static_cast<PrivateData*>(g_object_get_qdata(G_OBJECT(w), private_data_quark()));
}
/***
@ -201,7 +201,7 @@ static void prefsChanged(TrCore* core, tr_quark const key, gpointer wind)
break;
case TR_KEY_statusbar_stats:
gtr_window_refresh(wind);
gtr_window_refresh(static_cast<GtkWindow*>(wind));
break;
case TR_KEY_alt_speed_enabled:
@ -217,7 +217,7 @@ static void prefsChanged(TrCore* core, tr_quark const key, gpointer wind)
static void privateFree(gpointer vprivate)
{
PrivateData* p = vprivate;
auto* p = static_cast<PrivateData*>(vprivate);
g_signal_handler_disconnect(p->core, p->pref_handler_id);
g_free(p);
}
@ -226,7 +226,7 @@ static void onYinYangClicked(GtkWidget* w, gpointer vprivate)
{
TR_UNUSED(w);
PrivateData* p = vprivate;
auto* p = static_cast<PrivateData*>(vprivate);
#if GTK_CHECK_VERSION(3, 22, 0)
gtk_menu_popup_at_widget(GTK_MENU(p->status_menu), GTK_WIDGET(w), GDK_GRAVITY_NORTH_EAST, GDK_GRAVITY_SOUTH_EAST, NULL);
@ -252,8 +252,8 @@ static void status_menu_toggled_cb(GtkCheckMenuItem* menu_item, gpointer vprivat
{
if (gtk_check_menu_item_get_active(menu_item))
{
PrivateData* p = vprivate;
char const* val = g_object_get_data(G_OBJECT(menu_item), STATS_MODE);
auto* p = static_cast<PrivateData*>(vprivate);
auto const* val = static_cast<char const*>(g_object_get_data(G_OBJECT(menu_item), STATS_MODE));
gtr_core_set_pref(p->core, TR_KEY_statusbar_stats, val);
}
}
@ -273,7 +273,7 @@ static void syncAltSpeedButton(PrivateData* p)
g_strdup_printf(_("Click to enable Alternative Speed Limits\n (%1$s down, %2$s up)"), d, u);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), b);
gtk_image_set_from_stock(GTK_IMAGE(p->alt_speed_image), stock, -1);
gtk_image_set_from_stock(GTK_IMAGE(p->alt_speed_image), stock, GtkIconSize(-1));
g_object_set(w, "halign", GTK_ALIGN_CENTER, "valign", GTK_ALIGN_CENTER, NULL);
gtk_widget_set_tooltip_text(w, str);
@ -282,7 +282,7 @@ static void syncAltSpeedButton(PrivateData* p)
static void alt_speed_toggled_cb(GtkToggleButton* button, gpointer vprivate)
{
PrivateData* p = vprivate;
auto* p = static_cast<PrivateData*>(vprivate);
gboolean const b = gtk_toggle_button_get_active(button);
gtr_core_set_pref_bool(p->core, TR_KEY_alt_speed_enabled, b);
}
@ -297,7 +297,7 @@ static void findMaxAnnounceTime(GtkTreeModel* model, GtkTreePath* path, GtkTreeI
tr_torrent* tor;
tr_stat const* torStat;
time_t* maxTime = gmaxTime;
auto* maxTime = static_cast<time_t*>(gmaxTime);
gtk_tree_model_get(model, iter, MC_TORRENT, &tor, -1);
torStat = tr_torrentStatCached(tor);
@ -319,7 +319,7 @@ static gboolean onAskTrackerQueryTooltip(
gboolean handled;
time_t maxTime = 0;
PrivateData* p = gdata;
auto* p = static_cast<PrivateData*>(gdata);
time_t const now = time(NULL);
gtk_tree_selection_selected_foreach(p->selection, findMaxAnnounceTime, &maxTime);
@ -345,7 +345,7 @@ static gboolean onAskTrackerQueryTooltip(
static gboolean onAltSpeedToggledIdle(gpointer vp)
{
PrivateData* p = vp;
auto* p = static_cast<PrivateData*>(vp);
gboolean b = tr_sessionUsesAltSpeed(gtr_core_session(p->core));
gtr_core_set_pref_bool(p->core, TR_KEY_alt_speed_enabled, b);
@ -371,10 +371,10 @@ static void onAltSpeedToggled(tr_session* s, bool isEnabled, bool byUser, void*
static void onSpeedToggled(GtkCheckMenuItem* check, gpointer vp)
{
PrivateData* p = vp;
auto* p = static_cast<PrivateData*>(vp);
GObject* o = G_OBJECT(check);
gboolean isEnabled = g_object_get_data(o, ENABLED_KEY) != 0;
tr_direction dir = GPOINTER_TO_INT(g_object_get_data(o, DIRECTION_KEY));
auto dir = static_cast<tr_direction>(GPOINTER_TO_INT(g_object_get_data(o, DIRECTION_KEY)));
tr_quark const key = dir == TR_UP ? TR_KEY_speed_limit_up_enabled : TR_KEY_speed_limit_down_enabled;
if (gtk_check_menu_item_get_active(check))
@ -386,10 +386,10 @@ static void onSpeedToggled(GtkCheckMenuItem* check, gpointer vp)
static void onSpeedSet(GtkCheckMenuItem* check, gpointer vp)
{
tr_quark key;
PrivateData* p = vp;
auto* p = static_cast<PrivateData*>(vp);
GObject* o = G_OBJECT(check);
int const KBps = GPOINTER_TO_INT(g_object_get_data(o, SPEED_KEY));
tr_direction dir = GPOINTER_TO_INT(g_object_get_data(o, DIRECTION_KEY));
auto dir = static_cast<tr_direction>(GPOINTER_TO_INT(g_object_get_data(o, DIRECTION_KEY)));
key = dir == TR_UP ? TR_KEY_speed_limit_up : TR_KEY_speed_limit_down;
gtr_core_set_pref_int(p->core, key, KBps);
@ -453,7 +453,7 @@ static double const stockRatios[] = { 0.25, 0.5, 0.75, 1, 1.5, 2, 3 };
static void onRatioToggled(GtkCheckMenuItem* check, gpointer vp)
{
PrivateData* p = vp;
auto* p = static_cast<PrivateData*>(vp);
if (gtk_check_menu_item_get_active(check))
{
@ -464,7 +464,7 @@ static void onRatioToggled(GtkCheckMenuItem* check, gpointer vp)
static void onRatioSet(GtkCheckMenuItem* check, gpointer vp)
{
PrivateData* p = vp;
auto* p = static_cast<PrivateData*>(vp);
int i = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(check), RATIO_KEY));
double const ratio = stockRatios[i];
gtr_core_set_pref_double(p->core, TR_KEY_ratio_limit, ratio);
@ -543,7 +543,7 @@ static void onOptionsClicked(GtkButton* button, gpointer vp)
char buf2[512];
gboolean b;
GtkWidget* w;
PrivateData* p = vp;
auto* p = static_cast<PrivateData*>(vp);
w = p->speedlimit_on_item[TR_DOWN];
tr_formatter_speed_KBps(buf1, gtr_pref_int_get(TR_KEY_speed_limit_down), sizeof(buf1));

View File

@ -595,7 +595,7 @@ void gtr_unrecognized_url_dialog(GtkWidget* parent, char const* url)
GString* gstr = g_string_new(NULL);
GtkWidget* w = gtk_message_dialog_new(window, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "%s", _("Unrecognized URL"));
GtkWidget* w = gtk_message_dialog_new(window, {}, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "%s", _("Unrecognized URL"));
g_string_append_printf(gstr, _("Transmission doesn't know how to use \"%s\""), url);
@ -674,7 +674,7 @@ static void on_freespace_label_destroyed(gpointer gdata, GObject* dead_label);
static void freespace_label_data_free(gpointer gdata)
{
struct freespace_label_data* data = gdata;
auto* data = static_cast<freespace_label_data*>(gdata);
if (data->core != NULL)
{
@ -695,14 +695,14 @@ static TR_DEFINE_QUARK(freespace_label_data, freespace_label_data)
static void on_freespace_label_core_destroyed(gpointer gdata, GObject* dead_core G_GNUC_UNUSED)
{
struct freespace_label_data* data = gdata;
auto* data = static_cast<freespace_label_data*>(gdata);
data->core = NULL;
freespace_label_data_free(data);
}
static void on_freespace_label_destroyed(gpointer gdata, GObject* dead_label G_GNUC_UNUSED)
{
struct freespace_label_data* data = gdata;
auto* data = static_cast<freespace_label_data*>(gdata);
data->label = NULL;
freespace_label_data_free(data);
}
@ -713,7 +713,7 @@ static gboolean on_freespace_timer(gpointer gdata)
char markup[128];
int64_t bytes;
tr_session* session;
struct freespace_label_data* data = gdata;
auto* data = static_cast<freespace_label_data*>(gdata);
session = gtr_core_session(data->core);
bytes = tr_sessionGetDirFreeSpace(session, data->dir);
@ -756,9 +756,7 @@ GtkWidget* gtr_freespace_label_new(struct _TrCore* core, char const* dir)
void gtr_freespace_label_set_dir(GtkWidget* label, char const* dir)
{
struct freespace_label_data* data;
data = g_object_get_qdata(G_OBJECT(label), freespace_label_data_quark());
auto* data = static_cast<freespace_label_data*>(g_object_get_qdata(G_OBJECT(label), freespace_label_data_quark()));
tr_free(data->dir);
data->dir = g_strdup(dir);