summaryrefslogtreecommitdiff
path: root/src/trg-main-window.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/trg-main-window.c')
-rw-r--r--src/trg-main-window.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/trg-main-window.c b/src/trg-main-window.c
index 7c28d92..00bd5ac 100644
--- a/src/trg-main-window.c
+++ b/src/trg-main-window.c
@@ -91,6 +91,7 @@ static void open_local_prefs_cb(GtkWidget * w, gpointer data);
static void open_remote_prefs_cb(GtkWidget * w, gpointer data);
static TrgToolbar *trg_main_window_toolbar_new(TrgMainWindow * win);
static void verify_cb(GtkWidget * w, gpointer data);
+static void reannounce_cb(GtkWidget * w, gpointer data);
static void pause_cb(GtkWidget * w, gpointer data);
static void resume_cb(GtkWidget * w, gpointer data);
static void remove_cb(GtkWidget * w, gpointer data);
@@ -586,6 +587,16 @@ static TrgToolbar *trg_main_window_toolbar_new(TrgMainWindow * win)
return toolBar;
}
+static void reannounce_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
+ TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
+
+ dispatch_async(priv->client,
+ torrent_reannounce(build_json_id_array
+ (priv->torrentTreeView)),
+ on_generic_interactive_action, data);
+}
+
static void verify_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
@@ -1177,7 +1188,7 @@ static TrgMenuBar *trg_main_window_menu_bar_new(TrgMainWindow * win)
GObject *b_connect, *b_disconnect, *b_add, *b_resume, *b_pause,
*b_verify, *b_remove, *b_delete, *b_props, *b_local_prefs,
*b_remote_prefs, *b_about, *b_view_states, *b_view_notebook,
- *b_view_stats, *b_add_url, *b_quit, *b_move;
+ *b_view_stats, *b_add_url, *b_quit, *b_move, *b_reannounce;
TrgMenuBar *menuBar;
menuBar = trg_menu_bar_new(win);
@@ -1192,6 +1203,7 @@ static TrgMenuBar *trg_main_window_menu_bar_new(TrgMainWindow * win)
"remove-button", &b_remove,
"move-button", &b_move,
"verify-button", &b_verify,
+ "reannounce-button", &b_reannounce,
"props-button", &b_props,
"remote-prefs-button", &b_remote_prefs,
"local-prefs-button", &b_local_prefs,
@@ -1208,6 +1220,7 @@ static TrgMenuBar *trg_main_window_menu_bar_new(TrgMainWindow * win)
g_signal_connect(b_resume, "activate", G_CALLBACK(resume_cb), win);
g_signal_connect(b_pause, "activate", G_CALLBACK(pause_cb), win);
g_signal_connect(b_verify, "activate", G_CALLBACK(verify_cb), win);
+ g_signal_connect(b_reannounce, "activate", G_CALLBACK(reannounce_cb), win);
g_signal_connect(b_delete, "activate", G_CALLBACK(delete_cb), win);
g_signal_connect(b_remove, "activate", G_CALLBACK(remove_cb), win);
g_signal_connect(b_move, "activate", G_CALLBACK(move_cb), win);
@@ -1406,6 +1419,9 @@ trg_torrent_tv_view_menu(GtkWidget * treeview,
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), "Verify",
GTK_STOCK_REFRESH, TRUE, G_CALLBACK(verify_cb),
data);
+ trg_imagemenuitem_new(GTK_MENU_SHELL(menu), "Re-announce",
+ GTK_STOCK_REFRESH, TRUE, G_CALLBACK(reannounce_cb),
+ data);
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), "Move",
GTK_STOCK_HARDDISK, TRUE, G_CALLBACK(move_cb),
data);