From 61bc1eabd64dc459b0b720ce541d17b4b71f6ea0 Mon Sep 17 00:00:00 2001 From: Jordan Lee Date: Thu, 13 Dec 2012 03:00:57 +0000 Subject: [PATCH] fewer redundant gobject dynamic casts --- gtk/filter.c | 62 +++++++++++++++------------ gtk/stats.c | 78 ++++++++++++++++++++-------------- gtk/tr-window.c | 111 ++++++++++++++++++++++++++---------------------- 3 files changed, 142 insertions(+), 109 deletions(-) diff --git a/gtk/filter.c b/gtk/filter.c index a4bf4d36f..26e1b583c 100644 --- a/gtk/filter.c +++ b/gtk/filter.c @@ -482,36 +482,40 @@ category_combo_box_new (GtkTreeModel * tmodel) GtkWidget * c; GtkCellRenderer * r; GtkTreeModel * cat_model; + GtkCellLayout * c_cell_layout; + GtkComboBox * c_combo_box; /* create the category combobox */ cat_model = category_filter_model_new (tmodel); c = gtk_combo_box_new_with_model (cat_model); + c_combo_box = GTK_COMBO_BOX (c); + c_cell_layout = GTK_CELL_LAYOUT (c); g_object_unref (cat_model); - gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (c), + gtk_combo_box_set_row_separator_func (c_combo_box, is_it_a_separator, NULL, NULL); - gtk_combo_box_set_active (GTK_COMBO_BOX (c), 0); + gtk_combo_box_set_active (c_combo_box, 0); r = gtk_cell_renderer_pixbuf_new (); - gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (c), r, FALSE); - gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (c), r, + gtk_cell_layout_pack_start (c_cell_layout, r, FALSE); + gtk_cell_layout_set_cell_data_func (c_cell_layout, r, render_pixbuf_func, NULL, NULL); - gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (c), r, + gtk_cell_layout_set_attributes (c_cell_layout, r, "pixbuf", CAT_FILTER_COL_PIXBUF, NULL); r = gtk_cell_renderer_text_new (); - gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (c), r, FALSE); - gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (c), r, + gtk_cell_layout_pack_start (c_cell_layout, r, FALSE); + gtk_cell_layout_set_attributes (c_cell_layout, r, "text", CAT_FILTER_COL_NAME, NULL); - gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (c), r, + gtk_cell_layout_set_cell_data_func (c_cell_layout, r, is_capital_sensitive, NULL, NULL); r = number_renderer_new (); - gtk_cell_layout_pack_end (GTK_CELL_LAYOUT (c), r, TRUE); - gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (c), r, + gtk_cell_layout_pack_end (c_cell_layout, r, TRUE); + gtk_cell_layout_set_cell_data_func (c_cell_layout, r, render_number_func, NULL, NULL); g_object_weak_ref (G_OBJECT (cat_model), disconnect_cat_model_callbacks, tmodel); @@ -788,31 +792,35 @@ activity_combo_box_new (GtkTreeModel * tmodel) GtkWidget * c; GtkCellRenderer * r; GtkTreeModel * activity_model; + GtkComboBox * c_combo_box; + GtkCellLayout * c_cell_layout; activity_model = activity_filter_model_new (tmodel); c = gtk_combo_box_new_with_model (activity_model); + c_combo_box = GTK_COMBO_BOX (c); + c_cell_layout = GTK_CELL_LAYOUT (c); g_object_unref (activity_model); - gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (c), - activity_is_it_a_separator, NULL, NULL); - gtk_combo_box_set_active (GTK_COMBO_BOX (c), 0); + gtk_combo_box_set_row_separator_func (c_combo_box, + activity_is_it_a_separator, NULL, NULL); + gtk_combo_box_set_active (c_combo_box, 0); r = gtk_cell_renderer_pixbuf_new (); - gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (c), r, FALSE); - gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (c), r, + gtk_cell_layout_pack_start (c_cell_layout, r, FALSE); + gtk_cell_layout_set_attributes (c_cell_layout, r, "stock-id", ACTIVITY_FILTER_COL_STOCK_ID, NULL); - gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (c), r, + gtk_cell_layout_set_cell_data_func (c_cell_layout, r, render_activity_pixbuf_func, NULL, NULL); r = gtk_cell_renderer_text_new (); - gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (c), r, TRUE); - gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (c), r, + gtk_cell_layout_pack_start (c_cell_layout, r, TRUE); + gtk_cell_layout_set_attributes (c_cell_layout, r, "text", ACTIVITY_FILTER_COL_NAME, NULL); r = number_renderer_new (); - gtk_cell_layout_pack_end (GTK_CELL_LAYOUT (c), r, TRUE); - gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (c), r, + gtk_cell_layout_pack_end (c_cell_layout, r, TRUE); + gtk_cell_layout_set_cell_data_func (c_cell_layout, r, render_number_func, NULL, NULL); g_object_weak_ref (G_OBJECT (activity_model), disconnect_activity_model_callbacks, tmodel); @@ -963,6 +971,7 @@ gtr_filter_bar_new (tr_session * session, GtkTreeModel * tmodel, GtkTreeModel ** GtkWidget * s; GtkWidget * activity; GtkWidget * category; + GtkBox * h_box; const char * str; struct filter_data * data; @@ -989,6 +998,7 @@ gtr_filter_bar_new (tr_session * session, GtkTreeModel * tmodel, GtkTreeModel ** h = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, GUI_PAD_SMALL); + h_box = GTK_BOX (h); /* add the activity combobox */ str = _("_Show:"); @@ -996,28 +1006,28 @@ gtr_filter_bar_new (tr_session * session, GtkTreeModel * tmodel, GtkTreeModel ** l = gtk_label_new (NULL); gtk_label_set_markup_with_mnemonic (GTK_LABEL (l), str); gtk_label_set_mnemonic_widget (GTK_LABEL (l), w); - gtk_box_pack_start (GTK_BOX (h), l, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (h), w, TRUE, TRUE, 0); + gtk_box_pack_start (h_box, l, FALSE, FALSE, 0); + gtk_box_pack_start (h_box, w, TRUE, TRUE, 0); /* add a spacer */ w = gtk_alignment_new (0.0f, 0.0f, 0.0f, 0.0f); gtk_widget_set_size_request (w, 0u, GUI_PAD_BIG); - gtk_box_pack_start (GTK_BOX (h), w, FALSE, FALSE, 0); + gtk_box_pack_start (h_box, w, FALSE, FALSE, 0); /* add the category combobox */ w = category; - gtk_box_pack_start (GTK_BOX (h), w, TRUE, TRUE, 0); + gtk_box_pack_start (h_box, w, TRUE, TRUE, 0); /* add a spacer */ w = gtk_alignment_new (0.0f, 0.0f, 0.0f, 0.0f); gtk_widget_set_size_request (w, 0u, GUI_PAD_BIG); - gtk_box_pack_start (GTK_BOX (h), w, FALSE, FALSE, 0); + gtk_box_pack_start (h_box, w, FALSE, FALSE, 0); /* add the entry field */ s = gtk_entry_new (); gtk_entry_set_icon_from_stock (GTK_ENTRY (s), GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_CLEAR); g_signal_connect (s, "icon-release", G_CALLBACK (entry_clear), NULL); - gtk_box_pack_start (GTK_BOX (h), s, TRUE, TRUE, 0); + gtk_box_pack_start (h_box, s, TRUE, TRUE, 0); g_signal_connect (s, "changed", G_CALLBACK (filter_entry_changed), data->filter_model); selection_changed_cb (NULL, data); diff --git a/gtk/stats.c b/gtk/stats.c index bb636e5d3..e80e948e2 100644 --- a/gtk/stats.c +++ b/gtk/stats.c @@ -20,36 +20,39 @@ enum { - TR_RESPONSE_RESET = 1 + TR_RESPONSE_RESET = 1 }; struct stat_ui { - GtkWidget * one_up_lb; - GtkWidget * one_down_lb; - GtkWidget * one_ratio_lb; - GtkWidget * one_time_lb; - GtkWidget * all_up_lb; - GtkWidget * all_down_lb; - GtkWidget * all_ratio_lb; - GtkWidget * all_time_lb; - GtkWidget * all_sessions_lb; - TrCore * core; + GtkLabel * one_up_lb; + GtkLabel * one_down_lb; + GtkLabel * one_ratio_lb; + GtkLabel * one_time_lb; + + GtkLabel * all_up_lb; + GtkLabel * all_down_lb; + GtkLabel * all_ratio_lb; + GtkLabel * all_time_lb; + + GtkLabel * all_sessions_lb; + + TrCore * core; }; static void -setLabel (GtkWidget * w, const char * str) +setLabel (GtkLabel * l, const char * str) { - gtr_label_set_text (GTK_LABEL (w), str); + gtr_label_set_text (l, str); } static void -setLabelFromRatio (GtkWidget * w, double d) +setLabelFromRatio (GtkLabel * l, double d) { char buf[128]; tr_strlratio (buf, d, sizeof (buf)); - setLabel (w, buf); + setLabel (l, buf); } static gboolean @@ -147,34 +150,43 @@ gtr_stats_dialog_new (GtkWindow * parent, TrCore * core) ui->core = core; hig_workarea_add_section_title (t, &row, _("Current Session")); - l = ui->one_up_lb = gtk_label_new (NULL); - gtk_label_set_single_line_mode (GTK_LABEL (l), TRUE); + l = gtk_label_new (NULL); + ui->one_up_lb = GTK_LABEL (l); + gtk_label_set_single_line_mode (ui->one_up_lb, TRUE); hig_workarea_add_row (t, &row, _("Uploaded:"), l, NULL); - l = ui->one_down_lb = gtk_label_new (NULL); - gtk_label_set_single_line_mode (GTK_LABEL (l), TRUE); + l = gtk_label_new (NULL); + ui->one_down_lb = GTK_LABEL (l); + gtk_label_set_single_line_mode (ui->one_down_lb, TRUE); hig_workarea_add_row (t, &row, _("Downloaded:"), l, NULL); - l = ui->one_ratio_lb = gtk_label_new (NULL); - gtk_label_set_single_line_mode (GTK_LABEL (l), TRUE); + l = gtk_label_new (NULL); + ui->one_ratio_lb = GTK_LABEL (l); + gtk_label_set_single_line_mode (ui->one_ratio_lb, TRUE); hig_workarea_add_row (t, &row, _("Ratio:"), l, NULL); - l = ui->one_time_lb = gtk_label_new (NULL); - gtk_label_set_single_line_mode (GTK_LABEL (l), TRUE); + l = gtk_label_new (NULL); + ui->one_time_lb = GTK_LABEL (l); + gtk_label_set_single_line_mode (ui->one_time_lb, TRUE); hig_workarea_add_row (t, &row, _("Duration:"), l, NULL); hig_workarea_add_section_divider (t, &row); hig_workarea_add_section_title (t, &row, _("Total")); - l = ui->all_sessions_lb = gtk_label_new (_("Started %'d time")); - gtk_label_set_single_line_mode (GTK_LABEL (l), TRUE); + l = gtk_label_new (_("Started %'d time")); + ui->all_sessions_lb = GTK_LABEL (l); + gtk_label_set_single_line_mode (ui->all_sessions_lb, TRUE); hig_workarea_add_label_w (t, row++, l); - l = ui->all_up_lb = gtk_label_new (NULL); - gtk_label_set_single_line_mode (GTK_LABEL (l), TRUE); + l = gtk_label_new (NULL); + ui->all_up_lb = GTK_LABEL (l); + gtk_label_set_single_line_mode (ui->all_up_lb, TRUE); hig_workarea_add_row (t, &row, _("Uploaded:"), l, NULL); - l = ui->all_down_lb = gtk_label_new (NULL); - gtk_label_set_single_line_mode (GTK_LABEL (l), TRUE); + l = gtk_label_new (NULL); + ui->all_down_lb = GTK_LABEL (l); + gtk_label_set_single_line_mode (ui->all_down_lb, TRUE); hig_workarea_add_row (t, &row, _("Downloaded:"), l, NULL); - l = ui->all_ratio_lb = gtk_label_new (NULL); - gtk_label_set_single_line_mode (GTK_LABEL (l), TRUE); + l = gtk_label_new (NULL); + ui->all_ratio_lb = GTK_LABEL (l); + gtk_label_set_single_line_mode (ui->all_ratio_lb, TRUE); hig_workarea_add_row (t, &row, _("Ratio:"), l, NULL); - l = ui->all_time_lb = gtk_label_new (NULL); - gtk_label_set_single_line_mode (GTK_LABEL (l), TRUE); + l = gtk_label_new (NULL); + ui->all_time_lb = GTK_LABEL (l); + gtk_label_set_single_line_mode (ui->all_time_lb, TRUE); hig_workarea_add_row (t, &row, _("Duration:"), l, NULL); gtr_dialog_set_content (GTK_DIALOG (d), t); diff --git a/gtk/tr-window.c b/gtk/tr-window.c index 743eb5095..8c59637fa 100644 --- a/gtk/tr-window.c +++ b/gtk/tr-window.c @@ -51,10 +51,10 @@ typedef struct GtkWidget * filter; GtkWidget * status; GtkWidget * status_menu; - GtkWidget * ul_lb; - GtkWidget * dl_lb; - GtkWidget * stats_lb; - GtkWidget * gutter_lb; + GtkLabel * ul_lb; + GtkLabel * dl_lb; + GtkLabel * stats_lb; + GtkLabel * gutter_lb; GtkWidget * alt_speed_image; GtkWidget * alt_speed_button; GtkWidget * options_menu; @@ -412,26 +412,28 @@ createSpeedMenu (PrivateData * p, tr_direction dir) { int i, n; GtkWidget *w, *m; + GtkMenuShell * menu_shell; const int speeds_KBps[] = { 5, 10, 20, 30, 40, 50, 75, 100, 150, 200, 250, 500, 750 }; m = gtk_menu_new (); + menu_shell = GTK_MENU_SHELL (m); w = gtk_radio_menu_item_new_with_label (NULL, _("Unlimited")); p->speedlimit_off_item[dir] = w; g_object_set_data (G_OBJECT (w), DIRECTION_KEY, GINT_TO_POINTER (dir)); g_object_set_data (G_OBJECT (w), ENABLED_KEY, GINT_TO_POINTER (FALSE)); g_signal_connect (w, "toggled", G_CALLBACK (onSpeedToggled), p); - gtk_menu_shell_append (GTK_MENU_SHELL (m), w); + gtk_menu_shell_append (menu_shell, w); w = gtk_radio_menu_item_new_with_label_from_widget (GTK_RADIO_MENU_ITEM (w), ""); p->speedlimit_on_item[dir] = w; g_object_set_data (G_OBJECT (w), DIRECTION_KEY, GINT_TO_POINTER (dir)); g_object_set_data (G_OBJECT (w), ENABLED_KEY, GINT_TO_POINTER (TRUE)); g_signal_connect (w, "toggled", G_CALLBACK (onSpeedToggled), p); - gtk_menu_shell_append (GTK_MENU_SHELL (m), w); + gtk_menu_shell_append (menu_shell, w); w = gtk_separator_menu_item_new (); - gtk_menu_shell_append (GTK_MENU_SHELL (m), w); + gtk_menu_shell_append (menu_shell, w); for (i=0, n=G_N_ELEMENTS (speeds_KBps); iratio_off_item = w; g_object_set_data (G_OBJECT (w), ENABLED_KEY, GINT_TO_POINTER (FALSE)); g_signal_connect (w, "toggled", G_CALLBACK (onRatioToggled), p); - gtk_menu_shell_append (GTK_MENU_SHELL (m), w); + gtk_menu_shell_append (menu_shell, w); w = gtk_radio_menu_item_new_with_label_from_widget (GTK_RADIO_MENU_ITEM (w), ""); p->ratio_on_item = w; g_object_set_data (G_OBJECT (w), ENABLED_KEY, GINT_TO_POINTER (TRUE)); g_signal_connect (w, "toggled", G_CALLBACK (onRatioToggled), p); - gtk_menu_shell_append (GTK_MENU_SHELL (m), w); + gtk_menu_shell_append (menu_shell, w); w = gtk_separator_menu_item_new (); - gtk_menu_shell_append (GTK_MENU_SHELL (m), w); + gtk_menu_shell_append (menu_shell, w); for (i=0, n=G_N_ELEMENTS (stockRatios); igutter_lb = gtk_label_new ("N Torrents"); - gtk_label_set_single_line_mode (GTK_LABEL (w), TRUE); + w = gtk_label_new ("N Torrents"); + p->gutter_lb = GTK_LABEL (w); + gtk_label_set_single_line_mode (p->gutter_lb, TRUE); gtk_box_pack_start (GTK_BOX (h), w, 1, 1, GUI_PAD); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, GUI_PAD); w = gtk_alignment_new (0.0f, 0.0f, 0.0f, 0.0f); gtk_widget_set_size_request (w, GUI_PAD, 0u); gtk_box_pack_start (GTK_BOX (hbox), w, FALSE, FALSE, 0); - w = p->ul_lb = gtk_label_new (NULL); - gtk_label_set_single_line_mode (GTK_LABEL (w), TRUE); + w = ul_lb = gtk_label_new (NULL); + p->ul_lb = GTK_LABEL (w); + gtk_label_set_single_line_mode (p->ul_lb, TRUE); gtk_box_pack_start (GTK_BOX (hbox), w, FALSE, FALSE, 0); w = gtk_image_new_from_stock (GTK_STOCK_GO_UP, GTK_ICON_SIZE_MENU); gtk_box_pack_start (GTK_BOX (hbox), w, FALSE, FALSE, 0); @@ -687,8 +695,9 @@ gtr_window_new (GtkApplication * app, GtkUIManager * ui_mgr, TrCore * core) w = gtk_alignment_new (0.0f, 0.0f, 0.0f, 0.0f); gtk_widget_set_size_request (w, GUI_PAD, 0u); gtk_box_pack_start (GTK_BOX (hbox), w, FALSE, FALSE, 0); - w = p->dl_lb = gtk_label_new (NULL); - gtk_label_set_single_line_mode (GTK_LABEL (w), TRUE); + w = dl_lb = gtk_label_new (NULL); + p->dl_lb = GTK_LABEL (w); + gtk_label_set_single_line_mode (p->dl_lb, TRUE); gtk_box_pack_start (GTK_BOX (hbox), w, FALSE, FALSE, 0); w = gtk_image_new_from_stock (GTK_STOCK_GO_DOWN, GTK_ICON_SIZE_MENU); gtk_box_pack_start (GTK_BOX (hbox), w, FALSE, FALSE, 0); @@ -701,8 +710,9 @@ gtr_window_new (GtkApplication * app, GtkUIManager * ui_mgr, TrCore * core) gtk_button_set_relief (GTK_BUTTON (w), GTK_RELIEF_NONE); g_signal_connect (w, "clicked", G_CALLBACK (onYinYangReleased), p); gtk_box_pack_start (GTK_BOX (hbox), w, FALSE, FALSE, 0); - w = p->stats_lb = gtk_label_new (NULL); - gtk_label_set_single_line_mode (GTK_LABEL (w), TRUE); + w = gtk_label_new (NULL); + p->stats_lb = GTK_LABEL (w); + gtk_label_set_single_line_mode (p->stats_lb, TRUE); gtk_box_pack_end (GTK_BOX (hbox), w, FALSE, FALSE, 0); gtk_box_pack_end (GTK_BOX (h), hbox, FALSE, FALSE, 0); @@ -727,12 +737,12 @@ gtr_window_new (GtkApplication * app, GtkUIManager * ui_mgr, TrCore * core) /* this is to determine the maximum width/height for the label */ int w=0, h=0; PangoLayout * pango_layout; - pango_layout = gtk_widget_create_pango_layout (p->ul_lb, "999.99 kB/s"); + pango_layout = gtk_widget_create_pango_layout (ul_lb, "999.99 kB/s"); pango_layout_get_pixel_size (pango_layout, &w, &h); - gtk_widget_set_size_request (p->ul_lb, w, h); - gtk_widget_set_size_request (p->dl_lb, w, h); - gtk_misc_set_alignment (GTK_MISC (p->ul_lb), 1.0, 0.5); - gtk_misc_set_alignment (GTK_MISC (p->dl_lb), 1.0, 0.5); + gtk_widget_set_size_request (ul_lb, w, h); + gtk_widget_set_size_request (dl_lb, w, h); + gtk_misc_set_alignment (GTK_MISC (ul_lb), 1.0, 0.5); + gtk_misc_set_alignment (GTK_MISC (dl_lb), 1.0, 0.5); g_object_unref (G_OBJECT (pango_layout)); } @@ -758,25 +768,26 @@ gtr_window_new (GtkApplication * app, GtkUIManager * ui_mgr, TrCore * core) static void updateTorrentCount (PrivateData * p) { - if (p && p->core) + if (p && p->core) { - char buf[512]; - const int torrentCount = gtk_tree_model_iter_n_children (gtr_core_model (p->core), NULL); - const int visibleCount = gtk_tree_model_iter_n_children (p->filter_model, NULL); + char buf[512]; + const int torrentCount = gtk_tree_model_iter_n_children (gtr_core_model (p->core), NULL); + const int visibleCount = gtk_tree_model_iter_n_children (p->filter_model, NULL); - if (!torrentCount) - *buf = '\0'; - else if (torrentCount != visibleCount) - g_snprintf (buf, sizeof (buf), - ngettext ("%1$'d of %2$'d Torrent", - "%1$'d of %2$'d Torrents", - torrentCount), - visibleCount, torrentCount); - else - g_snprintf (buf, sizeof (buf), - ngettext ("%'d Torrent", "%'d Torrents", torrentCount), - torrentCount); - gtr_label_set_text (GTK_LABEL (p->gutter_lb), buf); + if (!torrentCount) + *buf = '\0'; + else if (torrentCount != visibleCount) + g_snprintf (buf, sizeof (buf), + ngettext ("%1$'d of %2$'d Torrent", + "%1$'d of %2$'d Torrents", + torrentCount), + visibleCount, torrentCount); + else + g_snprintf (buf, sizeof (buf), + ngettext ("%'d Torrent", "%'d Torrents", torrentCount), + torrentCount); + + gtr_label_set_text (p->gutter_lb, buf); } } @@ -824,7 +835,7 @@ updateStats (PrivateData * p) tr_strlratio (ratio, stats.ratio, sizeof (ratio)); g_snprintf (buf, sizeof (buf), _("Ratio: %s"), ratio); } - gtr_label_set_text (GTK_LABEL (p->stats_lb), buf); + gtr_label_set_text (p->stats_lb, buf); } static void @@ -851,10 +862,10 @@ updateSpeeds (PrivateData * p) while (gtk_tree_model_iter_next (model, &iter)); tr_formatter_speed_KBps (buf, down, sizeof (buf)); - gtr_label_set_text (GTK_LABEL (p->dl_lb), buf); + gtr_label_set_text (p->dl_lb, buf); tr_formatter_speed_KBps (buf, up, sizeof (buf)); - gtr_label_set_text (GTK_LABEL (p->ul_lb), buf); + gtr_label_set_text (p->ul_lb, buf); } }