fewer redundant gobject dynamic casts

This commit is contained in:
Jordan Lee 2012-12-13 03:00:57 +00:00
parent 104d4aa772
commit 61bc1eabd6
3 changed files with 142 additions and 109 deletions

View File

@ -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);

View File

@ -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);

View File

@ -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); i<n; ++i)
{
@ -441,7 +443,7 @@ createSpeedMenu (PrivateData * p, tr_direction dir)
g_object_set_data (G_OBJECT (w), DIRECTION_KEY, GINT_TO_POINTER (dir));
g_object_set_data (G_OBJECT (w), SPEED_KEY, GINT_TO_POINTER (speeds_KBps[i]));
g_signal_connect (w, "activate", G_CALLBACK (onSpeedSet), p);
gtk_menu_shell_append (GTK_MENU_SHELL (m), w);
gtk_menu_shell_append (menu_shell, w);
}
return m;
@ -479,24 +481,26 @@ static GtkWidget*
createRatioMenu (PrivateData * p)
{
int i, n;
GtkWidget *m, *w;
GtkWidget *m, *w;
GtkMenuShell * menu_shell;
m = gtk_menu_new ();
menu_shell = GTK_MENU_SHELL (m);
w = gtk_radio_menu_item_new_with_label (NULL, _("Seed Forever"));
p->ratio_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); i<n; ++i)
{
@ -505,7 +509,7 @@ createRatioMenu (PrivateData * p)
w = gtk_menu_item_new_with_label (buf);
g_object_set_data (G_OBJECT (w), RATIO_KEY, GINT_TO_POINTER (i));
g_signal_connect (w, "activate", G_CALLBACK (onRatioSet), p);
gtk_menu_shell_append (GTK_MENU_SHELL (m), w);
gtk_menu_shell_append (menu_shell, w);
}
return m;
@ -520,21 +524,22 @@ createOptionsMenu (PrivateData * p)
{
GtkWidget * m;
GtkWidget * top = gtk_menu_new ();
GtkMenuShell * menu_shell = GTK_MENU_SHELL (top);
m = gtk_menu_item_new_with_label (_("Limit Download Speed"));
gtk_menu_item_set_submenu (GTK_MENU_ITEM (m), createSpeedMenu (p, TR_DOWN));
gtk_menu_shell_append (GTK_MENU_SHELL (top), m);
gtk_menu_shell_append (menu_shell, m);
m = gtk_menu_item_new_with_label (_("Limit Upload Speed"));
gtk_menu_item_set_submenu (GTK_MENU_ITEM (m), createSpeedMenu (p, TR_UP));
gtk_menu_shell_append (GTK_MENU_SHELL (top), m);
gtk_menu_shell_append (menu_shell, m);
m = gtk_separator_menu_item_new ();
gtk_menu_shell_append (GTK_MENU_SHELL (top), m);
gtk_menu_shell_append (menu_shell, m);
m = gtk_menu_item_new_with_label (_("Stop Seeding at Ratio"));
gtk_menu_item_set_submenu (GTK_MENU_ITEM (m), createRatioMenu (p));
gtk_menu_shell_append (GTK_MENU_SHELL (top), m);
gtk_menu_shell_append (menu_shell, m);
gtk_widget_show_all (top);
return top;
@ -585,6 +590,7 @@ gtr_window_new (GtkApplication * app, GtkUIManager * ui_mgr, TrCore * core)
int i, n;
const char * pch;
PrivateData * p;
GtkWidget * ul_lb, * dl_lb;
GtkWidget * mainmenu, *toolbar, *filter, *list, *status;
GtkWidget * vbox, *w, *self, *h, *hbox, *menu;
GtkWindow * win;
@ -668,16 +674,18 @@ gtr_window_new (GtkApplication * app, GtkUIManager * ui_mgr, TrCore * core)
g_signal_connect (w, "toggled", G_CALLBACK (alt_speed_toggled_cb), p);
gtk_box_pack_start (GTK_BOX (h), w, 0, 0, 0);
w = p->gutter_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);
}
}