summaryrefslogtreecommitdiff
path: root/src/trg-main-window.c
diff options
context:
space:
mode:
authorGravatar Alan Fitton <ajf@eth0.org.uk>2012-01-04 20:26:19 +0000
committerGravatar Alan Fitton <ajf@eth0.org.uk>2012-01-04 20:26:19 +0000
commita73d164e9fae9059be1b347270f1c7debbc00f3e (patch)
treea91c94a322ead98226d01fa6bbe0c4c79478c627 /src/trg-main-window.c
parent336960c958d0b4ebdc0b54c25aef87fc7cb7b0a8 (diff)
reindent with gnu indent. add keyboard accelerators for view menu, fix toggle filter widget also connected to toggle graph cb. add Lithuanian translation thanks to Algimantas Margevičius via launchpad.
Diffstat (limited to 'src/trg-main-window.c')
-rw-r--r--src/trg-main-window.c1540
1 files changed, 905 insertions, 635 deletions
diff --git a/src/trg-main-window.c b/src/trg-main-window.c
index 8f5f25b..013fa50 100644
--- a/src/trg-main-window.c
+++ b/src/trg-main-window.c
@@ -83,24 +83,30 @@
/* The rather large main window class, which glues everything together. */
static void update_selected_torrent_notebook(TrgMainWindow * win,
- gint mode, gint64 id);
+ gint mode, gint64 id);
#ifdef HAVE_LIBNOTIFY
-static void torrent_event_notification(TrgTorrentModel * model, gchar * icon,
- gchar * desc, gint tmout, gchar * prefKey, GtkTreeIter * iter,
- gpointer data);
+static void torrent_event_notification(TrgTorrentModel * model,
+ gchar * icon, gchar * desc,
+ gint tmout, gchar * prefKey,
+ GtkTreeIter * iter, gpointer data);
#endif
static void connchange_whatever_statusicon(TrgMainWindow * win,
- gboolean connected);
+ gboolean connected);
static void update_whatever_statusicon(TrgMainWindow * win,
- const gchar * speedLabel, trg_torrent_model_update_stats * stats);
-static void on_torrent_completed(TrgTorrentModel * model, GtkTreeIter * iter,
- gpointer data);
+ const gchar * speedLabel,
+ trg_torrent_model_update_stats *
+ stats);
+static void on_torrent_completed(TrgTorrentModel * model,
+ GtkTreeIter * iter, gpointer data);
static void on_torrent_added(TrgTorrentModel * model, GtkTreeIter * iter,
- gpointer data);
-static gboolean delete_event(GtkWidget * w, GdkEvent * event, gpointer data);
+ gpointer data);
+static gboolean delete_event(GtkWidget * w, GdkEvent * event,
+ gpointer data);
static void destroy_window(GtkWidget * w, gpointer data);
static void torrent_tv_onRowActivated(GtkTreeView * treeview,
- GtkTreePath * path, GtkTreeViewColumn * col, gpointer userdata);
+ GtkTreePath * path,
+ GtkTreeViewColumn * col,
+ gpointer userdata);
static void add_url_cb(GtkWidget * w, gpointer data);
static void add_cb(GtkWidget * w, gpointer data);
static void disconnect_cb(GtkWidget * w, gpointer data);
@@ -117,8 +123,11 @@ static void pause_all_cb(GtkWidget * w, gpointer data);
static void move_cb(GtkWidget * w, gpointer data);
static void delete_cb(GtkWidget * w, gpointer data);
static void open_props_cb(GtkWidget * w, gpointer data);
-static gint confirm_action_dialog(GtkWindow * win, GtkTreeSelection * selection,
- gchar * question_single, gchar * question_multi, gchar * action_stock);
+static gint confirm_action_dialog(GtkWindow * win,
+ GtkTreeSelection * selection,
+ gchar * question_single,
+ gchar * question_multi,
+ gchar * action_stock);
static void view_stats_toggled_cb(GtkWidget * w, gpointer data);
static void view_states_toggled_cb(GtkCheckMenuItem * w, gpointer data);
static void view_notebook_toggled_cb(GtkCheckMenuItem * w, gpointer data);
@@ -132,54 +141,65 @@ static gboolean on_torrent_get_interactive(gpointer data);
static gboolean trg_update_torrents_timerfunc(gpointer data);
static void open_about_cb(GtkWidget * w, GtkWindow * parent);
static gboolean trg_torrent_tree_view_visible_func(GtkTreeModel * model,
- GtkTreeIter * iter, gpointer data);
-static TrgTorrentTreeView
-* trg_main_window_torrent_tree_view_new(TrgMainWindow * win,
- GtkTreeModel * model);
+ GtkTreeIter * iter,
+ gpointer data);
+static TrgTorrentTreeView *
+trg_main_window_torrent_tree_view_new(TrgMainWindow * win,
+ GtkTreeModel * model);
static gboolean trg_dialog_error_handler(TrgMainWindow * win,
- trg_response * response);
+ trg_response * response);
static gboolean torrent_selection_changed(GtkTreeSelection * selection,
- gpointer data);
+ gpointer data);
static void trg_main_window_torrent_scrub(TrgMainWindow * win);
static void entry_filter_changed_cb(GtkWidget * w, gpointer data);
static void torrent_state_selection_changed(TrgStateSelector * selector,
- guint flag, gpointer data);
+ guint flag, gpointer data);
static void trg_main_window_conn_changed(TrgMainWindow * win,
- gboolean connected);
-static void trg_main_window_get_property(GObject * object, guint property_id,
- GValue * value, GParamSpec * pspec);
-static void trg_main_window_set_property(GObject * object, guint property_id,
- const GValue * value, GParamSpec * pspec);
+ gboolean connected);
+static void trg_main_window_get_property(GObject * object,
+ guint property_id, GValue * value,
+ GParamSpec * pspec);
+static void trg_main_window_set_property(GObject * object,
+ guint property_id,
+ const GValue * value,
+ GParamSpec * pspec);
static void quit_cb(GtkWidget * w, gpointer data);
static TrgMenuBar *trg_main_window_menu_bar_new(TrgMainWindow * win);
#ifndef HAVE_LIBAPPINDICATOR
static void status_icon_activated(GtkStatusIcon * icon, gpointer data);
static gboolean trg_status_icon_popup_menu_cb(GtkStatusIcon * icon,
- gpointer userdata);
+ gpointer userdata);
static gboolean status_icon_button_press_event(GtkStatusIcon * icon,
- GdkEventButton * event, gpointer data);
+ GdkEventButton * event,
+ gpointer data);
#endif
static void clear_filter_entry_cb(GtkEntry * entry,
- GtkEntryIconPosition icon_pos, GdkEvent * event, gpointer user_data);
+ GtkEntryIconPosition icon_pos,
+ GdkEvent * event, gpointer user_data);
static GtkWidget *trg_imagemenuitem_new(GtkMenuShell * shell,
- const gchar * text, char *stock_id, gboolean sensitive, GCallback cb,
- gpointer cbdata);
+ const gchar * text, char *stock_id,
+ gboolean sensitive, GCallback cb,
+ gpointer cbdata);
static void set_limit_cb(GtkWidget * w, gpointer data);
static GtkWidget *limit_item_new(TrgMainWindow * win, GtkWidget * menu,
- gint64 currentLimit, gfloat limit);
+ gint64 currentLimit, gfloat limit);
static GtkWidget *limit_menu_new(TrgMainWindow * win, gchar * title,
- gchar * enabledKey, gchar * speedKey, JsonArray * ids);
+ gchar * enabledKey, gchar * speedKey,
+ JsonArray * ids);
static void trg_torrent_tv_view_menu(GtkWidget * treeview,
- GdkEventButton * event, gpointer data);
+ GdkEventButton * event,
+ gpointer data);
static GtkMenu *trg_status_icon_view_menu(TrgMainWindow * win,
- const gchar * msg);
+ const gchar * msg);
static gboolean torrent_tv_button_pressed_cb(GtkWidget * treeview,
- GdkEventButton * event, gpointer userdata);
+ GdkEventButton * event,
+ gpointer userdata);
static gboolean torrent_tv_popup_menu_cb(GtkWidget * treeview,
- gpointer userdata);
-static gboolean is_ready_for_torrent_action(TrgMainWindow *win);
+ gpointer userdata);
+static gboolean is_ready_for_torrent_action(TrgMainWindow * win);
static gboolean window_state_event(GtkWidget * widget,
- GdkEventWindowState * event, gpointer trayIcon);
+ GdkEventWindowState * event,
+ gpointer trayIcon);
G_DEFINE_TYPE(TrgMainWindow, trg_main_window, GTK_TYPE_WINDOW)
#define TRG_MAIN_WINDOW_GET_PRIVATE(o) \
@@ -193,7 +213,7 @@ struct _TrgMainWindowPrivate {
TrgStatusBar *statusBar;
GtkWidget *iconStatusItem, *iconDownloadingItem, *iconSeedingItem,
- *iconSepItem;
+ *iconSepItem;
#ifdef HAVE_LIBAPPINDICATOR
AppIndicator *appIndicator;
#else
@@ -241,7 +261,8 @@ enum {
PROP_0, PROP_CLIENT, PROP_MINIMISE_ON_START
};
-static void reset_connect_args(TrgMainWindow * win) {
+static void reset_connect_args(TrgMainWindow * win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
if (priv->args) {
g_strfreev(priv->args);
@@ -249,34 +270,37 @@ static void reset_connect_args(TrgMainWindow * win) {
}
}
-static void trg_main_window_init(TrgMainWindow * self G_GNUC_UNUSED) {
+static void trg_main_window_init(TrgMainWindow * self G_GNUC_UNUSED)
+{
}
-gint trg_mw_get_selected_torrent_id(TrgMainWindow * win) {
+gint trg_mw_get_selected_torrent_id(TrgMainWindow * win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
return priv->selectedTorrentId;
}
-static void update_selected_torrent_notebook(TrgMainWindow * win, gint mode,
- gint64 id) {
+static void update_selected_torrent_notebook(TrgMainWindow * win,
+ gint mode, gint64 id)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
TrgClient *client = priv->client;
JsonObject *t;
GtkTreeIter iter;
if (id >= 0
- && get_torrent_data(trg_client_get_torrent_table(client), id, &t,
- &iter)) {
+ && get_torrent_data(trg_client_get_torrent_table(client), id, &t,
+ &iter)) {
trg_toolbar_torrent_actions_sensitive(priv->toolBar, TRUE);
trg_menu_bar_torrent_actions_sensitive(priv->menuBar, TRUE);
trg_general_panel_update(priv->genDetails, t, &iter);
trg_trackers_model_update(priv->trackersModel,
- trg_client_get_serial(client), t, mode);
- trg_files_model_update(priv->filesModel, trg_client_get_serial(client),
- t, mode);
+ trg_client_get_serial(client), t, mode);
+ trg_files_model_update(priv->filesModel,
+ trg_client_get_serial(client), t, mode);
trg_peers_model_update(priv->peersModel,
- TRG_TREE_VIEW(priv->peersTreeView),
- trg_client_get_serial(client), t, mode);
+ TRG_TREE_VIEW(priv->peersTreeView),
+ trg_client_get_serial(client), t, mode);
if (mode == TORRENT_GET_MODE_FIRST)
gtk_tree_view_expand_all(GTK_TREE_VIEW(priv->filesTreeView));
@@ -289,9 +313,11 @@ static void update_selected_torrent_notebook(TrgMainWindow * win, gint mode,
}
#ifdef HAVE_LIBNOTIFY
-static void torrent_event_notification(TrgTorrentModel * model, gchar * icon,
- gchar * desc, gint tmout, gchar * prefKey, GtkTreeIter * iter,
- gpointer data) {
+static void torrent_event_notification(TrgTorrentModel * model,
+ gchar * icon, gchar * desc,
+ gint tmout, gchar * prefKey,
+ GtkTreeIter * iter, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
TrgPrefs *prefs = trg_client_get_prefs(priv->client);
gchar *name;
@@ -300,20 +326,20 @@ static void torrent_event_notification(TrgTorrentModel * model, gchar * icon,
if (!trg_prefs_get_bool(prefs, prefKey, TRG_PREFS_NOFLAGS))
return;
- gtk_tree_model_get(GTK_TREE_MODEL(model), iter, TORRENT_COLUMN_NAME, &name,
- -1);
+ gtk_tree_model_get(GTK_TREE_MODEL(model), iter, TORRENT_COLUMN_NAME,
+ &name, -1);
notify = notify_notification_new(name, desc, icon
#if !defined(NOTIFY_VERSION_MINOR) || (NOTIFY_VERSION_MAJOR == 0 && NOTIFY_VERSION_MINOR < 7)
- , NULL
+ , NULL
#endif
- );
+ );
#ifndef HAVE_LIBAPPINDICATOR
#if !defined(NOTIFY_VERSION_MINOR) || (NOTIFY_VERSION_MAJOR == 0 && NOTIFY_VERSION_MINOR < 7)
if (priv->statusIcon && gtk_status_icon_is_embedded(priv->statusIcon))
- notify_notification_attach_to_status_icon(notify,
- priv->statusIcon);
+ notify_notification_attach_to_status_icon(notify,
+ priv->statusIcon);
#endif
#endif
@@ -326,42 +352,49 @@ static void torrent_event_notification(TrgTorrentModel * model, gchar * icon,
}
#endif
-static void on_torrent_completed(TrgTorrentModel * model, GtkTreeIter * iter,
- gpointer data) {
+static void on_torrent_completed(TrgTorrentModel * model,
+ GtkTreeIter * iter, gpointer data)
+{
#ifdef HAVE_LIBNOTIFY
torrent_event_notification(model, GTK_STOCK_APPLY,
- _("This torrent has completed."),
- TORRENT_COMPLETE_NOTIFY_TMOUT, TRG_PREFS_KEY_COMPLETE_NOTIFY, iter,
- data);
+ _("This torrent has completed."),
+ TORRENT_COMPLETE_NOTIFY_TMOUT,
+ TRG_PREFS_KEY_COMPLETE_NOTIFY, iter, data);
#endif
}
static void on_torrent_added(TrgTorrentModel * model, GtkTreeIter * iter,
- gpointer data) {
+ gpointer data)
+{
#ifdef HAVE_LIBNOTIFY
torrent_event_notification(model, GTK_STOCK_ADD,
- _("This torrent has been added."), TORRENT_ADD_NOTIFY_TMOUT,
- TRG_PREFS_KEY_ADD_NOTIFY, iter, data);
+ _("This torrent has been added."),
+ TORRENT_ADD_NOTIFY_TMOUT,
+ TRG_PREFS_KEY_ADD_NOTIFY, iter, data);
#endif
}
static gboolean delete_event(GtkWidget * w, GdkEvent * event G_GNUC_UNUSED,
- gpointer data G_GNUC_UNUSED) {
+ gpointer data G_GNUC_UNUSED)
+{
return FALSE;
}
-static void destroy_window(GtkWidget * w, gpointer data G_GNUC_UNUSED) {
+static void destroy_window(GtkWidget * w, gpointer data G_GNUC_UNUSED)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(w);
TrgPrefs *prefs = trg_client_get_prefs(priv->client);
trg_prefs_set_int(prefs, TRG_PREFS_KEY_WINDOW_HEIGHT, priv->height,
- TRG_PREFS_GLOBAL);
+ TRG_PREFS_GLOBAL);
trg_prefs_set_int(prefs, TRG_PREFS_KEY_WINDOW_WIDTH, priv->width,
- TRG_PREFS_GLOBAL);
+ TRG_PREFS_GLOBAL);
trg_prefs_set_int(prefs, TRG_PREFS_KEY_NOTEBOOK_PANED_POS,
- gtk_paned_get_position(GTK_PANED(priv->vpaned)), TRG_PREFS_GLOBAL);
+ gtk_paned_get_position(GTK_PANED(priv->vpaned)),
+ TRG_PREFS_GLOBAL);
trg_prefs_set_int(prefs, TRG_PREFS_KEY_STATES_PANED_POS,
- gtk_paned_get_position(GTK_PANED(priv->hpaned)), TRG_PREFS_GLOBAL);
+ gtk_paned_get_position(GTK_PANED(priv->hpaned)),
+ TRG_PREFS_GLOBAL);
trg_tree_view_persist(TRG_TREE_VIEW(priv->peersTreeView), FALSE);
trg_tree_view_persist(TRG_TREE_VIEW(priv->filesTreeView), FALSE);
@@ -372,7 +405,8 @@ static void destroy_window(GtkWidget * w, gpointer data G_GNUC_UNUSED) {
gtk_main_quit();
}
-static void open_props_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void open_props_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
TrgTorrentPropsDialog *dialog;
@@ -380,51 +414,61 @@ static void open_props_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
return;
dialog = trg_torrent_props_dialog_new(GTK_WINDOW(data),
- priv->torrentTreeView, priv->client);
+ priv->torrentTreeView,
+ priv->client);
gtk_widget_show_all(GTK_WIDGET(dialog));
}
static void torrent_tv_onRowActivated(GtkTreeView * treeview,
- GtkTreePath * path G_GNUC_UNUSED, GtkTreeViewColumn * col G_GNUC_UNUSED,
- gpointer userdata) {
+ GtkTreePath * path G_GNUC_UNUSED,
+ GtkTreeViewColumn *
+ col G_GNUC_UNUSED, gpointer userdata)
+{
open_props_cb(GTK_WIDGET(treeview), userdata);
}
-static void add_url_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void add_url_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindow *win = TRG_MAIN_WINDOW(data);
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
TrgTorrentAddUrlDialog *dlg = trg_torrent_add_url_dialog_new(win,
- priv->client);
+ priv->
+ client);
gtk_widget_show_all(GTK_WIDGET(dlg));
}
-static void add_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void add_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (trg_client_is_connected(priv->client))
trg_torrent_add_dialog(TRG_MAIN_WINDOW(data), priv->client);
}
-static void pause_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void pause_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (trg_client_is_connected(priv->client))
dispatch_async(priv->client,
- torrent_pause(build_json_id_array(priv->torrentTreeView)),
- on_generic_interactive_action, data);
+ torrent_pause(build_json_id_array
+ (priv->torrentTreeView)),
+ on_generic_interactive_action, data);
}
-static void pause_all_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void pause_all_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (trg_client_is_connected(priv->client))
dispatch_async(priv->client, torrent_pause(NULL),
- on_generic_interactive_action, data);
+ on_generic_interactive_action, data);
}
-gboolean trg_add_from_filename(TrgMainWindow * win, gchar ** uris) {
+gboolean trg_add_from_filename(TrgMainWindow * win, gchar ** uris)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
TrgClient *client = priv->client;
TrgPrefs *prefs = trg_client_get_prefs(client);
@@ -435,14 +479,15 @@ gboolean trg_add_from_filename(TrgMainWindow * win, gchar ** uris) {
filesList = g_slist_append(filesList, uris[i]);
if (trg_prefs_get_bool(prefs, TRG_PREFS_KEY_ADD_OPTIONS_DIALOG,
- TRG_PREFS_GLOBAL)) {
- TrgTorrentAddDialog *dialog = trg_torrent_add_dialog_new(win, client,
- filesList);
+ TRG_PREFS_GLOBAL)) {
+ TrgTorrentAddDialog *dialog =
+ trg_torrent_add_dialog_new(win, client,
+ filesList);
gtk_widget_show_all(GTK_WIDGET(dialog));
} else {
struct add_torrent_threadfunc_args *args =
- g_new0(struct add_torrent_threadfunc_args, 1);
+ g_new0(struct add_torrent_threadfunc_args, 1);
args->list = filesList;
args->cb_data = win;
args->client = client;
@@ -452,31 +497,35 @@ gboolean trg_add_from_filename(TrgMainWindow * win, gchar ** uris) {
launch_add_thread(args);
}
- g_free(uris); // launch_add_thread() or trg_torrent_add_dialog() will free the filenames and fileList;
+ g_free(uris); // launch_add_thread() or trg_torrent_add_dialog() will free the filenames and fileList;
priv->args = NULL;
return TRUE;
}
-static void resume_all_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void resume_all_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (trg_client_is_connected(priv->client))
dispatch_async(priv->client, torrent_start(NULL),
- on_generic_interactive_action, data);
+ on_generic_interactive_action, data);
}
-static void resume_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void resume_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (trg_client_is_connected(priv->client))
dispatch_async(priv->client,
- torrent_start(build_json_id_array(priv->torrentTreeView)),
- on_generic_interactive_action, data);
+ torrent_start(build_json_id_array
+ (priv->torrentTreeView)),
+ on_generic_interactive_action, data);
}
-static void disconnect_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void disconnect_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
trg_client_inc_connid(priv->client);
@@ -484,7 +533,8 @@ static void disconnect_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
trg_status_bar_reset(priv->statusBar);
}
-void connect_cb(GtkWidget * w, gpointer data) {
+void connect_cb(GtkWidget * w, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
TrgPrefs *prefs = trg_client_get_prefs(priv->client);
JsonObject *currentProfile = trg_prefs_get_profile(prefs);
@@ -518,157 +568,187 @@ void connect_cb(GtkWidget * w, gpointer data) {
}
dialog = gtk_message_dialog_new(GTK_WINDOW(data),
- GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR,
- GTK_BUTTONS_OK, "%s", msg);
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
+ "%s", msg);
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
reset_connect_args(TRG_MAIN_WINDOW(data));
return;
}
- trg_status_bar_push_connection_msg(priv->statusBar, _("Connecting..."));
+ trg_status_bar_push_connection_msg(priv->statusBar,
+ _("Connecting..."));
trg_client_inc_connid(priv->client);
dispatch_async(priv->client, session_get(), on_session_get, data);
}
-static void open_local_prefs_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void open_local_prefs_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
- GtkWidget *dlg = trg_preferences_dialog_get_instance(TRG_MAIN_WINDOW(data),
- priv->client);
+ GtkWidget *dlg =
+ trg_preferences_dialog_get_instance(TRG_MAIN_WINDOW(data),
+ priv->client);
gtk_widget_show_all(dlg);
}
-static void open_remote_prefs_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void open_remote_prefs_cb(GtkWidget * w G_GNUC_UNUSED,
+ gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (trg_client_is_connected(priv->client))
- gtk_widget_show_all(GTK_WIDGET(trg_remote_prefs_dialog_get_instance(
- TRG_MAIN_WINDOW(data), priv->client)));
+ gtk_widget_show_all(GTK_WIDGET
+ (trg_remote_prefs_dialog_get_instance
+ (TRG_MAIN_WINDOW(data), priv->client)));
}
-static void main_window_toggle_filter_dirs(GtkCheckMenuItem * w, gpointer win) {
+static void main_window_toggle_filter_dirs(GtkCheckMenuItem * w,
+ gpointer win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
- trg_state_selector_set_show_dirs(priv->stateSelector,
- gtk_check_menu_item_get_active(w));
+
+ if (gtk_widget_is_sensitive(GTK_WIDGET(w)))
+ trg_state_selector_set_show_dirs(priv->stateSelector,
+ gtk_check_menu_item_get_active
+ (w));
}
static void main_window_toggle_filter_trackers(GtkCheckMenuItem * w,
- gpointer win) {
+ gpointer win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
- trg_state_selector_set_show_trackers(priv->stateSelector,
- gtk_check_menu_item_get_active(w));
+
+ if (gtk_widget_is_sensitive(GTK_WIDGET(w)))
+ trg_state_selector_set_show_trackers(priv->stateSelector,
+ gtk_check_menu_item_get_active
+ (w));
}
-static TrgToolbar *trg_main_window_toolbar_new(TrgMainWindow * win) {
+static TrgToolbar *trg_main_window_toolbar_new(TrgMainWindow * win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
TrgPrefs *prefs = trg_client_get_prefs(priv->client);
GObject *b_connect, *b_disconnect, *b_add, *b_resume, *b_pause;
- GObject *b_remove, *b_delete, *b_props, *b_local_prefs, *b_remote_prefs;
+ GObject *b_remove, *b_delete, *b_props, *b_local_prefs,
+ *b_remote_prefs;
TrgToolbar *toolBar = trg_toolbar_new(win, prefs);
- g_object_get(toolBar, "connect-button", &b_connect, "disconnect-button",
- &b_disconnect, "add-button", &b_add, "resume-button", &b_resume,
- "pause-button", &b_pause, "delete-button", &b_delete,
- "remove-button", &b_remove, "props-button", &b_props,
- "remote-prefs-button", &b_remote_prefs, "local-prefs-button",
- &b_local_prefs, NULL);
+ g_object_get(toolBar, "connect-button", &b_connect,
+ "disconnect-button", &b_disconnect, "add-button", &b_add,
+ "resume-button", &b_resume, "pause-button", &b_pause,
+ "delete-button", &b_delete, "remove-button", &b_remove,
+ "props-button", &b_props, "remote-prefs-button",
+ &b_remote_prefs, "local-prefs-button", &b_local_prefs,
+ NULL);
g_signal_connect(b_connect, "clicked", G_CALLBACK(connect_cb), win);
- g_signal_connect(b_disconnect, "clicked", G_CALLBACK(disconnect_cb), win);
+ g_signal_connect(b_disconnect, "clicked", G_CALLBACK(disconnect_cb),
+ win);
g_signal_connect(b_add, "clicked", G_CALLBACK(add_cb), win);
g_signal_connect(b_resume, "clicked", G_CALLBACK(resume_cb), win);
g_signal_connect(b_pause, "clicked", G_CALLBACK(pause_cb), win);
g_signal_connect(b_delete, "clicked", G_CALLBACK(delete_cb), win);
g_signal_connect(b_remove, "clicked", G_CALLBACK(remove_cb), win);
g_signal_connect(b_props, "clicked", G_CALLBACK(open_props_cb), win);
- g_signal_connect(b_local_prefs, "clicked", G_CALLBACK(open_local_prefs_cb),
- win);
+ g_signal_connect(b_local_prefs, "clicked",
+ G_CALLBACK(open_local_prefs_cb), win);
g_signal_connect(b_remote_prefs, "clicked",
- G_CALLBACK(open_remote_prefs_cb), win);
+ G_CALLBACK(open_remote_prefs_cb), win);
return toolBar;
}
-static void reannounce_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void reannounce_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (trg_client_is_connected(priv->client))
dispatch_async(priv->client,
- torrent_reannounce(build_json_id_array(priv->torrentTreeView)),
- on_generic_interactive_action, data);
+ torrent_reannounce(build_json_id_array
+ (priv->torrentTreeView)),
+ on_generic_interactive_action, data);
}
-static void verify_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void verify_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (is_ready_for_torrent_action(TRG_MAIN_WINDOW(data)))
dispatch_async(priv->client,
- torrent_verify(build_json_id_array(priv->torrentTreeView)),
- on_generic_interactive_action, data);
+ torrent_verify(build_json_id_array
+ (priv->torrentTreeView)),
+ on_generic_interactive_action, data);
}
-static void start_now_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void start_now_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (is_ready_for_torrent_action(TRG_MAIN_WINDOW(data)))
dispatch_async(priv->client,
- torrent_start_now(build_json_id_array(priv->torrentTreeView)),
- on_generic_interactive_action, data);
+ torrent_start_now(build_json_id_array
+ (priv->torrentTreeView)),
+ on_generic_interactive_action, data);
}
-static void up_queue_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void up_queue_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (priv->queuesEnabled
- && is_ready_for_torrent_action(TRG_MAIN_WINDOW(data)))
- dispatch_async(
- priv->client,
- torrent_queue_move_up(
- build_json_id_array(priv->torrentTreeView)),
- on_generic_interactive_action, data);
+ && is_ready_for_torrent_action(TRG_MAIN_WINDOW(data)))
+ dispatch_async(priv->client,
+ torrent_queue_move_up(build_json_id_array
+ (priv->torrentTreeView)),
+ on_generic_interactive_action, data);
}
-static void top_queue_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void top_queue_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (priv->queuesEnabled
- && is_ready_for_torrent_action(TRG_MAIN_WINDOW(data)))
- dispatch_async(
- priv->client,
- torrent_queue_move_top(
- build_json_id_array(priv->torrentTreeView)),
- on_generic_interactive_action, data);
+ && is_ready_for_torrent_action(TRG_MAIN_WINDOW(data)))
+ dispatch_async(priv->client,
+ torrent_queue_move_top(build_json_id_array
+ (priv->torrentTreeView)),
+ on_generic_interactive_action, data);
}
-static void bottom_queue_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void bottom_queue_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (priv->queuesEnabled
- && is_ready_for_torrent_action(TRG_MAIN_WINDOW(data)))
- dispatch_async(
- priv->client,
- torrent_queue_move_bottom(
- build_json_id_array(priv->torrentTreeView)),
- on_generic_interactive_action, data);
+ && is_ready_for_torrent_action(TRG_MAIN_WINDOW(data)))
+ dispatch_async(priv->client,
+ torrent_queue_move_bottom(build_json_id_array
+ (priv->torrentTreeView)),
+ on_generic_interactive_action, data);
}
-static void down_queue_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void down_queue_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (priv->queuesEnabled
- && is_ready_for_torrent_action(TRG_MAIN_WINDOW(data)))
- dispatch_async(
- priv->client,
- torrent_queue_move_down(
- build_json_id_array(priv->torrentTreeView)),
- on_generic_interactive_action, data);
+ && is_ready_for_torrent_action(TRG_MAIN_WINDOW(data)))
+ dispatch_async(priv->client,
+ torrent_queue_move_down(build_json_id_array
+ (priv->torrentTreeView)),
+ on_generic_interactive_action, data);
}
-static gint confirm_action_dialog(GtkWindow * win, GtkTreeSelection * selection,
- gchar * question_single, gchar * question_multi, gchar * action_stock) {
+static gint confirm_action_dialog(GtkWindow * win,
+ GtkTreeSelection * selection,
+ gchar * question_single,
+ gchar * question_multi,
+ gchar * action_stock)
+{
TrgMainWindowPrivate *priv;
gint selectCount;
gint response;
@@ -688,51 +768,65 @@ static gint confirm_action_dialog(GtkWindow * win, GtkTreeSelection * selection,
firstNode = g_list_first(list);
gtk_tree_model_get_iter(GTK_TREE_MODEL
- (priv->filteredTorrentModel), &firstIter, firstNode->data);
+ (priv->filteredTorrentModel), &firstIter,
+ firstNode->data);
gtk_tree_model_get(GTK_TREE_MODEL(priv->filteredTorrentModel),
- &firstIter, TORRENT_COLUMN_NAME, &name, -1);
+ &firstIter, TORRENT_COLUMN_NAME, &name, -1);
g_list_foreach(list, (GFunc) gtk_tree_path_free, NULL);
g_list_free(list);
dialog = gtk_message_dialog_new_with_markup(GTK_WINDOW(win),
- GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION,
- GTK_BUTTONS_NONE, question_single, name);
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_QUESTION,
+ GTK_BUTTONS_NONE,
+ question_single, name);
g_free(name);
} else if (selectCount > 1) {
dialog = gtk_message_dialog_new_with_markup(GTK_WINDOW(win),
- GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION,
- GTK_BUTTONS_NONE, question_multi, selectCount);
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_QUESTION,
+ GTK_BUTTONS_NONE,
+ question_multi,
+ selectCount);
} else {
return 0;
}
gtk_dialog_add_buttons(GTK_DIALOG(dialog), GTK_STOCK_CANCEL,
- GTK_RESPONSE_CANCEL, action_stock, GTK_RESPONSE_ACCEPT, NULL);
- gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_CANCEL);
+ GTK_RESPONSE_CANCEL, action_stock,
+ GTK_RESPONSE_ACCEPT, NULL);
+ gtk_dialog_set_default_response(GTK_DIALOG(dialog),
+ GTK_RESPONSE_CANCEL);
gtk_dialog_set_alternative_button_order(GTK_DIALOG(dialog),
- GTK_RESPONSE_ACCEPT, GTK_RESPONSE_CANCEL, -1);
+ GTK_RESPONSE_ACCEPT,
+ GTK_RESPONSE_CANCEL, -1);
response = gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
return response;
}
-static gboolean is_ready_for_torrent_action(TrgMainWindow *win) {
+static gboolean is_ready_for_torrent_action(TrgMainWindow * win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
- return priv->selectedTorrentId >= 0 && trg_client_is_connected(priv->client);
+ return priv->selectedTorrentId >= 0
+ && trg_client_is_connected(priv->client);
}
-static void move_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void move_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
if (is_ready_for_torrent_action(TRG_MAIN_WINDOW(data)))
- gtk_widget_show_all(
- GTK_WIDGET(trg_torrent_move_dialog_new(
- TRG_MAIN_WINDOW(data), priv->client, priv->torrentTreeView)));
+ gtk_widget_show_all(GTK_WIDGET
+ (trg_torrent_move_dialog_new
+ (TRG_MAIN_WINDOW(data), priv->client,
+ priv->torrentTreeView)));
}
-static void remove_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void remove_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
GtkTreeSelection *selection;
JsonArray *ids;
@@ -740,67 +834,80 @@ static void remove_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
if (!is_ready_for_torrent_action(TRG_MAIN_WINDOW(data)))
return;
- selection = gtk_tree_view_get_selection(
- GTK_TREE_VIEW(priv->torrentTreeView));
+ selection =
+ gtk_tree_view_get_selection(GTK_TREE_VIEW(priv->torrentTreeView));
ids = build_json_id_array(priv->torrentTreeView);
if (confirm_action_dialog(GTK_WINDOW(data), selection, _
- ("<big><b>Remove torrent \"%s\"?</b></big>"),
- _("<big><b>Remove %d torrents?</b></big>"), GTK_STOCK_REMOVE)
- == GTK_RESPONSE_ACCEPT)
+ ("<big><b>Remove torrent \"%s\"?</b></big>"),
+ _("<big><b>Remove %d torrents?</b></big>"),
+ GTK_STOCK_REMOVE)
+ == GTK_RESPONSE_ACCEPT)
dispatch_async(priv->client, torrent_remove(ids, FALSE),
- on_generic_interactive_action, data);
+ on_generic_interactive_action, data);
else
json_array_unref(ids);
}
-static void delete_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void delete_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
TrgMainWindowPrivate *priv;
GtkTreeSelection *selection;
JsonArray *ids;
priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
- selection = gtk_tree_view_get_selection(
- GTK_TREE_VIEW(priv->torrentTreeView));
+ selection =
+ gtk_tree_view_get_selection(GTK_TREE_VIEW(priv->torrentTreeView));
ids = build_json_id_array(priv->torrentTreeView);
if (!is_ready_for_torrent_action(TRG_MAIN_WINDOW(data)))
return;
if (confirm_action_dialog(GTK_WINDOW(data), selection, _
- ("<big><b>Remove and delete torrent \"%s\"?</b></big>"), _
- ("<big><b>Remove and delete %d torrents?</b></big>"),
- GTK_STOCK_DELETE) == GTK_RESPONSE_ACCEPT)
+ ("<big><b>Remove and delete torrent \"%s\"?</b></big>"),
+ _
+ ("<big><b>Remove and delete %d torrents?</b></big>"),
+ GTK_STOCK_DELETE) == GTK_RESPONSE_ACCEPT)
dispatch_async(priv->client, torrent_remove(ids, TRUE),
- on_generic_interactive_action, data);
+ on_generic_interactive_action, data);
else
json_array_unref(ids);
}
-static void view_stats_toggled_cb(GtkWidget * w, gpointer data) {
+static void view_stats_toggled_cb(GtkWidget * w, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
- TrgStatsDialog *dlg = trg_stats_dialog_get_instance(TRG_MAIN_WINDOW(data),
- priv->client);
+ TrgStatsDialog *dlg =
+ trg_stats_dialog_get_instance(TRG_MAIN_WINDOW(data),
+ priv->client);
gtk_widget_show_all(GTK_WIDGET(dlg));
}
-static void view_states_toggled_cb(GtkCheckMenuItem * w, gpointer data) {
+static void view_states_toggled_cb(GtkCheckMenuItem * w, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
trg_widget_set_visible(priv->stateSelectorScroller,
- gtk_check_menu_item_get_active(w));
+ gtk_check_menu_item_get_active(w));
}
-static void view_notebook_toggled_cb(GtkCheckMenuItem * w, gpointer data) {
+static void view_notebook_toggled_cb(GtkCheckMenuItem * w, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
- trg_widget_set_visible(priv->notebook, gtk_check_menu_item_get_active(w));
+ trg_widget_set_visible(priv->notebook,
+ gtk_check_menu_item_get_active(w));
}
#ifndef TRG_NO_GRAPH
-static void trg_main_window_toggle_graph_cb(GtkCheckMenuItem * w, gpointer win) {
+static void trg_main_window_toggle_graph_cb(GtkCheckMenuItem * w,
+ gpointer win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
- if (gtk_check_menu_item_get_active(w)) {
+
+ if (!gtk_widget_is_sensitive(GTK_WIDGET(w))) {
+ return;
+ } else if (gtk_check_menu_item_get_active(w)) {
if (priv->graphNotebookIndex < 0)
trg_main_window_add_graph(TRG_MAIN_WINDOW(win), TRUE);
} else {
@@ -810,49 +917,59 @@ static void trg_main_window_toggle_graph_cb(GtkCheckMenuItem * w, gpointer win)
}
#endif
-void trg_main_window_notebook_set_visible(TrgMainWindow * win, gboolean visible) {
+void trg_main_window_notebook_set_visible(TrgMainWindow * win,
+ gboolean visible)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
trg_widget_set_visible(priv->notebook, visible);
}
-static GtkWidget *trg_main_window_notebook_new(TrgMainWindow * win) {
+static GtkWidget *trg_main_window_notebook_new(TrgMainWindow * win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
TrgPrefs *prefs = trg_client_get_prefs(priv->client);
GtkWidget *notebook = priv->notebook = gtk_notebook_new();
GtkWidget *genScrolledWin = gtk_scrolled_window_new(NULL, NULL);
- priv->genDetails = trg_general_panel_new(GTK_TREE_MODEL(priv->torrentModel),
- priv->client);
+ priv->genDetails =
+ trg_general_panel_new(GTK_TREE_MODEL(priv->torrentModel),
+ priv->client);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(genScrolledWin),
- GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
- gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(genScrolledWin),
- GTK_WIDGET(priv->genDetails));
+ GTK_POLICY_AUTOMATIC,
+ GTK_POLICY_AUTOMATIC);
+ gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW
+ (genScrolledWin),
+ GTK_WIDGET(priv->genDetails));
gtk_notebook_append_page(GTK_NOTEBOOK(notebook), genScrolledWin,
- gtk_label_new(_("General")));
+ gtk_label_new(_("General")));
priv->trackersModel = trg_trackers_model_new();
- priv->trackersTreeView = trg_trackers_tree_view_new(priv->trackersModel,
- priv->client, win);
+ priv->trackersTreeView =
+ trg_trackers_tree_view_new(priv->trackersModel, priv->client, win);
gtk_notebook_append_page(GTK_NOTEBOOK(notebook),
- my_scrolledwin_new(GTK_WIDGET
- (priv->trackersTreeView)), gtk_label_new(_("Trackers")));
+ my_scrolledwin_new(GTK_WIDGET
+ (priv->trackersTreeView)),
+ gtk_label_new(_("Trackers")));
priv->filesModel = trg_files_model_new();
priv->filesTreeView = trg_files_tree_view_new(priv->filesModel, win,
- priv->client);
+ priv->client);
gtk_notebook_append_page(GTK_NOTEBOOK(notebook),
- my_scrolledwin_new(GTK_WIDGET
- (priv->filesTreeView)), gtk_label_new(_("Files")));
+ my_scrolledwin_new(GTK_WIDGET
+ (priv->filesTreeView)),
+ gtk_label_new(_("Files")));
priv->peersModel = trg_peers_model_new();
priv->peersTreeView = trg_peers_tree_view_new(prefs, priv->peersModel);
gtk_notebook_append_page(GTK_NOTEBOOK(notebook),
- my_scrolledwin_new(GTK_WIDGET
- (priv->peersTreeView)), gtk_label_new(_("Peers")));
+ my_scrolledwin_new(GTK_WIDGET
+ (priv->peersTreeView)),
+ gtk_label_new(_("Peers")));
#ifndef TRG_NO_GRAPH
- if (trg_prefs_get_bool(prefs, TRG_PREFS_KEY_SHOW_GRAPH, TRG_PREFS_GLOBAL))
+ if (trg_prefs_get_bool
+ (prefs, TRG_PREFS_KEY_SHOW_GRAPH, TRG_PREFS_GLOBAL))
trg_main_window_add_graph(win, FALSE);
else
priv->graphNotebookIndex = -1;
@@ -861,15 +978,16 @@ static GtkWidget *trg_main_window_notebook_new(TrgMainWindow * win) {
return notebook;
}
-gboolean on_session_set(gpointer data) {
+gboolean on_session_set(gpointer data)
+{
trg_response *response = (trg_response *) data;
- TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data);
+ TrgMainWindowPrivate *priv =
+ TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data);
if (response->status == CURLE_OK
- || response->status == FAIL_RESPONSE_UNSUCCESSFUL
- )
+ || response->status == FAIL_RESPONSE_UNSUCCESSFUL)
dispatch_async(priv->client, session_get(), on_session_get,
- response->cb_data);
+ response->cb_data);
trg_dialog_error_handler(TRG_MAIN_WINDOW(response->cb_data), response);
trg_response_free(response);
@@ -877,10 +995,12 @@ gboolean on_session_set(gpointer data) {
return FALSE;
}
-static gboolean on_session_get(gpointer data) {
+static gboolean on_session_get(gpointer data)
+{
trg_response *response = (trg_response *) data;
TrgMainWindow *win = TRG_MAIN_WINDOW(response->cb_data);
- TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data);
+ TrgMainWindowPrivate *priv =
+ TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data);
TrgClient *client = priv->client;
gboolean isConnected = trg_client_is_connected(client);
JsonObject *lastSession = trg_client_get_session(client);
@@ -899,15 +1019,17 @@ static gboolean on_session_get(gpointer data) {
}
if (session_get_version(newSession, &version) == 0
- || version < TRANSMISSION_MIN_SUPPORTED) {
+ || version < TRANSMISSION_MIN_SUPPORTED) {
gchar *msg =
- g_strdup_printf(
- _
- ("This application supports Transmission %.2f and later, you have %.2f."),
- TRANSMISSION_MIN_SUPPORTED, version);
+ g_strdup_printf(_
+ ("This application supports Transmission %.2f and later, you have %.2f."),
+TRANSMISSION_MIN_SUPPORTED, version);
GtkWidget *dialog = gtk_message_dialog_new(GTK_WINDOW(win),
- GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "%s",
- msg);
+ GTK_DIALOG_MODAL,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_OK,
+ "%s",
+ msg);
gtk_window_set_title(GTK_WINDOW(dialog), _("Error"));
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
@@ -922,8 +1044,8 @@ static gboolean on_session_get(gpointer data) {
if (newSession) {
gboolean reloadAliases = lastSession
- && g_strcmp0(session_get_download_dir(lastSession),
- session_get_download_dir(newSession));
+ && g_strcmp0(session_get_download_dir(lastSession),
+ session_get_download_dir(newSession));
trg_client_set_session(client, newSession);
@@ -933,9 +1055,10 @@ static gboolean on_session_get(gpointer data) {
if (!isConnected) {
trg_main_window_conn_changed(win, TRUE);
- trg_trackers_tree_view_new_connection(priv->trackersTreeView, client);
+ trg_trackers_tree_view_new_connection(priv->trackersTreeView,
+ client);
dispatch_async(client, torrent_get(TORRENT_GET_TAG_MODE_FULL),
- on_torrent_get_first, win);
+ on_torrent_get_first, win);
}
trg_response_free(response);
@@ -944,7 +1067,8 @@ static gboolean on_session_get(gpointer data) {
}
static void connchange_whatever_statusicon(TrgMainWindow * win,
- gboolean connected) {
+ gboolean connected)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
const gchar *display = connected ? _("Connected") : _("Disconnected");
@@ -967,7 +1091,10 @@ static void connchange_whatever_statusicon(TrgMainWindow * win,
}
static void update_whatever_statusicon(TrgMainWindow * win,
- const gchar * speedLabel, trg_torrent_model_update_stats * stats) {
+ const gchar * speedLabel,
+ trg_torrent_model_update_stats *
+ stats)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
gtk_widget_set_visible(priv->iconSeedingItem, stats != NULL);
@@ -976,19 +1103,20 @@ static void update_whatever_statusicon(TrgMainWindow * win,
if (stats) {
gchar *downloadingLabel = g_strdup_printf(_("Downloading %d"),
- stats->down);
- gchar *seedingLabel = g_strdup_printf(_("Seeding %d"), stats->seeding);
- gtk_menu_item_set_label(GTK_MENU_ITEM
- (priv->iconSeedingItem), seedingLabel);
- gtk_menu_item_set_label(GTK_MENU_ITEM
- (priv->iconDownloadingItem), downloadingLabel);
+ stats->down);
+ gchar *seedingLabel =
+ g_strdup_printf(_("Seeding %d"), stats->seeding);
+ gtk_menu_item_set_label(GTK_MENU_ITEM(priv->iconSeedingItem),
+ seedingLabel);
+ gtk_menu_item_set_label(GTK_MENU_ITEM(priv->iconDownloadingItem),
+ downloadingLabel);
g_free(downloadingLabel);
g_free(seedingLabel);
}
if (priv->iconStatusItem)
gtk_menu_item_set_label(GTK_MENU_ITEM
- (priv->iconStatusItem), speedLabel);
+ (priv->iconStatusItem), speedLabel);
#ifndef HAVE_LIBAPPINDICATOR
if (priv->statusIcon)
@@ -1000,10 +1128,12 @@ static void update_whatever_statusicon(TrgMainWindow * win,
* The callback for a torrent-get response.
*/
-static gboolean on_torrent_get(gpointer data, int mode) {
+static gboolean on_torrent_get(gpointer data, int mode)
+{
trg_response *response = (trg_response *) data;
TrgMainWindow *win = TRG_MAIN_WINDOW(response->cb_data);
- TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data);
+ TrgMainWindowPrivate *priv =
+ TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data);
TrgClient *client = priv->client;
TrgPrefs *prefs = trg_client_get_prefs(client);
trg_torrent_model_update_stats *stats;
@@ -1018,27 +1148,35 @@ static gboolean on_torrent_get(gpointer data, int mode) {
trg_client_updatelock(client);
interval =
- gtk_widget_get_visible(GTK_WIDGET(win)) ? trg_prefs_get_int(prefs,
- TRG_PREFS_KEY_UPDATE_INTERVAL, TRG_PREFS_CONNECTION) :
- trg_prefs_get_int(prefs, TRG_PREFS_KEY_MINUPDATE_INTERVAL,
+ gtk_widget_get_visible(GTK_WIDGET(win)) ? trg_prefs_get_int(prefs,
+ TRG_PREFS_KEY_UPDATE_INTERVAL,
+ TRG_PREFS_CONNECTION)
+ : trg_prefs_get_int(prefs, TRG_PREFS_KEY_MINUPDATE_INTERVAL,
TRG_PREFS_CONNECTION);
if (interval < 1)
interval = TRG_INTERVAL_DEFAULT;
if (response->status != CURLE_OK) {
- gint64 max_retries = trg_prefs_get_int(prefs, TRG_PREFS_KEY_RETRIES, TRG_PREFS_CONNECTION);
+ gint64 max_retries =
+ trg_prefs_get_int(prefs, TRG_PREFS_KEY_RETRIES,
+ TRG_PREFS_CONNECTION);
if (trg_client_inc_failcount(client) >= max_retries) {
trg_main_window_conn_changed(win, FALSE);
trg_dialog_error_handler(win, response);
} else {
- gchar *msg = make_error_message(response->obj, response->status);
- gchar *statusBarMsg = g_strdup_printf(_("Request %d/%d failed: %s"),
- trg_client_get_failcount(client), max_retries, msg);
- trg_status_bar_push_connection_msg(priv->statusBar, statusBarMsg);
+ gchar *msg =
+ make_error_message(response->obj, response->status);
+ gchar *statusBarMsg =
+ g_strdup_printf(_("Request %d/%d failed: %s"),
+ trg_client_get_failcount(client),
+ max_retries, msg);
+ trg_status_bar_push_connection_msg(priv->statusBar,
+ statusBarMsg);
g_free(msg);
g_free(statusBarMsg);
priv->timerId = g_timeout_add_seconds(interval,
- trg_update_torrents_timerfunc, win);
+ trg_update_torrents_timerfunc,
+ win);
}
trg_client_updateunlock(client);
trg_response_free(response);
@@ -1048,12 +1186,15 @@ static gboolean on_torrent_get(gpointer data, int mode) {
trg_client_reset_failcount(client);
trg_client_inc_serial(client);
- stats = trg_torrent_model_update(priv->torrentModel, client, response->obj,
- mode);
+ stats =
+ trg_torrent_model_update(priv->torrentModel, client, response->obj,
+ mode);
update_selected_torrent_notebook(win, mode, priv->selectedTorrentId);
trg_status_bar_update(priv->statusBar, stats, client);
update_whatever_statusicon(win,
- trg_status_bar_get_speed_text(priv->statusBar), stats);
+ trg_status_bar_get_speed_text(priv->
+ statusBar),
+ stats);
#ifndef TRG_NO_GRAPH
if (priv->graphNotebookIndex >= 0)
@@ -1062,20 +1203,24 @@ static gboolean on_torrent_get(gpointer data, int mode) {
if (mode != TORRENT_GET_MODE_INTERACTION)
priv->timerId = g_timeout_add_seconds(interval,
- trg_update_torrents_timerfunc, win);
+ trg_update_torrents_timerfunc,
+ win);
trg_client_updateunlock(client);
trg_response_free(response);
return FALSE;
}
-static gboolean on_torrent_get_active(gpointer data) {
+static gboolean on_torrent_get_active(gpointer data)
+{
return on_torrent_get(data, TORRENT_GET_MODE_ACTIVE);
}
-static gboolean on_torrent_get_first(gpointer data) {
+static gboolean on_torrent_get_first(gpointer data)
+{
trg_response *response = (trg_response *) data;
- TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data);
+ TrgMainWindowPrivate *priv =
+ TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data);
TrgMainWindow *win = TRG_MAIN_WINDOW(response->cb_data);
gboolean result = on_torrent_get(data, TORRENT_GET_MODE_FIRST);
@@ -1086,45 +1231,49 @@ static gboolean on_torrent_get_first(gpointer data) {
return result;
}
-static gboolean on_torrent_get_interactive(gpointer data) {
+static gboolean on_torrent_get_interactive(gpointer data)
+{
return on_torrent_get(data, TORRENT_GET_MODE_INTERACTION);
}
-static gboolean on_torrent_get_update(gpointer data) {
+static gboolean on_torrent_get_update(gpointer data)
+{
return on_torrent_get(data, TORRENT_GET_MODE_UPDATE);
}
-static gboolean trg_update_torrents_timerfunc(gpointer data) {
+static gboolean trg_update_torrents_timerfunc(gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
TrgClient *tc = priv->client;
TrgPrefs *prefs = trg_client_get_prefs(tc);
if (trg_client_is_connected(tc)) {
gboolean activeOnly = trg_prefs_get_bool(prefs,
- TRG_PREFS_KEY_UPDATE_ACTIVE_ONLY, TRG_PREFS_CONNECTION)
- && (!trg_prefs_get_bool(prefs,
- TRG_PREFS_ACTIVEONLY_FULLSYNC_ENABLED,
- TRG_PREFS_CONNECTION)
- || (trg_client_get_serial(tc)
- % trg_prefs_get_int(prefs,
+ TRG_PREFS_KEY_UPDATE_ACTIVE_ONLY,
+ TRG_PREFS_CONNECTION)
+ && (!trg_prefs_get_bool(prefs,
+ TRG_PREFS_ACTIVEONLY_FULLSYNC_ENABLED,
+ TRG_PREFS_CONNECTION)
+ || (trg_client_get_serial(tc)
+ % trg_prefs_get_int(prefs,
TRG_PREFS_ACTIVEONLY_FULLSYNC_EVERY,
TRG_PREFS_CONNECTION) != 0));
- dispatch_async(
- tc,
- torrent_get(
- activeOnly ? TORRENT_GET_TAG_MODE_UPDATE :
- TORRENT_GET_TAG_MODE_FULL),
- activeOnly ? on_torrent_get_active : on_torrent_get_update,
- data);
+ dispatch_async(tc,
+ torrent_get(activeOnly ? TORRENT_GET_TAG_MODE_UPDATE
+ : TORRENT_GET_TAG_MODE_FULL),
+ activeOnly ? on_torrent_get_active :
+ on_torrent_get_update, data);
if (trg_client_get_serial(tc) % SESSION_UPDATE_DIVISOR == 0)
- dispatch_async(priv->client, session_get(), on_session_get, data);
+ dispatch_async(priv->client, session_get(), on_session_get,
+ data);
}
return FALSE;
}
-static void open_about_cb(GtkWidget * w G_GNUC_UNUSED, GtkWindow * parent) {
+static void open_about_cb(GtkWidget * w G_GNUC_UNUSED, GtkWindow * parent)
+{
GtkWidget *aboutDialog = trg_about_window_new(parent);
gtk_dialog_run(GTK_DIALOG(aboutDialog));
@@ -1132,7 +1281,9 @@ static void open_about_cb(GtkWidget * w G_GNUC_UNUSED, GtkWindow * parent) {
}
static gboolean trg_torrent_tree_view_visible_func(GtkTreeModel * model,
- GtkTreeIter * iter, gpointer data) {
+ GtkTreeIter * iter,
+ gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
guint flags;
@@ -1145,26 +1296,28 @@ static gboolean trg_torrent_tree_view_visible_func(GtkTreeModel * model,
if (criteria != 0) {
if (criteria & FILTER_FLAG_TRACKER) {
- gchar *text = trg_state_selector_get_selected_text(
- priv->stateSelector);
+ gchar *text =
+ trg_state_selector_get_selected_text(priv->stateSelector);
JsonObject *json = NULL;
gboolean matchesTracker;
- gtk_tree_model_get(model, iter, TORRENT_COLUMN_JSON, &json, -1);
+ gtk_tree_model_get(model, iter, TORRENT_COLUMN_JSON, &json,
+ -1);
matchesTracker = (!json
- || !torrent_has_tracker(
- json,
- trg_state_selector_get_url_host_regex(
- priv->stateSelector), text));
+ || !torrent_has_tracker(json,
+ trg_state_selector_get_url_host_regex
+ (priv->
+ stateSelector),
+ text));
g_free(text);
if (matchesTracker)
return FALSE;
} else if (criteria & FILTER_FLAG_DIR) {
- gchar *text = trg_state_selector_get_selected_text(
- priv->stateSelector);
+ gchar *text =
+ trg_state_selector_get_selected_text(priv->stateSelector);
gchar *dd;
int cmp;
- gtk_tree_model_get(model, iter, TORRENT_COLUMN_DOWNLOADDIR_SHORT,
- &dd, -1);
+ gtk_tree_model_get(model, iter,
+ TORRENT_COLUMN_DOWNLOADDIR_SHORT, &dd, -1);
cmp = g_strcmp0(text, dd);
g_free(dd);
g_free(text);
@@ -1197,29 +1350,34 @@ static gboolean trg_torrent_tree_view_visible_func(GtkTreeModel * model,
return visible;
}
-void trg_main_window_reload_dir_aliases(TrgMainWindow * win) {
+void trg_main_window_reload_dir_aliases(TrgMainWindow * win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
trg_torrent_model_reload_dir_aliases(priv->client, GTK_TREE_MODEL
- (priv->torrentModel));
+ (priv->torrentModel));
}
-static TrgTorrentTreeView * trg_main_window_torrent_tree_view_new(
- TrgMainWindow * win, GtkTreeModel * model) {
+static TrgTorrentTreeView
+ *trg_main_window_torrent_tree_view_new(TrgMainWindow * win,
+ GtkTreeModel * model)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
- TrgTorrentTreeView *torrentTreeView = trg_torrent_tree_view_new(
- trg_client_get_prefs(priv->client), model);
+ TrgTorrentTreeView *torrentTreeView =
+ trg_torrent_tree_view_new(trg_client_get_prefs(priv->client),
+ model);
- GtkTreeSelection *selection = gtk_tree_view_get_selection(
- GTK_TREE_VIEW(torrentTreeView));
+ GtkTreeSelection *selection =
+ gtk_tree_view_get_selection(GTK_TREE_VIEW(torrentTreeView));
g_signal_connect(G_OBJECT(selection), "changed",
- G_CALLBACK(torrent_selection_changed), win);
+ G_CALLBACK(torrent_selection_changed), win);
return torrentTreeView;
}
static gboolean trg_dialog_error_handler(TrgMainWindow * win,
- trg_response * response) {
+ trg_response * response)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
if (response->status != CURLE_OK) {
@@ -1230,7 +1388,8 @@ static gboolean trg_dialog_error_handler(TrgMainWindow * win,
trg_status_bar_clear_indicators(priv->statusBar);
trg_status_bar_push_connection_msg(priv->statusBar, msg);
dialog = gtk_message_dialog_new(GTK_WINDOW(win), GTK_DIALOG_MODAL,
- GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "%s", msg);
+ GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
+ "%s", msg);
gtk_window_set_title(GTK_WINDOW(dialog), _("Error"));
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
@@ -1242,7 +1401,8 @@ static gboolean trg_dialog_error_handler(TrgMainWindow * win,
}
static gboolean torrent_selection_changed(GtkTreeSelection * selection,
- gpointer data) {
+ gpointer data)
+{
TrgMainWindow *win = TRG_MAIN_WINDOW(data);
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
GList *selectionList;
@@ -1261,9 +1421,9 @@ static gboolean torrent_selection_changed(GtkTreeSelection * selection,
if (firstNode) {
GtkTreeIter iter;
if (gtk_tree_model_get_iter(priv->filteredTorrentModel, &iter,
- (GtkTreePath *) firstNode->data)) {
+ (GtkTreePath *) firstNode->data)) {
gtk_tree_model_get(priv->filteredTorrentModel, &iter,
- TORRENT_COLUMN_ID, &id, -1);
+ TORRENT_COLUMN_ID, &id, -1);
}
}
@@ -1275,10 +1435,12 @@ static gboolean torrent_selection_changed(GtkTreeSelection * selection,
return TRUE;
}
-gboolean on_generic_interactive_action(gpointer data) {
+gboolean on_generic_interactive_action(gpointer data)
+{
trg_response *response = (trg_response *) data;
TrgMainWindow *win = TRG_MAIN_WINDOW(response->cb_data);
- TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data);
+ TrgMainWindowPrivate *priv =
+ TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data);
TrgClient *tc = priv->client;
TrgPrefs *prefs = trg_client_get_prefs(tc);
@@ -1289,14 +1451,15 @@ gboolean on_generic_interactive_action(gpointer data) {
gint64 id;
if (json_object_has_member(response->obj, PARAM_TAG))
id = json_object_get_int_member(response->obj, PARAM_TAG);
- else if (trg_prefs_get_bool(prefs, TRG_PREFS_KEY_UPDATE_ACTIVE_ONLY,
- TRG_PREFS_CONNECTION))
+ else if (trg_prefs_get_bool
+ (prefs, TRG_PREFS_KEY_UPDATE_ACTIVE_ONLY,
+ TRG_PREFS_CONNECTION))
id = TORRENT_GET_TAG_MODE_UPDATE;
else
id = TORRENT_GET_TAG_MODE_FULL;
dispatch_async(tc, torrent_get(id), on_torrent_get_interactive,
- win);
+ win);
}
}
@@ -1305,7 +1468,8 @@ gboolean on_generic_interactive_action(gpointer data) {
}
static
-void trg_main_window_torrent_scrub(TrgMainWindow * win) {
+void trg_main_window_torrent_scrub(TrgMainWindow * win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
gtk_tree_store_clear(GTK_TREE_STORE(priv->filesModel));
@@ -1313,31 +1477,35 @@ void trg_main_window_torrent_scrub(TrgMainWindow * win) {
gtk_list_store_clear(GTK_LIST_STORE(priv->peersModel));
trg_general_panel_clear(priv->genDetails);
trg_trackers_model_set_no_selection(TRG_TRACKERS_MODEL
- (priv->trackersModel));
+ (priv->trackersModel));
trg_toolbar_torrent_actions_sensitive(priv->toolBar, FALSE);
trg_menu_bar_torrent_actions_sensitive(priv->menuBar, FALSE);
}
-static void entry_filter_changed_cb(GtkWidget * w, gpointer data) {
+static void entry_filter_changed_cb(GtkWidget * w, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
gboolean clearSensitive = gtk_entry_get_text_length(GTK_ENTRY(w)) > 0;
gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER
- (priv->filteredTorrentModel));
+ (priv->filteredTorrentModel));
- g_object_set(priv->filterEntry, "secondary-icon-sensitive", clearSensitive,
- NULL);
+ g_object_set(priv->filterEntry, "secondary-icon-sensitive",
+ clearSensitive, NULL);
}
-static void torrent_state_selection_changed(
- TrgStateSelector * selector G_GNUC_UNUSED, guint flag G_GNUC_UNUSED,
- gpointer data) {
+static void torrent_state_selection_changed(TrgStateSelector *
+ selector G_GNUC_UNUSED,
+ guint flag G_GNUC_UNUSED,
+ gpointer data)
+{
gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(data));
}
static
-void trg_main_window_conn_changed(TrgMainWindow * win, gboolean connected) {
+void trg_main_window_conn_changed(TrgMainWindow * win, gboolean connected)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
TrgClient *tc = priv->client;
@@ -1347,7 +1515,8 @@ void trg_main_window_conn_changed(TrgMainWindow * win, gboolean connected) {
gtk_widget_set_sensitive(GTK_WIDGET(priv->torrentTreeView), connected);
gtk_widget_set_sensitive(GTK_WIDGET(priv->peersTreeView), connected);
gtk_widget_set_sensitive(GTK_WIDGET(priv->filesTreeView), connected);
- gtk_widget_set_sensitive(GTK_WIDGET(priv->trackersTreeView), connected);
+ gtk_widget_set_sensitive(GTK_WIDGET(priv->trackersTreeView),
+ connected);
gtk_widget_set_sensitive(GTK_WIDGET(priv->genDetails), connected);
if (!connected) {
@@ -1368,8 +1537,10 @@ void trg_main_window_conn_changed(TrgMainWindow * win, gboolean connected) {
connchange_whatever_statusicon(win, connected);
}
-static void trg_main_window_get_property(GObject * object, guint property_id,
- GValue * value, GParamSpec * pspec) {
+static void trg_main_window_get_property(GObject * object,
+ guint property_id, GValue * value,
+ GParamSpec * pspec)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(object);
switch (property_id) {
case PROP_CLIENT:
@@ -1384,8 +1555,11 @@ static void trg_main_window_get_property(GObject * object, guint property_id,
}
}
-static void trg_main_window_set_property(GObject * object, guint property_id,
- const GValue * value, GParamSpec * pspec) {
+static void trg_main_window_set_property(GObject * object,
+ guint property_id,
+ const GValue * value,
+ GParamSpec * pspec)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(object);
switch (property_id) {
case PROP_CLIENT:
@@ -1400,23 +1574,25 @@ static void trg_main_window_set_property(GObject * object, guint property_id,
}
}
-static void quit_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
+static void quit_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data)
+{
gtk_widget_destroy(GTK_WIDGET(data));
}
-static TrgMenuBar *trg_main_window_menu_bar_new(TrgMainWindow * win) {
+static TrgMenuBar *trg_main_window_menu_bar_new(TrgMainWindow * win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
- GObject *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_reannounce, *b_pause_all, *b_resume_all,
- *b_dir_filters, *b_tracker_filters, *b_up_queue, *b_down_queue,
- *b_top_queue, *b_bottom_queue,
+ GObject *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_reannounce, *b_pause_all,
+ *b_resume_all, *b_dir_filters, *b_tracker_filters, *b_up_queue,
+ *b_down_queue, *b_top_queue, *b_bottom_queue,
#ifndef TRG_NO_GRAPH
- *b_show_graph,
+ *b_show_graph,
#endif
- *b_start_now;
+ *b_start_now;
TrgMenuBar *menuBar;
GtkAccelGroup *accel_group;
@@ -1424,67 +1600,72 @@ static TrgMenuBar *trg_main_window_menu_bar_new(TrgMainWindow * win) {
accel_group = gtk_accel_group_new();
menuBar = trg_menu_bar_new(win, trg_client_get_prefs(priv->client),
- accel_group);
+ accel_group);
g_object_get(menuBar, "disconnect-button", &b_disconnect, "add-button",
- &b_add, "add-url-button", &b_add_url, "resume-button", &b_resume,
- "resume-all-button", &b_resume_all, "pause-button", &b_pause,
- "pause-all-button", &b_pause_all, "delete-button", &b_delete,
- "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, "view-notebook-button",
- &b_view_notebook, "view-states-button", &b_view_states,
- "view-stats-button", &b_view_stats, "about-button", &b_about,
- "quit-button", &b_quit, "dir-filters", &b_dir_filters,
- "tracker-filters", &b_tracker_filters,
+ &b_add, "add-url-button", &b_add_url, "resume-button",
+ &b_resume, "resume-all-button", &b_resume_all,
+ "pause-button", &b_pause, "pause-all-button",
+ &b_pause_all, "delete-button", &b_delete, "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,
+ "view-notebook-button", &b_view_notebook,
+ "view-states-button", &b_view_states, "view-stats-button",
+ &b_view_stats, "about-button", &b_about, "quit-button",
+ &b_quit, "dir-filters", &b_dir_filters, "tracker-filters",
+ &b_tracker_filters,
#ifndef TRG_NO_GRAPH
- "show-graph", &b_show_graph,
+ "show-graph", &b_show_graph,
#endif
- "up-queue", &b_up_queue, "down-queue", &b_down_queue, "top-queue",
- &b_top_queue, "bottom-queue", &b_bottom_queue, "start-now",
- &b_start_now, NULL);
+ "up-queue", &b_up_queue, "down-queue", &b_down_queue,
+ "top-queue", &b_top_queue, "bottom-queue",
+ &b_bottom_queue, "start-now", &b_start_now, NULL);
- g_signal_connect(b_disconnect, "activate", G_CALLBACK(disconnect_cb), win);
+ g_signal_connect(b_disconnect, "activate", G_CALLBACK(disconnect_cb),
+ win);
g_signal_connect(b_add, "activate", G_CALLBACK(add_cb), win);
g_signal_connect(b_add_url, "activate", G_CALLBACK(add_url_cb), win);
g_signal_connect(b_resume, "activate", G_CALLBACK(resume_cb), win);
- g_signal_connect(b_resume_all, "activate", G_CALLBACK(resume_all_cb), win);
+ g_signal_connect(b_resume_all, "activate", G_CALLBACK(resume_all_cb),
+ win);
g_signal_connect(b_pause, "activate", G_CALLBACK(pause_cb), win);
- g_signal_connect(b_pause_all, "activate", G_CALLBACK(pause_all_cb), win);
+ g_signal_connect(b_pause_all, "activate", G_CALLBACK(pause_all_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_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_up_queue, "activate", G_CALLBACK(up_queue_cb), win);
- g_signal_connect(b_down_queue, "activate", G_CALLBACK(down_queue_cb), win);
- g_signal_connect(b_top_queue, "activate", G_CALLBACK(top_queue_cb), win);
- g_signal_connect(b_bottom_queue, "activate", G_CALLBACK(bottom_queue_cb),
- win);
- g_signal_connect(b_start_now, "activate", G_CALLBACK(start_now_cb), win);
+ g_signal_connect(b_down_queue, "activate", G_CALLBACK(down_queue_cb),
+ win);
+ g_signal_connect(b_top_queue, "activate", G_CALLBACK(top_queue_cb),
+ win);
+ g_signal_connect(b_bottom_queue, "activate",
+ G_CALLBACK(bottom_queue_cb), win);
+ g_signal_connect(b_start_now, "activate", G_CALLBACK(start_now_cb),
+ win);
g_signal_connect(b_move, "activate", G_CALLBACK(move_cb), win);
g_signal_connect(b_about, "activate", G_CALLBACK(open_about_cb), win);
- g_signal_connect(b_local_prefs, "activate", G_CALLBACK(open_local_prefs_cb),
- win);
+ g_signal_connect(b_local_prefs, "activate",
+ G_CALLBACK(open_local_prefs_cb), win);
g_signal_connect(b_remote_prefs, "activate",
- G_CALLBACK(open_remote_prefs_cb), win);
+ G_CALLBACK(open_remote_prefs_cb), win);
g_signal_connect(b_view_notebook, "toggled",
- G_CALLBACK(view_notebook_toggled_cb), win);
+ G_CALLBACK(view_notebook_toggled_cb), win);
g_signal_connect(b_dir_filters, "toggled",
- G_CALLBACK(main_window_toggle_filter_dirs), win);
- g_signal_connect(b_tracker_filters, "toggled",
- G_CALLBACK(main_window_toggle_filter_trackers), win);
-#ifndef TRG_NO_GRAPH
+ G_CALLBACK(main_window_toggle_filter_dirs), win);
g_signal_connect(b_tracker_filters, "toggled",
- G_CALLBACK(trg_main_window_toggle_graph_cb), win);
-#endif
+ G_CALLBACK(main_window_toggle_filter_trackers), win);
g_signal_connect(b_view_states, "toggled",
- G_CALLBACK(view_states_toggled_cb), win);
+ G_CALLBACK(view_states_toggled_cb), win);
g_signal_connect(b_view_stats, "activate",
- G_CALLBACK(view_stats_toggled_cb), win);
+ G_CALLBACK(view_stats_toggled_cb), win);
#ifndef TRG_NO_GRAPH
g_signal_connect(b_show_graph, "toggled",
- G_CALLBACK(trg_main_window_toggle_graph_cb), win);
+ G_CALLBACK(trg_main_window_toggle_graph_cb), win);
#endif
g_signal_connect(b_props, "activate", G_CALLBACK(open_props_cb), win);
g_signal_connect(b_quit, "activate", G_CALLBACK(quit_cb), win);
@@ -1496,7 +1677,8 @@ static TrgMenuBar *trg_main_window_menu_bar_new(TrgMainWindow * win) {
#ifndef HAVE_LIBAPPINDICATOR
static void status_icon_activated(GtkStatusIcon * icon G_GNUC_UNUSED,
- gpointer data) {
+ gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
gtk_window_deiconify(GTK_WINDOW(data));
@@ -1504,28 +1686,34 @@ static void status_icon_activated(GtkStatusIcon * icon G_GNUC_UNUSED,
if (priv->timerId > 0) {
g_source_remove(priv->timerId);
- dispatch_async(priv->client, torrent_get(TORRENT_GET_TAG_MODE_FULL),
- on_torrent_get_first, data);
+ dispatch_async(priv->client,
+ torrent_get(TORRENT_GET_TAG_MODE_FULL),
+ on_torrent_get_first, data);
}
}
static gboolean trg_status_icon_popup_menu_cb(GtkStatusIcon * icon,
- gpointer userdata) {
+ gpointer userdata)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(userdata);
- gtk_menu_popup(priv->iconMenu, NULL, NULL, gtk_status_icon_position_menu,
- priv->statusIcon, 0, gtk_get_current_event_time());
+ gtk_menu_popup(priv->iconMenu, NULL, NULL,
+ gtk_status_icon_position_menu, priv->statusIcon, 0,
+ gtk_get_current_event_time());
return TRUE;
}
static gboolean status_icon_button_press_event(GtkStatusIcon * icon,
- GdkEventButton * event, gpointer data) {
+ GdkEventButton * event,
+ gpointer data)
+{
if (event->type == GDK_BUTTON_PRESS && event->button == 3) {
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
gtk_menu_popup(priv->iconMenu, NULL, NULL,
- gtk_status_icon_position_menu, priv->statusIcon, event->button,
- gdk_event_get_time((GdkEvent *) event));
+ gtk_status_icon_position_menu, priv->statusIcon,
+ event->button,
+ gdk_event_get_time((GdkEvent *) event));
return TRUE;
} else {
return FALSE;
@@ -1534,18 +1722,22 @@ static gboolean status_icon_button_press_event(GtkStatusIcon * icon,
#endif
static void clear_filter_entry_cb(GtkEntry * entry,
- GtkEntryIconPosition icon_pos, GdkEvent * event, gpointer user_data) {
+ GtkEntryIconPosition icon_pos,
+ GdkEvent * event, gpointer user_data)
+{
gtk_entry_set_text(entry, "");
}
static GtkWidget *trg_imagemenuitem_new(GtkMenuShell * shell,
- const gchar * text, char *stock_id, gboolean sensitive, GCallback cb,
- gpointer cbdata) {
+ const gchar * text, char *stock_id,
+ gboolean sensitive, GCallback cb,
+ gpointer cbdata)
+{
GtkWidget *item = gtk_image_menu_item_new_with_label(stock_id);
gtk_image_menu_item_set_use_stock(GTK_IMAGE_MENU_ITEM(item), TRUE);
gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM
- (item), TRUE);
+ (item), TRUE);
gtk_menu_item_set_label(GTK_MENU_ITEM(item), text);
g_signal_connect(item, "activate", cb, cbdata);
gtk_widget_set_sensitive(item, sensitive);
@@ -1554,7 +1746,8 @@ static GtkWidget *trg_imagemenuitem_new(GtkMenuShell * shell,
return item;
}
-static void set_limit_cb(GtkWidget * w, gpointer data) {
+static void set_limit_cb(GtkWidget * w, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
GtkWidget *parent = gtk_widget_get_parent(w);
@@ -1580,13 +1773,15 @@ static void set_limit_cb(GtkWidget * w, gpointer data) {
json_object_set_boolean_member(args, enabledKey, speed >= 0);
if (limitIds)
- dispatch_async(priv->client, req, on_generic_interactive_action, data);
+ dispatch_async(priv->client, req, on_generic_interactive_action,
+ data);
else
dispatch_async(priv->client, req, on_session_set, data);
}
static GtkWidget *limit_item_new(TrgMainWindow * win, GtkWidget * menu,
- gint64 currentLimit, gfloat limit) {
+ gint64 currentLimit, gfloat limit)
+{
char speed[32];
GtkWidget *item;
gboolean active = limit < 0 ? FALSE : (currentLimit == (gint64) limit);
@@ -1595,7 +1790,8 @@ static GtkWidget *limit_item_new(TrgMainWindow * win, GtkWidget * menu,
item = gtk_check_menu_item_new_with_label(speed);
- g_object_set_data(G_OBJECT(item), "limit", GINT_TO_POINTER((gint) limit));
+ g_object_set_data(G_OBJECT(item), "limit",
+ GINT_TO_POINTER((gint) limit));
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), active);
g_signal_connect(item, "activate", G_CALLBACK(set_limit_cb), win);
@@ -1604,7 +1800,9 @@ static GtkWidget *limit_item_new(TrgMainWindow * win, GtkWidget * menu,
}
static GtkWidget *limit_menu_new(TrgMainWindow * win, gchar * title,
- gchar * enabledKey, gchar * speedKey, JsonArray * ids) {
+ gchar * enabledKey, gchar * speedKey,
+ JsonArray * ids)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
TrgClient *client = priv->client;
JsonObject *current = NULL;
@@ -1614,28 +1812,28 @@ static GtkWidget *limit_menu_new(TrgMainWindow * win, gchar * title,
if (ids)
get_torrent_data(trg_client_get_torrent_table(client),
- priv->selectedTorrentId, &current, &iter);
+ priv->selectedTorrentId, &current, &iter);
else
current = trg_client_get_session(client);
limit =
- json_object_get_boolean_member(current, enabledKey) ? json_object_get_int_member(
- current, speedKey) :
- -1;
+ json_object_get_boolean_member(current,
+ enabledKey) ?
+ json_object_get_int_member(current, speedKey) : -1;
toplevel = gtk_image_menu_item_new_with_label(GTK_STOCK_NETWORK);
gtk_image_menu_item_set_use_stock(GTK_IMAGE_MENU_ITEM(toplevel), TRUE);
gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM
- (toplevel), TRUE);
+ (toplevel), TRUE);
gtk_menu_item_set_label(GTK_MENU_ITEM(toplevel), title);
menu = gtk_menu_new();
g_object_set_data_full(G_OBJECT(menu), "speedKey", g_strdup(speedKey),
- g_free);
- g_object_set_data_full(G_OBJECT(menu), "enabledKey", g_strdup(enabledKey),
- g_free);
+ g_free);
+ g_object_set_data_full(G_OBJECT(menu), "enabledKey",
+ g_strdup(enabledKey), g_free);
g_object_set_data_full(G_OBJECT(menu), "limit-ids", ids,
- (GDestroyNotify) json_array_unref);
+ (GDestroyNotify) json_array_unref);
item = gtk_check_menu_item_new_with_label(_("No Limit"));
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), limit < 0);
@@ -1643,7 +1841,8 @@ static GtkWidget *limit_menu_new(TrgMainWindow * win, gchar * title,
g_signal_connect(item, "activate", G_CALLBACK(set_limit_cb), win);
gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), gtk_separator_menu_item_new());
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu),
+ gtk_separator_menu_item_new());
limit_item_new(win, menu, limit, 0);
limit_item_new(win, menu, limit, 5);
@@ -1670,24 +1869,24 @@ static GtkWidget *limit_menu_new(TrgMainWindow * win, gchar * title,
return toplevel;
}
-static void exec_cmd_cb(GtkWidget * w, gpointer data) {
+static void exec_cmd_cb(GtkWidget * w, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
JsonObject *cmd_obj = (JsonObject *) g_object_get_data(G_OBJECT(w),
- "cmd-object");
- GtkTreeSelection *selection = gtk_tree_view_get_selection(
- GTK_TREE_VIEW(priv->torrentTreeView));
+ "cmd-object");
+ GtkTreeSelection *selection =
+ gtk_tree_view_get_selection(GTK_TREE_VIEW(priv->torrentTreeView));
GtkTreeModel *model;
GList *selectedRows = gtk_tree_selection_get_selected_rows(selection,
- &model);
+ &model);
GError *cmd_error = NULL;
gchar *cmd_line, **argv;
- cmd_line = build_remote_exec_cmd(
- priv->client,
- model,
- selectedRows,
- json_object_get_string_member(cmd_obj,
- TRG_PREFS_KEY_EXEC_COMMANDS_SUBKEY_CMD));
+ cmd_line = build_remote_exec_cmd(priv->client,
+ model,
+ selectedRows,
+ json_object_get_string_member(cmd_obj,
+ TRG_PREFS_KEY_EXEC_COMMANDS_SUBKEY_CMD));
g_debug("Exec: %s", cmd_line);
@@ -1699,7 +1898,7 @@ static void exec_cmd_cb(GtkWidget * w, gpointer data) {
g_shell_parse_argv(cmd_line, NULL, &argv, NULL);
g_spawn_async(NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL,
- &cmd_error);
+ &cmd_error);
g_list_foreach(selectedRows, (GFunc) gtk_tree_path_free, NULL);
g_list_free(selectedRows);
@@ -1708,8 +1907,10 @@ static void exec_cmd_cb(GtkWidget * w, gpointer data) {
if (cmd_error) {
GtkWidget *dialog = gtk_message_dialog_new(GTK_WINDOW(data),
- GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "%s",
- cmd_error->message);
+ GTK_DIALOG_MODAL,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_OK, "%s",
+ cmd_error->message);
gtk_window_set_title(GTK_WINDOW(dialog), _("Error"));
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
@@ -1718,7 +1919,8 @@ static void exec_cmd_cb(GtkWidget * w, gpointer data) {
}
static void trg_torrent_tv_view_menu(GtkWidget * treeview,
- GdkEventButton * event, gpointer data) {
+ GdkEventButton * event, gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
TrgPrefs *prefs = trg_client_get_prefs(priv->client);
GtkWidget *menu;
@@ -1730,24 +1932,32 @@ static void trg_torrent_tv_view_menu(GtkWidget * treeview,
ids = build_json_id_array(TRG_TORRENT_TREE_VIEW(treeview));
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Properties"),
- GTK_STOCK_PROPERTIES, TRUE, G_CALLBACK(open_props_cb), data);
+ GTK_STOCK_PROPERTIES, TRUE,
+ G_CALLBACK(open_props_cb), data);
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Resume"),
- GTK_STOCK_MEDIA_PLAY, TRUE, G_CALLBACK(resume_cb), data);
+ GTK_STOCK_MEDIA_PLAY, TRUE,
+ G_CALLBACK(resume_cb), data);
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Pause"),
- GTK_STOCK_MEDIA_PAUSE, TRUE, G_CALLBACK(pause_cb), data);
- trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Verify"), GTK_STOCK_REFRESH,
- TRUE, G_CALLBACK(verify_cb), data);
+ GTK_STOCK_MEDIA_PAUSE, TRUE,
+ G_CALLBACK(pause_cb), data);
+ 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);
- trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Remove"), GTK_STOCK_REMOVE,
- TRUE, G_CALLBACK(remove_cb), data);
+ 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);
+ trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Remove"),
+ GTK_STOCK_REMOVE, TRUE, G_CALLBACK(remove_cb),
+ data);
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Remove & Delete"),
- GTK_STOCK_CLEAR, TRUE, G_CALLBACK(delete_cb), data);
+ GTK_STOCK_CLEAR, TRUE, G_CALLBACK(delete_cb),
+ data);
cmds = trg_prefs_get_array(prefs, TRG_PREFS_KEY_EXEC_COMMANDS,
- TRG_PREFS_CONNECTION);
+ TRG_PREFS_CONNECTION);
n_cmds = json_array_get_length(cmds);
if (n_cmds > 0) {
@@ -1757,71 +1967,84 @@ static void trg_torrent_tv_view_menu(GtkWidget * treeview,
if (n_cmds < 3) {
gtk_menu_shell_append(GTK_MENU_SHELL(menu),
- gtk_separator_menu_item_new());
+ gtk_separator_menu_item_new());
cmds_shell = GTK_MENU_SHELL(menu);
} else {
GtkImageMenuItem *cmds_menu =
- GTK_IMAGE_MENU_ITEM(gtk_image_menu_item_new_with_label
- (GTK_STOCK_EXECUTE));
+ GTK_IMAGE_MENU_ITEM(gtk_image_menu_item_new_with_label
+ (GTK_STOCK_EXECUTE));
gtk_image_menu_item_set_use_stock(cmds_menu, TRUE);
gtk_image_menu_item_set_always_show_image(cmds_menu, TRUE);
- gtk_menu_item_set_label(GTK_MENU_ITEM(cmds_menu), _("Actions"));
+ gtk_menu_item_set_label(GTK_MENU_ITEM(cmds_menu),
+ _("Actions"));
cmds_shell = GTK_MENU_SHELL(gtk_menu_new());
gtk_menu_item_set_submenu(GTK_MENU_ITEM(cmds_menu),
- GTK_WIDGET(cmds_shell));
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), GTK_WIDGET(cmds_menu));
+ GTK_WIDGET(cmds_shell));
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu),
+ GTK_WIDGET(cmds_menu));
}
for (cmds_li = cmds_list; cmds_li; cmds_li = g_list_next(cmds_li)) {
- JsonObject *cmd_obj = json_node_get_object(
- (JsonNode *) cmds_li->data);
+ JsonObject *cmd_obj = json_node_get_object((JsonNode *)
+ cmds_li->data);
const gchar *cmd_label = json_object_get_string_member(cmd_obj,
- "label");
+ "label");
GtkWidget *item = trg_imagemenuitem_new(cmds_shell, cmd_label,
- GTK_STOCK_EXECUTE, TRUE, G_CALLBACK
- (exec_cmd_cb), data);
+ GTK_STOCK_EXECUTE,
+ TRUE,
+ G_CALLBACK
+ (exec_cmd_cb), data);
g_object_set_data(G_OBJECT(item), "cmd-object", cmd_obj);
}
g_list_free(cmds_list);
}
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), gtk_separator_menu_item_new());
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu),
+ gtk_separator_menu_item_new());
if (priv->queuesEnabled) {
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Start Now"),
- GTK_STOCK_MEDIA_PLAY, TRUE, G_CALLBACK(start_now_cb), data);
+ GTK_STOCK_MEDIA_PLAY, TRUE,
+ G_CALLBACK(start_now_cb), data);
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Move Up Queue"),
- GTK_STOCK_GO_UP, TRUE, G_CALLBACK(up_queue_cb), data);
+ GTK_STOCK_GO_UP, TRUE,
+ G_CALLBACK(up_queue_cb), data);
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Move Down Queue"),
- GTK_STOCK_GO_DOWN, TRUE, G_CALLBACK(down_queue_cb), data);
+ GTK_STOCK_GO_DOWN, TRUE,
+ G_CALLBACK(down_queue_cb), data);
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Bottom Of Queue"),
- GTK_STOCK_GOTO_BOTTOM, TRUE, G_CALLBACK(bottom_queue_cb), data);
+ GTK_STOCK_GOTO_BOTTOM, TRUE,
+ G_CALLBACK(bottom_queue_cb), data);
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Top Of Queue"),
- GTK_STOCK_GOTO_TOP, TRUE, G_CALLBACK(top_queue_cb), data);
+ GTK_STOCK_GOTO_TOP, TRUE,
+ G_CALLBACK(top_queue_cb), data);
gtk_menu_shell_append(GTK_MENU_SHELL(menu),
- gtk_separator_menu_item_new());
+ gtk_separator_menu_item_new());
}
- gtk_menu_shell_append(
- GTK_MENU_SHELL(menu),
- limit_menu_new(TRG_MAIN_WINDOW(data), _("Down Limit"),
- FIELD_DOWNLOAD_LIMITED, FIELD_DOWNLOAD_LIMIT, ids));
- gtk_menu_shell_append(
- GTK_MENU_SHELL(menu),
- limit_menu_new(TRG_MAIN_WINDOW(data), _("Up Limit"),
- FIELD_UPLOAD_LIMITED, FIELD_UPLOAD_LIMIT, ids));
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu),
+ limit_menu_new(TRG_MAIN_WINDOW(data),
+ _("Down Limit"),
+ FIELD_DOWNLOAD_LIMITED,
+ FIELD_DOWNLOAD_LIMIT, ids));
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu),
+ limit_menu_new(TRG_MAIN_WINDOW(data),
+ _("Up Limit"),
+ FIELD_UPLOAD_LIMITED,
+ FIELD_UPLOAD_LIMIT, ids));
gtk_widget_show_all(menu);
gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL,
- (event != NULL) ? event->button : 0,
- gdk_event_get_time((GdkEvent *) event));
- }
+ (event != NULL) ? event->button : 0,
+ gdk_event_get_time((GdkEvent *) event));
+}
static GtkMenu *trg_status_icon_view_menu(TrgMainWindow * win,
- const gchar * msg) {
+ const gchar * msg)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
TrgPrefs *prefs = trg_client_get_prefs(priv->client);
gboolean connected = trg_client_is_connected(priv->client);
@@ -1834,13 +2057,15 @@ static GtkMenu *trg_status_icon_view_menu(TrgMainWindow * win,
gtk_menu_shell_append(GTK_MENU_SHELL(menu), priv->iconStatusItem);
if (connected) {
- priv->iconDownloadingItem = gtk_menu_item_new_with_label(
- _("Updating..."));
+ priv->iconDownloadingItem =
+ gtk_menu_item_new_with_label(_("Updating..."));
gtk_widget_set_visible(priv->iconDownloadingItem, FALSE);
gtk_widget_set_sensitive(priv->iconDownloadingItem, FALSE);
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), priv->iconDownloadingItem);
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu),
+ priv->iconDownloadingItem);
- priv->iconSeedingItem = gtk_menu_item_new_with_label(_("Updating..."));
+ priv->iconSeedingItem =
+ gtk_menu_item_new_with_label(_("Updating..."));
gtk_widget_set_visible(priv->iconSeedingItem, FALSE);
gtk_widget_set_sensitive(priv->iconSeedingItem, FALSE);
gtk_menu_shell_append(GTK_MENU_SHELL(menu), priv->iconSeedingItem);
@@ -1853,45 +2078,48 @@ static GtkMenu *trg_status_icon_view_menu(TrgMainWindow * win,
connect = gtk_image_menu_item_new_with_label(GTK_STOCK_CONNECT);
gtk_image_menu_item_set_use_stock(GTK_IMAGE_MENU_ITEM(connect), TRUE);
gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM(connect),
- TRUE);
+ TRUE);
gtk_menu_item_set_label(GTK_MENU_ITEM(connect), _("Connect"));
gtk_menu_item_set_submenu(GTK_MENU_ITEM(connect),
- trg_menu_bar_file_connect_menu_new(win, prefs));
+ trg_menu_bar_file_connect_menu_new(win,
+ prefs));
gtk_menu_shell_append(GTK_MENU_SHELL(menu), connect);
if (connected) {
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Disconnect"),
- GTK_STOCK_DISCONNECT, connected, G_CALLBACK(disconnect_cb),
- win);
+ GTK_STOCK_DISCONNECT, connected,
+ G_CALLBACK(disconnect_cb), win);
- trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Add"), GTK_STOCK_ADD,
- connected, G_CALLBACK(add_cb), win);
+ trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Add"),
+ GTK_STOCK_ADD, connected, G_CALLBACK(add_cb),
+ win);
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Add from URL"),
- GTK_STOCK_ADD, connected, G_CALLBACK(add_url_cb), win);
+ GTK_STOCK_ADD, connected,
+ G_CALLBACK(add_url_cb), win);
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Resume All"),
- GTK_STOCK_MEDIA_PLAY, connected, G_CALLBACK(resume_all_cb),
- win);
+ GTK_STOCK_MEDIA_PLAY, connected,
+ G_CALLBACK(resume_all_cb), win);
trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Pause All"),
- GTK_STOCK_MEDIA_PAUSE, connected, G_CALLBACK(pause_all_cb),
- win);
-
- gtk_menu_shell_append(
- GTK_MENU_SHELL(menu),
- limit_menu_new(win, _("Down Limit"),
- SGET_SPEED_LIMIT_DOWN_ENABLED, SGET_SPEED_LIMIT_DOWN,
- NULL));
- gtk_menu_shell_append(
- GTK_MENU_SHELL(menu),
- limit_menu_new(win, _("Up Limit"), SGET_SPEED_LIMIT_UP_ENABLED,
- SGET_SPEED_LIMIT_UP, NULL));
+ GTK_STOCK_MEDIA_PAUSE, connected,
+ G_CALLBACK(pause_all_cb), win);
+
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu),
+ limit_menu_new(win, _("Down Limit"),
+ SGET_SPEED_LIMIT_DOWN_ENABLED,
+ SGET_SPEED_LIMIT_DOWN, NULL));
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu),
+ limit_menu_new(win, _("Up Limit"),
+ SGET_SPEED_LIMIT_UP_ENABLED,
+ SGET_SPEED_LIMIT_UP, NULL));
}
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), gtk_separator_menu_item_new());
- trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Quit"), GTK_STOCK_QUIT, TRUE,
- G_CALLBACK(quit_cb), win);
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu),
+ gtk_separator_menu_item_new());
+ trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Quit"), GTK_STOCK_QUIT,
+ TRUE, G_CALLBACK(quit_cb), win);
gtk_widget_show_all(menu);
@@ -1899,7 +2127,9 @@ static GtkMenu *trg_status_icon_view_menu(TrgMainWindow * win,
}
static gboolean torrent_tv_button_pressed_cb(GtkWidget * treeview,
- GdkEventButton * event, gpointer userdata) {
+ GdkEventButton * event,
+ gpointer userdata)
+{
GtkTreeSelection *selection;
GtkTreePath *path;
@@ -1907,7 +2137,8 @@ static gboolean torrent_tv_button_pressed_cb(GtkWidget * treeview,
selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview));
if (gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(treeview),
- (gint) event->x, (gint) event->y, &path, NULL, NULL, NULL)) {
+ (gint) event->x, (gint) event->y,
+ &path, NULL, NULL, NULL)) {
if (!gtk_tree_selection_path_is_selected(selection, path)) {
gtk_tree_selection_unselect_all(selection);
gtk_tree_selection_select_path(selection, path);
@@ -1924,24 +2155,27 @@ static gboolean torrent_tv_button_pressed_cb(GtkWidget * treeview,
}
static gboolean torrent_tv_popup_menu_cb(GtkWidget * treeview,
- gpointer userdata) {
+ gpointer userdata)
+{
trg_torrent_tv_view_menu(treeview, NULL, userdata);
return TRUE;
}
static gboolean window_state_event(GtkWidget * widget,
- GdkEventWindowState * event, gpointer trayIcon) {
+ GdkEventWindowState * event,
+ gpointer trayIcon)
+{
#ifndef HAVE_LIBAPPINDICATOR
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(widget);
TrgPrefs *prefs = trg_client_get_prefs(priv->client);
- if (priv->statusIcon && event->changed_mask == GDK_WINDOW_STATE_ICONIFIED
- && (event->new_window_state == GDK_WINDOW_STATE_ICONIFIED
- || event->new_window_state
- == (GDK_WINDOW_STATE_ICONIFIED
- | GDK_WINDOW_STATE_MAXIMIZED))
- && trg_prefs_get_bool(prefs, TRG_PREFS_KEY_SYSTEM_TRAY_MINIMISE,
- TRG_PREFS_GLOBAL)) {
+ if (priv->statusIcon
+ && event->changed_mask == GDK_WINDOW_STATE_ICONIFIED
+ && (event->new_window_state == GDK_WINDOW_STATE_ICONIFIED
+ || event->new_window_state ==
+ (GDK_WINDOW_STATE_ICONIFIED | GDK_WINDOW_STATE_MAXIMIZED))
+ && trg_prefs_get_bool(prefs, TRG_PREFS_KEY_SYSTEM_TRAY_MINIMISE,
+ TRG_PREFS_GLOBAL)) {
gtk_widget_hide(GTK_WIDGET(widget));
}
@@ -1951,11 +2185,12 @@ static gboolean window_state_event(GtkWidget * widget,
#endif
}
-void trg_main_window_remove_status_icon(TrgMainWindow * win) {
+void trg_main_window_remove_status_icon(TrgMainWindow * win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
#ifdef HAVE_LIBAPPINDICATOR
if (priv->appIndicator)
- g_object_unref(G_OBJECT(priv->appIndicator));
+ g_object_unref(G_OBJECT(priv->appIndicator));
priv->appIndicator = NULL;
#else
@@ -1968,13 +2203,16 @@ void trg_main_window_remove_status_icon(TrgMainWindow * win) {
}
#ifndef TRG_NO_GRAPH
-void trg_main_window_add_graph(TrgMainWindow * win, gboolean show) {
+void trg_main_window_add_graph(TrgMainWindow * win, gboolean show)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
- priv->graph = trg_torrent_graph_new(gtk_widget_get_style(priv->notebook));
- priv->graphNotebookIndex = gtk_notebook_append_page(
- GTK_NOTEBOOK(priv->notebook), GTK_WIDGET(priv->graph),
- gtk_label_new(_("Graph")));
+ priv->graph =
+ trg_torrent_graph_new(gtk_widget_get_style(priv->notebook));
+ priv->graphNotebookIndex =
+ gtk_notebook_append_page(GTK_NOTEBOOK(priv->notebook),
+ GTK_WIDGET(priv->graph),
+ gtk_label_new(_("Graph")));
if (show)
gtk_widget_show_all(priv->notebook);
@@ -1982,27 +2220,29 @@ void trg_main_window_add_graph(TrgMainWindow * win, gboolean show) {
trg_torrent_graph_start(priv->graph);
}
-void trg_main_window_remove_graph(TrgMainWindow * win) {
+void trg_main_window_remove_graph(TrgMainWindow * win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
if (priv->graphNotebookIndex >= 0) {
gtk_notebook_remove_page(GTK_NOTEBOOK(priv->notebook),
- priv->graphNotebookIndex);
+ priv->graphNotebookIndex);
priv->graphNotebookIndex = -1;
}
}
#endif
-void trg_main_window_add_status_icon(TrgMainWindow * win) {
+void trg_main_window_add_status_icon(TrgMainWindow * win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
#ifdef HAVE_LIBAPPINDICATOR
if ((priv->appIndicator =
- app_indicator_new(PACKAGE_NAME, PACKAGE_NAME,
- APP_INDICATOR_CATEGORY_APPLICATION_STATUS))) {
+ app_indicator_new(PACKAGE_NAME, PACKAGE_NAME,
+ APP_INDICATOR_CATEGORY_APPLICATION_STATUS))) {
app_indicator_set_status(priv->appIndicator,
- APP_INDICATOR_STATUS_ACTIVE);
+ APP_INDICATOR_STATUS_ACTIVE);
app_indicator_set_menu(priv->appIndicator,
- trg_status_icon_view_menu(win, NULL));
+ trg_status_icon_view_menu(win, NULL));
}
#else
if (!priv->icon)
@@ -2010,35 +2250,42 @@ void trg_main_window_add_status_icon(TrgMainWindow * win) {
priv->statusIcon = gtk_status_icon_new_from_pixbuf(priv->icon);
gtk_status_icon_set_screen(priv->statusIcon,
- gtk_window_get_screen(GTK_WINDOW(win)));
+ gtk_window_get_screen(GTK_WINDOW(win)));
g_signal_connect(priv->statusIcon, "activate",
- G_CALLBACK(status_icon_activated), win);
+ G_CALLBACK(status_icon_activated), win);
g_signal_connect(priv->statusIcon, "button-press-event",
- G_CALLBACK(status_icon_button_press_event), win);
+ G_CALLBACK(status_icon_button_press_event), win);
g_signal_connect(priv->statusIcon, "popup-menu",
- G_CALLBACK(trg_status_icon_popup_menu_cb), win);
+ G_CALLBACK(trg_status_icon_popup_menu_cb), win);
gtk_status_icon_set_visible(priv->statusIcon, TRUE);
#endif
- connchange_whatever_statusicon(win, trg_client_is_connected(priv->client));
+ connchange_whatever_statusicon(win,
+ trg_client_is_connected(priv->client));
}
-TrgStateSelector *trg_main_window_get_state_selector(TrgMainWindow * win) {
+TrgStateSelector *trg_main_window_get_state_selector(TrgMainWindow * win)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
return priv->stateSelector;
}
static gboolean trg_main_window_config_event(GtkWidget * widget,
- GdkEvent * event, gpointer user_data G_GNUC_UNUSED) {
+ GdkEvent * event,
+ gpointer user_data
+ G_GNUC_UNUSED)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(widget);
priv->width = event->configure.width;
priv->height = event->configure.height;
return FALSE;
}
-static void trg_client_session_updated_cb(TrgClient * tc, JsonObject * session,
- gpointer data) {
+static void trg_client_session_updated_cb(TrgClient * tc,
+ JsonObject * session,
+ gpointer data)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data);
gboolean queuesEnabled;
@@ -2046,9 +2293,9 @@ static void trg_client_session_updated_cb(TrgClient * tc, JsonObject * session,
if (json_object_has_member(session, SGET_DOWNLOAD_QUEUE_ENABLED)) {
queuesEnabled = json_object_get_boolean_member(session,
- SGET_DOWNLOAD_QUEUE_ENABLED)
- || json_object_get_boolean_member(session,
- SGET_SEED_QUEUE_ENABLED);
+ SGET_DOWNLOAD_QUEUE_ENABLED)
+ || json_object_get_boolean_member(session,
+ SGET_SEED_QUEUE_ENABLED);
} else {
queuesEnabled = FALSE;
}
@@ -2056,7 +2303,7 @@ static void trg_client_session_updated_cb(TrgClient * tc, JsonObject * session,
if (priv->queuesEnabled != queuesEnabled) {
trg_menu_bar_set_supports_queues(priv->menuBar, queuesEnabled);
trg_state_selector_set_queues_enabled(priv->stateSelector,
- queuesEnabled);
+ queuesEnabled);
}
priv->queuesEnabled = queuesEnabled;
@@ -2065,27 +2312,29 @@ static void trg_client_session_updated_cb(TrgClient * tc, JsonObject * session,
/* Drag & Drop support */
static GtkTargetEntry target_list[] = {
/* datatype (string), restrictions on DnD (GtkTargetFlags), datatype (int) */
-{ "text/uri-list", GTK_TARGET_OTHER_APP | GTK_TARGET_OTHER_WIDGET, 0 } };
+ {"text/uri-list", GTK_TARGET_OTHER_APP | GTK_TARGET_OTHER_WIDGET, 0}
+};
static guint n_targets = G_N_ELEMENTS(target_list);
static void on_dropped_file(GtkWidget * widget, GdkDragContext * context,
- gint x, gint y, GtkSelectionData * data, guint info, guint time,
- gpointer user_data) {
+ gint x, gint y, GtkSelectionData * data,
+ guint info, guint time, gpointer user_data)
+{
TrgMainWindow *win = user_data;
if ((gtk_selection_data_get_length(data) >= 0)
- && (gtk_selection_data_get_format(data) == 8)) {
+ && (gtk_selection_data_get_format(data) == 8)) {
if (gdk_drag_context_get_actions(context) == GDK_ACTION_MOVE) {
- g_debug("GDK_ACTION_MOVE");
gchar **uri_list = gtk_selection_data_get_uris(data);
guint num_files = g_strv_length(uri_list);
gchar **file_list = g_new0(gchar *, num_files + 1);
int i;
- for (i = 0; i < num_files; i++) {
- file_list[i] = g_filename_from_uri(uri_list[i], NULL, NULL);
- g_debug("to be added: %s", file_list[i]);
- }
+
+ for (i = 0; i < num_files; i++)
+ file_list[i] =
+ g_filename_from_uri(uri_list[i], NULL, NULL);
+
g_strfreev(uri_list);
gtk_drag_finish(context, TRUE, FALSE, time);
trg_add_from_filename(win, file_list);
@@ -2096,7 +2345,10 @@ static void on_dropped_file(GtkWidget * widget, GdkDragContext * context,
}
static GObject *trg_main_window_constructor(GType type,
- guint n_construct_properties, GObjectConstructParam * construct_params) {
+ guint n_construct_properties,
+ GObjectConstructParam *
+ construct_params)
+{
TrgMainWindow *self;
TrgMainWindowPrivate *priv;
GtkWidget *w;
@@ -2108,9 +2360,9 @@ static GObject *trg_main_window_constructor(GType type,
TrgPrefs *prefs;
self = TRG_MAIN_WINDOW(G_OBJECT_CLASS
- (trg_main_window_parent_class)->constructor
- (type, n_construct_properties,
- construct_params));
+ (trg_main_window_parent_class)->constructor
+ (type, n_construct_properties,
+ construct_params));
priv = TRG_MAIN_WINDOW_GET_PRIVATE(self);
priv->queuesEnabled = TRUE;
@@ -2120,7 +2372,8 @@ static GObject *trg_main_window_constructor(GType type,
theme = gtk_icon_theme_get_default();
register_my_icons(theme);
priv->icon = gtk_icon_theme_load_icon(theme, PACKAGE_NAME, 48,
- GTK_ICON_LOOKUP_USE_BUILTIN, NULL);
+ GTK_ICON_LOOKUP_USE_BUILTIN,
+ NULL);
#ifdef HAVE_LIBNOTIFY
notify_init(PACKAGE_NAME);
@@ -2131,69 +2384,72 @@ static GObject *trg_main_window_constructor(GType type,
gtk_window_set_title(GTK_WINDOW(self), _("Transmission Remote"));
gtk_window_set_default_size(GTK_WINDOW(self), 1000, 600);
- g_signal_connect(G_OBJECT(self), "delete-event", G_CALLBACK(delete_event),
- NULL);
+ g_signal_connect(G_OBJECT(self), "delete-event",
+ G_CALLBACK(delete_event), NULL);
g_signal_connect(G_OBJECT(self), "destroy", G_CALLBACK(destroy_window),
- NULL);
+ NULL);
g_signal_connect(G_OBJECT(self), "window-state-event",
- G_CALLBACK(window_state_event), NULL);
+ G_CALLBACK(window_state_event), NULL);
g_signal_connect(G_OBJECT(self), "configure-event",
- G_CALLBACK(trg_main_window_config_event), NULL);
+ G_CALLBACK(trg_main_window_config_event), NULL);
priv->torrentModel = trg_torrent_model_new();
trg_client_set_torrent_table(priv->client,
- get_torrent_table(priv->torrentModel));
+ get_torrent_table(priv->torrentModel));
g_signal_connect(priv->torrentModel, "torrent-completed",
- G_CALLBACK(on_torrent_completed), self);
+ G_CALLBACK(on_torrent_completed), self);
g_signal_connect(priv->torrentModel, "torrent-added",
- G_CALLBACK(on_torrent_added), self);
+ G_CALLBACK(on_torrent_added), self);
- priv->sortedTorrentModel = gtk_tree_model_sort_new_with_model(GTK_TREE_MODEL
- (priv->torrentModel));
+ priv->sortedTorrentModel =
+ gtk_tree_model_sort_new_with_model(GTK_TREE_MODEL
+ (priv->torrentModel));
- priv->filteredTorrentModel = trg_sortable_filtered_model_new(
- GTK_TREE_SORTABLE
- (priv->sortedTorrentModel), NULL);
+ priv->filteredTorrentModel =
+ trg_sortable_filtered_model_new(GTK_TREE_SORTABLE
+ (priv->sortedTorrentModel), NULL);
gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER
- (priv->filteredTorrentModel), trg_torrent_tree_view_visible_func,
- self, NULL);
+ (priv->filteredTorrentModel),
+ trg_torrent_tree_view_visible_func,
+ self, NULL);
priv->torrentTreeView = trg_main_window_torrent_tree_view_new(self,
- priv->filteredTorrentModel);
+ priv->
+ filteredTorrentModel);
g_signal_connect(priv->torrentTreeView, "popup-menu",
- G_CALLBACK(torrent_tv_popup_menu_cb), self);
+ G_CALLBACK(torrent_tv_popup_menu_cb), self);
g_signal_connect(priv->torrentTreeView, "button-press-event",
- G_CALLBACK(torrent_tv_button_pressed_cb), self);
+ G_CALLBACK(torrent_tv_button_pressed_cb), self);
g_signal_connect(priv->torrentTreeView, "row-activated",
- G_CALLBACK(torrent_tv_onRowActivated), self);
+ G_CALLBACK(torrent_tv_onRowActivated), self);
outerVbox = gtk_vbox_new(FALSE, 0);
gtk_container_add(GTK_CONTAINER(self), outerVbox);
priv->menuBar = trg_main_window_menu_bar_new(self);
- gtk_box_pack_start(GTK_BOX(outerVbox), GTK_WIDGET(priv->menuBar), FALSE,
- FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(outerVbox), GTK_WIDGET(priv->menuBar),
+ FALSE, FALSE, 0);
toolbarHbox = gtk_hbox_new(FALSE, 0);
priv->toolBar = trg_main_window_toolbar_new(self);
- gtk_box_pack_start(GTK_BOX(toolbarHbox), GTK_WIDGET(priv->toolBar), TRUE,
- TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(toolbarHbox), GTK_WIDGET(priv->toolBar),
+ TRUE, TRUE, 0);
w = gtk_entry_new();
gtk_entry_set_icon_from_stock(GTK_ENTRY(w), GTK_ENTRY_ICON_SECONDARY,
- GTK_STOCK_CLEAR);
+ GTK_STOCK_CLEAR);
g_signal_connect(w, "icon-release", G_CALLBACK(clear_filter_entry_cb),
- NULL);
+ NULL);
gtk_box_pack_start(GTK_BOX(toolbarHbox), w, FALSE, FALSE, 0);
g_object_set(w, "secondary-icon-sensitive", FALSE, NULL);
priv->filterEntry = w;
g_signal_connect(G_OBJECT(priv->filterEntry), "changed",
- G_CALLBACK(entry_filter_changed_cb), self);
+ G_CALLBACK(entry_filter_changed_cb), self);
gtk_box_pack_start(GTK_BOX(outerVbox), GTK_WIDGET(toolbarHbox), FALSE,
- FALSE, 0);
+ FALSE, 0);
priv->vpaned = gtk_vpaned_new();
priv->hpaned = gtk_hpaned_new();
@@ -2201,24 +2457,27 @@ static GObject *trg_main_window_constructor(GType type,
gtk_paned_pack1(GTK_PANED(priv->vpaned), priv->hpaned, TRUE, TRUE);
priv->stateSelector = trg_state_selector_new(priv->client,
- priv->torrentModel);
- priv->stateSelectorScroller = my_scrolledwin_new(
- GTK_WIDGET(priv->stateSelector));
- gtk_paned_pack1(GTK_PANED(priv->hpaned), priv->stateSelectorScroller, FALSE,
- FALSE);
+ priv->torrentModel);
+ priv->stateSelectorScroller =
+ my_scrolledwin_new(GTK_WIDGET(priv->stateSelector));
+ gtk_paned_pack1(GTK_PANED(priv->hpaned), priv->stateSelectorScroller,
+ FALSE, FALSE);
gtk_paned_pack2(GTK_PANED(priv->hpaned), my_scrolledwin_new(GTK_WIDGET
- (priv->torrentTreeView)), TRUE, TRUE);
+ (priv->
+ torrentTreeView)),
+ TRUE, TRUE);
- g_signal_connect(G_OBJECT(priv->stateSelector), "torrent-state-changed",
- G_CALLBACK(torrent_state_selection_changed),
- priv->filteredTorrentModel);
+ g_signal_connect(G_OBJECT(priv->stateSelector),
+ "torrent-state-changed",
+ G_CALLBACK(torrent_state_selection_changed),
+ priv->filteredTorrentModel);
priv->notebook = trg_main_window_notebook_new(self);
gtk_paned_pack2(GTK_PANED(priv->vpaned), priv->notebook, FALSE, FALSE);
tray = trg_prefs_get_bool(prefs, TRG_PREFS_KEY_SYSTEM_TRAY,
- TRG_PREFS_GLOBAL);
+ TRG_PREFS_GLOBAL);
if (tray)
trg_main_window_add_status_icon(self);
else
@@ -2226,18 +2485,18 @@ static GObject *trg_main_window_constructor(GType type,
priv->statusBar = trg_status_bar_new(self, priv->client);
g_signal_connect(priv->client, "session-updated",
- G_CALLBACK(trg_client_session_updated_cb), self);
+ G_CALLBACK(trg_client_session_updated_cb), self);
- gtk_box_pack_start(GTK_BOX(outerVbox), GTK_WIDGET(priv->statusBar), FALSE,
- FALSE, 2);
+ gtk_box_pack_start(GTK_BOX(outerVbox), GTK_WIDGET(priv->statusBar),
+ FALSE, FALSE, 2);
width = trg_prefs_get_int(prefs, TRG_PREFS_KEY_WINDOW_WIDTH,
- TRG_PREFS_GLOBAL);
+ TRG_PREFS_GLOBAL);
height = trg_prefs_get_int(prefs, TRG_PREFS_KEY_WINDOW_HEIGHT,
- TRG_PREFS_GLOBAL);
+ TRG_PREFS_GLOBAL);
pos = trg_prefs_get_int(prefs, TRG_PREFS_KEY_NOTEBOOK_PANED_POS,
- TRG_PREFS_GLOBAL);
+ TRG_PREFS_GLOBAL);
if (width > 0 && height > 0)
gtk_window_set_default_size(GTK_WINDOW(self), width, height);
@@ -2249,17 +2508,17 @@ static GObject *trg_main_window_constructor(GType type,
gtk_widget_show_all(GTK_WIDGET(self));
- trg_widget_set_visible(
- priv->stateSelectorScroller,
- trg_prefs_get_bool(prefs, TRG_PREFS_KEY_SHOW_STATE_SELECTOR,
- TRG_PREFS_GLOBAL));
- trg_widget_set_visible(
- priv->notebook,
- trg_prefs_get_bool(prefs, TRG_PREFS_KEY_SHOW_NOTEBOOK,
- TRG_PREFS_GLOBAL));
+ trg_widget_set_visible(priv->stateSelectorScroller,
+ trg_prefs_get_bool(prefs,
+ TRG_PREFS_KEY_SHOW_STATE_SELECTOR,
+ TRG_PREFS_GLOBAL));
+ trg_widget_set_visible(priv->notebook,
+ trg_prefs_get_bool(prefs,
+ TRG_PREFS_KEY_SHOW_NOTEBOOK,
+ TRG_PREFS_GLOBAL));
pos = trg_prefs_get_int(prefs, TRG_PREFS_KEY_STATES_PANED_POS,
- TRG_PREFS_GLOBAL);
+ TRG_PREFS_GLOBAL);
if (pos > 0)
gtk_paned_set_position(GTK_PANED(priv->hpaned), pos);
@@ -2268,20 +2527,21 @@ static GObject *trg_main_window_constructor(GType type,
/* Drag and Drop */
gtk_drag_dest_set(GTK_WIDGET(self), // widget that will accept a drop
- GTK_DEST_DEFAULT_ALL, // default actions for dest on DnD
- target_list, // lists of target to support
- n_targets, // size of list
- GDK_ACTION_MOVE // what to do with data after dropped
- // | GDK_ACTION_COPY ... seems that file managers only need ACTION_MOVE, not ACTION_COPY
- );
+ GTK_DEST_DEFAULT_ALL, // default actions for dest on DnD
+ target_list, // lists of target to support
+ n_targets, // size of list
+ GDK_ACTION_MOVE // what to do with data after dropped
+ // | GDK_ACTION_COPY ... seems that file managers only need ACTION_MOVE, not ACTION_COPY
+ );
//g_signal_connect (priv->torrentTreeView, "drag-motion",G_CALLBACK (drag_motion_handl), NULL);
- g_signal_connect(self, "drag-data-received", G_CALLBACK(on_dropped_file),
- self);
+ g_signal_connect(self, "drag-data-received",
+ G_CALLBACK(on_dropped_file), self);
return G_OBJECT(self);
}
-static void trg_main_window_class_init(TrgMainWindowClass * klass) {
+static void trg_main_window_class_init(TrgMainWindowClass * klass)
+{
GObjectClass *object_class = G_OBJECT_CLASS(klass);
g_type_class_add_private(klass, sizeof(TrgMainWindowPrivate));
@@ -2290,42 +2550,51 @@ static void trg_main_window_class_init(TrgMainWindowClass * klass) {
object_class->get_property = trg_main_window_get_property;
object_class->set_property = trg_main_window_set_property;
- g_object_class_install_property(
- object_class,
- PROP_CLIENT,
- g_param_spec_pointer(
- "trg-client",
- "TClient",
- "Client",
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY
- | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK
- | G_PARAM_STATIC_BLURB));
-
- g_object_class_install_property(
- object_class,
- PROP_MINIMISE_ON_START,
- g_param_spec_boolean(
- "min-on-start",
- "Min On Start",
- "Min On Start",
- FALSE,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY
- | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK
- | G_PARAM_STATIC_BLURB));
-}
-
-void auto_connect_if_required(TrgMainWindow * win, gchar ** args) {
+ g_object_class_install_property(object_class,
+ PROP_CLIENT,
+ g_param_spec_pointer("trg-client",
+ "TClient",
+ "Client",
+ G_PARAM_READWRITE
+ |
+ G_PARAM_CONSTRUCT_ONLY
+ |
+ G_PARAM_STATIC_NAME
+ |
+ G_PARAM_STATIC_NICK
+ |
+ G_PARAM_STATIC_BLURB));
+
+ g_object_class_install_property(object_class,
+ PROP_MINIMISE_ON_START,
+ g_param_spec_boolean("min-on-start",
+ "Min On Start",
+ "Min On Start",
+ FALSE,
+ G_PARAM_READWRITE
+ |
+ G_PARAM_CONSTRUCT_ONLY
+ |
+ G_PARAM_STATIC_NAME
+ |
+ G_PARAM_STATIC_NICK
+ |
+ G_PARAM_STATIC_BLURB));
+}
+
+void auto_connect_if_required(TrgMainWindow * win, gchar ** args)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
TrgPrefs *prefs = trg_client_get_prefs(priv->client);
gchar *host = trg_prefs_get_string(prefs, TRG_PREFS_KEY_HOSTNAME,
- TRG_PREFS_PROFILE);
+ TRG_PREFS_PROFILE);
if (host) {
gint len = strlen(host);
g_free(host);
if (len > 0
- && trg_prefs_get_bool(prefs, TRG_PREFS_KEY_AUTO_CONNECT,
- TRG_PREFS_PROFILE)) {
+ && trg_prefs_get_bool(prefs, TRG_PREFS_KEY_AUTO_CONNECT,
+ TRG_PREFS_PROFILE)) {
priv->args = args;
connect_cb(NULL, win);
return;
@@ -2336,7 +2605,8 @@ void auto_connect_if_required(TrgMainWindow * win, gchar ** args) {
g_strfreev(args);
}
-TrgMainWindow *trg_main_window_new(TrgClient * tc, gboolean minonstart) {
- return g_object_new(TRG_TYPE_MAIN_WINDOW, "trg-client", tc, "min-on-start",
- minonstart, NULL);
+TrgMainWindow *trg_main_window_new(TrgClient * tc, gboolean minonstart)
+{
+ return g_object_new(TRG_TYPE_MAIN_WINDOW, "trg-client", tc,
+ "min-on-start", minonstart, NULL);
}